一种构造可信的危险函数数据库的方法及系统技术方案

技术编号:16663130 阅读:31 留言:0更新日期:2017-11-30 12:05
本发明专利技术公开了一种构造可信的危险函数数据库的方法及系统,属于计算机安全技术领域。本发明专利技术的构造可信的危险函数数据库的方法,选取检测工具ITS4、Rats和Flawfinder的危险函数库,对上述危险函数库中的危险函数的严重等级进行统一量化汇总,并基于工具可信度计算模型及危险函数汇总规则,完成构造可信的危险函数数据库。该发明专利技术的构造可信的危险函数数据库的方法能有效的降低检测工具的漏报,并给予安全审查人员更加有说服力的数据作为漏洞严重程度参考,从一定程度上降低检测工具的误报,具有很好的推广应用价值。

【技术实现步骤摘要】
一种构造可信的危险函数数据库的方法及系统
本专利技术涉及计算机安全
,具体提供一种构造可信的危险函数数据库的方法及系统。
技术介绍
随着社会及经济的飞速发展,计算机的应用领域越来越广泛,计算机使用过程中的安全性显得尤为重要,计算机安全性涉及硬件安全及软件安全。软件安全漏洞是指能够被攻击者利用的违背安全策略的程序。软件中的缺陷和漏洞会给计算机系统带来严重的影响,有时候甚至是灾难性的。在所有的软件漏洞中,缓冲区溢出漏洞是最重要的安全漏洞之一,约占所有安全漏洞的50%。危险函数的不当使用是导致缓冲区溢出漏洞的主要原因。因此,很多缓冲区溢出漏洞检测工具存在高漏报和高误报的问题,主要原因之一是缺少完善的危险函数库。很多基于静态分析技术的缓冲区溢出漏洞的检测工具,尤其是轻量级的检测工具之所以存在较高的漏报率和误报率,一是因为该工具没有全面考虑引起缓冲区溢出漏洞的尽可能多的危险函数,二是有些检测工具输出结果只是给出了简单警告信息,没有给出危险函数的危险等级及相应的修改建议,有待进一步改进。
技术实现思路
本专利技术的技术任务是针对上述存在的问题,提供一种能有效的降低检测工具的漏报,并给予安全审查人员更加有说服力的数据作为漏洞严重程度参考,从而在一定程度上降低检测工具误报的构造可信的危险函数数据库的方法。本专利技术进一步的技术任务是提供一种构造可信的危险函数数据库的系统。为实现上述目的,本专利技术提供了如下技术方案:一种构造可信的危险函数数据库的方法,选取检测工具ITS4、Rats和Flawfinder的危险函数库,对上述危险函数库中的危险函数的严重等级进行统一量化汇总,并基于检测工具可信度计算模型计算危险函数的可信度分值,结合危险函数汇总规则,完成构造可信的危险函数数据库。ITS4、Rats和Flawfinder均为经典的词法静态检测工具,包含极其丰富的危险函数。由于ITS4、Rats和Flawfinder的危险函数库是不同的,因此需要合并。从ITS4、Rats和Flawfinder的源代码中找到相应的危险函数库,按照危险函数名称、危险等级、所属分类、警告和建议的数据项分别进行提取。ITS4、Rats和Flawfinder关于危险函数危险等级的描述是不一样的,必须将其危险函数的危险等级进行统一量化,构造准确的可信危险函数数据库的危险等级。其中:ITS4检测工具的危险等级分为6级,分别是NO_RISK、LOW_RISK、MODERATE_RISK、RISK、VERY_RISK、MOST_RISK,危险等级的严重程度呈逐渐增加的趋势;Rats检测工具的危险等级分为3级,分别是High、Medium、Low,危险等级的严重程度呈逐渐降低的趋势;Flawfinder检测工具的危险等级分为5级,分别是0、1、2、3、4、5,危险等级的严重程度呈逐渐增加的趋势。利用检测工具的漏报率和误报率,来构建检测工具可信度计算模型。危险函数的汇总目的有两个,一是给出危险函数的危险等级,二是给出危险函数的归类,最重要的是给出可信危险函数数据库中危险函数的危险等级。作为优选,所述方法具体包括以下步骤:S1:危险函数的提取选取检测工具ITS4、Rats和Flawfinder的危险函数库,分别提取ITS4危险函数、Rats危险函数和Flawfinder危险函数;S2:对从检测工具ITS4、Rats和Flawfinder提取的危险函数的严重等级进行统一量化汇总;S3:构建检测工具可信度计算模型通过检测工具的漏报率和误报率及步骤S2中危险函数的严重等级的统一量化结果,计算危险函数的可信度分值;S4:危险函数汇总规则根据危险函数存在于危险函数库的数量、危险函数在检测工具危险函数库中的严重级别以及危险函数所存在的检测工具的可信度高低,来确定危险函数的危险等级;S5:构造可信危险函数数据库由危险函数的名称、危险函数的危险等级、危险函数的可信度分值、危险函数的所属归类、危险函数的建议及危险函数的警告来构造可信危险函数数据库。步骤S4中,针对危险函数汇总规则具体有以下几点:(1)如果一个危险函数存在于多个静态检测工具的危险函数库中,则该危险函数越危险,相应的危险等级随之增大;反之,如果一个危险函数在多个静态检测工具危险函数库中出现的次数越少,则该危险函数越不危险,相应的危险等级随之减小;(2)如果一个危险函数在某个静态检测工具危险函数库中的严重级别越高,则该危险函数越危险,相应的危险等级随之增大;反之,如果一个危险函数库中的严重级别越低,则该危险函数越不危险,相应的危险等级随之减小;(3)如果一个危险函数存在于某个静态检测工具的危险函数库中,若该检测工具的可信度越高,则该危险函数的危险等级越高,反之,则该危险函数的危险等级越低。步骤S5中,其中,危险函数名称表示引起漏洞的危险函数名称,危险等级表示该危险函数不当使用时导致漏洞的严重性的大小,可信度分值表示安全审查人员对量化的危险等级的信任程度,所属分类是根据漏洞形成原因划分的,建议和警告是给予安全审查人员修改程序时的提示和建议。作为优选,步骤S3中,检测工具的漏报率、误报率与查准率、查全率为相对的,由此漏报率、误报率的计算公式如下:其中,TP为漏洞正报的个数,FP为漏洞误报的个数,LOE为真正的漏洞个数;危险函数的可信度分值的计算公式为:CS=r(ITS4)*W(ITS4)+r(Rats)*W(Rats)+r(Flawfinder)*W(Flawfinder)公式3其中,W(ITS4)、W(Rats)、W(Flawfinder)分别表示检测工具ITS4、Rats和Flawfinder的可信度权重,检测工具的误报率和漏报率越低,可信度权重值越高;r(ITS4)、r(Rats)、r(Flawfinder)分别表示危险函数统一量化的数值。利用检测工具的漏报率和误报率,构建检测工具可信度计算模型。首先,建立一个二维变量(X,Y),0﹤X≤1,0﹤Y≤1,i=1,2,3...n,j=1,2,3...m,X代表检测工具i对源代码j进行测试所得到的误报率,Y代表检测工具i对源代码j进行检测所得到的漏报率。一种构造可信的危险函数数据库的系统,包括以下模块:(1)危险函数提取模块:用于从检测工具ITS4、Rats和Flawfinder的危险函数库中分别提取ITS4危险函数、Rats危险函数和Flawfinder危险函数;(2)危险函数严重等级统一量化模块:用于对从检测工具ITS4、Rats和Flawfinder提取的危险函数的严重等级进行统一量化汇总;(3)检测工具可信度计算模型构建模块:用于计算危险函数的可信度分值;(4)危险函数汇总规则模块:用于确定危险函数的危险等级;(5)可信危险函数数据库构造模块:用于构造可信危险函数数据库。作为优选,所述检测工具可信度计算模型构建模块,通过检测工具的漏报率、误报率及危险函数的严重等级的统一量化结果来计算危险函数的可信度分值。作为优选,所述危险函数汇总规则模块,根据危险函数存在于危险函数库的数量、危险函数在检测工具危险函数库中的严重级别以及检测工具的可信度高低,来确定危险函数的危险等级。作为优选,所述可信危险函数数据库构造模块,根据危险函数的名称、危险函数的危险等级、危险函数的可信度分值本文档来自技高网...
一种构造可信的危险函数数据库的方法及系统

