YARA 规则指南:什么是 YARA 规则及其编写方法

要点


YARA(Yet Another Recursive Acronym,递归缩写)规则是一项功能强大的模式匹配工具,安全团队可用其根据已知签名、字符串和行为发现并分类恶意软件。在备份恢复中,YARA 扫描增加了一层重要的保护。结合不可变的备份存档和安全还原流程,YARA 规则可确保安全和干净的恢复。在本文中,我们将探讨 YARA 的功能,包括它的作用,以及如何为威胁情报和恶意软件检测编写有效的 YARA 规则。

掌握如何借助 Veeam 备份与复制服务器中的 YARA 引擎制定数据弹性策略,并抵御勒索软件及其他恶意软件变体的威胁。

YARA 规则在网络安全中的作用

YARA 规则扫描是帮助识别和分类恶意软件(包括病毒、蠕虫和勒索软件)最有效的方法之一。YARA 规则引擎是一种开源工具,能够帮助网络安全团队搜索和检测恶意软件,使他们有机会在恶意软件造成重大损害之前予以消除。

必须对的存在进行强有力的防护。即使您已经部署了网络安全防御措施,恶意软件仍可能通过窃取密码、网络钓鱼攻击或其他途径侵入您的系统和数据。如果恶意软件成功进入并被执行以加密或泄露敏感数据,它还可能被用于勒索钱财,并对您的组织造成重大损害。

了解 YARA 规则

在创建 YARA 规则之前,了解它们的定义和工作原理非常重要。

什么是 YARA 规则?

YARA 规则能够识别存在于恶意软件或其家族中的模式,从而判断是否存在恶意软件。当规则发现指示某个恶意软件的特征或模式时,它会通知相关人员,以便他们可以将其隔离或删除。

YARA 的用例

安全团队广泛使用 YARA 规则,在数据还原或共享之前验证其清洁性。无论是集成到杀毒引擎中,还是分层到备份环境中,YARA 的灵活性都使其在安全性和数据弹性方面具有重要价值。我们来看一看组织应用 YARA 的一些方式:

用于恶意软件检测的 YARA 规则

从本质上讲,YARA 只有一个目的:快速准确地识别恶意代码模式。安全团队利用它扫描文件、内存和备份,以检测已知恶意软件或其家族的迹象,包括恶意软件的变体或特定类型。

基于签名的 YARA

这些 YARA 规则关注于已知恶意软件中常见的特征模式,例如字符串、哈希、字节序列、代码片段或文件结构。这些规则具有高效且精确的特点,非常适合检测已经研究和分类的威胁变体。

文件类型的 YARA 规则

YARA 不仅限于恶意软件。它还可以按类型或扩展名(如 .pdf、.exe)对文件进行分类和过滤。 这有助于安全团队识别可执行文件、检测嵌入式脚本并标记可疑附件。在存储和备份环境中,YARA 改善了可见性和数据卫生状况。

YARA 规则和威胁情报

YARA 规则可以与威胁情报工具和最新的威胁数据结合使用。安全团队可以根据真实世界的指标(如哈希值、域名或攻击证据)来构建或导入规则。这有助于发现新的或新兴的威胁。

使用 YARA 规则检测勒索软件

根据 Veeam 发布的2025 年勒索软件趋势与主动应对策略报告,69% 的组织在 2024 年至少遭受过一次勒索软件攻击。像 Veeam 这样的顶级数据弹性企业会提供基于签名的内置备份恶意软件检测扫描器,以保持正常和可恢复性。我们还新增了备份文件大小分析器、异常检测和攻击指标(IOC)工具检测等功能。

然而,对于专门用于检测能够实施勒索软件攻击的恶意软件或模式的规则来说,YARA 规则是发现恶意软件并提醒管理员的最佳选项。

可以通过检测 CTBLocker 勒索软件相关的 klospad.pdbkeme132.dll 文件名来实现勒索软件的防护的 YARA 规则示例。YARA 规则会扫描这些文件,一旦在备份或恢复过程中发现它们,会立即向您发送警报。

YARA 规则语法 — 须知

