代码缺陷识别方法及系统技术方案

技术编号:25041338 阅读:25 留言:0更新日期:2020-07-29 05:32
本发明专利技术提供了一种代码缺陷识别方法及系统,所述方法包含:通过代码分析工具识别待分析的代码数据,获得所述代码数据的问题信息和发现位置;获取代码数据运行环境中各组件调用关系及数据流向信息,根据各组件调用关系及数据流向信息生成网状拓扑图;根据所述问题信息的发现位置和所述网状拓扑图中各组件的对应关系,建立代码缺陷视图;根据所述代码缺陷视图和所述代码数据的问题信息比较获得代码缺陷。由此,通过产生带数据流向的代码问题拓扑图,构建整体产品缺陷视图,缩减代码优化工作量;降低缺陷分析工具误报率,减少代码人工复核工作量。

【技术实现步骤摘要】
代码缺陷识别方法及系统
本专利技术涉及程序开发领域,尤指一种代码缺陷识别方法及系统。
技术介绍
在金融领域为了保障整个产品的质量与安全,对开发源代码的静态分析是安全开发过程中必不可少的一个环节。目前金融行业尤其是大中型银行,包括借记卡、贷记卡、存贷款、网上银行等众多业务产品,每个产品的代码量都在百万级以上,并且产品项目组成复杂,通过代码分析工具扫描出的结果存在误报率较高,人工复核工作量大、缺陷整体视图缺失等问题。目前针对缺陷复核的方式主要为以下几种:1、将不同产品的代码放在一个大工程下扫描,通过自定义扫描规则集将可能有关联的产品源代码通过模式匹配截获出来,但是截取的疑似问题任然需要人工进行复核,误报率较高。2、对代码扫描工具分析的结果逐一进行人工的复核,通过有经验的分析人员来判断多产品间的逻辑对应关系及数据流向,增加可能存在的遗漏缺陷,并且将分析工具误报的缺陷进行归档标记。3、在集成测试过程中通过业务安全测试进行发现,对集成在一起的整体产品线进行用户测试及业务安全测试,通过设计测试用例来发现潜在的安全问题。针对目前的三种缺陷复核方案:1本文档来自技高网...

【技术保护点】
1.一种代码缺陷识别方法,其特征在于,所述方法包含:/n通过代码分析工具识别待分析的代码数据,获得所述代码数据的问题信息和发现位置;/n获取代码数据运行环境中各组件调用关系及数据流向信息,根据各组件调用关系及数据流向信息生成网状拓扑图;/n根据所述问题信息的发现位置和所述网状拓扑图中各组件的对应关系,建立代码缺陷视图;/n根据所述代码缺陷视图和所述代码数据的问题信息比较获得代码缺陷。/n

【技术特征摘要】
1.一种代码缺陷识别方法,其特征在于,所述方法包含:
通过代码分析工具识别待分析的代码数据,获得所述代码数据的问题信息和发现位置;
获取代码数据运行环境中各组件调用关系及数据流向信息,根据各组件调用关系及数据流向信息生成网状拓扑图;
根据所述问题信息的发现位置和所述网状拓扑图中各组件的对应关系,建立代码缺陷视图;
根据所述代码缺陷视图和所述代码数据的问题信息比较获得代码缺陷。


2.根据权利要求1所述的代码缺陷识别方法,其特征在于,根据所述问题信息的发现位置和所述网状拓扑图中各组件的对应关系,建立代码缺陷视图还包含:根据所述问题信息的成因分类归并至一个或多个问题集合;根据所述问题集合的数量建立对应数量的代码缺陷视图。


3.根据权利要求2所述的代码缺陷识别方法,其特征在于,所述问题信息的成因包含命令注入、路径遍历、SQL注入、跨站脚本攻击中一个或多个的组合。


4.根据权利要求2所述的代码缺陷识别方法,其特征在于,根据所述问题集合的数量建立对应数量的代码缺陷视图包含:根据所述问题集合中各问题信息的发现位置和所述网状拓扑图,通过递归分析调用关系获得代码缺陷视图。


5.根据权利要求3所述的代码缺陷识别方法,其特征在于,通过递归分析调用关系获得代码缺陷视图包含:根据所述问题集合中各问题信息的发现位置,将各问题信息标注与所述网状拓扑图中对应的组件位置,获得代码缺陷视图。


6.根据权利要求3所述的代码缺陷识别方法,其特征在于,根据所述代码缺陷视图和所述代码数据的问题信息比较获得代码缺陷包含:根据所述代码缺陷视图分析获得误报问题信息;根据所述误报问题信息排查所述代码数据的问题信息,获得代码缺陷。


7.根据权利要求6所述的代码缺陷识别方法,其特征在于,根据所述代码缺陷视图分析获得误报问题信息包含:根据所述问题集合的成因获得预存分析规则,根据预存分析规则通过模式匹配引擎分析所述代码缺陷视图,获得误报问题信息。


8.根据权利要求1所述的代码缺陷识别方法,其特征在于,所述问题信息包含代码漏洞配...

【专利技术属性】
技术研发人员:邹为阳骁尧夏伟涂耀旭李冬晓李刚梁家伟李珊珊
申请(专利权)人:中国建设银行股份有限公司建信金融科技有限责任公司
类型:发明
国别省市:北京;11

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

1