【技术保护点】
一种构造可信的危险函数数据库的方法,其特征在于:选取检测工具ITS4、Rats和Flawfinder的危险函数库,对上述危险函数库中的危险函数的严重等级进行统一量化汇总,并基于检测工具可信度计算模型计算危险函数的可信度分值,结合危险函数汇总规则,完成构造可信的危险函数数据库。

【技术特征摘要】
1.一种构造可信的危险函数数据库的方法,其特征在于:选取检测工具ITS4、Rats和Flawfinder的危险函数库,对上述危险函数库中的危险函数的严重等级进行统一量化汇总,并基于检测工具可信度计算模型计算危险函数的可信度分值,结合危险函数汇总规则,完成构造可信的危险函数数据库。2.根据权利要求1所述的构造可信的危险函数数据库的方法,其特征在于:所述方法具体包括以下步骤:S1:危险函数的提取选取检测工具ITS4、Rats和Flawfinder的危险函数库,分别提取ITS4危险函数、Rats危险函数和Flawfinder危险函数;S2:对从检测工具ITS4、Rats和Flawfinder提取的危险函数的严重等级进行统一量化汇总;S3:构建检测工具可信度计算模型通过检测工具的漏报率和误报率及步骤S2中危险函数的严重等级的统一量化结果,计算危险函数的可信度分值;S4:危险函数汇总规则根据危险函数存在于危险函数库的数量、危险函数在检测工具危险函数库中的严重级别以及危险函数所存在的检测工具的可信度高低,来确定危险函数的危险等级;S5:构造可信危险函数数据库由危险函数的名称、危险函数的危险等级、危险函数的可信度分值、危险函数的所属归类、危险函数的建议及危险函数的警告来构造可信危险函数数据库。3.根据权利要求2所述的构造可信的危险函数数据库的方法,其特征在于:步骤S3中,检测工具的漏报率、误报率与查准率、查全率为相对的,由此漏报率、误报率的计算公式如下:其中,TP为漏洞正报的个数,FP为漏洞误报的个数,LOE为真正的漏洞个数;危险函数的可信度分值的计算公式为:CS=r(ITS4)*W(ITS4)+r(Rats)*W(Rats)+r(Flawfinder)*W(Flawfinde...

【专利技术属性】
技术研发人员:王永强
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1