[发明专利]一种跨语言的未知可执行程序二进制漏洞分析方法在审
| 申请号: | 202210578652.8 | 申请日: | 2022-05-26 |
| 公开(公告)号: | CN114969755A | 公开(公告)日: | 2022-08-30 |
| 发明(设计)人: | 陈自刚;杜欣怡;徐洪胜;任宇帆;周悦宁;王振 | 申请(专利权)人: | 重庆邮电大学 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/53;G06F8/41;G06F16/35;G06N3/04;G06N3/08 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 400065*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 语言 未知 可执行 程序 二进制 漏洞 分析 方法 | ||
本发明涉及一种跨语言的未知可执行程序二进制漏洞分析方法,属于计算机安全领域,包括对已知漏洞样本进行动静态分析结合,基于机器学习构建不同语言对应的漏洞特征库,进而对比确定未知程序的特征以及编写语言,未知程序可分为远程未知二进制可执行程序(不可静态分析),以及本地未知二进制程序,再利用特定语言对应的样本数据对未知程序进行特定类型的漏洞测试,以提高漏洞挖掘的效率。
技术领域
本发明属于计算机安全领域,涉及一种跨语言的未知可执行程序二进制漏洞分析方法。
背景技术
计算机高级语言编译为可执行文件后,如果对可执行程序进行加壳或代码混淆,很难通过一般的方式判断其语言种类,很大程度上使基于反编译器的静态分析难度增大。
同时当分析样本为远程的服务器上的可执行文件时,由于无法获取目标程序的二进制文件,导致对程序进行静态分析可能性几乎为零。
因此,我们提出一种跨语言的针对未知可执行程序的二进制漏洞分析方法,主要对未知可执行程序进行模糊测试,并与基于机器学习的动静态分析结合构建的不同语言对应的漏洞特征库对比,确定未知程序的特征以及编写语言,再利用特定语言对应的样本数据对未知程序进行特定类型的漏洞测试,以提高漏洞挖掘的效率。
由于需要提取不同语言特定漏洞的特征,我们分析了C语言以及Java语言等常见语言的多发漏洞,归纳总结出其内在特征,并且通过动静结合的方式将特征进行提取。
如C语言常见漏洞--缓冲区溢出:C语言缺少对数组下标越界的检查,当计算机向缓冲区填充数据时超过了缓冲区的容量,就会占用相邻的存储空间,有时会覆盖其他存储单元的内容。常见错误包括但不限于以下几种:
在数组使用中,经常会出现下标错误导致‘多1’或者‘少1’的一字节溢出问题。
在C语言中,字符串是以‘\0’来结束的,在这种情况下容易造成缓冲区溢出。
库函数中还有一些涉及字符串操作的函数等容易造成缓冲区溢出。该类漏洞是很典型的控制流相关的,所以可以采用静态分析中的流敏感语义分析方法进行检测。
C语言常见漏洞--指针的非法使用:C语言允许对内存直接操作,在提高了工作效率的同时,也大大增加了风险。因此指针使用稍有不慎,就会导致程序出错乃至崩溃。常见错误包括但不限于以下几种:
若C语言中,指针在没有对其初始化之前就开始引用,那么它的指向是随机的,容易出现引用错误,导致程序崩溃。
使用已释放的指针。在使用free()释放动态申请的内存空间时,释放掉的只是指针指向的一片内存空间,而并没有释放其对应的指针。此时指针的地址没有改变,指向的是一片不合法的内存空间。
在一个函数体内,使用malloc()动态申请内存,在函数结束调用时,有可能忘记用free()释放掉内存。这会导致内存空间一直处于占用状态,从而导致其他函数无法使用。随着程序不断运行,内存空间越来越少,直至系统宕机。在动态申请分配内存时,malloc()与free()必须成对出现,否则将发生内存泄漏。
如Java易发漏洞介绍--反序列化漏洞。Java提供一种对象序列化的机制,一个对象可以被表示为一个字节序列,来序列化包括对象的数据,类型信息等,以便保存在内存,文件,数据库中。
Java序列化和反序列化本身不存在问题,但是如果Java对攻击者输入,即不可信或恶意构造的数据做了反序列化处理,那么就可能产生非预期的对象,有概率导致任意代码执行。
本发明进行特征提取主要运用到的技术如下:
静态分析。通过反汇编技术,对程序的静态特征进行分析,包括程序的函数调用,数据流控制,代码语义等信息,从而获取程序的静态特征,继而通过模式匹配,挖掘程序漏洞。
主要的匹配方式如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210578652.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种碳纤维缠绕Ⅲ型储氢气瓶缺陷检测方法
- 下一篇:一种煤矿机械手扫描观测系统





