OISF IDS/IPS engine prototype intro(OISF 引擎原型介绍)

2009/01/07

原文地址:https://blog.inliniac.net/2009/01/07/oisf-ids-ips-engine-prototype-intro/

一下是我从这篇blog翻译下来的一部分:

迄今有30K行的新写的C语言代码,分布于150+文件中。完全线程化使其在多核心、多CPU的机器上很容易扩展。代码通过大量的单元测试,对于避免、追踪bug很有帮助。

它现在仅限于作为内联IDS/IPS,使用Linux中的libnetfilter_queue接口来获取和判断包。包获取、判断子系统非常模块化。它为IPv4和IPv6,TCP和UDP提供了工作协议解码器。拥有flow engine、detection engine、output plugins。

对于rules/signatures,它目前只支持Snort签名语法,并且加载了当前VRT和Emerging Threats 签名的70%。最主要的缺失了flowbits选项,这是HTTP解析、基本uri匹配的基础。

许多事还没有做,比如分片处理,TCP流状态跟踪,TCP流重组,pcap模式,端口扫描检测,一个类似flowbits的功能,标准化等等。

我打算从这篇博客开始,记录下我写的代码的不同部分,保持联系。

从作者这篇blog看来,坐着准备开始记录如何编写suricata的过程,我也准备从这里开始看起,虽然这已经是8年前的blog,但是这是suricata最开始的样子,其中作者举例的大部分功能至今也已经实现。但了解这个过程,对理解suricata应该有一些作用。

你可能感兴趣的:(OISF IDS/IPS engine prototype intro(OISF 引擎原型介绍))