YARA 规则遵循简单的结构,旨在实现灵活性和速度。它们具有类似于 C 编程语言的语法。 每个规则都包含标识符、条件和字符串,用于定义在文件或内存对象中要查找的内容。

规则名称

对于规则名称,建议参考你要扫描的文件名或恶意软件名称进行命名。在语法中,规则名称是位于 rule 之后的标识符,且不能是数字或下划线。例如:

rule Detect_Malicious_String
{
condition;
false
}

字符串

字符串部分用于定义模式、签名或字符串。字符串有三种不同类型:

十六进制字符串用于定义原始字节序列,而文本字符串正则表达式则更适合指定可读文本片段。此外,文本字符串和正则表达式还可以通过使用转义序列来表示原始字节。

条件

这是唯一必填的部分,因为它涉及所有编程语言中常用的布尔或算术表达式(例如:and、or、not、+、-、*、/、contains、等)。必须满足条件,规则才能匹配。另一种条件类型可以是文件大小或字符串的匹配长度。有许多方法可以创建包含满足这些需求条件的规则。

元数据

除了字符串定义和条件部分外,规则还可以有一个元数据部分,用于包含有关规则的附加信息。元数据部分通过关键字“meta”来定义。元数据可以包括作者姓名、规则创建日期、规则版本号,以及规则检测内容的描述。

字符串

字符串部分是用于定义 YARA 规则将在您的文件或网络中查找的模式、签名或字符串的地方。YARA 规则可以查找多种类型的字符串,包括结合十六进制与 跳转、替代项和通配符的字符串。文本字符串还可以使用修饰符,例如 nocase、full word、wide,以及正则表达式。您可以在 YARA 文档中了解更多信息,内容涉及高级条件。

在 Veeam Backup & Replication 中编写有效规则

让我们看看如何在 Veeam Backup & Replication 功能中使用它们。

编写有效的 YARA 规则:定义目标

确定要检测的恶意软件。例如,如果您要检测某种特定的恶意软件或勒索软件,可以根据公开的字符串、签名和模式创建规则,这样就能针对特定威胁来保护您的数据。

为避免产生大量结果和误报,建议不要编写一条 YARA 规则来检测所有类型的恶意软件。建议为每种类型的恶意软件分别编写 YARA 规则。

YARA 规则可以编写以完成多项网络安全任务。许多 针对知名恶意软件的 YARA 规则示例可在 GitHub 上获取。欢迎查阅这些示例,获取编写自己规则的灵感!

备份扫描期间的 YARA 规则

对于扫描备份会话,您可以运行 YARA 扫描以执行以下操作:

要在“扫描备份”会话期间执行 YARA 扫描,请执行以下操作:

查看 YARA 扫描结果

要在备份会话统计信息中查看 YARA 扫描结果,您可以:

  1. 在目录窗格中打开“Home”视图,选择“过去 24 小时”,然后在工作区双击您所需的 Scan 备份作业。或者,您可以选择该作业,然后点击功能区上的“统计信息”,或右键点击该作业并选择“统计信息”。
  2. 在目录窗格中打开“历史记录”视图,然后选择“作业”。在工作区域,双击你想要的扫描备份作业。或者,您可以选择该作业并在功能区上单击“Statistics”,或右键单击该作业并选择“Statistics”。

如需查看 YARA 扫描的详细日志,请点击包含扫描备份作业统计信息窗口底部的“Scan Log”按钮。Veeam Backup & Replication 将在一个大小为 1 MB 的文件中显示最新日志。

YARA 规则开发最佳实践

使 YARA 规则更强大、更有效的一些最佳实践包括:

YARA 规则的测试与验证

在生产环境中部署 YARA 规则之前,请测试它们的准确性、效率和误报。确保您的规则能够匹配正确的模式,同时避免匹配范围过大。通过这种方式,您可以保持可靠的检测,而不会产生不必要的干扰。

测试 YARA 规则

然后可以将 YARA 规则集成并添加到 Veeam Data Platform 中,以实现对文件的实时扫描。请务必测试您的 YARA 规则,以确保它们按预期工作。由于 YARA 规则是基于模式或签名的,在暂存环境中测试您的 YARA 规则可以让您验证这些模式是否被准确识别。

