PowerPeeler: A Precise and General Dynamic Deobfuscation Method for PowerShell Scripts

2024年06月06日
  • 简介
    PowerShell是一种强大而多才多艺的任务自动化工具。不幸的是,它也被网络攻击者广泛滥用。为了绕过恶意软件检测和阻碍威胁分析,攻击者经常采用各种技术来混淆恶意PowerShell脚本。现有的反混淆工具存在静态分析的局限性,无法准确模拟真实的反混淆过程。 本文提出了PowerPeeler。据我们所知,它是第一个基于指令级别的动态PowerShell脚本反混淆方法。它利用与表达式相关的抽象语法树(AST)节点来识别潜在的混淆脚本片段。然后,PowerPeeler将AST节点与其对应的指令相关联,并监视脚本的整个执行过程。随后,PowerPeeler动态跟踪这些指令的执行,并记录它们的执行结果。最后,PowerPeeler将这些结果字符串化,以替换相应的混淆脚本片段并重构反混淆后的脚本。 为了评估PowerPeeler的有效性,我们收集了1,736,669个真实世界的恶意PowerShell样本,其中包含多种混淆方法。我们将PowerPeeler与五种最先进的反混淆工具和GPT-4进行比较。评估结果表明,PowerPeeler可以有效处理所有已知的混淆方法。此外,PowerPeeler的反混淆正确率达到95%,显著超过其他工具。PowerPeeler不仅恢复了最多的敏感数据,而且保持了超过97%的语义一致性,这也是最好的结果。此外,PowerPeeler在有限的时间内有效地获取了最大数量的有效反混淆结果。此外,PowerPeeler是可扩展的,并可用作其他网络安全解决方案的有用工具。
  • 作者讲解
  • 图表
  • 解决问题
    PowerPeeler试图解决PowerShell脚本的动态反混淆问题,以提高恶意脚本检测的准确性。
  • 关键思路
    PowerPeeler是一种基于指令级别的动态PowerShell脚本反混淆方法。它利用表达式相关的抽象语法树节点来识别潜在的混淆脚本片段,并通过监视整个脚本的执行过程来动态跟踪这些指令的执行并记录其执行结果。最终,PowerPeeler将这些结果字符串化以替换相应的混淆脚本片段并重构反混淆脚本。
  • 其它亮点
    论文使用1,736,669个真实的恶意PowerShell样本进行评估,并将PowerPeeler与五种最先进的反混淆工具和GPT-4进行比较。评估结果表明,PowerPeeler可以有效地处理所有已知的混淆方法。此外,PowerPeeler的反混淆正确率达到95%,明显优于其他工具。PowerPeeler不仅恢复了最高数量的敏感数据,而且保持了超过97%的语义一致性,这也是最好的。此外,PowerPeeler在有限时间内有效地获得了最大数量的有效反混淆结果。PowerPeeler还是可扩展的,并可用作其他网络安全解决方案的有用工具。
  • 相关研究
    在该领域的相关研究包括:Deobfuscating PowerShell使用的混淆技术评估(2017),PowerShell混淆技术的对抗性分析(2018),以及PowerShell脚本混淆的新方法(2019)。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问