基于扫描方案的静态代码流程分析方法技术

技术编号:36967085 阅读:7 留言:0更新日期:2023-03-22 19:27
本发明专利技术公开了基于扫描方案的静态代码流程分析方法,具体方法如下:S1、构建规则集合;S2、根据不同规则集合融合扫描方案、并设置质量门禁;S3、结合扫描方案,实现静态代码扫描的分布扫描;S4、利用结果文件的特征信息对多种扫描结果的自动解析与合并;S5、通过质量门禁预设值,对扫描结果进行判定,实现扫描结果的研判。本发明专利技术针对代码扫描过程复杂的问题,提供一套基于扫描方案的改进方法构建静态代码扫描流程、多工具和多规则选用、不同扫描结果融合这一系列过程,提升扫描的覆盖范围,实现代码扫描广度和深度的结合。代码扫描广度和深度的结合。代码扫描广度和深度的结合。

【技术实现步骤摘要】
基于扫描方案的静态代码流程分析方法


[0001]本专利技术属于计算机
,具体为基于扫描方案的静态代码流程分析方法。

技术介绍

[0002]近年来,源代码安全扫描有了较大发展,代码扫描分为静态代码扫描和动态代码扫描,其中静态代码扫描技术已经较为成熟。静态代码扫描是读取源代码,对其进行词法语法分析、基于抽象语法树的语义分析、规则检查分析、数据流控制流分析、字符串匹配和模型化分析等方式检查其中的代码缺陷、代码安全、代码规范等问题。在项目开发中,通过对项目代码进行静态扫描分析,从而充分的了解代码中的缺陷、漏洞等问题,做出更加有效的修改和补救。
[0003]静态代码扫描的过程是先选定规则,通过工具在选定的规则下对目标代码进行分析,从而找到代码中存在的问题。当前代码扫描工具众多,扫描规则更是成千上万,将扫描过程中选用出一套合适的规则集合甚至多套规则集合是当前欠缺的。本专利技术提出一种形成扫描方案的改进方法,通过不同语言、不同工具、不同层的应用场景下划分出多种的规则集合,然后再将这些规则集合进行组合形成不同的扫描方案,并再扫描流程中根据方案高效的选用规则快速的有效的进行扫描。极大优化了扫描过程,提升了扫描速度,扩大扫描维度。

技术实现思路

