这篇论文是2011年的,最新的一篇关于DDE的,名字是Howard,是这个动态数据结构恢复系统的名字,作者是用一个考古学家的名字来命名的,这个考古学家发掘了古埃及法老“图坦卡蒙”的墓,挺有意思的!
该系统比REWARD和Laika都要好,REWARD实际是ASI(抽象数据结构识别)的动态实现,即用动态的方法对已知的数据类型信息进行前向和后向的传播;Laika只是探测聚集类的数据结构,而不探测具体聚集类中的数据域,因此不精确,只能用于有限的应用中,如恶意代码监测。Howard可以作为静态的分析方法的补充,如VSA和ASI无法恢复出数组。Howard的主要目的是为了帮助对裸代码的调试、维护遗产代码的安全(如预防缓冲区溢出)、以及辅助其他逆向工作。
Howard像其他动态分析工具一样,无法对没有执行到的数据结构进行恢复,但是他采用现有的代码覆盖工具KLEE来尽可能多地覆盖可执行代码。目前Howard可以做到的是:
1、提取出堆栈上的数据结构
2、提取出聚集类的数据结构,包括其数据域
3、恢复复杂的数据结构:嵌套数组
Howard中最复杂的部分之一就是他的循环探测器,就是用于恢复数组的这一部分。(待续)
https://blog.sciencenet.cn/blog-544280-433085.html
上一篇:
DDE 是基于QENU的动态数据结构挖掘技术下一篇:
学习XML的笔记