[论文解读] Automated Synthesis of Semantic Malware Signatures using Maximum Satisfiability
本文提出 Astroid,一种利用最大可满足性(MaxSAT)自动合成 Android 恶意软件家族语义签名的工具,用于识别少数恶意软件样本之间的最大可疑公共子图(MSCS)。该方法可实现高精度、可解释的已知及零日恶意软件检测,且误报率极低,优于人工签名和当前最先进工具。
This paper proposes a technique for automatically learning semantic malware signatures for Android from very few samples of a malware family. The key idea underlying our technique is to look for a maximally suspicious common subgraph (MSCS) that is shared between all known instances of a malware family. An MSCS describes the shared functionality between multiple Android applications in terms of inter-component call relations and their semantic metadata (e.g., data-flow properties). Our approach identifies such maximally suspicious common subgraphs by reducing the problem to maximum satisfiability. Once a semantic signature is learned, our approach uses a combination of static analysis and a new approximate signature matching algorithm to determine whether an Android application matches the semantic signature characterizing a given malware family. We have implemented our approach in a tool called ASTROID and show that it has a number of advantages over state-of-the-art malware detection techniques. First, we compare the semantic malware signatures automatically synthesized by ASTROID with manually-written signatures used in previous work and show that the signatures learned by ASTROID perform better in terms of accuracy as well as precision. Second, we compare ASTROID against two state-of-the-art malware detection tools and demonstrate its advantages in terms of interpretability and accuracy. Finally, we demonstrate that ASTROID's approximate signature matching algorithm is resistant to behavioral obfuscation and that it can be used to detect zero-day malware. In particular, we were able to find 22 instances of zero-day malware in Google Play that are not reported as malware by existing tools.
研究动机与目标
- 解决手动编写 Android 恶意软件家族语义签名所面临的高人力成本与可扩展性问题。
- 通过识别恶意软件家族所有实例共享的最大可疑公共子图(MSCS),降低恶意软件检测中的误报与漏报。
- 通过近似签名匹配实现对零日及行为混淆恶意软件的检测。
- 相较于现有基于学习或基于签名的恶意软件检测技术,提升可解释性与精确度。
- 证明自动化签名合成可达到甚至超越人工手工签名的性能表现。
提出的方法
- 将寻找最大可疑公共子图(MSCS)的问题建模为最大可满足性(MaxSAT)问题,其中可疑特征被赋予权重,以优先识别高风险模式。
- 对 Android 应用进行静态分析,提取组件间调用图及语义元数据,包括数据流属性、API 调用和意图过滤器。
- 通过求解编码了恶意软件样本间结构与语义相似性的 MaxSAT 实例来计算 MSCS,权重反映特征的可疑程度。
- 提出一种新颖的近似签名匹配算法,将未知应用与学习得到的 MSCS 进行比较,可容忍因混淆导致的语法与控制流差异。
- 与 Apposcopy 集成,确保与现有基于签名的检测流水线兼容。
- 该工具 Astroid 已公开发布,支持仅需 1 至 5 个恶意软件样本即可快速生成签名。
实验结果
研究问题
- RQ1使用 MaxSAT 自动合成语义恶意软件签名是否能在精确度与准确率方面超越人工编写的签名?
- RQ2所学习的签名是否能检测出现有工具未能识别的零日恶意软件?
- RQ3近似签名匹配算法在抵抗行为混淆技术方面效果如何?
- RQ4该方法在仅使用少量训练样本的情况下,是否能有效扩展至稀有或新出现的恶意软件家族?
- RQ5基于 MaxSAT 的 MSCS 识别是否能产生比现有基于学习或语法的方法更具可解释性与可靠性的签名?
主要发现
- Astroid 自动生成的签名在准确率与精确度方面均优于人工编写的签名,且误报率显著更低。
- 该工具在 Google Play 中检测到 22 个此前未知的零日恶意软件样本,而现有工具未能识别。
- 近似签名匹配算法成功检测出经过行为混淆的恶意软件,表现出对控制流与数据流变换的强韧性。
- 该方法每家族仅需少于 5 个恶意软件样本,因此对稀有或新出现的恶意软件家族具有高效性。
- 基于 MaxSAT 的 MSCS 识别在恶意软件实例间实现了高结构与语义保真度,从而可靠地检测出共享的恶意功能。
- 与 Apposcopy 的集成实现了在现有基于签名的检测流水线中的无缝部署,显著提升了工具互操作性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。