分析目标软件的安全漏洞的制作方法_4

文档序号:8947479阅读:来源:国知局
按优先顺序列出的安全缺陷通过输出设备(130)被呈现给用户。在此示例中,安全缺陷可以以指示最高优先级的安全缺陷的顺序,被呈现在输出设备(130)上。安全缺陷优先级处理模块(148)通过把安全漏洞与已知是复杂或不稳定的目标软件的区域相关,来按优先顺序列出静态分析模块(140)获得的静态分析扫描中发现的漏洞。此外,安全缺陷优先级处理模块(148)观察安全缺陷的模式一段时间,以把不能持续确定的安全缺陷,那些来来去去的问题的安全缺陷除去或不再优先考虑。更进一步地,安全缺陷优先级处理模块(148)提高出现在展示了显著的再利用的目标软件的区域中的问题的优先级。再更进一步地,安全缺陷优先级处理模块(148)提高出现在被频繁地访问或者在运行时环境中脆弱的目标软件的区域中的问题的优先级。
[0043]该方法可以以处理器(121)执行安全缺陷预测模块(15),预测目标软件的代码内的若干安全缺陷,而继续。在一个示例中,安全相关模块(146)把安全漏洞在展示了高复杂度或搅动的代码的区域中的出现率相关,安全缺陷预测模块(150)使用此信息来预测和警告用户代码的区域正在趋向于变得更加有风险。在另一示例中,安全相关模块(146)把安全漏洞的在展示了运行时环境中的频繁访问或安全攻击的代码的区域中的出现率相关,安全缺陷预测模块(150)使用此信息来预测和警告用户代码的区域正在趋向于变得更加有风险。在又一示例中,根据软件代码复杂度和稳定性度量与历史扫描数据库(108)中包含的数据内发现的安全缺陷之间的相关的模式,安全缺陷预测模块(150)预测软件中的安全缺陷。
[0044]在这里参照根据本发明所述原理的示例的方法、装置(系统)和计算机程序产品的流程图和/或框图,说明了本系统和方法的各个方面。流程图和框图的各个块,与流程图和框图中块的组合可以由计算机可用程序代码实现。计算机可用程序代码可以被提供给通用计算机,专用计算机,或其它可编程数据处理装置的处理器以产生机器,致使当被通过例如计算设备(102)的处理器(121)或其它可编程数据处理装置执行时,计算机可用程序代码实现流程图和/或框图的块或多个块中指定的功能或动作。在一个示例中,计算机可用程序代码可以被体现在计算机可读存储介质内,计算机可读存储介质是计算机程序产品的一部分。在一个示例中,计算机可读存储介质是非暂时性计算机可读介质。
[0045]说明书和【附图说明】用于分析目标软件的安全漏洞的方法和系统。本系统和方法利用静态分析扫描扫描目标软件的代码库以确定若干安全缺陷,和在一段时间,若干次迭代计算该目标软件的该代码库的若干代码度量以获取若干历史扫描。安全缺陷演变和若干代码度量之间的若干相关被分析来根据安全缺陷演变和代码度量之间的相关,按优先顺序列出若干安全缺陷,并且根据安全缺陷演变和代码度量之间的相关,预测与代码库相关联的风险。
[0046]本系统和方法可以具有若干优点,包括:(1)通过把安全漏洞与已知是复杂或不稳定的应用的区域关联,为按优先顺序列出静态分析中发现的漏洞的能力作准备;(2)为观察一段时间安全缺陷的模式,以把诸如,例如难以找到的或似乎来来去去的问题的、不能持续确定的问题除去或不再优先考虑的能力作准备;(3)为提高出现在展示了显著的再利用的应用的区域中的问题的优先级的能力作准备;(4)为提高出现在已知被频繁地访问或者在运行时环境中脆弱的应用的区域中的问题的优先级的能力作准备;(5)把展示了高复杂度或搅动的代码的区域中的安全漏洞的出现率相关,来预测并警告代码的区域正在趋向于变得更加有风险;(6)把展示了运行时环境中的频繁访问或安全攻击的代码的区域中的安全漏洞的出现率相关;和(7)根据软件代码复杂度和稳定性度量、过去分析中发现的安全缺陷等之间的相关的模式,预测软件中的安全缺陷。
[0047]已经给出了前述说明来示出并描述所述原理的示例。此说明并不旨在是穷尽的或将这些原理限制为所公开的任何精确形式。根据上述教导,可以有很多修改和变型。
【主权项】
1.一种分析目标软件的安全漏洞的方法,包括:以处理器: 利用静态分析扫描来扫描目标软件的代码库以确定若干安全缺陷,以及在一段时间,若干次迭代计算该目标软件的该代码库的若干代码度量以获取若干历史扫描;和分析安全缺陷演变和该若干代码度量之间的若干相关。2.根据权利要求1所述的方法,其中扫描该目标软件的该代码库进一步包括在一段时间,从一个版本的该目标软件的运行时环境,若干次迭代获得运行时安全信息,以获得若干另外的历史扫描。3.根据权利要求1所述的方法,进一步包括根据该安全缺陷演变和该代码度量之间的所述相关,按优先顺序列出若干安全缺陷。4.根据权利要求1所述的方法,进一步包括根据该安全缺陷演变和该代码度量之间的所述相关,预测与该代码库相关联的风险。5.根据权利要求1所述的方法,进一步包括把所述历史扫描存储到历史扫描数据库中。6.根据权利要求1所述的方法,其中该迭代的次数为多次迭代。7.一种用于分析目标软件的安全漏洞的系统,包括: 处理器; 被联接到该处理器上的数据存储设备,该数据存储设备包括: 用于扫描目标软件的代码库以确定若干安全缺陷的静态分析模块; 用于从一个版本的该目标软件的运行时环境获得运行时安全信息的运行时安全模块;和 用于计算该目标软件的该代码库的若干代码度量的代码度量模块;和用于存储一段时间、若干次迭代的若干历史扫描的历史扫描数据库,所述历史扫描包括该静态分析模块、运行时安全模块和代码度量模块中的至少一个模块的结果。8.根据权利要求7所述的系统,进一步包括用于分析安全缺陷演变和该历史扫描数据库内的若干所述代码度量之间的若干相关的安全相关模块。9.根据权利要求7所述的系统,进一步包括用于根据该安全缺陷演变和所述代码度量之间的若干相关,按优先顺序列出若干安全缺陷的安全缺陷优先级处理模块。10.根据权利要求7所述的系统,进一步包括用于根据该安全缺陷演变和该代码度量之间的所述相关,预测与该代码库相关联的风险的安全缺陷预测模块。11.根据权利要求7所述的系统,进一步包括服务器,其中该系统的功能性被通过该服务器提供为软件即服务(SaaS),平台即服务(PaaS),基础设施即服务(IaaS),应用程序接口(API)即服务(APIaaS),或其组合。12.一种用于分析目标软件的安全漏洞的计算机程序产品,该计算机程序产品包括: 包括与之体现的计算机可用程序代码的非暂时性计算机可读存储介质,该计算机可用程序代码包括: 用于当被至少一个处理器执行时,分析从目标软件确定的若干静态分析扫描、若干代码度量和若干运行时安全扫描之间的若干相关的计算机可用程序代码;和 用于当被所述至少一个处理器执行时,根据所述相关,按优先顺序列出若干安全缺陷的计算机可用程序代码;13.根据权利要求11所述的计算机程序产品,进一步包括用于当被所述至少一个处理器执行时,根据所述相关,预测与该目标软件相关联的安全缺陷的计算机可用程序代码。14.根据权利要求11所述的计算机程序产品,进一步包括: 用于当被所述至少一个处理器执行时,利用静态分析扫描该目标软件的代码库以确定所述静态分析扫描中的若干安全缺陷的计算机可用程序代码;和 用于当被所述至少一个处理器执行时,计算该目标软件的代码库的若干代码度量的计算机可用程序代码。15.根据权利要求11所述的计算机程序产品,进一步包括用于当被所述至少一个处理器执行时,从该目标软件的运行时环境获得运行时安全信息的计算机可用程序代码。
【专利摘要】一种分析目标软件的安全漏洞的方法包括:以处理器,利用静态分析扫描扫描目标软件的代码库以确定若干安全缺陷,和在一段时间,若干次迭代计算该目标软件的该代码库的若干代码度量以获取若干历史扫描。
【IPC分类】G06F21/50
【公开号】CN105164690
【申请号】CN201380076132
【发明人】迈克尔·杰森·施米特
【申请人】惠普发展公司,有限责任合伙企业
【公开日】2015年12月16日
【申请日】2013年7月12日
【公告号】WO2015005936A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1