[0004]针对现有技术的不足,本专利技术提供了基于扫描方案的静态代码流程分析方法,具有针对不同工具、不同类别的规则以及质量门禁,将其有层次的结合起来,形成扫描方案,实现对众多规则的合理选用,提升静态代码扫描结果的准确性与合理性的优点。
[0005]为实现上述目的,本专利技术提供如下技术方案:基于扫描方案的静态代码流程分析方法,具体方法如下:
[0006]S1、构建规则集合;
[0007]首先,根据多种扫描工具的特性,将规则进行多语言、多维度、多等级的划分,再将不同的规则根据不同的应用常见、不同的使用习惯融合出有特色的规则集合,并在扫描要求一致的情况下,更全面、层次的扫描目标代码;
[0008]其次,当扫描要求不确定的时,利用常用、通用的规则,汇集成扫描集合,形成多个有通用性、常用性、特色性的规则集合;
[0009]最后,用户也可以自定义的构建适合自己的规则集合,满足不同情况下的需求;
[0010]S2、根据不同规则集合融合扫描方案、并设置质量门禁;
[0011]首先,基于高效的、常用的、通用的、不同维度的规则集合形成基本的扫描方案;
[0012]其次,研究和分析不同的语言、不同应用场景的代码数据特征,搭建完善的扫描方案,然后根据该扫描方案设定合适的门禁规则;
[0013]最后,用户也是可以自定义扫描方案和质量门禁的设定;
[0014]S3、结合扫描方案,实现静态代码扫描的分布扫描;
[0015]首先,待扫描代码根据选用的扫描方案,获取扫描方案中的全部规则集合,然后再根据规则集合找到对应的规则,以及记录的工具信息、语言信息、扫描维度,然后这些信息进行编排整合;
[0016]其次在将整合好的信息,根据工具、维度的划分,同时发送不同的扫描服务,实现同时的分布扫描;
[0017]S4、利用结果文件的特征信息对多种扫描结果的自动解析与合并;
[0018]首先对各个扫描服务的扫描结果进行收集汇总,根据不同结果文件找到对应的解析算法,对结果文件进行解析;
[0019]其次对解析出的结果进行合并,然后将结果存储;
[0020]S5、通过质量门禁预设值,对扫描结果进行判定,实现扫描结果的研判;
[0021]首先根据扫描结果,将结果数据与扫描方案中的质量门禁设定值进行校对,是否达到质量门禁的要求,如果达到质量门禁要求将会进行报警标记和处理。
[0022]优选的,所述S1步骤中规则包括但不限于多语言、多维度、多等级,所述等级包括但不限于材料内存大小等级、保密程度等级、复杂程度等级。
[0023]优选的,所述S2步骤中结合网络数据检索将各类扫描工具进行数据提取与汇总。
[0024]优选的,所述S3步骤中扫描方案中的扫描信息包括但不限于数据扫描规则、数据记录的工具信息、语言信息、扫描维度。
[0025]优选的,所述自动解析与合并具体为对不同工具扫描的结果,自动的根据结果文件对其进行解析,然后并对所有工具扫描结果的解析结果进行合并。
[0026]优选的,所述质量门禁预设值是对扫描结果评估的“门禁”,即扫描结果中的某一或多个指标是否达到预先设定的值。
[0027]与现有技术相比,本专利技术的有益效果如下:
[0028]本申请通过针对不同工具、不同类别的规则以及质量门禁,将其有层次的结合起来,形成扫描方案,实现对众多规则的合理选用,提升静态代码扫描结果的准确性与合理性;
[0029]扫描方案、规则集合、规则、工具、语言之间的关联和查询流程,通过扫描方案的关联,找到规则集合,再通过规则集合与规则的关联找到对应规则,最后根据规则中的信息找到对应的语言和工具;
[0030]基于扫描方案,有序的将大一统的规则集合有序的下发到各个扫描服务的扫描流程,实现多工具同时分布扫描;
[0031]对于不同类型工具的扫描结果根据结果的特征值,进行识别、提取关键数据,并合并全部的结果数据;
[0032]本专利技术针对代码扫描过程复杂的问题,提供一套基于扫描方案的改进方法构建静态代码扫描流程、多工具和多规则选用、不同扫描结果融合这一系列过程,提升扫描的覆盖范围,实现代码扫描广度和深度的结合。
附图说明
[0033]图1为JAVA系统推荐扫描方案;
[0034]图2为SonarQube的规则情况;
[0035]图3为当前传统扫描流程;
[0036]图4为本专利技术的扫描流程。
具体实施方式
[0037]基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]本专利技术提供一种技术方案:基于扫描方案的静态代码流程分析方法,具体方法如下:
[0039]S1、构建规则集合;
[0040]S2、根据不同规则集合融合扫描方案、并设置质量门禁;
[0041]S3、结合扫描方案,实现静态代码扫描的分布扫描;
[0042]S4、利用结果文件的特征信息对多种扫描结果的自动解析与合并;
[0043]S5、通过质量门禁预设值,对扫描结果进行判定,实现扫描结果的研判。
[0044]其中,所述S1步骤中规则包括但不限于多语言、多维度、多等级,所述等级包括但不限于材料内存大小等级、保密程度等级、复杂程度等级。
[0045]其中,所述S2步骤中结合网络数据检索将各类扫描工具进行数据提取与汇总。
[0046]其中,所述S3步骤中扫描方案中的扫描信息包括但不限于数据扫描规则、数据记录的工具信息、语言信息、扫描维度。
[0047]其中,自动解析与合并具体为对不同工具扫描的结果,自动的根据结果文件对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于扫描方案的静态代码流程分析方法,其特征在于:具体方法如下:S1、构建规则集合;S2、根据不同规则集合融合扫描方案、并设置质量门禁;S3、结合扫描方案,实现静态代码扫描的分布扫描;S4、利用结果文件的特征信息对多种扫描结果的自动解析与合并;S5、通过质量门禁预设值,对扫描结果进行判定,实现扫描结果的研判。2.根据权利要求1所述的基于扫描方案的静态代码流程分析方法,其特征在于:所述S1步骤中规则包括但不限于多语言、多维度、多等级,所述等级包括但不限于材料内存大小等级、保密程度等级、复杂程度等级。3.根据权利要求1所述的基于扫描方案的静态代码流程分析方法,其特征在于:所述S2步骤中结合...

【专利技术属性】
技术研发人员:刘冬
申请(专利权)人:深圳市奥思网络科技有限公司
类型:发明
国别省市:

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

1