[发明专利]一种新型反模糊测试方法及装置在审
申请号: | 202310360965.0 | 申请日: | 2023-04-06 |
公开(公告)号: | CN116383066A | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 张健毅;黎振奎;王志强;金琪超;王文鑫;吴庸 | 申请(专利权)人: | 北京电子科技学院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/30;G06F8/41 |
代理公司: | 南京晟源知识产权代理事务所(普通合伙) 32704 | 代理人: | 杨青 |
地址: | 100000*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 新型 模糊 测试 方法 装置 | ||
本发明公开了一种新型反模糊测试方法,包括如下步骤:编写模板程序,可以选择使用任意能够提供注入功能的编程语言来编写;读取待加固二进制程序,并转化为步骤S1中模板程序的相应的变量格式,并替换步骤S1中模板程序的相应变量位置;将模板程序进行编译,即可获得经过反模糊加固的二进制程序。本发明适用范围广,可以阻止所有基于插桩技术构建的模糊测试器进行模糊测试,即使可以运行其效率也将降低,并且不会有崩溃反馈,有效的阻止了攻击者对目标程序进行未授权的模糊测试,并且由于面向的目标更底层,所以相比其他类型的反模糊测试技术适用范围更广,更加有效。
技术领域
本发明属于信息安全技术领域,具体涉及一种新型反模糊测试方法及装置。
背景技术
模糊测试技术是一种软件测试技术,过去被广泛应用于软件测试环节。近年来,随着灰盒模糊测试器的流行,由于灰盒模糊测试技术不需要源代码和高效的特点,攻击者开始使用模糊测试器来寻找安全漏洞。为了防止攻击者对目标软件进行未授权的模糊测试,反模糊测试技术应运而生,反模糊测试技术的目标也从传统的黑盒模糊测试器发展到现今的面向灰盒模糊测试器,其中的技术特点相比原来的反模糊测试技术也有很大不同。
当前的先进的反模糊测试技术是使用随机化路径和ROP技术来绕过覆盖率反馈,使用HASH加密来绕过符号执行,以此来模糊测试器的覆盖率检测和符号运算模块失效,可以有效的阻止模糊测试器对目标程序进行模糊测试。如今,模糊测试器发展迅速,并且严重威胁到了软件领域的安全,安全事件层出不穷。反模糊测试的研究越来越受到研究者们的关注。
目前反模糊测试技术存在的缺点如下:
1、现有的反模糊测试技术需要对源代码进行修改:现有的针对灰盒模糊测试器的反模糊测试技术通过向源代码中插入相关反模糊代码,或者在开发过程中需要附带某些编程规则。这会对开发者带来学习成本和开发负担,对某些模块可能出现不兼容;
2、现有的反模糊测试技术在空间和时间上给程序带来的开销过大,开销小的反模糊测试技术的反模糊效果不理想,只能起到减少模糊测试器效率的作用;
3、当前反模糊测试的研究仅仅局限于覆盖率反馈和符号执行,而没有考虑更底层的技术,因此没有泛用性,会随着模糊测试技术的更新而淘汰。
发明内容
为解决现有技术存在的上述技术缺陷,本发明提供一种新型反模糊测试方法及装置,本发明立足于反模糊测试技术,可以有效的阻止攻击者使用当前主流的模糊测试器进行模糊测试,提高了攻击者的攻击成本,减少了软件在更新周期中受到攻击的威胁。
本发明采用的技术方案是:
一种新型反模糊测试方法,其特征在于,包括如下步骤:
S1,编写模板程序,可以选择使用任意能够提供注入功能的编程语言来编写;
S2,读取待加固二进制程序,并转化为步骤S1中模板程序的相应的变量格式,并替换步骤S1中模板程序的相应变量位置;
S3,将模板程序进行编译,即可获得经过反模糊加固的二进制程序。
进一步的,S1,编写模板程序,具体包括:
S11,首先预先设定一个变量,该变量为16进制的字符数组,这里字符数组的内容为待加固的原二进制程序;
S12,计算该变量长度并分配相同大小的内存空间;
S13,将该变量复制到步骤S12分配的内存空间中;
S14,加载并运行内存中的二进制程序。
进一步的,在步骤S11中,所述变量需要在下一步中被待加固的二进制程序的16进制字符所替代,并且数组格式需要匹配模板程序内存复制函数的相应变量格式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京电子科技学院,未经北京电子科技学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310360965.0/2.html,转载请声明来源钻瓜专利网。