我必须为基于汇编代码的恶意软件编写 Yara 规则。假设我有一个解压的恶意软件样本。为避免误报,所选代码必须是唯一的。谁能告诉我哪个代码合适,哪个不合适?例如 mov eax,1 不是一个好的选择。但是什么样的代码才是一个好的标准呢?基于 Yara 规则的汇编代码的标准是什么?
基于代码的 Yara 规则
逆向工程
恶意软件
亚拉
2021-06-17 20:06:05
1个回答
同意罗伯特的观点 - 避免误报的常见方法是拥有大量已知良性软件的软件池,您可以使用它来检查规则。
如果您刚刚开始编写 yara 规则,那么请专注于字符串这一简单方法,根据唯一字符串编写 yara 规则。
要回答这个问题:谁能告诉我哪些代码合适,哪些不合适?基于 Yara 规则的汇编代码的标准是什么?
您可以使用的一些标准:
- 任何单行汇编代码都是不好的选择,你需要几行汇编代码
- 使用唯一密钥根据自定义加密/解密循环编写 yara 规则
- 不要对 yara 规则采用像 RC4 这样的标准加密/解密,这就是我在上面说自定义的原因
- 不要包含具有太多地址偏移量的 yara 规则,因为它可能不会命中另一个哈希
- 通配符地址偏移以命中同一恶意软件系列的不同哈希值
- 获取一个代码模式,它正在执行一些特定于该恶意软件样本的独特步骤
- 少量字符串和汇编代码的混合应该会给你很好的结果
上面的列表并不是一个全面的标准,但您可以通过这样做并查看现有的 Yara 规则来了解更多信息。
检查此存储库以了解不同类型的 Yara 规则,您将对字符串和汇编代码 Yara 规则有所了解:https : //github.com/Yara-Rules/rules