SuperAPI AI 工具集

writing-yara-rules

写作与研究

查看项目

更新于 10-16 02:30

技能介绍

用途:编写用于检测恶意软件家族、工具或能力的 YARA 规则,把已知样本或 IOC 转化为可移植、可测试的检测签名,用于 VirusTotal Retrohunt、LOKI/THOR 或主机扫描等狩猎场景,也可用于聚类相关样本、审查调优已有规则。不适用于日志/SIEM 遥测检测(应使用 Sigma 规则)、检测策略选择、样本分析或威胁情报打包。

主要能力:规则由 meta(文档信息,不参与匹配)、strings(模式)、condition(布尔判定)三部分组成。字符串支持文本、十六进制(?? 任意字节、0? 任意低半字节、[4-6] 跳转)和正则,修饰符包括 nocase、wide、ascii、fullword、xor、base64 等。条件支持文件魔数锚定(如 uint16(0) == 0x5A4D)、偏移约束(at、in、#计数、@偏移)、filesize 限制、N of them 配额和 for..of 谓词。模块方面,pe 提供 imphash、导入导出、节区、Rich header 等结构信息,elf 对应 Linux,math 计算熵值,hash 在条件内计算摘要。

使用方式:用 yara -w rule.yar sample 测试是否命中,-s 显示命中字符串及位置,-r 递归扫描目录,-C 编译为 .yarc 复用。内存与进程扫描用 yara -w rule.yar mem.dmp 或 yara -w rule.yar <PID>,内存规则需去掉文件魔数和 filesize 锚点。YARA-X 为 Rust 重写版,CLI 为 yr(如 yr scan、yr compile、yr fmt),解析更严格,部分第三方模块未移植。

限制:规则需在已知真样本上全部命中、在正常软件语料上零命中才算完成;每个字符串应保留至少 4 字节连续非通配字节作为原子,避免无界或灾难性正则;文件名、编译时间戳、C2 IP 等易变特征不具持久性;文件规则与内存规则不可互换。资料未提供具体收费、价格或平台信息。