Automatically Generating Rules of Malicious Software Packages via Large Language Model
作者: XiangRui Zhang, HaoYu Chen, Yongzhong He, Wenjia Niu, Qiang Li
分类: cs.SE, cs.AI, cs.CR
发布日期: 2025-04-24
备注: 14 pages, 11 figures
期刊: the 55th Annual IEEE/IFIP International Conference on Dependable Systems and Networks(DSN), 2025
💡 一句话要点
提出RuleLLM,利用大语言模型自动生成恶意软件包的检测规则。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 恶意软件检测 规则生成 大型语言模型 软件供应链安全 YARA Semgrep 自动化安全
📋 核心要点
- 现有安全工具依赖专家预定义规则,无法有效应对快速演变的软件供应链攻击。
- RuleLLM利用大语言模型,从恶意软件包中提取信息,自动生成YARA和Semgrep检测规则。
- 实验结果表明,RuleLLM生成的规则在精度和召回率上均优于现有技术,并构建了规则分类体系。
📝 摘要(中文)
当前的安全工具主要依赖专家预定义的规则,难以适应软件供应链攻击的出现。为了解决这一局限性,我们提出了一种名为RuleLLM的新工具,它利用大型语言模型(LLM)来自动化开放源代码生态系统的规则生成。RuleLLM从恶意软件中提取元数据和代码片段作为输入,生成可以直接部署在软件开发中的YARA和Semgrep规则。具体而言,规则生成任务涉及三个子任务:规则创建、规则优化和规则对齐。为了验证RuleLLM的有效性,我们实现了一个原型系统,并对包含1633个恶意软件包的数据集进行了实验。结果表明,RuleLLM生成了763条规则(452条YARA和311条Semgrep),精度为85.2%,召回率为91.8%,优于最先进的(SOTA)工具和基于评分的方法。我们进一步分析了生成的规则,并提出了一个规则分类法:11个类别和38个子类别。
🔬 方法详解
问题定义:当前软件供应链攻击日益频繁,而现有安全工具依赖人工编写的规则,更新速度慢,难以覆盖新型恶意软件包。因此,需要一种能够自动生成检测规则的方法,以提高安全防护的效率和覆盖范围。
核心思路:利用大型语言模型(LLM)强大的代码理解和生成能力,将恶意软件包的元数据和代码片段作为输入,自动生成YARA和Semgrep等规则。通过模仿安全专家的规则编写过程,实现规则的自动化生成。
技术框架:RuleLLM包含三个主要阶段:规则创建、规则优化和规则对齐。规则创建阶段利用LLM根据输入信息生成初始规则;规则优化阶段对生成的规则进行改进,提高其准确性和效率;规则对齐阶段则确保生成的规则与现有的安全标准和最佳实践相符。
关键创新:RuleLLM的核心创新在于利用LLM自动化规则生成过程,摆脱了对人工编写规则的依赖。此外,该方法还引入了规则优化和对齐机制,进一步提高了生成规则的质量和可用性。与传统方法相比,RuleLLM能够更快地生成大量规则,并更好地适应新型恶意软件包的出现。
关键设计:RuleLLM的具体实现细节未知,摘要中没有详细描述LLM的选择、训练方式、规则优化算法以及规则对齐的具体策略。这些细节对于理解和复现该方法至关重要,但目前信息不足。
🖼️ 关键图片
📊 实验亮点
实验结果表明,RuleLLM在包含1633个恶意软件包的数据集上,生成了763条规则(452条YARA和311条Semgrep),精度达到85.2%,召回率达到91.8%。这些指标均优于现有的最先进工具和基于评分的方法,验证了RuleLLM的有效性。
🎯 应用场景
RuleLLM可应用于软件开发的安全防护环节,自动生成恶意软件包的检测规则,提高软件供应链的安全性。该研究成果有助于降低安全专家的人工成本,加速安全规则的更新速度,并为开源软件生态系统提供更全面的安全保障。未来,该技术可扩展到其他类型的安全规则生成,例如漏洞检测和配置审计。
📄 摘要(原文)
Today's security tools predominantly rely on predefined rules crafted by experts, making them poorly adapted to the emergence of software supply chain attacks. To tackle this limitation, we propose a novel tool, RuleLLM, which leverages large language models (LLMs) to automate rule generation for OSS ecosystems. RuleLLM extracts metadata and code snippets from malware as its input, producing YARA and Semgrep rules that can be directly deployed in software development. Specifically, the rule generation task involves three subtasks: crafting rules, refining rules, and aligning rules. To validate RuleLLM's effectiveness, we implemented a prototype system and conducted experiments on the dataset of 1,633 malicious packages. The results are promising that RuleLLM generated 763 rules (452 YARA and 311 Semgrep) with a precision of 85.2\% and a recall of 91.8\%, outperforming state-of-the-art (SOTA) tools and scored-based approaches. We further analyzed generated rules and proposed a rule taxonomy: 11 categories and 38 subcategories.