然后对数据包进行分析,包括网络协议和命令解析,在解析的代码中快速检测某个攻
击特征是否存在。
基于异常的检测技术有很多,例如采用统计模型、专家系统等技术来实现。它首
先要对系统的行为进行统计,获得系统正常使用时的统计性能,如访问次数、操作失
败次数和延时等。统计性能被用来与网络、系统的行为进行比较,当观察值在正常值
范围之外时,入侵检测系统就会判断有入侵发生。
(3)入侵检测系统的部署原则
基于主机的入侵检测系统其安装部署简单,主要安装在检测的主机系统中,而基
于网络的入侵检测系统复杂很多,需要考虑部署原则,以优化性能。
2.轻量级的网络入侵检测系统 Snort
自 20 世纪最后几年来,随着 Internet 的广泛应用,各种 IDS 产品层出不穷。其中
Snort 是目前应用最为广泛的一个 IDS 产品,它有如下特点:
·它是一个轻量级的网络入侵检测系统,所谓轻量级是指该软件在运行时只占用极
少的网络资源,对原有网络性能影响很小。
·从数据来源上看,它是一个基于网络入侵的检测软件,即它作为嗅探器对发往同
一网络上的其它主机的流量进行捕获,然后进行分析。
·它的工作采用误用检测模型,即首先建立入侵行为特征库,然后在检测过程中,
将收集到的数据包和特征码进行比较,以得出是否入侵的结论。
·它是用 C 语言编写的开放源代码网络入侵检测系统。其源代码可以被自由地读
取、传播和修改,任何一个程序员都可以自由地为其添加功能,修改错误、任意传
播。
· 它 是 一 个 跨 平 台 软 件 , 所 支 持 的 操 作 系 统 非 常 广 泛 , 比 如
Windows,Linux,SunOS 等都支持。在实验中我们将在 Windows 系统上构建 Snort。
·Snort 有 3 种主要模式:信息包嗅探器、信息包记录器或成熟的入侵探测系统。
Snort 的一些功能:
·实时通信分析和信息包记录。
·包装有效载荷检查。
·协议分析和内容查询匹配。
·探测缓冲溢出、秘密端口扫描、CGI 攻击、SMB 探测、操作系统侵入尝试。
·对系统日志、指定文件、UNIX socket 或通过 Samba 的 WinPopus 进行实时报警。
在 Windows 平台上安装 Snort 所需的软件包见表 3.5。
表 3.5 安装 Snort 需要的软件包
软件包 网 址 作 用
WinPcap http://winpcap.polito.it/
网络数据包截取驱动程序,用于从网卡
中抓取数据包。
Snort http://www.snort.org
Windows 中的 snort 安装包,入侵检测的
核心部分。
Acid http://www.cert.org/kb/acid
基于 PHP 的入侵检测数据库分析控制
台。
ADODB http ://php.weblogs.com/adodb
为 ACID 提供便捷的数据库接口。
Apache http ://www.apache.org
Windows 版本的 Web PHP 服务器。
Jpgraph http ://www.aditus.nu/jpgraph
PHP 所用图形库。
MySQL http ://mysql.com
Windows 版本的 MySQL 数据库,用于存
储 snort 的日志、报警、权限等信息。
评论7