[发明专利]单次多漏洞代码检测方法及系统在审
申请号: | 202111673574.1 | 申请日: | 2021-12-31 |
公开(公告)号: | CN114282226A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 高旺;李卷孺;谷大武 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单次多 漏洞 代码 检测 方法 系统 | ||
一种单次多漏洞代码检测方法及系统,通过LLVM编译器将待检测代码转化为LLVM中间语言后,进行类型敏感的指针分析,进而构建整个程序代码的程序调用图;然后根据预先标记的函数构建整个程序代码内存对象和全局常量的值流图,通过将内存泄漏、指针双重释放及释放后使用、常量敏感数据进行抽象建模表示,通过值流图的遍历以及代码安全问题模式匹配的方式对存在安全漏洞的代码点进行标记;最后通过对不同代码漏洞存在的误报模式进行建模,将收集的漏洞代码点进行误报过滤,并将剩余的漏洞代码点输出,得到最终的代码安全漏洞报告。本发明具有良好的扩展性且支持更多类型的代码漏洞检测的同时,极大地保障用户代码安全性并降低人力成本。
技术领域
本发明涉及的是一种信息安全领域的技术,具体是一种单次多漏洞代码检测方法及系统。
背景技术
代码问题层出不穷,从底层的操作系统到日常生活中广泛使用的各种智能终端,不安全代码导致的漏洞问题会使用户受到恶意攻击者的威胁。内存相关的代码安全问题会导致用户数据泄漏、拒绝服务攻击甚至远程代码执行;密码学相关的漏洞也会导致用户数据的机密性、完整性以及可用性遭到破坏。上述问题的成因是编程人员的疏忽或者对相关安全知识的缺失,进而导致编写代码中出现能被恶意攻击者利用的代码片段。现有的漏洞检测工具的准确率和效率一直是检测工具开发面临的难题。具体来说,自动化漏洞检测工具所报告的漏洞存在误报的问题,以及当检测对象的代码量过大时检测工具无法对其完成检测。现有的内存检测技术仅针对特定漏洞模式进行检测,无法很好地扩展到其他漏洞模式且常规的指针分析方法,对于函数指针的指向会存在误报。
发明内容
本发明针对现有技术存在的上述不足,提出一种单次多漏洞代码检测方法及系统,针对内存泄漏、指针双重释放与释放后使用以及常量敏感数据等问题进行快速检测,对实际生产环境代码进行有效分析评估,具有良好的扩展性且支持更多类型的代码漏洞检测的同时,极大地保障用户代码安全性并降低人力成本。
本发明是通过以下技术方案实现的:
本发明涉及一种单次多漏洞代码检测方法,通过LLVM编译器将待检测代码转化为LLVM中间语言后,进行类型敏感的指针分析,进而构建整个程序代码的程序调用图;然后根据预先标记的函数构建整个程序代码内存对象和全局常量的值流图,通过将内存泄漏、指针双重释放及释放后使用、常量敏感数据进行抽象建模表示,通过值流图的遍历以及代码安全问题模式匹配的方式对存在安全漏洞的代码点进行标记;最后通过对不同代码漏洞存在的误报模式进行建模,将收集的漏洞代码点进行误报过滤,并将剩余的漏洞代码点输出,得到最终的代码安全漏洞报告。
所述的待检测代码,其经预先手工标记出代码中所使用的内存操作函数和密码学相关函数,
所述的内存操作函数是指:类似malloc的内存申请函数以及开发人员自行实现或封装的内存申请函数;类似free的内存释放函数以及开发人员自行实现或者封装的内存释放函数。
所述的密码学操作函数是指:类似OpenSSL密码库中AES_set_encrypt_key的密钥初始化函数以及其中密钥所处的参数位置。
所述的类型敏感的指针分析是指:针对参数中存在结构体的函数指针,本实施例所进行的指针分析会记录对应的结构体类型信息,并用此信息优化指针分析的结果。具体来说,本实施例所进行的函数指针分析,会将参数个数不同或者结构体参数类型不符的结果过滤,从而提高指针分析的准确率。
所述的函数调用图是指:记录不同函数与函数内所调用函数关系的有向图,由调用者指向被调用者。
所述的值流图,通过以下方式构建得到:
①收集内存对象和全局常量:遍历代码中所有内存申请函数的调用点,并将其返回值所处变量标记为内存对象;遍历代码的全局变量并判断其是否存在初始值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111673574.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电动阀及其应用
- 下一篇:一种脉冲多普勒激光雷达测速测距外标定装置及方法