你不必用有效的恶意软件感染你的网络来测试 YARA 规则。下载已知恶意软件样本的数据集,以在不危及网络安全的情况下测试您的规则。只有在您确信全新规则有效且不会产生太多误报时,才将其部署到生产环境中。

社区 YARA 规则

YARA 有一个庞大的用户社区,社区中的用户维护公共存储库来共享 YARA 规则。通过共享规则,社区帮助构建了一个庞大的数据库,在恶意软件检测方面,所有人都能从中受益。

协同规则开发

当安全专业人员和组织共享 YARA 规则时,社区可以开发更有针对性的恶意软件防护工具。当这些专业人士分享他们的规则时,他们不仅在传递重要知识,也在邀请他人共同完善其工作。当威胁情报被共享时,整个社区识别危险攻击就会变得更加容易。

YARA 规则、文档和资源

有多个 YARA 规则存储库和社区,您可以在其中共享您的 YARA 规则并与他人协作:

YARA GitHub 存储库这是 YARA 相关内容的官方主要来源。您可以在此处找到最新版本、YARA 文档和 YARA 源代码。

YARA 官方文档托管于 ReadTheDocs,官方 YARA 文档提供了关于如何使用 YARA 及其语法、规则作用以及其检测恶意软件功能的详尽信息。

YARA 规则和签名存储库这是一个很棒的资源,您可以在这里找到社区 YARA 规则和签名的集合。你也可以贡献自己的 YARA 规则,以便其他人可以使用它们。

按勒索软件组织分类的 YARA 规则一个专门收集针对勒索软件的 YARA 规则示例的社区。

Veeam Data Platform 文档:

结论

YARA 规则是一种有效的方法,能够帮助您的组织更轻松地检测恶意软件,从而增强安全。您可以编写自己的 YARA 规则,或利用社区提供的众多免费存储库。如果您正在寻找增强企业网络安全能力的方法,YARA 规则是最佳方案之一。

了解更多信息关于网络弹性以及如何保护您的组织免受勒索软件攻击!下载我们的免费白皮书,了解网络弹性数据恢复策略


常见问题解答

  1. YARA 规则是什么?它们的工作原理是什么?
    YARA 规则是一种基于签名的检测模式,通过将特定字符串、十六进制模式或二进制签名与文件或内存样本进行匹配,帮助识别恶意软件(如病毒、勒索软件和特洛伊木马)。这些规则可以被定制,通过扫描备份文件或内存快照来检测已知威胁或识别可疑行为。
  2. 为什么在备份中使用 YARA 扫描?
    YARA 扫描可检测嵌入备份文件中的恶意软件痕迹,确保您识别最后一个干净的还原点,或防止恢复过程中隐藏威胁的再次引入。这对于在将数据还原到生产环境之前进行勒索软件检测尤为关键。
    使用 YARA 规则扫描备份可以确定首次检测到文件的还原点,并提供时间线等信息,以协助事件响应。
  3. Veeam 如何集成 YARA 扫描?
    Veeam Backup & Replication 在执行 “SureBackup®”、“安全还原” 或手动即席扫描等操作期间会使用 YARA 扫描。
    该过程会将备份还原点挂载到磁盘,并使用用户定义的规则集(.yara 或 .yar 格式)对其运行 YARA 引擎。
  4. 在 Veeam中,我应该将 YARA 规则文件存放在哪里?
    要使用自定义规则,请将您的 `.yara` 或 `.yar` 文件放置在以下文件夹:
    C:\Program Files\Veeam\Backup and Replication\Backup\YaraRules
    放置好文件后,在备份作业设置中启用 YARA 扫描,以启用检测功能。
  5. 当 YARA 规则在扫描期间匹配时会发生什么?
    如果未检测到恶意软件活动,Veeam Backup & Replication 会将机器或其磁盘还原到目标位置。不会创建恶意软件检测事件。
    如果检测到恶意软件活动,Veeam Backup & Replication 将执行以下步骤:
    中止还原过程,或根据安全还原设置的限制条件还原机器或其磁盘。创建恶意软件检测事件,并将对象标记为“受感染”。

其他资源

White Paper
Exit mobile version