论文标题
在恶意软件混淆中使用密码学
Use of Cryptography in Malware Obfuscation
论文作者
论文摘要
恶意软件作者经常使用加密工具,例如XOR加密和像AE一样阻止密码来混淆恶意软件的一部分以逃避检测。加密的使用可能会给人们留下深刻的印象,即这些混淆技术具有成功的成功保证。在本文中,我们仔细研究了使用加密工具来混淆恶意软件。我们首先发现大多数技术很容易被打败(原则上),因为解密算法和钥匙在程序中发货。为了清楚地定义混淆技术逃避检测的潜力,我们提出了对恶意软件混淆的原则定义,然后将使用密码学工具的恶意软件混淆实例分类为逃避检测的那些和可检测到的那些。我们发现,难以消除的计划必然依赖于基于环境键合的结构。我们还表明,混淆性的加密概念,例如,诱人的性能和虚拟黑匣子混淆,可能不能保证在我们的模型下的逃避检测。但是,它们可以与环境密钥键合结合使用,以产生很难删除程序的程序。
Malware authors often use cryptographic tools such as XOR encryption and block ciphers like AES to obfuscate part of the malware to evade detection. Use of cryptography may give the impression that these obfuscation techniques have some provable guarantees of success. In this paper, we take a closer look at the use of cryptographic tools to obfuscate malware. We first find that most techniques are easy to defeat (in principle), since the decryption algorithm and the key is shipped within the program. In order to clearly define an obfuscation technique's potential to evade detection we propose a principled definition of malware obfuscation, and then categorize instances of malware obfuscation that use cryptographic tools into those which evade detection and those which are detectable. We find that schemes that are hard to de-obfuscate necessarily rely on a construct based on environmental keying. We also show that cryptographic notions of obfuscation, e.g., indistinghuishability and virtual black box obfuscation, may not guarantee evasion detection under our model. However, they can be used in conjunction with environmental keying to produce hard to de-obfuscate version of programs.