本申请公开了一种软件安全威胁分析方法和系统。通过构造安全问题库,将安全问题及预期结果映射到多个数据项中,得到预期覆盖。通过检测被测软件,获得测试覆盖。对比预期覆盖和测试覆盖,确定被测软件的安全威胁。该方法和系统有助于更准确地发现和定位软件安全威胁。
A software security threat analysis method and system
【技术实现步骤摘要】
一种软件安全威胁分析方法与系统
本申请涉及软件
,尤其涉及一种软件安全威胁分析方法与系统。
技术介绍
软件的安全功能有很多类,如用户登录认证、口令加密、信道加密等。在软件生命周期的各个阶段(需求、设计、测试等),若对安全功能的处理不足,将会引入各种安全缺陷,成为软件中的安全威胁点,给后续的安全功能实现和软件使用带来安全威胁。以往用于软件安全威胁分析的测试数据对应用场景的符合性较差,无法得到更有针对性的数据输出;安全威胁分析数据较为呆板,不够灵活,无法适应快速迭代的安全分析模型。另外,软件测试常常定位于代码级测试,对于在需求阶段、设计阶段引入的安全威胁发现不足。实际上,安全威胁越早发现,越容易处理。
技术实现思路
本申请提出一种软件安全威胁分析方法与系统,解决了软件安全威胁分析过程中测试数据对应用场景的符合性较差,无法适应快速迭代,难以快速定位安全威胁的问题,提高了软件安全威胁的分析效率。本申请实施例提出一种软件安全威胁分析方法,包括以下步骤:构造安全问题库;将所述安全问题库中的安全问题及预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项,得到预期覆盖;检测被测软件对所述安全问题的支持情况,获取被测软件对所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项的测试覆盖;对比所述预期覆盖和测试覆盖,确定所述被测软件的安全威胁。本专利技术还包括了一种软件安全威胁分析系统,包括安全数据库模块、安全威胁检测模块和安全威胁分析模块。安全数据库模块,用于配置、存储、更新安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项;安全威胁检测模块,用于检测被测软件对所述安全问题的支持情况,获取被测软件对所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项的测试覆盖;安全威胁分析模块,用于构造安全问题库,将所述安全问题库中的安全问题及预期结果映射到所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项,得到预期覆盖;对比所述预期覆盖和测试覆盖,确定所述被测软件的安全威胁。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过构造问题库,将安全问题及其预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项中,提高了测试数据对应用场景的符合性,得到更有针对性的数据测试环境。另外,问题库的构造更灵活,进而提高了安全威胁分析数据的灵活构造,较好地适应了快速迭代的安全分析模型。另外,本专利技术提供的方法和系统能够发现在软件需求阶段、设计阶段以及测试阶段引入的安全威胁,做到早发现早处理。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本专利技术提供的软件安全威胁分析方法流程示意图;图2为本专利技术提供的软件安全威胁分析系统的结构示意图;图3为本专利技术提供的安全问题映射过程示意图;图4为本专利技术提供的安全问题映射及覆盖对比示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。实施例1图1为本专利技术提供的软件安全威胁分析方法流程示意图。下面结合用户登录认证功能,来说明本专利技术提供的软件安全威胁分析方法。图1的实施例包含以下步骤110~140。步骤110:构造安全问题库。例如,所述安全问题库根据安全处理顺序来构造。针对用户登录认证功能,例如可以按照用户登录认证安全处理顺序来构造如下问题:(1)被测软件是否包含登录认证功能?是;口否如果选“是”,将会跳到与登录认证相关的问题。在本实施例中,将跳转到问题(2);如果选“否”,将会跳到下一类问题。在本实施例中,将跳转到问题(11)。在对安全问题进行分类时,粒度可灵活定义,但需确保分类不重叠。(2)被测软件是否有登录失败处理,如账户密码不匹配等?是;口否如果选“是”,则表示预期被测软件会支持登录失败处理。如果选“否”,则表示预期不会支持登录失败处理。(3)被测软件是否有强密码判断处理,如检测设置的密码中是否含有重复内容?是;口否如果选“是”,则表示预期会支持强密码判断。如果选“否”,则表示预期不会支持强密码判断。登录认证的安全问题还可以继续延伸,本实施例仅给出上述几个安全问题进行示例说明。当通过问答方式明确了登录认证相关功能后,再继续明确其他安全相关功能,如本实施例中的信道加密。(4)被测软件是否包含信道加密功能?口是;否例如,基于人工智能模型来构造所述安全问题库。针对用户登录认证功能,如通过监督学习,在原有安全问题库的基础上,衍生出新的安全问题补充到安全问题库中。其他安全功能,如数据完整性校验、业务逻辑漏洞等也能构造相应的安全问题库。步骤120:将所述安全问题库中的安全问题及预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项,得到预期覆盖;本申请中的数据项是指特定类型的数据集合,由记录构成,支持结构化和非结构化数据。具体数据项包含安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项。安全威胁数据项:包含威胁名称、攻击模式、详细原理、严重程度等;安全需求数据项:包含需求类别、描述、性质、来源等;消减措施数据项:消减措施是指通过设计方案、流程设置、技术架构和编程实现等手段规避安全威胁,比如通过使用慢哈希对口令进行加密,消减口令暴力破解的威胁。测试用例数据项:测试用例用来检验预设的需求或消减措施是否被满足,比如通过渗透测试、源代码审计等方式。在数据项中可包含多个记录。例如,可以预先生成所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项。也可在软件测试过程中构造和更新。在映射时,映射到数据项中的部分(或全部)记录中,这部分映射到的记录被称为覆盖到的记录。所述安全问题及预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项的步骤,进一步包括:确定所述安全问题中包含的安全威胁点,确定达到预期结果的安全需求,确定解决所述安全问题的消减措施,确定验证所述安全问题的测试用例。在步骤110中,问题(1)、(2)和(3)是登录认证相关的安全问题,从这些安全问题以及预期结果可知:包含了登录认证安全威胁点,需要登录认证功能本文档来自技高网...
【技术保护点】
1.一种软件安全威胁分析方法,其特征在于,包括:/n构造安全问题库;/n将所述安全问题库中的安全问题及预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项,得到预期覆盖;/n检测被测软件对所述安全问题的支持情况,获取被测软件对所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项的测试覆盖;/n对比所述预期覆盖和测试覆盖,确定所述被测软件的安全威胁。/n
【技术特征摘要】
1.一种软件安全威胁分析方法,其特征在于,包括:
构造安全问题库;
将所述安全问题库中的安全问题及预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项,得到预期覆盖;
检测被测软件对所述安全问题的支持情况,获取被测软件对所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项的测试覆盖;
对比所述预期覆盖和测试覆盖,确定所述被测软件的安全威胁。
2.根据权利要求1所述的软件安全威胁分析方法,其特征在于,所述安全问题库根据安全处理顺序来构造。
3.根据权利要求1或2所述的软件安全威胁分析方法,其特征在于,基于人工智能模型来构造所述安全问题库。
4.根据权利要求1所述的软件安全威胁分析方法,其特征在于,预先生成所述安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项。
5.根据权利要求1所述的软件安全威胁分析方法,其特征在于,所述安全问题及预期结果映射到安全威胁点数据项、安全需求数据项、消减措施数据项和测试用例数据项的步骤,进一步包括:确定所述安全问题中包含的安全威胁点,确定达到预期结果的安全需求,确定解决所述安全问题的消减措施,确定验证所述安全问题的测试用例。
6.根据权利要求1所述的软件安全威胁分析方法,其特征在于,所述预期覆盖或测试覆盖的内容包括:覆盖的数据项及数目、覆盖的数据项中的记录及次数。
7.根据权利要求6所述的软件安全威胁分析方法,其特征在于,所述对比所述预期覆盖和测试覆盖,确定所述被测软件的安全威胁的步骤,进一步包括:
若测试覆盖中的数据项数目少于预期覆盖中的数据项数目,则预期覆盖中存在但测试覆盖中不存在的数据项存在...
【专利技术属性】
技术研发人员:宣军法,路向宇,陈星,李乔,
申请(专利权)人:中国人寿保险股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。