[发明专利]软件安全漏洞的发掘方法及系统、存储介质和计算机设备有效
申请号: | 201810565226.4 | 申请日: | 2018-06-04 |
公开(公告)号: | CN110197072B | 公开(公告)日: | 2023-03-21 |
发明(设计)人: | 廖崇粮 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36 |
代理公司: | 北京励诚知识产权代理有限公司 11647 | 代理人: | 贾玉姣 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 安全漏洞 发掘 方法 系统 存储 介质 计算机 设备 | ||
1.一种软件安全漏洞的发掘方法,其特征在于,所述发掘方法包括:
将待分析软件的程序代码转换成用中间语言描述的程序代码包;
根据所述程序代码包构建控制流图;
识别所述程序代码包中的当前函数名;
根据所述当前函数名确定所述程序代码包中的污点源函数,所述污点源函数用于接收外部数据,所述外部数据为污点源,具体包括:根据所述当前函数名判断对应的函数是否为输入函数,所述输入函数包括文件读入函数、网络数据读入函数和命令行输入函数;在对应的函数为输入函数时确定函数为污点源函数;
根据所述当前函数名和安全攸关函数库确定所述程序代码包中的安全攸关函数,所述安全攸关函数库包括对软件安全造成严重影响的预定安全攸关函数,所述安全攸关函数库包括预设安全攸关函数的名称,具体包括:根据所述当前函数名和所述预设安全攸关函数的名称确定对应的函数是否为安全攸关函数,所述安全攸关函数包括字符串操作函数、缓冲区操作函数、格式化字符串函数和命令执行函数中的至少一种;
根据所述控制流图确定所述程序代码包中与所述污点源函数和/或所述安全攸关函数相关的语句以作为待分析代码段并采用程序切片的方式获得所述待分析代码段,包括:切除与所述污点源函数无关的语句时,通过所述控制流图的流向判断所述污点源函数的数据是否流向对应的第一语句,若是,则将所述第一语句确定为与污点源函数相关的语句,若否,则将所述第一语句确定为与所述污点源函数无关的语句并切除;切除与所述安全攸关函数无关的语句时,通过所述控制流图的回溯判断所述安全攸关函数的数据是否来自对应的第二语句,若是,则将所述第二语句确定为与安全攸关函数相关的语句,若否,则将所述第二语句确定为与所述安全攸关函数无关的语句并切除;
在所述待分析代码段上进行符号执行和污点分析;和
在所述污点源传播至所述安全攸关函数时,产生所述安全攸关函数的告警信息以作为所述软件安全漏洞的告警信息。
2.根据权利要求1所述的发掘方法,其特征在于,所述发掘方法还包括:
识别所述程序代码包中的循环程序;
所述在所述待分析代码段上进行符号执行和污点分析包括:
判断所述待分析代码段是否包括所述循环程序;
在所述待分析代码段包括所述循环程序时判断所述循环程序的循环次数是否超过预设循环次数;和
在所述循环程序的循环次数超过所述预设循环次数时,在所述循环程序上进行所述预设循环次数的所述符号执行和所述污点分析后跳出所述循环程序。
3.根据权利要求2所述的发掘方法,其特征在于,所述识别所述程序代码包中的循环程序包括:
处理所述控制流图以判断所述控制流图中是否存在后向边;和
在所述控制流图中存在所述后向边时,根据所述后向边确定所述循环程序。
4.根据权利要求1所述的发掘方法,其特征在于,所述发掘方法还包括:
识别所述程序代码包中的递归程序;
所述在所述待分析代码段上进行符号执行和污点分析包括:
判断所述待分析代码段是否包括所述递归程序;
在所述待分析代码段包括所述递归程序时判断所述递归程序的递归次数是否超过预设递归次数;和
在所述递归程序的递归次数超过所述预设递归次数时,在所述递归程序上进行所述预设递归次数的所述符号执行和所述污点分析后跳出所述递归程序。
5.根据权利要求4所述的发掘方法,其特征在于,所述识别所述程序代码包中的递归程序包括:
处理所述控制流图以及所述当前函数名以判断是否存在函数被同名函数调用;和
在存在函数被同名函数调用时确定所述递归程序。
6.根据权利要求1所述的发掘方法,其特征在于,所述发掘方法包括:
根据所述程序代码包的外部函数构建外部函数模型;
所述在所述待分析代码段上进行符号执行和污点分析包括:
在所述待分析代码段包括所述外部函数时,根据所述外部函数模型进行所述符号执行和所述污点分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810565226.4/1.html,转载请声明来源钻瓜专利网。