本发明专利技术公开了一种基于代码动态分析的代码安全扫描系统及方法,属于网络安全技术领域。本发明专利技术系统,包括:代码扫描引擎,所述代码扫描引擎定义安全漏洞类型的特征和扫描规则,读取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级后生成扫描报告文件;数据存储层,所述数据存储层存储目标代码、目标中间代码和扫描报告文件。本发明专利技术提供高效率低误报的代码安全扫描能力,为用户构建高效安全的开发体系。
A code security scanning system and method based on code dynamic analysis
【技术实现步骤摘要】
一种基于代码动态分析的代码安全扫描系统及方法
本专利技术涉及网络安全
,并且更具体地,涉及一种基于代码动态分析的代码安全扫描系统及方法。
技术介绍
随着时代的发展,信息技术深远的改变着人们的工作和生活。但是在给人们带来便利的同时,信息技术也带来了新的犯罪手段。信息系统中的黑客攻击比传统犯罪行为更加隐蔽,更加难以预防。在无声无息中,人们的信息资产甚至是物理安全都有可能会受到损害。防御性的设备,包括防火墙、IDS、IPS等的引入,一定程度上提高了系统的安全水准,但是这些设备并不能有效地预防应用级别的攻击,尤其是不能有效防御系统中未知漏洞攻击。目前,公司信息系统规模庞大,版本迭代速度快,开发和维护工作繁重,同时更要兼顾信息安全。信息系统研发人员普遍缺乏安全技术知识和安全意识,不愿意或者不能够编写出安全的程序代码。公司对信息安全工作成本高,但收益和成效难以量化。最重要的是,公司缺乏能够真正高效、准确、深入的发掘代码层面安全漏洞的自动化解决方案。第一代代码扫描技术,一般用于开源的代码扫描工具。采用的主要是关键词和模式匹配技术,只适用于检测最简单、明显的安全漏洞,实用价值十分有限。第二代代码扫描技术,基于形式化的逻辑和数学理论进行静态分析代码分析,是目前业界的主流。它比第一代技术多了对于程序代码全局逻辑的理解能力,但是静态模型的精确度较低,误报率高,需要具备安全知识的专业人员花费大量时间进行复查和纠错,工作效率低。随着公司对电力信息系统安全要求不断提高,当前代码安全检测装置在实际工作中存在以下几点弊端:1.无法自主可控;2.不符合行业特性;3.成本费用较高。
技术实现思路
针对上述问题,本专利技术提供了一种基于代码动态分析的代码安全扫描系统,包括:代码扫描引擎,所述代码扫描引擎定义安全漏洞类型的特征和扫描规则,读取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级后生成扫描报告文件;数据存储层,所述数据存储层存储目标代码、目标中间代码和扫描报告文件。可选的,代码扫描引擎,包括:虚拟中间语言代码翻译器,取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码;安全扫描指导规则,定义安全漏洞类型的特征和扫描规则;代码分析虚拟执行引擎,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级;扫描报告生成器,对整理、分类和安全威胁等级定级安全漏洞生成扫描报告文件。可选的,系统还包括:应用层,所述应用层为可操作界面,对所述系统进行操作控制。可选的,预处理,包括:对目标代码指令进行简化,剔除与安全无关的信息。本专利技术还提供了一种基于代码动态分析的代码安全扫描方法,包括:代码扫描引擎定义安全漏洞类型的特征和扫描规则;读取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码;根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级后生成扫描报告文件。可选的,方法还包括:对目标代码、目标中间代码和扫描报告文件进行存储。可选的,预处理,包括:对目标代码指令进行简化,剔除与安全无关的信息。本专利技术成果凭借对代码逻辑的有效理解,提供高效率低误报的代码安全扫描能力,为用户构建高效安全的开发体系,在大大降低企业信息安全资源投入的前提下,全面提高IT系统的整体安全水准。附图说明图1为本专利技术一种基于代码动态分析的代码安全扫描系统结构图;图2为本专利技术一种基于代码动态分析的代码安全扫描系统代码动态分析的代码动态分析逻辑图;图3为本专利技术一种基于代码动态分析的代码安全扫描系统代码动态分析的代码动态分析流程图;图4为本专利技术一种基于代码动态分析的代码安全扫描方法流程图。具体实施方式现在参考附图介绍本专利技术的示例性实施方式,然而,本专利技术可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本专利技术,并且向所属
的技术人员充分传达本专利技术的范围。对于表示在附图中的示例性实施方式中的术语并不是对本专利技术的限定。在附图中,相同的单元/元件使用相同的附图标记。除非另有说明,此处使用的术语(包括科技术语)对所属
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。本专利技术提供了一种基于代码动态分析的代码安全扫描系统,如图1所示,包括:代码扫描引擎,所述代码扫描引擎定义安全漏洞类型的特征和扫描规则,读取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级后生成扫描报告文件;数据存储层,所述数据存储层存储目标代码、目标中间代码和扫描报告文件。代码扫描引擎,包括:虚拟中间语言代码翻译器,取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码;安全扫描指导规则,定义安全漏洞类型的特征和扫描规则;代码分析虚拟执行引擎,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级;扫描报告生成器,对整理、分类和安全威胁等级定级安全漏洞生成扫描报告文件。应用层,所述应用层为可操作界面,对所述系统进行操作控制。预处理,包括:对目标代码指令进行简化,剔除与安全无关的信息。应用层:是用户使用代码动态分析的代码安全分析工具的前端界面,提供以下功能:1)基础数据管理功能,如用户/账号管理、产品管理、权限管理等功能,让不同权限的用户看到适合自己的视图,既能满足安全工作需要,同时提供完善的权限控制,防止敏感信息暴露。2)代码安全扫描任务管理,提供即时扫描和周期扫描两种类型扫描任务,满足不同的场景需求。3)代码安全扫描报告管理,提供概要报告查看、详细报告查看、报告下载等功能,并提供与源代码关联的交互式安全漏洞查看功能,以及安全漏洞处理状态跟踪功能。4)代码扫描引擎监控功能,可以查看代码扫描引擎工作状态,如正在扫描的任务,扫描时长,内存等资源占用情况,为管理员了解系统运行状态及负载提供必要的信息。主要漏洞类型如下表:代码动态分析的代码安全分析工具的核心是代码分析引擎,代码动态分析的代码安全分析工具正是依本文档来自技高网...
【技术保护点】
1.一种基于代码动态分析的代码安全扫描系统,所述系统包括:/n代码扫描引擎,所述代码扫描引擎定义安全漏洞类型的特征和扫描规则,读取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级后生成扫描报告文件;/n数据存储层,所述数据存储层存储目标代码、目标中间代码和扫描报告文件。/n
【技术特征摘要】
1.一种基于代码动态分析的代码安全扫描系统,所述系统包括:
代码扫描引擎,所述代码扫描引擎定义安全漏洞类型的特征和扫描规则,读取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级后生成扫描报告文件;
数据存储层,所述数据存储层存储目标代码、目标中间代码和扫描报告文件。
2.根据权利要求1所述的系统,所述代码扫描引擎,包括:
虚拟中间语言代码翻译器,取目标代码,并将目标代码翻译为中间语言代码并对中间语言代码进行预处理,生成目标中间语言代码;
安全扫描指导规则,定义安全漏洞类型的特征和扫描规则;
代码分析虚拟执行引擎,根据安全漏洞类型的特征和扫描规则对目标中间语言代码进行扫描,获取安全漏洞,对安全漏洞进行整理、分类和安全威胁等级定级;
扫描报告生成器,对整理、分类和安全威胁等...
【专利技术属性】
技术研发人员:李凌,方帅,宋小芹,王杰,左海峰,朱宏杰,贾林,靳鑫,严敏辉,单松玲,
申请(专利权)人:中国电力科学研究院有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。