文章目录
概述
Yara 规则命名规范,方便编写 Yara 规则时取名
部分内容参考AI
规则命名规范
基础规范
-
基础格式
-
允许字符:字母(
A-Za-z)、数字(0-9)、下划线(_),禁止空格或连字符(如rule Trojan-Spy非法)。 -
长度建议:不超过 64 字符(避免工具链截断)。
-
示例:
1
2rule Banker_Stealer_2025 // 合法
rule APT29#Operation // 非法(含特殊符号)
-
-
语义化命名
- 推荐结构:
<威胁类型>_<家族/变种>_<标识符>,例如:Ransomware_LockBit_3Backdoor_CobaltStrike_HTTPTrojan_Emotet_Macro
- 推荐结构:
-
避免冲突
- 同一命名空间(
namespace)内规则名需唯一,否则后者覆盖前者。
- 同一命名空间(
相关内容
以下是 YARA规则命名中 <威胁类型>_<家族/变种>_<标识符> 的常见分类及示例(截至2025年6月13日),按威胁情报最新实践整理,覆盖主流恶意软件和攻击场景:
一、威胁类型(Threat Type)
| 分类 | 示例 | 说明 |
|---|---|---|
| Ransomware | 勒索软件 | 如 LockBit、BlackCat |
| Backdoor | 后门程序 | 如 CobaltStrike、NanoCore |
| Trojan | 木马 | 如 Emotet、QakBot |
| Spyware | 间谍软件 | 如 RedLine、Cerberus |
| Worm | 蠕虫 | 如 WannaCry、Stuxnet |
| Dropper | 释放器 | 如 IcedID、BazarLoader |
| Infostealer | 信息窃取 | 如 Raccoon、Vidar |
| APT | 高级持续性威胁 | 如 APT29、APT41 |
| Exploit | 漏洞利用工具 | 如 ProxyLogon、Log4Shell |
| Macro | 宏病毒 | 如 Hancitor、Formbook |
二、家族/变种(Family/Variant)
| 命名逻辑 | 示例 | 关联威胁类型 |
|---|---|---|
| 恶意软件家族 | Conti、REvil |
Ransomware |
| 攻击组织代号 | FIN7、Lazarus |
APT |
| 代码特征 | Obfuscated_PS1 |
Script/Exploit |
| 传播方式 | Phish_Email |
Trojan/Spyware |
| C2协议 | HTTP_C2 |
Backdoor |
三、标识符(Identifier)
| 用途 | 示例 | 适用场景 |
|---|---|---|
| 版本/变种 | v2、BETA |
区分迭代(如 Emotet_v3) |
| 攻击目标 | Finance、Healthcare |
行业针对性(如 APT29_GOV) |
| 技术特征 | AES_Encrypted |
加密方式(如 Ransomware_AES) |
| 时间戳 | 20250613 |
首次发现日期 |
| 哈希片段 | 0x1a2b |
关键代码片段哈希 |
完整规则命名示例
- 勒索软件:
Ransomware_LockBit_3_AES- 类型:Ransomware
- 家族:LockBit 3.0变种
- 标识符:使用AES加密
- APT攻击:
APT_APT29_CloudSnooper_GOV- 类型:APT
- 家族:APT29(Cozy Bear)的CloudSnooper工具
- 标识符:针对政府目标
- 宏病毒:
Macro_Hancitor_Phish_Invoice- 类型:宏病毒
- 家族:Hancitor传播链
- 标识符:钓鱼邮件伪装为发票
命名空间规范
基础规范
-
命名规则
- 与规则名称类似,但需体现来源或分类,例如:
Microsoft_Sysmon(厂商+工具)MalwareBazaar_Ransomware(开源项目+分类)Internal_CompanyX_Logs(内部私有规则)
- 与规则名称类似,但需体现来源或分类,例如:
-
行业惯例
类型 命名示例 适用场景 商业厂商 Kaspersky_ThreatIntel厂商提供的规则库 开源社区 Sigma_APT_C2基于Sigma转换的规则 内部项目 ProjectY_Indicators企业内部分类
相关内容
以下是截至 2025年6月13日 主流的 YARA 规则命名空间(namespace)来源与分类标准,按行业实践和威胁情报需求整理为 5大核心分类,兼顾实用性与兼容性:
一、按来源分类
| 类型 | 命名示例 | 适用场景 |
|---|---|---|
| 商业安全厂商 | Kaspersky_ThreatIntel |
卡巴斯基等厂商的规则库 |
| 开源社区项目 | Sigma_APT_C2 |
基于Sigma转换的规则(如GitHub) |
| 企业内部私有 | AcmeCorp_IR_Logs |
内部事件响应或日志检测规则 |
| 威胁情报平台 | MISP_Financial_Threats |
从MISP等平台导出的IoC规则 |
| 学术研究机构 | MITRE_CAR |
MITRE的对抗行为规则库 |
二、按威胁分类
| 类型 | 命名示例 | 覆盖范围 |
|---|---|---|
| 恶意软件家族 | Malware_Emotet_Macro |
特定家族(如Emotet的宏病毒变种) |
| 攻击技术 | TTP_T1059_CommandLine |
MITRE ATT&CK技术编号关联规则 |
| 行业针对性 | Sector_Healthcare_Ransom |
针对医疗行业的勒索软件规则 |
| 攻击阶段 | KillChain_InitialAccess |
按杀伤链阶段分类(如初始访问) |
| 漏洞利用 | Exploit_Log4Shell_RCE |
特定漏洞(如Log4j远程代码执行) |
三、混合命名实践
- 厂商+威胁类型
CrowdStrike_Ransomware_LockBit- 结构:
<厂商>_<威胁类型>_<变种>
- 平台+行业
AlienVault_Finance_Phishing- 结构:
<情报平台>_<行业>_<攻击类型>
- 时间戳动态命名
AutoGen_20250613_APT29- 用于自动化生成的临时规则库
快速索引
根据 MITRE ATT&CK框架、CARO恶意软件命名规范 和 行业威胁情报实践
一、恶意软件类型及描述
| 类型 | 描述 |
|---|---|
| Adware(广告软件) | 在受感染的计算机上显示广告,可能会严重干扰用户的正常使用,也可能导致系统运行缓慢。 |
| Backdoor(后门) | 是一种访问计算机系统或加密数据的方法,绕过了系统通常的安全机制。开发人员可能创建后门用于故障排除等,但也会被攻击者利用,攻击者可借此在入侵系统后保持访问权限。 |
| Behavior(行为类) | 可能指具有特定行为模式的恶意软件,这类恶意软件的判定通常基于其在系统中的行为表现。 |
| BrowserModifier(浏览器修改器) | 会对浏览器的设置、功能等进行修改,可能导致浏览器出现异常,如篡改主页、添加恶意插件等。 |
| Constructor(构造器) | 用于创建其他恶意软件的程序,攻击者可利用构造器快速生成新的恶意软件。 |
| DDoS(分布式拒绝服务攻击程序) | 通过控制大量被感染的计算机(僵尸网络),向目标服务器发送海量请求,使其无法正常服务,导致系统崩溃或网络拥堵。 |
| Exploit(漏洞利用程序) | 利用系统、软件或硬件中的漏洞进行攻击,使攻击者能够获得系统的控制权或执行恶意操作。 |
| Hacktool(黑客工具) | 供攻击者用于入侵、破坏或控制计算机系统的工具,如密码破解工具、端口扫描工具等。 |
| Joke(玩笑类) | 这类恶意软件通常不会造成严重的破坏,可能只是通过弹出一些玩笑性质的窗口或消息来干扰用户。 |
| Misleading(误导类) | 通过虚假信息误导用户,使其做出错误的操作,如诱导用户下载恶意软件、输入敏感信息等。 |
| MonitoringTool(监控工具) | 在用户不知情的情况下,对用户的行为进行监视,收集用户的敏感信息,如键盘输入、浏览历史等。 |
| Program(程序类) | 较为宽泛的概念,可能指具有恶意功能的程序。 |
| PWS(个人网络服务器恶意软件) | 可能会利用个人网络服务器的漏洞进行攻击,或者伪装成个人网络服务器软件来窃取用户信息。 |
| Ransom(勒索软件) | 偷偷安装在用户电脑上,锁定用户的计算机或者加密用户的文件,并要求用户支付赎金以恢复访问权限。 |
| RemoteAccess(远程访问类) | 允许攻击者远程控制受感染的计算机,执行各种操作,如窃取数据、安装其他恶意软件等。 |
| Rogue(流氓软件) | 通常伪装成合法的安全软件,诱导用户购买或下载,实际上会对用户的系统造成损害,如窃取信息、破坏系统文件等。 |
| SettingsModifier(设置修改器) | 修改计算机系统的设置,可能导致系统出现异常或安全漏洞。 |
| SoftwareBundler(软件捆绑器) | 将恶意软件与其他合法软件捆绑在一起,在用户安装合法软件时,同时安装恶意软件。 |
| Spammer(垃圾邮件发送器) | 控制受感染的计算机发送大量的垃圾邮件,可能会导致网络拥堵,也可能用于传播其他恶意软件。 |
| Spoofer(欺骗器) | 伪装成其他合法的实体,如网站、应用程序等,骗取用户的信任,从而窃取用户的敏感信息。 |
| Spyware(间谍软件) | 在用户不知情或未取得用户许可的情况下,对用户的行为进行监视,收集用户的敏感信息,如键盘输入、浏览历史、个人隐私等。 |
| Tool(工具类) | 与Hacktool类似,是供攻击者使用的工具。 |
| Trojan(特洛伊木马) | 伪装成有用的程序诱骗用户安装,但实际上在后台运行恶意代码,可以窃取敏感信息、提供后门访问或执行其他恶意操作。 |
| TrojanClicker(点击器木马) | 自动点击广告或链接,可能用于增加广告的点击量或执行其他恶意操作,给用户带来经济损失。 |
| TrojanDownloader(下载器木马) | 用于下载其他恶意软件到受感染的计算机上,进一步扩大攻击范围。 |
| TrojanNotifier(通知器木马) | 可能会弹出虚假的通知消息,误导用户进行操作。 |
| TrojanProxy(代理木马) | 将受感染的计算机作为代理服务器,用于隐藏攻击者的真实身份,进行非法活动。 |
| TrojanSpy(间谍型木马) | 具有间谍软件的功能,在用户不知情的情况下,收集用户的敏感信息。 |
| VirTool(病毒工具) | 可能是用于创建、传播或控制病毒的工具。 |
| Virus(病毒) | 通过修改其他程序,使其他程序包含一个自身可能已发生变化的原程序副本,从而完成传播自身程序。一旦感染,病毒会破坏文件或者系统的正常运行,并且可以自我复制,扩散到更多的文件和系统中。 |
| Worm(蠕虫) | 能够自我复制并通过网络传播,通常会占用大量系统资源并导致网络拥堵,还可能执行其他恶意操作,如窃取信息、安装后门等。 |
二、恶意软件平台相关
2.1 操作系统
| 平台 | 描述 |
|---|---|
| AndroidOS | 针对安卓操作系统。 |
| DOS | 针对MS - DOS平台。 |
| EPOC | 针对Psion设备。 |
| FreeBSD | 针对FreeBSD平台。 |
| iPhoneOS | 针对iPhone操作系统。 |
| Linux | 针对Linux平台。 |
| MacOS | 针对MAC 9.x平台或更早版本。 |
| MacOS_X | 针对MacOS X或更高版本。 |
| OS2 | 针对OS2平台。 |
| Palm | 针对Palm操作系统。 |
| Solaris | 针对基于System V的Unix平台。 |
| SunOS | 针对Unix平台4.1.3或更低版本。 |
| SymbOS | 针对Symbian操作系统。 |
| Unix | 针对通用Unix平台。 |
| Win16 | 针对Win16 (3.1)平台。 |
| Win2K | 针对Windows 2000平台。 |
| Win32 | 针对Windows 32位平台。 |
| Win64 | 针对Windows 64位平台。 |
| Win95 | 针对Windows 95、98和ME平台。 |
| Win98 | 仅针对Windows 98平台。 |
| WinCE | 针对Windows CE平台。 |
| WinNT | 针对WinNT。 |
2.2 脚本语言
| 脚本语言 | 说明 |
|---|---|
| ABAP | Advanced Business Application Programming scripts |
| ALisp | ALisp scripts |
| AmiPro | AmiPro script |
| ANSI | American National Standards Institute scripts |
| AppleScript | compiled Apple scripts |
| ASP | Active Server Pages scripts |
| AutoIt | AutoIT scripts |
| BAS | Basic scripts |
| BAT | Basic scripts |
| CorelScript | Corelscript scripts |
| HTA | HTML Application scripts |
| HTML | HTML Application scripts |
| INF | Install scripts |
| IRC | mIRC/pIRC scripts |
| Java | Java binaries (classes) |
| JS | Javascript scripts |
| LOGO | LOGO scripts |
| MPB | MapBasic scripts |
| MSH | Monad shell scripts |
| MSIL | .Net intermediate language scripts |
| Perl | Perl scripts |
| PHP | Hypertext Preprocessor scripts |
| Python | Python scripts |
| SAP | SAP platform scripts |
| SH | Shell scripts |
| VBA | Visual Basic for Applications scripts |
| VBS | Visual Basic scripts |
| WinBAT | Winbatch scripts |
| WinHlp | Windows Help scripts |
| WinREG | Windows registry scripts |
2.3 宏
| 宏 | 描述 |
|---|---|
| A97M | Access 97, 2000, XP, 2003, 2007, and 2010 macros |
| HE | macro scripting |
| O97M | Office 97, 2000, XP, 2003, 2007, and 2010 macros - those that affect Word, Excel, and Powerpoint |
| PP97M | PowerPoint 97, 2000, XP, 2003, 2007, and 2010 macros |
| V5M | Visio5 macros |
| W1M | Word1Macro |
| W2M | Word2Macro |
| W97M | Word 97, 2000, XP, 2003, 2007, and 2010 macros |
| WM | Word 95 macros |
| X97M | Excel 97, 2000, XP, 20 |
2.4 后缀
提供有关恶意软件的额外详细信息,包括如何将其用作多组件威胁的一部分:
- .dam:受损的恶意软件。
- .dll:恶意软件的动态链接库组件。
- .dr:恶意软件的投放器组件。
- .gen:使用通用签名检测到的恶意软件。
- .kit:病毒构造器。
- .ldr:恶意软件的加载器组件。
- .pak:压缩的恶意软件。
- .plugin:插件组件。
- .remnants:病毒的残留部分。
- .worm:恶意软件的蠕虫组件。
- !bit、!cl、!dha、!pfn、!plock、!rfn:内部类别,用于指代某些威胁。
- !rootkit:恶意软件的rootkit组件。
- @m:蠕虫邮件发送器。
- @mm:大规模邮件蠕虫。