分模块概述Snort插件机制

安全
作为轻量级的免费入侵检测系统,受到使用者的好评,本文通过预处理插件、处理插件和输出插件等模块概述Snort插件机制,并简单概括Snort的总体流程。

Snort作为一款轻量级的入侵检测系统,其广受追捧的原因不仅是免费的特性,并且Snort插件机制也是十分完善的。本篇文章简单的通过分模块来概述Snort插件机制

1. 预处理插件

以spp_开头的文件。预处理插件在规则匹配误用检测之前运行,完成的功能主要为

①模拟TCP/IP堆栈功能的插件,如TIP碎片重组、TCP流重组插件

②各种解码插件:http解码插件、unicode解码插件、rpc解码插件、telnet解码插件等

③规则匹配无法进行攻击检测时所用的插件:端口扫描插件、spade异常入侵检测插件、bo检测插件、arp欺骗检测插件等。从各预处理插件文件名可对此插件功能做出推断。

2. 处理插件

以sp_开头的文件。处理插件在规则匹配阶段的ParseRuleOption中被调用,辅助完成基于规则的匹配过程。每个规则处理函数通常对应规则的选项中的一个关键字,实现对这个关键字的解释。其主要功能为:

①检查协议各字段,如TCPFlag、IcmpType、IpId、FragBits、Rpc、Dsize等;

②辅助功能,例如关闭连接、会话记录、攻击响应、严重级别等。

3. 输出插件

以spo_开头的文件,又分为日志和警告两种类型在两个列表中,在规则匹配过程中和匹配结束后调用,以便记录日志和警告。如同其它插件,它们也对应一个关键字,规则中相应关键字将激活这些插件的运行。输出插件和预处理插件除了注册到不同的列表中之外,其它的过程很相似处理插件的过程其实也是大同小异,只是在初始化过程中有所不同而己。输出和预处理插件的初始化通常只有一次,在内存中只有一个实例,所以被注册到一个列表中处理插件则完成每个匹配规则的一部分功能,所以处理插件为每个匹配规则初始化一次,然后插入到规则树。

4. Snort的总体流程

Snort的入侵检测流程分成两大步第I步是规则的解析流程,包括从规则文件中读取规则和在内存中组织规则,其过程为

①读取规则文件

②依次读取每条规则

③解析规则,用相应的规则语法表示

④在内存中对规则进行组织,建立规则语法树。

第II步是使用这些规则进行匹配的入侵流程。其过程为对从网络上捕获的每一条数据报文和在第I步建立的规则树进行匹配,若发现存在一条规则匹配该报文,就表示检测到一个攻击,然后按照规则规定的行为进行处理若搜索完所有的规则都没有找到匹配的规则,则视此报文正常。以上即是对总体架构的梗概分析。
 
 

【编辑推荐】

  1. snort入侵检测安装及操作方法
  2. snort入侵检测简介及常用软件
  3. Snort——轻型的IDS工具
  4. 用snort对抗IDS躲避技术
  5. SnortCenter不安全Sensor配置文件权限漏洞

 

责任编辑:张启峰 来源: 博客
相关推荐

2011-06-09 17:26:17

Qt 插件 API

2009-12-11 10:29:03

PHP插件机制

2021-06-22 06:52:46

Vite 插件机制Rollup

2023-11-07 10:19:08

2011-01-21 15:02:14

jQuerywebJavaScript

2023-06-15 08:01:01

Vite插件机制

2019-12-19 08:56:21

MybatisSQL执行器

2020-05-22 09:10:10

前端框架插件

2021-12-19 07:21:48

Webpack 前端插件机制

2021-03-04 08:19:29

插件机制代码

2021-12-03 15:59:30

Nuxt3插件机制

2010-07-19 09:08:38

Perl模块

2010-01-26 14:04:02

2021-03-15 08:40:42

Vue组件函数

2009-08-04 15:22:33

ASP.NET缓存机制

2009-08-26 09:36:03

C#泛型

2022-07-27 16:23:36

Kubernetes容器

2010-01-26 13:33:26

Android构建模块

2010-02-03 10:36:00

HTML 5Flash视频

2011-04-22 09:48:51

SimpleFrame
点赞
收藏

51CTO技术栈公众号