Yara、Snort和Sigma规则

基于规则的检测都会是处理造成绝大部分实际损失的已知安全威胁的最有效手段,它作为当前安全检测的核心与基石,其地位短期内还无法动摇。

Yara规则是基于二进制文件的静态HEX数据内容实现的扫描规则。简单点说,就是基于原始文件的内容数据扫描规则。
Snort规则是基于IDS入侵检测系统,主要针对流量中数据包内容编写的扫描规则。
SIGMA是一种通用的开放签名格式,允许以简单的方式描述SIEM系统中的相关日志事件。Sigma规则更偏向于对文件动态行为的审计。

Yara规则

很多人对yara规则是比较熟悉的。

yara规则根据用途可以分为hunting yara规则和查杀yara规则两种。
hunting作用的yara规则编写相对来说比较简单。除了命中目的样本外,还允许命中更多无关的黑样本,但要尽可能少地命中灰色样本和白色样本。
查杀yara规则可以看作是hunting yara规则基础上再进行收缩范围的结果,使yara规则只能命中目的样本,达到精准查杀的目的。

比较详细的介绍链接:https://www.freebuf.com/articles/system/26373.html

APT Yara下载地址:
https://github.com/bartblaze/Yara-rules
https://valhalla.nextron-systems.com/
https://github.com/Neo23x0/signature-base

举例:

    
rule Winnti_BackDoor_Spyder
{
    
    
    meta:
        author = "Stupid Bird"
    strings:
        $event="Global\\BFE_Notify_Event_{65a097fe-6102-446a-9f9c-55dfc3f45853}" nocase wide ascii      
       $hexpecompare = {
    
    81 3? 50 45 00 00 74 0? ?? C1 00 00 00 FF ??}
    condition:
       uint16(0) == 0x5A4D and filesize < 700KB and all of them	 
}

SNORT规则

在1998年,Martin Roesch用C语言开发了开放源代码的IDS入侵检测系统Snort。直至今天,Snort已发展成为一个具有多平台、实时流量分析、网络IP数据包记录等特性的强大的网络入侵检测/防御系统,即NIDS/NIPS。当Snort作为NIDS模式运行时,可以分析网络传输的数据包,它发现可疑流量时就会根据事先定义好的规则发出报警。

Snort适用于具有与恶意C2地址的通信流量,或者能够捕获到通信服务器时具有典型特征(如:字符串或固定的二进制)的数据包pcap时,对恶意软件的管控

按照手册上详细的规则介绍,编写示例规则如下:

alert tcp ![192.168.200.128/32] any -> 192.168.200.128/32 80 (logto:”task1”; msg:this is task 1; sid:1000001)

其中alert 表示这是一个警告。tcp表示要检测所有使用tcp协议的包,因为http协议是tcp/ip协议的一部分。接下来的一部分表示源IP地址,其中!表示除了后面IP的所有IP,因此![192.168.200.128/32]表示的就是除了本机之外的所有主机。再后面的一个表示端口,any表示源IP地址任何一个端口,也就是说源IP地址的主机不管哪个端口发送的包都会被检测。->表示检测的包的传送方向,表示从源IP传向目的IP。下面的一个字段表示目的IP,在这里表示主机。后面的字段表示端口号,经过查阅相关资料,80端口在winxp中作为IIS对主机的访问端口。
括号中的规则选项部分,logto表示将产生的信息记录到文件,msg表示在屏幕上打印一个信息,sid表示一个规则编号,如果不在规则中编写这个编号,则执行过程中会出错,而且这个编号是唯一的能够标识一个规则的凭证,1000000以上用于用户自行编写的规则。
因此,这条规则会将除了本地主机之外的所有主机的所有端口发向本主机80端口的tcp数据包进行检测,并报警记录到日志文件中。

Snort规则语法手册:https://paginas.fe.up.pt/~mgi98020/pgr/writing_snort_rules.htm

Sigma规则

诸如ArcSight和Splunk之类的SIEM解决方案使分析人员能够广泛了解其环境中的威胁。这使他们能够优化分类和修复。还可以加快检测速度,从而减少事件响应时间。
Sigma支持几种SIEM工具,例如Elasticsearch,IBM QRadar和Splunk。它有以下优点:
一、它使分析能够在组织之间重复使用和共享。
二、高级通用分析语言
三、解决记录签名问题等最可靠的方法
四、纯文本YAML文件
五、简单模式

举例:CVE-2009-3898的Sigma规则

title: CVE-2009-3898 Exploitation Attempt
id: cf98b0cf-0b0c-4af6-bd28-6cefabd58cf8
status: experimental
description: Detects the exploit attempt for Path Traversal Vulnerability
references:
  - https://www.exploit-db.com/exploits/9829
author: Loginsoft Research unit
date: 2020/05/27
logsource:
  product: nginx
  category: webserver
detection:
  selection:
    sc-status: 204
    cs-method: 
      - 'COPY'
      - 'MOVE'
    c-uri: '*index.html'
  keywords:
    - 'client sent invalid "Destination" header'
  condition: selection or keywords
falsepositives:
  - Unknown
level: medium

参考文献

恶意软件模式匹配利器 - YARA
https://www.freebuf.com/articles/system/26373.html
实验 snort安装配置与规则编写
https://www.cnblogs.com/UnGeek/p/5849384.html
使用SIGMA规则进行威胁检测
https://www.loginsoft.com/blog/2020/06/17/threat-detection-with-sigma-rules/

猜你喜欢

转载自blog.csdn.net/qq_43312649/article/details/114672049