[发明专利]一种基于深度学习的无符号二进制间接控制流识别方法有效
申请号: | 202110363702.6 | 申请日: | 2021-04-02 |
公开(公告)号: | CN113204764B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 王鹃;王蕴茹;杨梦达;王杰;钟璟 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/41;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 许莲英 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 学习 符号 二进制 间接 控制 识别 方法 | ||
本发明涉及一种基于深度学习的无符号二进制间接控制流识别方法,通过深度学习识别二进制中间接跳转指令的目标基本块。本发明基于二进制代码文件中的指令、基本块和函数代码块,构建间接调用分支和函数序列,以构建间接跳转及间接调用的三元组样本,生成间接跳转训练集、间接调用训练集;分别构建神经网络间接跳转和间接调用目标识别分类模型,分别构建神经网络间接跳转和间接调用目标识别分类损失函数模型;将待检测的二进制文件通过预处理,针对间接跳转和间接调用指令生成间接跳转和间接调用样本,通过神经网络间接跳转和间接调用目标识别分类损失函数模型进行目标识别,通过分类结果复原间接控制流目标。本发明提高了识别的正确率。
技术领域
本发明属于软件分析技术领域,特别是涉及一种基于深度学习的无符号二进制间接控制流识别方法。
背景技术
从无符号信息的二进制文件中重构控制流图是软件分析中许多问题的先决基础,如反汇编中的指令识别和函数识别。除此之外,二进制层面的控制流图重构在控制流完整性研究、恶意软件分类和溯源等问题上也具有重要作用。通常,在二进制中静态重构控制流图是一个递归的过程,然而,该过程往往受阻于间接控制流。对于直接控制流而言,跳转/调用指令的操作数即为控制流中指令的目标地址;而对于间接分支而言,对应指令的操作数往往是保存了目标地址的寄存器或内存单元,故而间接控制流的目标难以静态确定。鉴于动态分析方法覆盖率低、处理效率低等弊端,从无符号信息的二进制中静态识别间接控制流成为亟需解决的难题。
已有的二进制分析工具通常采用不同的技术手段处理间接跳转和间接调用。间接跳转主要包括跳转表(由switch-case和if-else编译得到)。现有的跳转表静态处理方法可划分为a)基于反向切片和模式匹配的启发式方法,以及b)数据流分析或值集分析(VSA)等深度分析技术。启发式方法通过搜寻特定的模式以确定跳转表的基地址和索引的边界,从而确定跳转表的目标基本块。但是,基于模式匹配的方法在不同的编译器和体系架构下需人为设定不同的模式,故而缺乏可扩展性。深度分析技术可以保留一定的语义信息以提高识别精度,但是该类方法的计算成本较高,故而难以应用于大型的应用程序。对于间接调用而言,目前仍缺乏有效的二进制层面的静态分析手段。间接调用主要由函数指针和虚函数编译得到,该类函数用于实现程序的动态行为。主流分析工具通常使用常量传播技术以解析间接调用的目标。即,当一个常量流向一个间接调用指令时,该常量则被视作对应间接调用指令的一个目标。然而,通过该方法只能识别出少量间接调用的目标函数。
鉴于此,本发明拟通过构建基于语义的二进制间接控制流识别方案,从而解决无符号信息的二进制中间接控制流指令的目标难以静态获取的问题。本发明利用间接跳转(调用)的源与目标之间的语义关联,基于深度学习方法,对间接控制流的目标进行自动识别。此外,本发明中的框架无需对间接跳转和间接调用采取不同的技术手段进行处理,在间接跳转方面,可达到与主流二进制分析工具相似的准确度,而本方法可以大幅度提高间接调用的目标函数识别的准确度,从而解决目前无可行方法静态获取二进制中间接调用目标的问题。
发明内容
针对上述问题,本发明提出一种基于深度学习的无符号二进制间接控制流识别方法。该方法通过采集二进制中各字节间的语义信息,基于间接控制流源和目标之间的上下文关联,构建了以深度学习为中心的二进制间接控制流目标识别方案,具体步骤如下:
步骤1:引入原始二进制代码文件,原始二进制代码文件中多个字节构成多个指令代码块,多个指令代码块构成多个基本块代码块,多个基本块代码块构成多个函数代码块,根据基本块代码块和函数代码块构建间接调用分支和函数序列,并进一步构建间接跳转的三元组样本、间接调用的三元组样本,对间接跳转的三元组样本和间接调用的三元组样本分别进行标记,生成间接跳转训练集、间接调用训练集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110363702.6/2.html,转载请声明来源钻瓜专利网。