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时,对恶意软件的管控

和防火墙产品运营沟通过后,当恶意软件无法复现运行场景,无法获取数据流量时,默认没有必要提取snort规则。只能获取恶意域名时,直接添加域名拦截即可。

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

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/

你可能感兴趣的:(网络)