Skip to main content
QUICK REVIEW

[论文解读] Malicious cryptography techniques for unreversable (malicious or not) binaries

Éric Filiol|arXiv (Cornell University)|Sep 21, 2010
Advanced Malware Detection Techniques参考文献 11被引用 12
一句话总结

本文提出了一种新颖的代码保护方法,结合恶意密码学与基于 k-ary 虚拟机的混淆技术,使二进制文件完全免疫于逆向工程。通过将确定性有限状态机(dFSM)与偏置伪随机数生成器结合,并将恶意软件拆分为 k-ary 组件,该方法在无需传统解密器的情况下实现了高达 $2^{140}$ 种多态变体,确保了完全的代码防护与不可检测的形态变异。

ABSTRACT

Fighting against computer malware require a mandatory step of reverse engineering. As soon as the code has been disassemblied/decompiled (including a dynamic analysis step), there is a hope to understand what the malware actually does and to implement a detection mean. This also applies to protection of software whenever one wishes to analyze them. In this paper, we show how to amour code in such a way that reserse engineering techniques (static and dymanic) are absolutely impossible by combining malicious cryptography techniques developped in our laboratory and new types of programming (k-ary codes). Suitable encryption algorithms combined with new cryptanalytic approaches to ease the protection of (malicious or not) binaries, enable to provide both total code armouring and large scale polymorphic features at the same time. A simple 400 Kb of executable code enables to produce a binary code and around $2^{140}$ mutated forms natively while going far beyond the old concept of decryptor.

研究动机与目标

  • 开发一种技术,通过高级密码学混淆实现二进制文件逆向工程的完全不可能性。
  • 通过消除固定解密器的需求,克服传统代码防护与多态性技术的局限性。
  • 利用 k-ary 代码分发技术,在恶意软件或受保护软件中实现大规模多态性与形态变异。
  • 通过隐藏的分布式状态机与偏置 PRNG 的运用,确保静态与动态分析均无效。
  • 实现 TRANSEC 级安全,使受保护的二进制文件熵值与合法代码无法区分。

提出的方法

  • 将关键代码转换为中间表示(IR),然后编译为字节码,供自定义虚拟机执行。
  • 采用确定性有限状态机(dFSM)作为核心混淆引擎,生成用于加密代码的 59 位输出块。
  • 使用具有非均匀分布的偏置伪随机数生成器(PRNG),生成不可预测但确定性的输出序列。
  • 将恶意软件拆分为 k-ary 组件(例如两部分:V₁ 和 V₂),其中 V₁ 主持 dFSM,V₂ 提供输入密钥,防止重构。
  • 通过共享内存(System V IPC)、命名管道或进程管道实现组件间通信,以保持隐蔽性与模块化。
  • 使用密码分析技术预计算 dFSM 的输入,以确保正确执行,同时隐藏内部逻辑以避免分析。

实验结果

研究问题

  • RQ1是否能够实现代码保护,使得静态与动态逆向工程在根本上成为不可能?
  • RQ2如何在不依赖中心解密器的情况下,将多态性扩展至超越传统限制的规模(例如 $2^{140}$ 种变体)?
  • RQ3传统解密器的缺失是否能消除恶意软件检测中的主要签名向量?
  • RQ4k-ary 代码分发在多大程度上可通过碎片化攻击面来防止逆向工程?
  • RQ5非确定性有限状态机是否能进一步提升逆向工程的复杂度,超越当前限制?

主要发现

  • 所提出的方法可仅使用 59 位密钥流密码,从单一 400 KB 二进制文件生成高达 $2^{140}$ 种不同的多态变体。
  • 传统解密器的缺失消除了一个主要的检测向量,显著增强了对基于签名分析的抵抗能力。
  • 基于 dFSM 的混淆确保受保护的二进制文件熵值与合法软件无法区分,实现了 TRANSEC 级安全。
  • k-ary 代码分发,特别是通过 V₁ 和 V₂ 两部分,通过将 dFSM 逻辑与输入生成分散在不同组件中,有效防止逆向工程。
  • System V IPC 与命名管道支持高效且安全的组件间通信,使检测与重构变得不可行。
  • 使用偏置 PRNG 与密码分析预计算,实现了确定性但不可预测的代码变异,增强了对静态与动态分析的抗性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。