[发明专利]基于机器学习的静态程序插桩检测方法及装置有效
申请号: | 202211357366.5 | 申请日: | 2022-11-01 |
公开(公告)号: | CN115576840B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 刘昱玮;余媛萍;贾相堃;苏璞睿 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N20/00;G06N3/0464;G06N3/08 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 机器 学习 静态 程序 检测 方法 装置 | ||
本发明公开了一种基于机器学习的程序插桩检测方法及装置,属于网络安全技术领域。所述方法包括:获取目标程序;对目标程序进行插桩,得到二进制文件;将二进制文件转换为中间语言表示;基于中间语言表示,计算二进制文件中各基本块的特征向量,并将特征向量送入机器学习模型,以识别每一基本块的实际插桩结果;基于目标程序和中间语言表示,生成代码属性图,并对代码属性图使用图神经网络学习,将学习后的节点特征向量进行线性变换,以根据各节点的得分判断每一基本块的预期插桩结果;根据每一基本块的实际插桩结果与预期插桩结果,得到目标程序的插桩检测结果。本发明可以评估现有静态程序插桩方法的精度。
技术领域
本发明属于网络安全技术领域,具体涉及一种基于机器学习的程序插桩检测方法及装置。
背景技术
程序插桩是指在不破坏目标程序原有运行逻辑完整性的基础上向目标程序中插入可以反馈特定信息或执行特定功能的代码片段的过程。程序插桩可以为包括污点分析、符号执行和模糊测试在内的程序分析和漏洞挖掘方法提供信息支撑。其中静态程序插桩由于其在效率上的优势成为当前热门的程序插桩方法。
现有的对静态程序插桩方法的改进集中于提升程序插桩获取的信息数量和提升程序插桩的执行效率。例如上海科技大学的陈鹏等人研发的Angora、中国科学院大学的王衍豪等人研发的TortoiseFuzz,通过获取程序在运行过程中包括程序运行上下文和程序内存访问次数等在内的更多信息以提升漏洞挖掘能力;俄亥俄州立大学的陈三川等人研发的SelectiveTaint通过仅针对特定指令插入污点分析插桩代码以提升污点分析执行效率。
虽然以上改进提升了程序插桩的能力和效率,但是也对程序插桩提出了更高的精度要求,而目前还没有针对静态程序插桩准确性的研究被提出。
发明内容
针对现有的针对静态程序插桩研究没有关注其准确性的问题,本发明的目的在于提供一种基于机器学习的静态程序插桩错误检测方法,通过静态分析提取目标程序基本块的代码特征,并将提取的基本块特征输入word2vec中识别各基本块中插桩情况,将程序转换为代码属性图并将其输入图神经网络中以识别插桩错误。
本发明的技术内容包括:
一种基于机器学习的程序插桩检测方法,所述方法包括:
获取目标程序,并对所述目标程序进行插桩,得到一个二进制文件;
将所述二进制文件转换为一中间语言表示;
基于所述中间语言表示,计算所述二进制文件中各基本块的特征向量,并将所述特征向量送入机器学习模型,以识别每一基本块的实际插桩结果;
基于所述目标程序和所述中间语言表示,生成代码属性图,并对所述代码属性图使用图神经网络学习,将学习后的节点特征向量进行线性变换,以根据各节点的得分判断每一基本块的预期插桩结果;其中,所述代码属性图中的节点为基本块,所述代码属性图中的边基于基本块间的控制流和数据流依赖关系构建;
根据每一基本块的所述实际插桩结果与所述预期插桩结果,得到所述目标程序的插桩检测结果。
进一步地,所述中间语言表示包括:LLVM IR中间语言表示。
进一步地,所述基于所述中间语言,计算所述二进制文件中各基本块的特征向量,包括:
基于所述中间语言,选取每一基本块中的特征;所述特征包括:指令操作码、指令操作数和指令序列;其中,所述指令序列为所述指令操作码按照所述基本块中指令出现顺序进行排序的序列;
根据操作码编码表,获取所述指令操作码的序号,并基于所述序号,得到所述指令操作码的特征向量;其中,所述操作码编码表基于训练集中各指令操作码的出现频率和字母顺序构建;
根据所述指令操作数的操作数长度,获取所述指令操作数的特征向量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211357366.5/2.html,转载请声明来源钻瓜专利网。