我正在尝试使用 ssdeep 模糊哈希技术创建 Yara 规则,我知道我的 Yara 规则应该如下所示:
import "hash"
rule SuspiciousSSDeep {
meta:
description = "Detects suspicious files based on ssdeep fuzzy hashing"
strings:
$ssdeep_hash = "ssdeep:"
condition:
hash.ssdeep(0, filesize) == $ssdeep_hash
}
但是当我启动 May Yara 规则时,我收到错误“无效的字段名称“ssdeep””
我正在使用 Yara 4.5,我的 yara 安装似乎支持哈希模块,因为当我启动此命令时,它会显示为安装时出现的模块:
import "hash"
rule SuspiciousSSDeep {
meta:
description = "Detects suspicious files based on ssdeep fuzzy hashing"
strings:
$ssdeep_hash = "ssdeep:"
condition:
hash.ssdeep(0, filesize) == $ssdeep_hash
}
您知道为什么 ssdeep 不被识别为哈希模块的一部分吗?确实,Yara 文档中没有指出 ssdeep https://yara.readthedocs.io/en/v3.4.0/modules/hash.html 所以这个信息可能是错误的。
有人知道如何在 Yara 规则中使用 ssdeep 模糊哈希吗?
我试图找到另一种方法来在 Yara 规则中实现 ssdeep,但我找不到它......
查看当前版本的源代码(2024 年 6 月),哈希模块中没有
ssdeep
函数:
https://github.com/VirusTotal/yara/blob/master/libyara/modules/hash/hash.c
这些是唯一可用的方法:
begin_declarations
declare_function("md5", "ii", "s", data_md5);
declare_function("md5", "s", "s", string_md5);
declare_function("sha1", "ii", "s", data_sha1);
declare_function("sha1", "s", "s", string_sha1);
declare_function("sha256", "ii", "s", data_sha256);
declare_function("sha256", "s", "s", string_sha256);
declare_function("checksum32", "ii", "i", data_checksum32);
declare_function("checksum32", "s", "i", string_checksum32);
declare_function("crc32", "ii", "i", data_crc32);
declare_function("crc32", "s", "i", string_crc32);
end_declarations