买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:苏州浪潮智能科技有限公司
摘要:本发明属于代码审查技术领域,具体涉及一种基于多工具检查的安全代码审查方法及系统,所述的方法包括步骤S1:构建漏洞类型映射链表集的步骤,该步骤中根据不同检查工具的检查规则以及对漏洞类型的划分标准,建立不同检查工具之间的漏洞类型映射对应关系;步骤S2:构建漏洞检查模型的步骤,该步骤中针对每个漏洞类型构建与之相对应的检查模型;步骤S3:创建代码检查实例的步骤,该步骤中将待检查的代码投入到构建的漏洞类型检查模型中,创建基于该代码的审核实例。
主权项:1.一种基于多工具检查的安全代码审查方法,其特征在于,包括以下步骤:步骤S1:构建漏洞类型映射链表集的步骤,该步骤中根据不同检查工具的检查规则以及对漏洞类型的划分标准,建立不同检查工具之间的漏洞类型映射对应关系;步骤S2:构建漏洞检查模型的步骤,该步骤中针对每个漏洞类型构建与之相对应的检查模型;步骤S3:创建代码检查实例的步骤,该步骤中将待检查的代码投入到构建的漏洞类型检查模型中,创建基于该代码的审核实例;所述的步骤S1具体包括以下步骤:步骤S11:搜集检查样本集的步骤,该步骤中通过搜集不同语言、不同行业、不同代码规模下的代码;采用多种代码检查工具对这些代码进行检查,得到对应的扫描集合;步骤S12:构建漏洞类型映射链表集,该步骤中:定义M个代码检查工具,N个代码集合,得到的扫描集合为S;S={S1,S2,……,Sn},其中集合元素Si={Si1,Si2,……,SiM};Si指第i个代码采用M个代码检查工具扫描后得到扫描集合;Sij指第i个代码采用第j个代码扫描工具扫描后得到的结果;漏洞类型映射链表集的具体构建方式如下:步骤S121:创建漏洞类型映射链表集L={};步骤S122:遍历获取S中的元素集合Si;步骤S123:遍历集合Si中的第一个元素Si1,遍历该元素下的漏洞类型;若该类型漏洞未被记录,则创建新的链表Lx记录该漏洞类型及检查工具,记录方式为Lx=漏洞类型B1,检查工具T1;步骤S124:遍历集合{Si2,……,SiM}中的元素,若该漏洞类型下的漏洞在Sij中被检查出来,则把对应的工具及漏洞类型记录在该工具及下对应的漏洞类型记录在Lx中最后一个元素的后边,记录方式为Lx=漏洞类型B1,检查工具T1-……-漏洞类型Bj,检查工具Tj;若该漏洞类型被记录,记录链表为Ly;检查Ly,若M个检查工具下的漏洞类型均被记录,则检查下一个漏洞类型;若存在没有被记录的检查工具j,则检查该漏洞类型下的漏洞在有没有被检查工具j检查出来;若检查出来,则把该工具及对应的漏洞类型记录在该链表最后一个元素的后面;步骤S125:遍历集合Si中的剩余元素Sij,遍历该元素下未被记录的漏洞类型;步骤S126:创建新的链表记录该漏洞类型及检查工具,遍历集合Si中的剩余元素,若该漏洞类型下的漏洞其他检查工具也检查出来,则在该链表最后一个元素后面记录该工具及对应的漏洞类型;执行步骤S121至步骤S126,直至所有的漏洞类型均被记录,从而生成最终的链表集合L={L1,L2,……},其中Li为第i个链表元素,其组成形式为Li=漏洞类型Bi1,检查工具Ti1-漏洞类型Bi2,检查工具Ti2-……;所述的步骤S2具体包括以下步骤:步骤S21:取漏洞类型映射链表集合L中的元素Li:若Li中只有一个漏洞类型,则对该类型的漏洞直接采用其对应的检查工具即可;若Li中存在多个漏洞类型,则采用随机森林构建对应的模型,构建方式如下:步骤S211:获取样本训练集:提取该元素链表下的样本信息,信息包含代码行数、文件个数、编程语言、行业类型;为每条样本信息,依据链表中对应的代码检查工具,提取漏洞信息,包含:中危漏洞数,低危漏洞数,高危漏洞个数、高危漏洞误报数、有效高危漏洞数,其中有效高危漏洞数是指高危漏洞总数-高危漏洞误报数;根据漏洞信息,确定样本对应的检查工具类型,并把其作为分类类别,得到该元素对应的样本训练集;步骤S212:构建模型:把该样本训练集采用随机森林的方式进行训练,得到该链表下的检查模型;重复以上步骤,直至L中所有元素均被遍历。
全文数据:
权利要求:
百度查询: 苏州浪潮智能科技有限公司 一种基于多工具检查的安全代码审查方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。