[发明专利]一种二进制软件协议探测载荷的挖掘方法及装置有效
申请号: | 202110972911.0 | 申请日: | 2021-08-24 |
公开(公告)号: | CN113746819B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 李志;丁子恒;徐顺超;朱红松;孙利民 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | H04L69/06 | 分类号: | H04L69/06;H04L69/22 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王宇杨 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 软件 协议 探测 载荷 挖掘 方法 装置 | ||
本发明提供一种二进制软件协议探测载荷的挖掘方法及装置,包括:将常规种子集中的常规种子经单字节变异后生成的变异种子和常规种子分别在目标程序上运行,根据运行差异推测常规种子的污点信息;将常规种子保存在待变异种子集中,当不存在常规种子时,选择待变异种子集中的常规种子进行变异生成常规变异种子后在目标程序上运行,根据运行结果相应处理;重复直至达到停止条件,将在目标程序上运行后得到返回报文的种子作为探测载荷。用以解决现有技术中进行探测载荷挖掘时需要依赖程序源代码和平台的缺陷,实现在二进制程序中通过随机二进制序列构成的种子得到探测载荷,避免了对平台的依赖,以及报文格式等先验信息的需要,减少了人工操作。
技术领域
本发明涉及软件协议指纹提取技术领域,尤其涉及一种二进制软件协议探测载荷的挖掘方法及装置。
背景技术
软件协议指纹提取是软件协议指纹发现与识别的前提,通过软件协议指纹可以发现网络空间中存在的软件,识别出软件信息是否存在安全漏洞,在软件的安全防护领域有着重要意义。由于基于TCP/IP探测包的识别只能作用于操作系统级别,无法满足细粒度的软件信息识别。研究人员通常采用差异性更大的应用层协议进行软件的识别。通常来说,就是根据不同软件所采用的应用层协议或者私有协议,提取出特定的报文信息,从而对软件信息进行识别。通常这些软件是闭源程序,因此专有协议依赖于逆向分析,报文格式提取等大量人工操作。目前针对专有协议格式分析不足,专有协议指纹提取的工作较少,针对软件的专有协议指纹提取是一个亟需解决的问题。
在现有的协议指纹的提取技术中,Ztag采用的是在开源社区通过众包(Crowdsourcing)的方式构建部分专有协议的指纹库,而后由志愿者基于自身对专有协议的了解分别编写识别的脚本,而采用构建专有协议指纹库的方法需要大量志愿者,且志愿者还需对私有协议有专业的了解,因此ZTag所涵盖的指纹类型有限且需要大量人工操作。Peach的主要流程是首先获取待测试协议的正常数据包,设置协议格式,然后利用各种变异方法替换数据包中的部分内容生成测试用例,接着向目标程序发送测试用例,最后监测目标程序的运行与反馈。可见,该工具主要针对协议的漏洞挖掘而不是协议报文的提取,且需要协议报文的先验格式,无法用于协议报文指纹的挖掘。动态污点分析是一种分析污点数据对程序运行影响的技术。在污点分析技术中,通常将外部输入数据设置为污点数据,并在程序运行时,实时监控与跟踪数据在内存中的传播、使用等操作,从而判断污点数据对程序关键操作的影响。传统动态污点分析对平台的依赖性较高,需要人工编写大量污点传播规则,因此不具备移植性,特定污点分析工具只能用于特定的平台。此外,传统动态污点分析技术存在着不精确的问题,由于忽略隐式传播流,导致污点不足,影响分析结果。而轻量级污点分析方法是通过对输入数据的每一个字节进行字节级突变生成一组测试用例,然后,将生成的测试用例输入至目标程序中,并监视程序在路径约束中变量的数值,最后检查每个路径约束中的值的变化情况,如果某变量发生变化,则推断此变量受到污染,其值与输入的变化字节有关。然而,轻量级污点分析方法在实现过程中需要目标程序的源代码,其原理基于静态代码检测,而不是动态二进制检测。所以,这种污点分析方法无法针对二进制程序进行分析。
发明内容
本发明提供一种二进制软件协议探测载荷的挖掘方法及装置,用以解决现有技术中进行探测载荷挖掘时,需要依赖程序源代码和平台的缺陷,实现在二进制程序中通过随机二进制序列构成的种子得到探测载荷,避免了对平台的依赖,并避免了报文格式等先验信息的需要,减少了大量的人工操作。
本发明提供一种二进制软件协议探测载荷的挖掘方法,包括:
将由二进制字符构成的常规种子保存在常规种子集中;
将所述常规种子集中的常规种子经单字节变异后生成的变异种子和相应的所述常规种子分别在目标程序上运行,并根据所述变异种子和常规种子在目标程序上的运行差异,推测所述常规种子的污点信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110972911.0/2.html,转载请声明来源钻瓜专利网。