用于对软件漏洞进分类的系统和方法技术方案

技术编号:37775380 阅读:19 留言:0更新日期:2023-06-06 13:43
提供了用于对软件应用中标识的安全漏洞进行分类以及基于自动决策树分类和/或机器学习来分类它们的系统和方法。所公开的系统可以生成列出检测到的潜在漏洞问题的报告,并且使用包含决策树的自动分类策略,或者通过从报告中提取漏洞特征并且使用机器学习模型处理所提取的漏洞特征,来自动确定潜在漏洞问题是否可利用。可利用。可利用。

【技术实现步骤摘要】
【国外来华专利技术】用于对软件漏洞进分类的系统和方法


[0001]本公开总体涉及软件安全领域,尤其涉及用于在软件应用开发期间扫描和补救软件应用中的安全漏洞的方法和系统。

技术介绍

[0002]在软件和应用的开发过程中,安全漏洞的扫描、分析和补救过程通常是缓慢和手动的。已知本领域中的基本技术和工具来扫描和标识漏洞。然而,专家需要解释结果,突出显示最相关的漏洞,并且建议修复。这通常需要大量的时间,而这样的网络安全专家供不应求。软件开发人员希望有一个更快的流程,其能够扩展以满足需求,并且保持专家分析的质量。需要智能来在软件应用的开发阶段更有效地扫描软件应用。
附图说明
[0003]本公开的实施例的前述和其他目的、特征和优点将从下文对附图中所示的实施例的更具体的描述中显而易见,其中附图标记贯穿各个视图指代相同部分。附图不一定是按比例绘制的,而是对说明本公开的原理进行了强调。
[0004]图1是示出根据本公开的某些实施例的示例性系统的架构的示例的框图。
[0005]图2是示出根据本公开的某些实施例的用于实现图1所示的示例性系统的扫描引擎和漏洞报告引擎的实施例的框图。
[0006]图3是示出根据本公开的某些实施例的用于实现图1所示的系统的示例性提取引擎实现的方法的示例的流程图。
[0007]图4是示出根据本公开的某些实施例的用于实现图1所示的示例性系统的格式化引擎和向量引擎的实施例的框图。
[0008]图5是示出根据本公开的某些实施例的用于实现图1所示的示例性系统的向量引擎、分类引擎和输出引擎的组件的实施例的框图。
[0009]图6是示出根据本公开的某些实施例的用于实现图1所示的示例性系统的各种引擎的组件的实施例的框图。
[0010]图7是示出根据本公开的某些实施例的用于实现示例性系统的自动分类方法的示例的图表。
[0011]图8(a)

图(b)是示出根据本公开的某些实施例的由示例性系统实现的扫描结果的示例的图表。
[0012]图9是示出根据本公开的某些实施例的由示例性系统实现的方法的示例的框图。
[0013]图10是示出根据本公开的某些实施例的由示例性系统实现的方法的示例的流程图。
[0014]图11示出了示例自动分类策略(ATP)规则库以及用于生成ATP和用于ATP的对应的自动分类方法(ATM)的示例步骤。
[0015]图12示出了ATP和漏洞之间的示例映射。
[0016]图13示出了图11的改进质量(IQ)指南生成的示例流程。
具体实施方式
[0017]现在将详细参考本公开的实施例,其示例在附图中示出。
[0018]本公开可以以各种形式实施,包括用于扫描和纠正软件应用中的安全漏洞的系统、方法、计算机可读介质或平台即服务(PaaS)产品。在一些示例中,本文描述的本公开的技术优势可以包括对在其开发阶段扫描的软件应用中的安全漏洞的标识。另一技术优势可能是减少了扫描结果中的误报和重复。又一技术优势可能是对漏洞根本原因的分析。另一技术优势可能包括向人工安全分析人员提供附加信息,以缩小他们的分析范围,从而提高他们的效率。技术优势可能包括对所标识的安全漏洞的分类,以及基于机器学习对其进行自动分类。在某些示例中,技术优势可以包括对扫描结果的翻译或解释以确定对由扫描标识的安全漏洞的补救。在一个示例中,技术优势可以包括经由用户界面或扫描报告向软件开发人员呈现建议,以便实现软件应用的安全开发。因此,本公开的示例性益处可以包括减少安全分析人员评估漏洞的时间,以及提高对正在开发的软件应用的安全性的信心。虽然存在向安全分析人员提供检测漏洞的基本扫描结果的低效技术,但是本公开的技术优势可以包括对扫描结果的评估和对实际漏洞与误报的确定。
[0019]图1示出了这样的系统100的实施例,其可以使用各种组件和模块以许多不同的方式实现,包括本文描述的电路的任何组合,诸如硬件、软件、中间件、应用程序接口(API)和/或用于实现电路的特征的其他组件。系统100可以包括扫描引擎101、漏洞报告引擎102、提取引擎103、格式化引擎104、向量引擎105、分类引擎106、输出引擎107、审查引擎108和/或报告引擎109。在一个实施例中,所公开的方法的步骤可以由这些引擎101

109来实现。
[0020]在一个实施例中,系统100可以包括计算设备110,其可以包括存储器111和处理器112。系统100还可以包括所生成的用户界面(UI)113和如图2所示的表述性状态转移(REST)API 114,其可以适于实现组件、模块和数据库之间的通信。如下所述,用户可以经由UI 113与系统100交互。在一些实施例中,存储器111可以包括系统100的组件和模块,包括前述引擎101

109、UI 113和REST API 114。系统100还可以包括源代码数据库115、漏洞报告数据库116、安全漏洞数据库117、java代码库或数据库118和/或训练模型数据库119。此外,系统100可以包括软件安全服务器120和路由器。
[0021]根据本公开的某些实施例,计算设备110、数据库115

