利用DWARF进行无本机代码的特洛伊木马和攻击技术

需积分: 9 1 下载量 10 浏览量 更新于2024-07-16 收藏 333KB PDF 举报
"TR2011-688.pdf - Exploiting the Hard-Working DWARF: Trojan and Exploit Techniques Without Native Executable Code" 这篇技术报告(TR2011-688)由James Oakley撰写,并由Sergey Bratus指导,发表于Dartmouth College的计算机科学系。报告探讨了在没有本机可执行代码的情况下,利用DWARF(一种用于调试信息的标准)进行恶意攻击和漏洞利用的技术。 DWARF是C/C++等编程语言编译器生成的一种调试信息格式,通常包含在编译后的二进制文件中。报告的核心发现是,DWARF中的异常处理机制可以被滥用来控制程序执行。在UNIX-like系统上,用于存储异常处理信息的数据结构实际上包含了图灵完备的字节码,这种字节码在异常展开和处理过程中由虚拟机执行。这意味着攻击者有可能通过操纵这些数据结构来实现对程序执行的控制。 报告深入分析了攻击者如何能够获取对这些结构的控制权,并在取得控制后如何利用它们来实施恶意行为。作者指出,这种攻击策略绕过了传统的安全防御,因为它们不依赖于在目标系统上直接执行可执行代码,而是利用了原本用于调试目的的机制。 在报告的主体部分,作者可能详细讨论了以下内容: 1. 异常处理机制的工作原理及其在DWARF中的实现细节。 2. DWARF中的字节码结构和虚拟机如何允许攻击者执行任意计算。 3. 攻击者如何篡改DWARF信息以控制异常流程,进而影响程序执行。 4. 实现此类攻击的潜在技术步骤和可能的防御措施。 5. 对现有安全系统的潜在威胁和未来安全研究的方向。 尽管没有提供具体内容,但可以推测,报告中会涵盖各种技术细节,包括但不限于DWARF格式的解析、异常处理流程的分析、以及如何构造和注入恶意字节码序列。此外,报告可能还提供了案例研究或实验结果,以证明这些攻击方法的有效性。 这篇报告揭示了一种新颖的攻击手段,即利用编译器生成的调试信息进行恶意活动,这无疑为信息安全领域提出了新的挑战和研究课题。