申请/专利权人:中国科学院软件研究所
申请日:2022-11-01
公开(公告)日:2023-01-06
公开(公告)号:CN115576840A
主分类号:G06F11/36
分类号:G06F11/36;G06N20/00;G06N3/04;G06N3/08
优先权:
专利状态码:有效-授权
法律状态:2023.04.18#授权;2023.01.24#实质审查的生效;2023.01.06#公开
摘要:本发明公开了一种基于机器学习的程序插桩检测方法及装置,属于网络安全技术领域。所述方法包括:获取目标程序;对目标程序进行插桩,得到二进制文件;将二进制文件转换为中间语言表示;基于中间语言表示,计算二进制文件中各基本块的特征向量,并将特征向量送入机器学习模型,以识别每一基本块的实际插桩结果;基于目标程序和中间语言表示,生成代码属性图,并对代码属性图使用图神经网络学习,将学习后的节点特征向量进行线性变换,以根据各节点的得分判断每一基本块的预期插桩结果;根据每一基本块的实际插桩结果与预期插桩结果,得到目标程序的插桩检测结果。本发明可以评估现有静态程序插桩方法的精度。
主权项:1.一种基于机器学习的程序插桩检测方法,其特征在于,所述方法包括:获取目标程序,并对所述目标程序进行插桩,得到一个二进制文件;将所述二进制文件转换为一中间语言表示;基于所述中间语言表示,计算所述二进制文件中各基本块的特征向量,并将所述特征向量送入机器学习模型,以识别每一基本块的实际插桩结果;基于所述目标程序和所述中间语言表示,生成代码属性图,并对所述代码属性图使用图神经网络学习,将学习后的节点特征向量进行线性变换,以根据各节点的得分判断每一基本块的预期插桩结果;其中,所述代码属性图中的节点为基本块,所述代码属性图中的边基于基本块间的控制流和数据流依赖关系构建;根据每一基本块的所述实际插桩结果与所述预期插桩结果,得到所述目标程序的插桩检测结果。
全文数据:
权利要求:
百度查询: 中国科学院软件研究所 基于机器学习的静态程序插桩检测方法及装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。