软件逆向分析过程中的多维图谱抽取方法
2016-05-09蒋烈辉刘铁铭司彬彬朱晓清
计算机应用与软件 2016年4期
关键词:分析
井 靖 蒋烈辉, 刘铁铭 司彬彬 曾 韵 朱晓清
软件逆向分析过程中的多维图谱抽取方法
井 靖1蒋烈辉1,2刘铁铭2司彬彬1曾 韵1朱晓清2
1(信息工程大学计算机科学与技术学院 河南 郑州 450000)
2(数学工程与先进计算国家重点实验室 河南 郑州 450000)
由于软件逆向分析过程中产生的结果通常是形式化的符号,且复杂难懂,因此基于软件逆向分析进行代码阅读或漏洞挖掘等工作的效率非常低下。针对这种情况,首先设计多维图谱抽取框架,基于该框架定义多维图谱描述约束(schema),使多维图谱抽取与具体的逆向分析过程之间相互独立;给出逆向分析算法库的构造方式及算法库调用接口,实现基于多维图谱描述的抽象图谱生成;设计基于图形描述语言DOT的抽象图谱转换接口,实现抽象图谱的快速可视化;最后给出多维图谱抽取算法。实验结果表明,采用该方法能有效提高逆向分析过程中生成结果的可读性,大幅提升分析人员代码阅读及漏洞挖掘的工作效率。
多维图谱 抽取 抽象图 DOT接口 可视化
0 引 言
目前比较流行的软件逆向分析算法通常采用基于抽象解释理论的近似逼近技术[1,2]。即依据分析或验证的实际语义,定义具有完备格属性的抽象域,基于抽象解释框架,将被分析的反汇编代码或中间代码上的数据流分析转换为抽象域上的数学运算,并利用抽象域的数学特性迭代求解,最终到达语义不动点从而得到较精确的分析结果。然而这些算法的结果通常是以纯数据或者抽象符号的形式给出,往往晦涩难懂,即便是专业的逆向分析人员,要想从分析结果中发现可执行代码的框架、意图以及漏洞,要花很长的时间,效率非常低下。……
登录APP查看全文
