[发明专利]一种基于语义冲突的硬编码后门检测方法在审
| 申请号: | 202111606858.9 | 申请日: | 2021-12-27 |
| 公开(公告)号: | CN114490328A | 公开(公告)日: | 2022-05-13 |
| 发明(设计)人: | 刘胜利;胡安祥;陆炫廷;何杰;蔡瑞杰;杨启超;尹小康;朱肖雅 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 郑州明华专利代理事务所(普通合伙) 41162 | 代理人: | 王明朗 |
| 地址: | 450000 河*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 语义 冲突 编码 后门 检测 方法 | ||
1.一种基于语义冲突的硬编码后门检测方法,其特征在于:包括以下步骤:
步骤一、数据预处理:从网络中收集设备固件,使用固件分析工具解包固件,提取文件系统的二进制文件;
步骤二、定位可疑函数:对二进制文件进行逆向分析,检测文件中是否存在fcheckStr函数;
如果存在,则找到交叉引用fcheckStr函数的地址,根据地址找到调用fcheckStr函数的函数,称为可疑函数;
如果不存在,则检测下个文件;
步骤三、构建有向拓扑图:根据步骤二定位的可疑函数CFG图,将block视为顶点node,块与块之间的跳转关系视为有向边edge,转换构建有向拓扑图G,
G={nodes,edges}
node={block.startEA,flag}
edge={nodecurr,nodenext,str}
对于没有调用fcheckStr函数的block,顶点node的flag等于0;
对于调用fcheckStr函数的block,顶点node的flag等于1;
在nodecurr中,结合函数调用使用的寄存器找到校验字符串str,通过跳转指令映射str和nodenext,生成edge;
步骤四、对步骤三中有向拓扑图G进行深度优先遍历查找路径和依赖字符串;
步骤五、对相同起点的路径集合进行筛选,只保留最后一个分支节点验证通过fcheckStr函数的路径作为成功的路径;
将成功的路径聚类为组,检测同组中的字符串是否有语义冲突,若有,保存路径对和相应的字符串;
若没有,则不保留。
2.根据权利要求1所述的基于语义冲突的硬编码后门检测方法,其特征在于:步骤一中使用binwalk固件解包工具解包固件,提取文件系统的二进制文件。
3.根据权利要求1所述的基于语义冲突的硬编码后门检测方法,其特征在于:步骤二中使用IDA Pro反汇编工具对二进制文件进行逆向分析。
4.根据权利要求1所述的基于语义冲突的硬编码后门检测方法,其特征在于:步骤四中对有向图G进行深度优先遍历查找相同起点的路径集合Paths和依赖字符串,具体方法为:标记调用fcheckStr函数的基本块,顶点node,依次遍历有向图中所有顶点,只对有标记的顶点进行深度优先遍历算法查找分支路径;当遍历过程中遇到的顶点是标记顶点,则取消此标记。
5.根据权利要求1所述的基于语义冲突的硬编码后门检测方法,其特征在于:步骤五中将成功的路径聚类为组,检测同组字符串是否存在语义冲突的判断标准为:
若两条路径的依赖字符串的莱温斯坦比f=0.75,则这两条路径没有冲突;
若两条路径的依赖字符串的莱温斯坦比f0.75,则这两条路径有冲突。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111606858.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种室内壁挂系统
- 下一篇:集自调节与避险求生的多功能矿山人员安全运输车





