[发明专利]基于二进制熵的模糊测试加解密函数定位方法有效
申请号: | 201710331195.1 | 申请日: | 2017-05-11 |
公开(公告)号: | CN107085687B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 罗森林;喻露;潘丽敏;尚海;丁庸 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 二进制 模糊 测试 解密 函数 定位 方法 | ||
1.基于二进制熵的加解密函数定位方法,其特征在于所述方法包括如下步骤:
步骤1,动态插桩,依靠运算指令特征,寻找基本块并定位,在连续内存区域取出关键内存信息;
步骤2,对关键内存信息进行哈希运算检测、块密码分析、流密码分析;
步骤2.1,对关键内存信息进行哈希运算检测,设置判断某路径的各基本块的汇编指令比例,即算数指令在基本块中的占比的阈值为55%,初步确定哈希计算位置后对此处进行反向追踪寄存器,通过变异输入数据集Input,检测输出集Output的变化,若寄存器间是低输入依赖,即修改输入集数据的任意一个比特,输出数据变化的比特比例小于50%,则此基本块为哈希计算;
步骤2.2,对关键内存信息进行块密码分析,修改输入数据集Input中任意一位比特位,观测Output数据集中是否存在以字节为单位的某个子集全部被修改且大小不定,排除哈希运算后若存在则判定此基本块为块密码,若不是则进行流密码分析;
步骤2.3,对关键内存信息进行流密码分析,通过对输入数据集Input进行依次变异,检测输出集Output的变化,二者间是否存在弱相关关系,若存在则判定此基本块为流密码;
步骤3,对步骤2中的结果进行二进制熵分析,输出加解密函数判决;
步骤3.1,使用同一路径下多次动态跟踪的方法,获得较大样本,统计函数执行路径信息,调出路径相同的几次执行的输入数据,取其平均数为标准,以字节为单位统计每个字符的出现频率pi并计算输入数据的平均熵
步骤3.2,根据块密码、流密码分析得到的输出集Output,并计算输出数据的平均熵
步骤3.3,定义输出熵值和输入熵值的比值为Rio,输出熵值和极限熵Hlimit之间的比值为Rol,对Rio和Rol作联合判决,当Rio大于加密阈值THe,同时小于混乱度阈值THc时,可以判定步骤1中取出的关键内存信息是做加解密操作,此过程的相关计算公式如下:
二进制熵的计算公式为:
其中,K为1,m为输入数据字符种类数,本方法中取m为255,pi是某元素出现的概率,log是以2为底的对数;
Rio的计算公式为:
Rol的计算公式为:
其中,nii表示输入集中第i种字符的个数;noi表示输出集中第i种字符的个数;N表示输入集的字节数;u和v表示内存中输出集的取值区间;c表示输出集的总长度;Hlimit表示一个字节下的极限熵。
2.根据权利要求1所述的基于二进制熵的加解密函数定位方法,其特征在于:步骤2.1是通过判断某路径的各基本块的汇编指令比例来初步确定哈希计算的位置。
3.根据权利要求1所述的基于二进制熵的加解密函数定位方法,其特征在于:步骤2.2及步骤2.3是在排除哈希运算后,通过修改输入数据,观测输出数据的变化以及是否存在弱相互关系来判定基本块是块密码还是流密码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710331195.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种历史教学用挂图板
- 下一篇:一种幼儿体操辅助教学系统