119、软件安全服务器120和路由器可以以许多不同的方式在逻辑上和物理上被组织。数据库115

119可以利用不同类型的数据结构(诸如链表、哈希表或隐式存储机制)而被实现,并且可以包括关系数据库和/或对象关系数据库。数据库115

119可以存储在设备110的存储器111和/或软件安全服务器120中,或者它们可以分布在多个设备、服务器、处理系统或存储库中。例如,漏洞报告数据库116可以被配置为与软件安全服务器120通信,并且漏洞报告引擎102和提取引擎103可以被配置为与软件安全服务器120通信。在某些实施例中,计算设备110可以包括可以由处理器112控制的通信接口、显示电路和输入/输出(I/O)接口电路,以便经由图1中所示的组件和模块执行下文讨论的过程步骤。如下所述,用户可以经由显示电路显示的UI 113与系统100交互。
[0022]图2示出了被配置为扫描被存储在源代码数据库115中的源代码125的扫描引擎
101的实施例。在一个实施例中,计算设备110可以包括可以实现系统100的任何期望功能的系统电路。如下所述,在一些实施例中,扫描引擎101可以被配置为扫描源代码125以寻找安全漏洞127。例如,扫描引擎101可以在应用扫描客户端128上被实现,如下文进一步讨论的,应用扫描客户端128可以被配置为与源代码数据库115通信,源代码数据库115存储要由系统100扫描的源代码125。在一个实施例中,应用扫描客户端128可以包括计算设备110。备选地,源代码数据库115可以在计算设备110上被实现,计算设备110可以被配置为与在另一设备上被实现的应用扫描客户端128通信,该另一设备可以适于与显示器129通信。在一些实施例中,如图2所示,扫描引擎101还可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于评估软件漏洞的系统,包括:存储器,用于存储可执行指令;以及处理器,适于访问所述存储器,所述处理器还适于执行被存储在所述存储器中的所述可执行指令,用以:访问自动分类规则库,所述自动分类规则库包括对应于多个预定漏洞类型的多个预定义的自动分类策略,其中每个自动分类策略包括用于确定所述多个预定漏洞类型中的一个预定漏洞类型是否可利用的决策树;访问用于所述预定多个预定漏洞类型中的一个预定漏洞类型是否可利用的概率性确定的机器学习模型库;基于软件产品的源代码,获得列出所述软件产品的潜在漏洞问题的电子文档;确定所述潜在漏洞问题是否与所述多个预定漏洞类型中的一个预定漏洞类型相关联;以及当确定所述潜在漏洞问题与所述多个预定漏洞类型中的所述一个预定漏洞类型相关联时,基于使用从所述自动分类规则库被检索的与所述多个预定漏洞类型中的所述一个预定漏洞类型和对应的决策树相关联的自动分类策略处理所述电子文档,来确定所述软件产品是否可利用,否则基于使用来自所述机器学习模型库的机器学习模型处理所述电子文档,来概率性地确定所述软件产品是否可利用。2.根据权利要求1所述的系统,其中所述决策树包括递进排序的自动分类方法的集合。3.根据权利要求2所述的系统,其中所述自动分类策略中的每个自动分类方法被配置为在处理所述电子文档时生成分类输出。4.根据权利要求3所述的系统,其中来自每个自动分类方法的所述分类输出包括以下中的一项:指示所述软件产品不可利用的分类确定、指示所述软件产品可利用的分类确定、或者指示所述软件产品的可利用性不确定的分类确定。5.根据权利要求4所述的系统,其中所述处理器适于通过以下操作基于所述自动分类策略来确定所述软件产品是否可利用:当所述自动分类方法的输出指示所述软件产品可利用或者所述软件产品的所述可利用性不确定时,根据所述决策树递进地调用所述自动分类策略的所述自动分类方法;以及当不可利用的分类输出被获得时,终止所述决策树。6.根据权利要求3

5中任一项所述的系统,其中所述自动分类策略的每个自动分类方法包括一个或多个分类算法的编码版本,用于确定分类输出作为对在所述自动分类策略的预定查询树之中的预定分类查询的回答。7.根据权利要求6所述的系统,其中每个分类策略和所述自动分类方法基于指南集合而被建立,所述指南集合是基于单独的上下文数据、实验数据、以及计算数据而被得出的。8.根据权利要求7所述的系统,其中所述指南集合以预定义格式被编码,所述预定义格式被处理以生成所述一个或多个分类算法的编码版本。9.根据前述权利要求中任一项所述的系统,其中所述处理器还适于:扫描所述软件产品的所述源代码以检测所述潜在漏洞问题;以及基于检测到的所述潜在漏洞问题生成所述电子文档。10.根据权利要求9所述的系统,其中所述处理器适于通过以下操作概率性地确定所述软件产品是否可利用:
从所述电子文档提取针对每个潜在漏洞问题的特征;基于所提取的所述特征确定向量;基于所述向量选择多个漏洞评分模型中的一个漏洞评分模型,所述多个漏洞评分模型选自所述机器学习模型库;以及使用所述多个漏洞评分模型中的所选择的所述漏洞评分模型,基于所述向量来确定漏洞准确度得分。11.根据权利要求10所述的系统,其中所述处理器还适于:接收策略数据或业务规则集合;将所提取的所述特征与所述策略数据或业务规则集合进行比较;以及,基于所扫描的所述源代码确定与检测到的所述潜在漏洞问题中的至少一个潜在漏洞问题相对应的标记。12.根据权利要求11所述的系统,其中所述向量基于所述标记。13.根据权利要求10

12中任一项所述的系统,其中所述处理器还适于向用户显示所述漏洞准确度得分。14.根...

【专利技术属性】
技术研发人员:F
申请(专利权)人:埃森哲环球解决方案有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1