[发明专利]一种源代码安全漏洞的检测方法及系统在审
| 申请号: | 201710448153.6 | 申请日: | 2017-06-14 |
| 公开(公告)号: | CN107169360A | 公开(公告)日: | 2017-09-15 |
| 发明(设计)人: | 司徒健辉;林广银;文革萍 | 申请(专利权)人: | 广东电力发展股份有限公司沙角A电厂 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57 |
| 代理公司: | 北京布瑞知识产权代理有限公司11505 | 代理人: | 孟潭 |
| 地址: | 52393*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 源代码 安全漏洞 检测 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种源代码安全漏洞的检测方法及系统。
背景技术
软件漏洞是当今信息系统绝大多数安全漏洞的来源。软件漏洞是软件中存在的一些缺陷,这些缺陷可以被第三方或程序利用来进行未经授权的资源访问,或改变控制权限来执行其他操作。软件漏洞轻则造成相应的经济或财产损失(如敏感信息被盗,不可用的服务),重则导致严重的灾难,尤其是发生在被人类生活和生计所依赖的关键基础设施的软件系统上(如核,生物,化学实验室,电网,水处理和分配系统,空中交通控制和交通信号系统)。
与代码审计有关的前期工作多聚焦于缓冲区溢出漏洞。D.Wagner等提出了一种用于发现C语言代码中潜在缓冲区溢出的关键安全性问题的方法。该方法将缓冲区溢出检测转化为一个整数约束问题,并使用一些简单的图论技术构建了一个整数约束求解的有效算法。最后利用安全知识设计一个可以捕捉有可能会在实际程序中出现的安全相关性漏洞的启发式。Vinod Ganapathy等提出了一种将C字符的操作建模为一种线性规划,并根据线性规划的相关文献来确定缓冲区范围的方法,来了解并消除源代码中存在的缓冲区溢出漏洞。
代码安全审查的对象是实践于应用中的源代码。这些审计的主要目的是发现安全漏洞和缺陷,然后准确地识别与修复。事实上,安全漏洞的概念被引入到软件主要是由于大多数软件及其功能无法在未知情况下保持正常运行。一般来说,攻击者有两个渠道来利用软件的缺陷:一是通过软件的输入;二是通过软件与其他应用层实例之间的接口。
几乎所有的可利用安全漏洞都可以被用于执行非预期的操作,特殊的输入、接口或环境入口会触发这些安全漏洞从而对系统造成破坏。例如,黑客总是构造一些精心设计的字符串作为应用程序的输入来使其崩溃,或改变它的控制流来做其他恶意操作(如拒绝服务攻击,SQL注入和跨站点脚本攻击)。可利用安全漏洞总是与外部输入、接口或其他环境入口相关。
但是,现有技术中检测攻击者无法通过输入操作、接口或者其他环境条件进入的不可利用性安全流量,从而可以减少源代码审计分析的开销,尤其是对于大型应用程序。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种源代码安全漏洞的检测方法及系统,所描述的方法可以大大降低误报率,并且提供了一种有效的、仅通过检测可利用的安全流量对源码进行自动化安全审计的解决方案。这种方法避免了检测攻击者无法通过输入操作、接口或者其他环境条件进入的不可利用性安全流量,从而可以减少源代码审计分析的开销,尤其是对于大型应用程序。基于参考树的FSR信息,该方法也可以对修改有漏洞的源码提供精确的指导。
为实现上述目的,本发明提供了一种源代码安全漏洞的检测方法,其特征在于,所述方法包括:
检测和定位源代码中所有的操作入口;
分析每个操作入口,建立参照树,记录安全信息,作为安全属性;
遍历参考树,利用安全属性来检查是否有可利用安全漏洞的存在;
根据检测到的安全漏洞来产生告警提示和修正建议。
上述的一种源代码安全漏洞的检测方法,其特征在于:所述操作入口包括但不限于用户输入、网络输入项、I/O输入项。
上述的一种源代码安全漏洞的检测方法,其特征在于:所述源代码包括C、C++、C#、JAVA和Perl的主流开发语言。
上述的一种源代码安全漏洞的检测方法,其特征在于:所述安全属性为程式化安全规则FSR,包括但不限于正则表达式、ACL。
上述的一种源代码安全漏洞的检测方法,其特征在于:所述利用安全属性来检查是否有可利用安全漏洞的存在包括:检查参考树的父亲节点的FSR和孩子节点的FSR之间是否存在矛盾。
一种源代码安全漏洞的检测系统,其特征在于,所述系统包括:
操作入口定位器,用于检测和定位源代码中所有的操作入口;
解析引擎模块,用于分析每个操作入口建立参照树;
漏洞检测器,用于遍历参考树,利用安全属性来检查是否有可利用安全漏洞的存在;
告警修复生成器,用于根据检测到的安全漏洞来产生告警提示和修正建议。
上述的一种源代码安全漏洞的检测系统,其特征在于:所述操作入口定位器搜索外部输入的API。
上述的一种源代码安全漏洞的检测系统,其特征在于:所述解析引擎模块在句法分析中自动分配一些FSR规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东电力发展股份有限公司沙角A电厂,未经广东电力发展股份有限公司沙角A电厂许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710448153.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种酸加精油复合制剂及其制备方法
- 下一篇:一种观赏鱼饲料的制备方法





