概述

Yara 规则命名规范,方便编写 Yara 规则时取名

部分内容参考AI

相关参考

规则命名规范

基础规范

  1. 基础格式

    • 允许字符:字母(A-Za-z)、数字(0-9)、下划线(_),禁止空格或连字符(如 rule Trojan-Spy 非法)。

    • 长度建议:不超过 64 字符(避免工具链截断)。

    • 示例:

      rule Banker_Stealer_2025  // 合法 
      rule APT29#Operation    // 非法(含特殊符号)
  2. 语义化命名

    • 推荐结构:<威胁类型>_<家族/变种>_<标识符>,例如:
      • Ransomware_LockBit_3
      • Backdoor_CobaltStrike_HTTP
      • Trojan_Emotet_Macro
  3. 避免冲突

    • 同一命名空间(namespace)内规则名需唯一,否则后者覆盖前者。

相关内容

以下是 YARA规则命名中 <威胁类型>_<家族/变种>_<标识符> 的常见分类及示例(截至2025年6月13日),按威胁情报最新实践整理,覆盖主流恶意软件和攻击场景:


一、威胁类型(Threat Type)

分类示例说明
Ransomware勒索软件LockBitBlackCat
Backdoor后门程序CobaltStrikeNanoCore
Trojan木马EmotetQakBot
Spyware间谍软件RedLineCerberus
Worm蠕虫WannaCryStuxnet
Dropper释放器IcedIDBazarLoader
Infostealer信息窃取RaccoonVidar
APT高级持续性威胁APT29APT41
Exploit漏洞利用工具ProxyLogonLog4Shell
Macro宏病毒HancitorFormbook

二、家族/变种(Family/Variant)

命名逻辑示例关联威胁类型
恶意软件家族ContiREvilRansomware
攻击组织代号FIN7LazarusAPT
代码特征Obfuscated_PS1Script/Exploit
传播方式Phish_EmailTrojan/Spyware
C2协议HTTP_C2Backdoor

三、标识符(Identifier)

用途示例适用场景
版本/变种v2BETA区分迭代(如 Emotet_v3
攻击目标FinanceHealthcare行业针对性(如 APT29_GOV
技术特征AES_Encrypted加密方式(如 Ransomware_AES
时间戳20250613首次发现日期
哈希片段0x1a2b关键代码片段哈希

完整规则命名示例

  1. 勒索软件:Ransomware_LockBit_3_AES
    • 类型:Ransomware
    • 家族:LockBit 3.0变种
    • 标识符:使用AES加密
  2. APT攻击:APT_APT29_CloudSnooper_GOV
    • 类型:APT
    • 家族:APT29(Cozy Bear)的CloudSnooper工具
    • 标识符:针对政府目标
  3. 宏病毒:Macro_Hancitor_Phish_Invoice
    • 类型:宏病毒
    • 家族:Hancitor传播链
    • 标识符:钓鱼邮件伪装为发票

命名空间规范

基础规范

  1. 命名规则

    • 与规则名称类似,但需体现来源分类,例如:
      • Microsoft_Sysmon(厂商+工具)
      • MalwareBazaar_Ransomware(开源项目+分类)
      • Internal_CompanyX_Logs(内部私有规则)
  2. 行业惯例

    类型命名示例适用场景
    商业厂商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_CARMITRE的对抗行为规则库

二、按威胁分类

类型命名示例覆盖范围
恶意软件家族Malware_Emotet_Macro特定家族(如Emotet的宏病毒变种)
攻击技术TTP_T1059_CommandLineMITRE ATT&CK技术编号关联规则
行业针对性Sector_Healthcare_Ransom针对医疗行业的勒索软件规则
攻击阶段KillChain_InitialAccess按杀伤链阶段分类(如初始访问)
漏洞利用Exploit_Log4Shell_RCE特定漏洞(如Log4j远程代码执行)

三、混合命名实践

  1. 厂商+威胁类型
    • CrowdStrike_Ransomware_LockBit
    • 结构:<厂商>_<威胁类型>_<变种>
  2. 平台+行业
    • AlienVault_Finance_Phishing
    • 结构:<情报平台>_<行业>_<攻击类型>
  3. 时间戳动态命名
    • 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 脚本语言

脚本语言说明
ABAPAdvanced Business Application Programming scripts
ALispALisp scripts
AmiProAmiPro script
ANSIAmerican National Standards Institute scripts
AppleScriptcompiled Apple scripts
ASPActive Server Pages scripts
AutoItAutoIT scripts
BASBasic scripts
BATBasic scripts
CorelScriptCorelscript scripts
HTAHTML Application scripts
HTMLHTML Application scripts
INFInstall scripts
IRCmIRC/pIRC scripts
JavaJava binaries (classes)
JSJavascript scripts
LOGOLOGO scripts
MPBMapBasic scripts
MSHMonad shell scripts
MSIL.Net intermediate language scripts
PerlPerl scripts
PHPHypertext Preprocessor scripts
PythonPython scripts
SAPSAP platform scripts
SHShell scripts
VBAVisual Basic for Applications scripts
VBSVisual Basic scripts
WinBATWinbatch scripts
WinHlpWindows Help scripts
WinREGWindows registry scripts

2.3 宏

描述
A97MAccess 97, 2000, XP, 2003, 2007, and 2010 macros
HEmacro scripting
O97MOffice 97, 2000, XP, 2003, 2007, and 2010 macros - those that affect Word, Excel, and Powerpoint
PP97MPowerPoint 97, 2000, XP, 2003, 2007, and 2010 macros
V5MVisio5 macros
W1MWord1Macro
W2MWord2Macro
W97MWord 97, 2000, XP, 2003, 2007, and 2010 macros
WMWord 95 macros
X97MExcel 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:大规模邮件蠕虫。