中文

PowerPeeler:一种精确且通用的PowerShell脚本动态反混淆方法

密码学与安全 2024-06-21 v2 软件工程

摘要

PowerShell是一种强大且多功能的任务自动化工具。不幸的是,它也被网络攻击者广泛滥用。为了绕过恶意软件检测并阻碍威胁分析,攻击者经常使用多种技术来混淆恶意的PowerShell脚本。现有的反混淆工具受到静态分析的限制,无法准确模拟真实的去混淆过程。在本文中,我们提出了PowerPeeler。据我们所知,这是第一种在指令级别上的动态PowerShell脚本反混淆方法。它利用与表达式相关的抽象语法树(AST)节点来识别潜在的混淆脚本片段。然后,PowerPeeler将AST节点与其对应的指令关联起来,并监控脚本的整个执行过程。随后,PowerPeeler动态跟踪这些指令的执行并记录其执行结果。最后,PowerPeeler将这些结果字符串化,以替换相应的混淆脚本片段并重建去混淆后的脚本。为了评估PowerPeeler的有效性,我们收集了1,736,669个具有多种混淆方法的真实世界恶意PowerShell样本。我们将PowerPeeler与五种最先进的反混淆工具以及GPT-4进行了比较。评估结果表明,PowerPeeler能够有效处理所有已知的混淆方法。此外,PowerPeeler的反混淆正确率达到95%,显著优于其他工具。PowerPeeler不仅恢复了最多的敏感数据,而且保持了超过97%的语义一致性,这也是最好的。此外,PowerPeeler在有限时间内有效获得了最大数量的有效去混淆结果。此外,PowerPeeler是可扩展的,可以作为其他网络安全解决方案的有用工具。

关键词

引用

@article{arxiv.2406.04027,
  title  = {PowerPeeler: A Precise and General Dynamic Deobfuscation Method for PowerShell Scripts},
  author = {Ruijie Li and Chenyang Zhang and Huajun Chai and Lingyun Ying and Haixin Duan and Jun Tao},
  journal= {arXiv preprint arXiv:2406.04027},
  year   = {2024}
}

备注

To appear in the ACM CCS 2024