基于规则的检测是处理已知安全威胁的最有效手段,它作为当前安全检测的核心与基石,其地位短期内还无法动摇。

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: nginxcategory: webserver
detection:selection:sc-status: 204cs-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/

Yara、Snort和Sigma规则相关推荐

  1. 如何编写snort的检测规则

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 摘要  ...

  2. 网络入侵检测--Snort软件规则编写

    Snort规则编写 今天主要来讲一下Snort中的规则编写规则,还有些绕口,就是编写他们的rules的方法,可以帮助我们理解他们提供的rules和定义我们自己的rules. 首先我们来看一条规则 al ...

  3. Snort规则入门学习

    Snort规则学习 Snort 是一个开源入侵防御系统(IPS).Snort IPS 使用一系列规则来帮助定义恶意网络活动,并利用这些规则来查找与之匹配的数据包,并为用户生成警报. 下面来学习一下sn ...

  4. 开源入侵检测系统—Snort的配置与检测规则编写

    IDS(入侵检测系统)模式配置 1.创建snort用户和组,其中snort为非特权用户 groupadd snort useradd snort -r -s /sbin/nologin -c SNOR ...

  5. Snort Rules规则

    Writing Snort Rules 来源 https://paginas.fe.up.pt/~mgi98020/pgr/writing_snort_rules.htm 基础 Snort使用一种简单 ...

  6. SNORT入侵检测系统

    0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (msg:"Web Access"; sid:1) ale ...

  7. 「干货」Snort使用手册「详细版」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 0x01 前言 1.1 IDS是什么? IDS(intrus ...

  8. Windows下手把手教Snort的安装与配置教程

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Windows下手把手教Snort的安装与配置 0x01 S ...

  9. snort 联动iptables 配置为IPS,NIDS

    一.环境准备 Ubuntu16.10,snort2.9.9,iptables1.6.0,daq-2.0.6 二.snort安装 首先关掉网卡的"Large Receive Offload&q ...

  10. Centos 7搭建SNORT

    文章目录 简介 安装 简介 前言 防火墙可以比喻为办公室门口的警卫,用来检查进出者的身份.而入侵检测系统就像是网上的警报器,当发现入侵者时,指出入侵者的来历.他们正在做什么.入侵检测系统被视为防火墙之 ...

最新文章

  1. P2051 中国象棋
  2. 【渝粤题库】陕西师范大学500013 物理教学论 作业(专升本)
  3. 201521123016《Java设计与程序》第6周学习总结
  4. c++ list排序_LeetCode.451-根据字符出现频率排序
  5. Java之戳中痛点 - (6)避免类型自动转换,例如两个整数相除得浮点数遇坑
  6. uilabe加载html,UILabel加载html字符串
  7. java se win10_Win10 JAVASE的下载和环境变量设置
  8. 微信群裂变不起来怎么办?
  9. 求偏微分方程的数值解(有限差分法、配置法、Galerkin方法)
  10. postman导入postman_collection文件
  11. Spring之refresh的12个步骤
  12. 基于Android的数据传输wifi,基于ANDROID平台的WIFI文件传输系统的研究与实现
  13. CSS复合选择器---后代选择器、子选择器、并集选择器、伪类选择器
  14. LintCode 661. 把二叉搜索树转化成更大的树
  15. IPC Send timeout/node eviction etc with high packet reassembles failure
  16. java选中多张图片上传
  17. java runnable main_【BUG】”main” prio=5 tid=1 RUNNABLE
  18. 属于计算机主机的是什么,电脑主机声音大嗡嗡响是怎么回事
  19. [经典面试题][暴风影音]暴风影音2014校招笔试题
  20. 郑州SEO_关键词排名第三页分析【百度篇】

热门文章

  1. esayExcel自定义注解导出表头批注
  2. 腾讯测试岗位的面试经历
  3. 自建公众号服务器开发教程,01-微信公众号开发入门篇
  4. 程序员如何向领导提涨薪加薪
  5. hp170x打印服务器修改ip,HP_JetDirect_170X配置说明
  6. 视频教程-大数据与数据仓库入门到精通-Hadoop
  7. android6.0 power按键深入分析
  8. BZOJ4134: ljw和lzr的hack比赛
  9. MySQL 第十三章 约束(★★★★★)
  10. 2016年全球超级计算机榜首是,中国神威·太湖之光荣登全球超级计算机500强榜首...