当前位置:文档之家› snort入侵检测技术

snort入侵检测技术

snort入侵检测技术
snort入侵检测技术

Snort入侵检测系统分析

2015年12月6日

Snort入侵检测系统分析

简介

Snort的一些源代码是从著名的TCPDUMP软件发展而来的。snort是一个基于LIBPCA包的网络监控软件,可以作为一个十分有效的网络入侵监测系统。它运行在一个“传感器”主机上,监听网络数据。这台机器可能是一台简陋的运行FREEBSD系统的Pentium100 PC,并且至少有一个网卡。 Snort首先根据远端的IP地址建立目录,然后将检测到的包以TCPDUMP的二进制格式记录或者以自身的解码形式存储到这些目录中.这样一来,你就可以使用snort来监测或过滤你所需要的包.Snort是一个轻量级的入侵检测系统,它具有截取网络数据报文,进行网络数据实时分析、报警,以及日志的能力。snort的报文截取代码是基于LIBPCA库的,继承了LIBPCA库的平台兼容性。它能够进行协议分析,内容搜索/匹配,能够用来检测各种攻击和探测,例如:缓冲区溢出、隐秘端口扫描、CGI 攻击、SMB探测、OS指纹特征检测等等。snort使用一种灵活的规则语言来描述网络数据报文,因此可以对新的攻击作出快速地翻译。snort具有实时报警能力。可以将报警信息写到syslog、指定的文件、UNIX套接字或者使用Winpopup消息。snort具有良好的扩展能力。它支持插件体系,可以通过其定义的接口,很方便地加入新的功能。snort还能够记录网络数据,其日志文件可以是TCPDUMP格式,

也可以是解码的ASCII格式。简单的说,Snort是数据包的嗅探器,也是数据包记录器,还是NIDS。提供数据包嗅探和记录功能只是Snort的部分功能,Snort 的特点就是其入侵检测功能—根据入侵规则匹配数据包中的内容。Snort还是一个自由,简介,快速,易于扩展的入侵检测系统,已经被移植到了各种UNIX平台和winY2k上。同时,它也是目前安全领域中,最活跃的开放源码工程之一。

体系结构

Snort有5个主要部件:捕包程序库libpcap、包解码器、预处理程序、检索引擎、输出组件。

图1 Snort组件数据流程图

捕包装置把包以原始状态捕获后送给解码器。解码器是进入Snort的第一步,它将特殊协议元素翻译成内部数据结构。它的目的是剥落包头。利用TCP-IP 栈解码并且将包放入一个数据结构中。在最初的捕包和解码完成后,有预处理程序处理流量。许多插入式预处理程序对包进行检查或操作后将它们交给下一个组件——检索引擎。检索引擎对每一个包的一个方面进行简单的检验以检测入侵。最后一个组件是输出插件,它对可疑行为产生报警。大规模的应用程序很少采用单机模式,Snort通常采用分布式体系对网络进行入侵检测。最典型的安装方式是三层体系,即传感器层、服务器层、分析员控制台。

捕包程序库libpcap和包解码器运行在传感器上,负责对抓来的包进行解释并传递警报。由于传感器必须放置在要监控入侵的网段,为了保证安全,通常只安装Snort和它在之上运行的支撑应用程序。建议Linux或BSD等UNIX类型的操作系统。传感器的两块网卡一块用作捕包接口不分配IP,一块用作管理接口分配IP。捕包程序库libpcap运行在Libpcap平台上,由于Libpcap平台的独立性使得Snort可以被移植到任何地方,成为一个真正与平台无关的应用程序。预处理程序

预处理是Snort的一类插件。它在检测引擎之前对数据进行处理,并且努力与不断变化的漏洞和攻击保持同步。可以添加新的协议为Snort提供支持。它既

能对数据包操作以便检测引擎能正确分析包,又能检测特征检测所不能单独发现的可疑流量。按功能可以分为三类:数据标准化,协议分析和非特征匹配检测。

数据标准化

新的攻击方法和IDS躲避技术不断涌现,以至Snort的检测引擎要么不能检测,要么检测效率不高。预处理程序可以将数据标准化以便检测引擎能正确对其分析。

多态病毒是为了躲避反病毒程序的特征匹配引擎而将病毒代码任意改造和变异。同样的技术也被用于远程利用,shell代码具有多种形态。Fnord预处理程序能检测出变异的NO-OP sled,从而避免了由于缓冲区溢出使处理器强制执行恶意代码导致的程序崩溃。No-op sled能被许多IDS轻易地检测到,除非它在每次被使用时都做修改。如果没有Fnord预处理,Snort将无法检测多态shell 代码。

协议分析

由于检测引擎能分析的协议很少,所以用协议处理程序来协助检测。ASNI_decode就能检测ASNI(Abstract Syntax Notation抽象语法标记)协议中的不一致性。较高的协议比如SNMP、LDAP和SSL都依赖ASNI。几乎所有起用SNMP的设备都受到缓冲区溢出或是拒绝服务(DoS)攻击的影响。

非特征匹配检测

这类预处理程序利用不同特征匹配的方法来捕获恶意流量。例如所谓的侦察攻击通常只是一个报警信号,无法确定是不是攻击。信息收集尝试利用了不合规格的流量,但这些流量通常在性质上是无害的。Portscan2和stream4就能发现这类流量和一些恶意黑客使用的躲避技术。

检测引擎

检测引擎是Snort的一个主要部件,有两个主要功能:规则分析和特征检测。检测引擎通过分析Snort规则来建立攻击特征。Snort规则被载入到检测引擎并以树形数据结构分类。规则按功能分为两个部分:规则头(规则树节点)和规则选项(选项树节点)。规则头包含特征应用的条件信息。树形结构通过最小化发现可疑行为的必要检测次数来提高效率。恶意行为被发现后,Snort将入侵数据写入许多输出插件。

检测可疑净荷

Snort特征能检测的不只限于包头数据,它也能检测藏在一个看似正常的包中的可疑净荷。某些可疑净荷可能会引起Windows协议的缓冲区溢出并导致目标主机崩溃。

Snort还能捕获大范围的内容类型:任何来自最新的P2P文件共享工具的流量都带有导致远程缓冲区溢出的内容。Snort能用来对任何你所担心的包净荷进行监控并报警。

通过特征检测可疑流量

最有效的检测对系统或网络的攻击的方法是基于特征的检测。基于特征的检测的基础是异常或恶意网络流量符合一种独特的模式,而正常或良性流量不符合。对Snort来说,一个恶意流量特征可以被创建成一个规则以载入它的检测引擎,用于进行特征匹配。

Internet控制报文协议(Internet Control Message Protocol,ICMP)主要用于ping命令来检查某个IP地址是否有主机存在。它被用于黑客常常使用的一个网络发现工具NMAP。NMAP利用的ICMP ping 的特征将ICMP类型域设为8

并且净荷数据为空。这与在Windows 或UNIX操作系统下直接用ping命令不同。根据这一点,就可以创建一条相关规则,如果网络中有匹配这一特征的流量就会引起报警。需要强调的是:Snort不一定要运行在这一流量要到达的计算机上,它只需要处于同一个网段就能嗅探到该流量。因此,Snort能检测出针对大量受保护主机的NMAP ping扫描。

检测具体协议元素

Snort特征可以具体针对特殊协议的一个元素描述。例如.ida扩展名是一个很少用到的微软ISS索引服务的组件,能远程导致严重的缓冲区溢出进而远程控制Web服务器,还能产生大量红色代码蠕虫,使得合法用户几乎从外部通过.ida 文件使用的索引服务。Snort的这个特征规则是只搜索URL内容而不是整个净荷,因而更为高效。

用客户规则扩展覆盖面

Snort支持的规则对所有网络是通用的,要想做好入侵检测工作,需要能针对具体网络指定特定的规则,Snort的一个特色就是能赋予程序员编写自己规则的能力。

启发式的可疑流量检测

特征匹配虽然高效,但不能达到100%的准确率,因为有些有害流量没有可识别的特征。统计包异常检测引擎(SPADE)模块就是通过启发式匹配对无可匹配特征的可疑流量进行检测。

SPADE观测网络并建立一张描述网络低流量的表。这张表记载的数据包括包的类型和源地址、目的地址。在表达到一定大小后,SPADE挑出的每一个包将被赋给一个数值,该数值的大小取决于它在表中出现的频率。频率越低,则该数值越大。当该数值达到某一匹配好的极限时就会产生报警。

这种方法对检测黑客的侦察行动是很有效的。黑客常常缓慢地扫描端口,企图通过把自己的扫描数据淹没在大量的数据中来隐蔽自己。但即使一个黑客使用多个源地址进行活动,也会被SPADE注意。

分布式拒绝服务攻击(DDoS)是多台受控主机向一台主机发送大量伪造的请求使得合法用户无法访问服务器,但它也能被SPADE检测到。

采集入侵数据

想预知黑客会对网络进行哪些恶意行为几乎是不可能的,唯一的解决方案是将与恶意流量对应的所有净荷保存起来。Snort可以将所有可能含有恶意的净荷记入日志。

评估威胁

净荷包含的数据常常是反映攻击者意图的窗口。净荷数据能协助确定一次攻击是否是人为操纵。

蠕虫病毒加大了这一任务的难度。蠕虫可以具有复杂的攻击步骤,包括一张关于攻击手段和受害主机后门的详细清单。常常与人类攻击者遵循相同的模式。如果能够检查净荷数据,就有可能将他与蠕虫的已知行为比较,并弄清你面对的是哪种类型的威胁。

如果最终确定是人进行的攻击,就可以通过净荷数据来确定攻击者的技术水平,是脚本族还是黑客高手。脚本族可以通过将攻击特征与常用工具的特征进行比较来识别。

利用输出插件进行报警

Snort利用输出插件从检测引擎获取入侵数据,程序员可以根据需要自行配

置。输出插件的目的是将报警数据转存到另一种资源或文件中。Snort输出以各种格式记入日志以便入侵数据能方便地为其他应用程序或工具使用。输出插件有以下功能:

聚集数据

以一种工业标准格式从许多完全不同的安全装置聚集数据。从而进行事件相关。

用统一格式和Barnyard程序记录日志

传统的关系数据库输出插件是制约Snort处理带宽能力的因素之一,Barnyard能将二进制数据解析成与它相关的数据库插件能识别的格式,以完全独立于Snort的方式运行,而不影响Snort的捕包能力。

报警

Snort有两种主要的报警方法:syslog和swatch报警、入侵数据库控制台ACID报警。

Swatch是一种简单且功能强大的工具。它能积极地监控系统日志,当发生了事先配置的事件是就发出报警。可采用传呼、email或声音等方式。

ACID是从数据库读取入侵数据并以友好的格式把它显示在浏览器中,供分析员处理。它具有复杂查询功能。还可以按逻辑功能对报警分组并关联到Internet上CVE标准漏洞库的对应记录上。ACID还有一个绘图组件可以用来生成统计图表。

分层报警

IDS领域的报警分为三类:无优先级报警、严格编码的优先级报警、可定制的优先级报警。

无优先级报警:不能按严重程度进行分类,通告会变得非常多,无法采用紧急时间自动通知机制。

严格编码的优先级报警:由销售商为你决定哪些报警重要,程序员可以进行排序和筛选,但这种“一个标准适用全部”的方法对于报警并不适合。

可定制的优先级报警:这是现代网络的模块化和独特性所需要的。报警能基于事先设置的优先级进行排序。Snort自带了32种预定义的警报分类,像特征一样,警报分类也是通过简单的规则来定义的。

功能

入侵检测工具的主要作用是检测网络中是否存在攻击行为。目前的入侵检测工具一般应用模式匹配、特征匹配、签名技术等手段对网络数据包进行识别,如果数据包的某项内容符合其中的一种,则被认定为使网络数据包异常行为,入侵检测系统会主动报告系统管理员相关信息。因为使用的是匹配技术,所以入侵检测系统存在着误报和漏报的情况,但总体来说,它还是系统管理员需要掌握的一项重要工具。Snort可提供Protocol分析、内容查找和匹配,可以用来检测各种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统

指纹识别尝试等.其中的包嗅探、数据包记录和入侵检测是其重要功能.Snort 的架构决定了它的各种功能,而Snort架构由以下4个基本模块构成:

⑴嗅探器

⑵预处理器

⑶检测引擎

⑷输出模块

Snort 体系结构

Snort的最简单形式就是包嗅探器,但当Snort获取到数据包后会将数据包传送到与处理模块,然后通过检测引擎判断这些数据包是否违反了某些预定义规则。Snort的预处理器、检测引擎和报警模块都以插件形式存在.插件就是符合Snort 接口定义的程序,这些程序曾经是Snort内核代码的一部分,现在独立出来使内核部分的修改变得简单可靠.包嗅探器用来监听数据网络,可以是硬件也可以是软件.一个网络嗅探器使应用程序或者硬件设备能够监听网络上的数据流.互联网多是IP数据流,在本地局域网或传统网络中多是IPX或AppleTalk数据流.具体来说,包嗅探器不仅可以进行网络分析及错误处理、性能分析及基准测量、监听明文密码及其他感兴趣的数据.预处理器得到原始数据包,使用不同的插件检测数据包,这些插件检测数据包的某些特定行为.一旦数据包被确认具有某些特定行为,就会被送到检测模块.插件可以根据需要在与处理层被启用或停用,从

而更具网络优化级被分配计算资源并生成报警,插件是入侵检测系统的一个非常有用的功能.检测引擎接收预处理器及其插件穿送来的数据,然后根据一系列的规则对数据进行检测.如果这些规则和数据包中的数据相匹配,就将数据包传送给报警处理器.当数据通过检测引擎后,Snort会对其数据进行不同的处理.如果数据和检测引擎的规则相匹配,Snort就会触发报警.报警可以通过网络连接、UNIX的套接字或Windows Popup(SMB),甚至SNMP陷阱机制发送到日志文件.也可以使用Snort的一些附加工具来通过Web接口显示日志内容,包括一些perl、PHP和Web服务器的插件等.日志可以存储在文本文件中.报警和日志都可以记录到数据库中,如MySQL或Postgree等.另外,Snort报警可以通过系统日志工具如SWATCH发送电子邮件及时通知系统管理员,是系统不需要由专人24小时监控。

弊端

Snort入侵检测系统适应多种平台,源代码开放,使用免费,受众多用户喜爱,但也有不少缺点。Snort之所以说他是轻量型就是说他的功能还不够完善,比如与其它产品产生联动等方面还有待改进;Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。Snort不是一个自动化的过程,需要一个非常熟练聪明的分析员对可疑行为分析并做出响应。它的灵活性也带来了复杂性,它的几个组件必须协调工作才能保证IDS稳定运行。它在捕包和输出模块上的瓶颈问题也不容忽视。Libpcap虽然是一个强大的捕包程序库,但是一次只能处理一个包,在流量超出百兆负荷是便无法正常运转。基于关系数据库的写入很慢,必须由Snort标准日志应用程序Barnyard接管输出。IDS产生数据量过大, Snort也不能避免陷入误报的窘境。Snort是一个以IP为中心的应用程序,需要提高覆盖的协议数量来完全覆盖现代网络,一些厂家也在加大对IDS研究的投入以对抗Snort。

Windows平台下基于snort的入侵检测系统安装详解

Windows平台下基于snort的入侵检测系统安装详解 序言:最近公司网络总是不间断出现点问题,也搭建了一些流量监控服务器进行监控和分析;也一直在关注网络安全方面的知识。看到snort IDS是一个开源的软件,突然想学习下。就有了搭建Windows下Snort IDS的想法。一下内容参考网络上的资料。 1.软件准备 Apache,php,mysql,winpcap,snort,acid,adodb,jpgraph等 2.软件安装 window平台:windows xp sp3 (1)apache的安装 一路下一步,具体配置如下图:

安装完成后验证web服务是否运行正常 (2)mysql安装

(3)php安装 解压php压缩包到C盘下并命名为php 复制c:\php\phpini-dist到c:\windows下并重命名为php.ini 复制c:\php\php5ts.dll,c:\php\libmysql.dll 到 c:\windows\system32下复制c:\php\ext\php_gd2.dll到c:\windows\system32下 修改 c:\apache\conf\httpd配置文件 添加LoadModule php5_module c:/php/php5apache2_2.dll AddType application/x-httpd-php .php 重启apache服务 在c:\apache\htdocs\下新建test.php http://x.x.x.x/test.php验证php能否工作

snort入侵检测实验报告

实验:入侵检测系统(Snort)的安装与配置 一、实验目的 学会WINDOWS下SNORT的安装与配置 二、实验环境 WinXP虚拟机 三、实验步骤与结果 一.在“我的电脑”中C盘中建立文件夹“zhangxiaohong” 二.安装WinPcap,运行WinPcap_4_1_2.zip,默认安装。 三.安装mysql,运行mysql-5.0.22-win32.zip,选择自定义安装选择安装路径 C:\zhangxiaohong\mysql 下,安装时注意:端口设置为3306(以后要用到),密码本实验设置成123 四.安装apache 1.运行apache_ 2.2.4-win32-x86-no_ssl.zip,安装到c:\zhangxiaohong\Apache 2.安装Apache,配置成功一个普通网站服务器 3.出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续 4.确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续 5.将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续 6.选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选 择Custom,有更多可选项。按“Next”继续 7.出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,

选择“This feature, and all subfeatures, will be installed on local hard drive.” 8.即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选 “Change...”,手动指定安装目录。 9.我这里选择安装在“C:\zhangxiaohong\Apache”,各位自行选取了,一般建议 不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件 也清除了。选“OK”继续。 10.返回刚才的界面,选“Next”继续。 11.好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打 “.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。 12. 五.安装和配置PHP53、安装winpcap 1.解压php-5. 2.5-Win32到c:\zhangxiaohong\php 2.添加gd图形库支持 复制c:\zhangxiaohong\php\php5ts.dll和c: \zhangxiaohong\php\libmysql.dll文件到 C:\Windows\system32 复制c: \zhangxiaohong\php\php.ini-dist到C:\Windows文件夹并重命名为php.ini, 修改php.ini,分别去掉“extension=php_gd2.dll”和“extension=php_mysql.dll”前的分号, 3.并指定extension_dir="c:\zhangxiaohong\php\ext", 4.同时复制c:\zhangxiaohong\php\ext下的php_gd2.dll与php_mysql.dll到C:\Windows\system32 在C:\zhangxiaohong\apache\conf\httpd.conf中添加 LoadModule php5_module c:/zhangxiaohong/php/php5apache2.dll AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .html AddType application/x-httpd-php .htm 5.重启Apache服务 在C:\zhangxiaohong\apache\htdocs目录下新建webinf.php(文件内容为:)并使用访问测试是否能够显示当前Apache服务器的信息,如果能够显示表明Apache和php工作基本正常 六.安装snort 1.运行Snort_2_9_0_5_Installer.exe 安装在C:\zhangxiaohong\Snort下即可, 运行C:\zhangxiaohong\Snort\bin\snort.exe或者在DOS中找到该位置, 如果安装Snort成功会出现一个可爱的小猪 2.并按照以下修改C:\zhangxiaohong\Snort\etc\snort.conf文件

Snort网络入侵检测五种病毒

入侵检测技术实验Snort网络入侵检测 学院: 班级: 姓名: 学号:

一、实验目的 1)掌握数据库的使用方法和MySQLfront的安装使用方法 2)掌握wireshark抓取数据包分析关键特征以及相关格式内容 3)掌握病毒的工作原理和通信过程,交互的信息 4)将这门课的内容结合实际进行分析和实践 二、实验原理 1)实验环境: WinPcap_4_1_2.exe 网络数据包截取驱动程序 Snort_2_9_1_Installer.exe Windows 版本的Snort 安装包 mysql-5.5.18-win32.msi Windows 版本的mysql安装包 MySQL_Front_Setup.1765185107.exe mysql数据库可视化软件 snortrules-snapshot-CURRENT.tar.gz Snort规则库 Wireshark-win32-1.12.0.1410492379.exe抓包分析工具 2)实验环境的搭建 按照所给文档“Windows XP下安装配置Snort”的提示安装所需的软件,下面几个图片是成功安装的图片:

图(1)建立snort库 图(2)成功建立snort库

图(3)成功启动snort进行检测 至此,实验环境搭配成功。 三、实验内容 1)测试检测效果 测试虽然成功启动snort,但不能确定是否成功,故此测试任意IP端口 进行测试 配置此时的规则,修改local.rules文件,改规则为:alert ip any any -> any any (msg: "IP Packet detected";sid:1000000;) 此时结果如下图:

Snort入侵检测系统

Snort入侵检测系统 赵鹏通信一团技术室 摘要本文介绍了Snort入侵检测系统的结构、功能。具体介绍了Snort入侵检测系统各部件的功能,并分析了Snort入侵检测系统的优缺点。 关键词IDS 特征检测规则分析预处理净荷 1 概述 Snort是由一个简单的网络管理工具发展分布式入侵检测系统,被用于各种与入侵检测相关的活动,可以用作嗅探器、包记录器或者网络入侵检测系统NIDS。 作嗅探器时,Snort对发往同一个网络其他主机的流量进行捕获。嗅探器利用了以太网的共享特性。它将网路上传输的每一个包的内容都显示在你的监视器上,包括包头和包载荷。 以包记录器模式运行时,Snort以和嗅探器相似的方式抓包,不同的是将收集的数据记入日志而不是显示在屏幕上。 当Snort以网络入侵检测系统(NIDS)模式运行时,Snort也抓取并存储网络上传输的每一个包,关键的不同在于NIDS模式能对数据进行处理。这种处理不是简单的将数据写入文件或是显示在屏幕上,而是对每一个包进行检查以决定它的本质是良性的还是恶意的。当发现看似可疑的流量是,Snort就会发出报警。 NIDS因其能监控大片网段而比其他类型的IDS更受欢迎,这里要关注的是NIDS模式的Snort。 2 Snort入侵检测系统的组成 Snort有5个主要部件:捕包程序库libpcap、包解码器、预处理程序、检索引擎、输出组件。 图1 Snort组件数据流程图 捕包装置把包以原始状态捕获后送给解码器。解码器是进入Snort的第一步,它将特殊协议元素翻译成内部数据结构。它的目的是剥落包头。利用TCP-IP栈解码并且将包放入

一个数据结构中。在最初的捕包和解码完成后,有预处理程序处理流量。许多插入式预处理程序对包进行检查或操作后将它们交给下一个组件——检索引擎。检索引擎对每一个包的一个方面进行简单的检验以检测入侵。最后一个组件是输出插件,它对可疑行为产生报警。 2.1 捕包程序库libpcap和包解码器 大规模的应用程序很少采用单机模式,Snort通常采用分布式体系对网络进行入侵检测。最典型的安装方式是三层体系,即传感器层、服务器层、分析员控制台。 捕包程序库libpcap和包解码器运行在传感器上,负责对抓来的包进行解释并传递警报。由于传感器必须放置在要监控入侵的网段,为了保证安全,通常只安装Snort和它在之上运行的支撑应用程序。建议Linux或BSD等UNIX类型的操作系统。传感器的两块网卡一块用作捕包接口不分配IP,一块用作管理接口分配IP。捕包程序库libpcap运行在Libpcap平台上,由于Libpcap平台的独立性使得Snort可以被移植到任何地方,成为一个真正与平台无关的应用程序。 2.2 预处理程序 预处理是Snort的一类插件。它在检测引擎之前对数据进行处理,并且努力与不断变化的漏洞和攻击保持同步。可以添加新的协议为Snort提供支持。它既能对数据包操作以便检测引擎能正确分析包,又能检测特征检测所不能单独发现的可疑流量。按功能可以分为三类:数据标准化,协议分析和非特征匹配检测。 数据标准化 新的攻击方法和IDS躲避技术不断涌现,以至Snort的检测引擎要么不能检测,要么检测效率不高。预处理程序可以将数据标准化以便检测引擎能正确对其分析。 多态病毒是为了躲避反病毒程序的特征匹配引擎而将病毒代码任意改造和变异。同样的技术也被用于远程利用,shell代码具有多种形态。Fnord预处理程序能检测出变异的NO-OP sled,从而避免了由于缓冲区溢出使处理器强制执行恶意代码导致的程序崩溃。No-op sled能被许多IDS轻易地检测到,除非它在每次被使用时都做修改。如果没有Fnord预处理,Snort将无法检测多态shell代码。 协议分析 由于检测引擎能分析的协议很少,所以用协议处理程序来协助检测。ASNI_decode就能检测ASNI(Abstract Syntax Notation抽象语法标记)协议中的不一致性。较高的协议比如SNMP、LDAP和SSL都依赖ASNI。几乎所有起用SNMP的设备都受到缓冲区溢出或是拒绝服务(DoS)攻击的影响。 非特征匹配检测 这类预处理程序利用不同特征匹配的方法来捕获恶意流量。例如所谓的侦察攻击通常只是一个报警信号,无法确定是不是攻击。信息收集尝试利用了不合规格的流量,但这些流量通常在性质上是无害的。Portscan2和stream4就能发现这类流量和一些恶意黑客使用的躲避技术。 2.3 检测引擎 检测引擎是Snort的一个主要部件,有两个主要功能:规则分析和特征检测。检测引擎通过分析Snort规则来建立攻击特征。Snort规则被载入到检测引擎并以树形数据结构分

:snort入侵检测系统配置使用

甘肃交通职业技术学院信息工程系《信息安全技术》 实训报告四 专业:智控(物联网方向) 班级:物联1201班 姓名:李永霞 学号:0623120116 时间: 2014年5月28日

snort入侵检测系统配置使用 一、项目概述 1、项目目的:了解snort入侵检测系统的原理;了解snort入侵检测系统的主要功能;掌握snort入侵检测系统的基本安装与配置方法。 2、知识与技能考核目标:能够掌握PHP网站服务器的搭建,能完成snort 入侵检测系统的安装与配置;能利用snort入侵检测系统的三种模式展开简单的检测和分析。 3、设备:微型计算机。 4、工具:网络数据包截取驱动程序:WinPcap_4_1_2.zip ;Windows 版本的Snort 安装包;Windows 版本的Apache Web 服务器;ACID(Analysis Console for Intrusion Databases)基于PHP的入侵检测数据库分析控制台;snort 规则包:rules20090505.tar.gz;Adodb(Active Data Objects Data Base)PHP库--adodb504.tgz;PHP图形库。 二、项目内容: 1、项目内容 snort入侵检测系统的安装;PHP网站服务器的搭建;基于mysql的snort 用来存储报警数据的数据库创建;snort入侵检测系统的配置及使用。 2、方案设计 通过观摩指导老师的操作来掌握snort入侵检测系统的安装与配置。 3、实施过程(步骤、记录、数据、程序等) (1)安装数据包截取驱动程序。 双击安装文件winpcap.exe,一直单击“NEXT”按钮完成安装。

入侵检测系统安装和使用

入侵检测系统安装和使 用 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

入侵检测系统安装和使用 【实验目的】 通过安装并运行一个snort系统,了解入侵检测系统的作用和功能 【实验内容】 安装并配置appahe,安装并配置MySQL,安装并配置snort;服务器端安装配置php脚本,通过IE浏览器访问IDS 【实验环境】 硬件 PC机一台。 系统配置:操作系统windows 10 。 【实验步骤】 1、安装appache服务器 启动appache服务器 测试本机的80 端口是否被占用, 2、安装配置snort

查看 Snort 版本 2、安装最新版本程序

安装MySql配置mysql

运行snort

1、网络入侵检测snort的原理 Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。? Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。

snort入侵检测技术

Snort入侵检测系统分析 2015年12月6日 Snort入侵检测系统分析 简介 Snort的一些源代码是从著名的TCPDUMP软件发展而来的。snort是一个基于LIBPCA包的网络监控软件,可以作为一个十分有效的网络入侵监测系统。它运行在一个“传感器”主机上,监听网络数据。这台机器可能是一台简陋的运行FREEBSD系统的Pentium100 PC,并且至少有一个网卡。 Snort首先根据远端的IP地址建立目录,然后将检测到的包以TCPDUMP的二进制格式记录或者以自身的解码形式存储到这些目录中.这样一来,你就可以使用snort来监测或过滤你所需要的包.Snort是一个轻量级的入侵检测系统,它具有截取网络数据报文,进行网络数据实时分析、报警,以及日志的能力。snort的报文截取代码是基于LIBPCA库的,继承了LIBPCA库的平台兼容性。它能够进行协议分析,内容搜索/匹配,能够用来检测各种攻击和探测,例如:缓冲区溢出、隐秘端口扫描、CGI 攻击、SMB探测、OS指纹特征检测等等。snort使用一种灵活的规则语言来描述网络数据报文,因此可以对新的攻击作出快速地翻译。snort具有实时报警能力。可以将报警信息写到syslog、指定的文件、UNIX套接字或者使用Winpopup消息。snort具有良好的扩展能力。它支持插件体系,可以通过其定义的接口,很方便地加入新的功能。snort还能够记录网络数据,其日志文件可以是TCPDUMP格式,

也可以是解码的ASCII格式。简单的说,Snort是数据包的嗅探器,也是数据包记录器,还是NIDS。提供数据包嗅探和记录功能只是Snort的部分功能,Snort 的特点就是其入侵检测功能—根据入侵规则匹配数据包中的内容。Snort还是一个自由,简介,快速,易于扩展的入侵检测系统,已经被移植到了各种UNIX平台和winY2k上。同时,它也是目前安全领域中,最活跃的开放源码工程之一。 体系结构 Snort有5个主要部件:捕包程序库libpcap、包解码器、预处理程序、检索引擎、输出组件。 图1 Snort组件数据流程图 捕包装置把包以原始状态捕获后送给解码器。解码器是进入Snort的第一步,它将特殊协议元素翻译成内部数据结构。它的目的是剥落包头。利用TCP-IP 栈解码并且将包放入一个数据结构中。在最初的捕包和解码完成后,有预处理程序处理流量。许多插入式预处理程序对包进行检查或操作后将它们交给下一个组件——检索引擎。检索引擎对每一个包的一个方面进行简单的检验以检测入侵。最后一个组件是输出插件,它对可疑行为产生报警。大规模的应用程序很少采用单机模式,Snort通常采用分布式体系对网络进行入侵检测。最典型的安装方式是三层体系,即传感器层、服务器层、分析员控制台。 捕包程序库libpcap和包解码器运行在传感器上,负责对抓来的包进行解释并传递警报。由于传感器必须放置在要监控入侵的网段,为了保证安全,通常只安装Snort和它在之上运行的支撑应用程序。建议Linux或BSD等UNIX类型的操作系统。传感器的两块网卡一块用作捕包接口不分配IP,一块用作管理接口分配IP。捕包程序库libpcap运行在Libpcap平台上,由于Libpcap平台的独立性使得Snort可以被移植到任何地方,成为一个真正与平台无关的应用程序。预处理程序 预处理是Snort的一类插件。它在检测引擎之前对数据进行处理,并且努力与不断变化的漏洞和攻击保持同步。可以添加新的协议为Snort提供支持。它既

基于Snort的入侵检测系统方案

基于Snort的入侵检测系统 用Snort,Apache,MySQL,PHP及ACID构建高级IDS

第一章入侵检测系统及Snort介绍 在当今的企业应用环境中,安全是所有网络面临的大问题。黑客和入侵者已成功的入侵了一些大公司的网络及。目前已经存在一些保护网络架构及通信安全的方法,例如防火墙、虚拟专用网(VPN)、数据加密等。入侵检测是最近几年出现的相对较新的网络安全技术。利用入侵检测技术,我们可以从已知的攻击类型中发现是否有人正在试图攻击你的网络或者主机。利用入侵监测系统收集的信息,我们可以加固自己的系统,及用作其他合法用途。目前市场中也有很多弱点检测工具,包括商品化的和开放源码形式的,可以用来评估网络中存在的不同类型的安全漏洞。 一个全面的安全系统包括很多种工具: ●防火墙:用来阻止进入及走出网络的信息流。防火墙在商业化产品和开放源 码产品中都有很多。最著名的商业化防火墙产品有Checkpoint (.checkpoint.), Cisco (.cisco.)及Netscreen(.netscreen.)。最著名的开放源码防火墙是Netfilter/Iptables(https://www.doczj.com/doc/425105436.html,)。 ●入侵检测系统(IDS):用来发现是否有人正在侵入或者试图侵入你的网络。 最著名的IDS是Snort,可以在https://www.doczj.com/doc/425105436.html,下载。 ●弱点评估工具:用来发现并堵住网络中的安全漏洞。弱点评估工具收集的信 息可以指导我们设置恰当的防火墙规则,以挡住恶意的互联网用户。现在有许多弱点评估工具,比如Nmap(https://www.doczj.com/doc/425105436.html,/)和Nessus(https://www.doczj.com/doc/425105436.html,/). 以上这些工具可以配合使用,交互信息。一些产品将这些功能捆绑在一起,形成一个完整的系统。

snort入侵检测系统使用实验

《网络安全技术》实验报告 姓名系别实验地点A406 学号年级班实验时间2012-5-24 成绩评定教师签字 实验项目 一、实验目的 1. 通过实验进一步理解IDS的原理和作用; 2. 学习安装、配置和使用Snort入侵检测系统; 3. 学习分析Snort警报文件; 4. 结合指定的攻击特征,学习如何创建检测规则。 二、实验内容 1. 学习Snort基础知识; 2. 安装工具软件(snort、winpcap和nmap)扫描工具; 3. 使用snort进行Xmax扫描检测和目录遍历攻击; 4. 创建和测试规则; 三、实验步骤 (一)软件安装 1. 打开计算机安装nmap,安装时全部按照默认设置直至安装成功。 2. 如果计算机上没有安装winpcap4.1或以上版本,则需要安装,安装时全部按照默认设置直至安装成功。 3. 打开虚拟机,启动windows server 2003,安装snort,将snort安装在C盘,安装时全部按照默认设置直至安装成功。 4. 在虚拟机上安装winpcap,安装时全部按照默认设置直至安装成功。 (二)将snort用作嗅探器 snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。 在虚拟机上(IP:172.28.15.150): 1.单击[开始]-[运行]并输入cmd进入命令行。 2.在命令行中键入cd c:\snort\bin,回车确认。 3.键入snort –h,回车确认,这将显示可以与snort一起使用的命令行选项的帮助文件(认真看一下每一个选项的涵义)。

Snort入侵检测系统实验

Snort 入侵检测系统实验
小组成员:09283012 09283025
1. 实验概述
Snort 是一套开放源代码的网络入侵预防软件与网络入侵检测软件。Snort 使用了以侦 测签章(signature-based)与通讯协定的侦测方法。 Snort 有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅 是从网络上读取数据包并作为连续不断的流显示在终端上。 数据包记录器模式把数据包记录 到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让 snort 分析网络数 据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。Snort 最重要的用途还 是作为网络入侵检测系统(NIDS)。 本次实验任务主要有: (1) 在虚拟机中的 ubuntu 上安装 Snort。 (2) 描述 Snort 规则并进行检测。
2. 实验环境
1. 2. 3. 4. 主机 CPU: Vmware 版本: Linux 发行版 : Linux 内核: Pentium 双核 T4300 @ 2.10GHz VMware Workstation Ubuntu 11.04 Linux 2.6.38
3. 实验过程
由于 Ubuntu 是 Debian 系的 Linux,安装软件非常简单,而且 Ubuntu 在中国科技大 学有镜像,在教育网和科技网下载速度非常快(2~6M/s),就省掉了出国下载安装包的麻烦, 只需要一个命令即可在几十秒钟内安装好所有软件。
具体实验步骤如下: 1、这里使用 Ubuntu 默认命令行软件包管理器 apt 来进行安装。
以下是代码片段: 以下是代码片段:
$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.1 mysql-server-5.1 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear pcregrep snort snort-rules-default 需要注意的是在安装 MySQL 数据库时会弹出设置 MySQL 根用户口令的界面,临时设置其 为“test”。

snort入侵检测实验报告

实验:入侵检测系统(Snort的安装与配置 一、实验目的 学会WINDOW下SNORT勺安装与配置 二、实验环境 WinXP虚拟机 三、实验步骤与结果 一.在"我的电脑”中C盘中建立文件夹"zha ngxiaoh ong 二.安装WinPcap,运行,默认安装。 三.安装mysql,运行5.0.22,选择自定义安装选择安装路径C:\zhangxiaohong'mysql 下,安装时注意:端口设置为3306 (以后要用到),密码本实验设置成123 四.安装apache 1. 运行 2.2.4,安装到c:\zhangxiaohong\Apache 2. 安装Apache,配置成功一个普通网站服务器 3. 出现Apache HTTP Server 2.0.55 的安装向导界面,点“ Next”继续 4. 确认同意软件安装使用许可条例,选择"I accept the terms in the license agreeme nt”,点"Next ”继续 5. 将Apache安装到Windows上的使用须知,请阅读完毕后,按"Next”继续

6. 选择安装类型,Typical 为默认安装,Custom 为用户自定义安装, 我们这里选 择Custom ,有更多可选项。按"Next ”继续 7. 出现选择安装选项界面, 如图所示,左键点选"Apache HTTPServer 2.0.55 ”: 选择"This feature, and all subfeatures, will be in stalled on local hard drive. ” 8. 即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选 "Cha nge... ”,手动指定安装目录。 9. 我这里选择安装在“ C:\zhangxiaohong\Apache ",各位自行选取了,一般建 议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把 Apache 配置文 件也清除了。选“ OK 继续。 10. 返回刚才的界面,选“ Next ”继续。 壷 这不艮條想頁见的貝面靶 ■I 细虬荊血十卿财网姑号證曲歧崖亍比询刪也■,曲雀底乩11?醴脚曲戌购人斷+如曲杵是土土即此对氨帅(唱匡冋 L 用*爵匚件叫卅〒卞TFUTF 刑二讯予忻啊七诃n 汁gm. 3 暫皿盟电快刼如君車善擋止『自由也他喝卞曲Bfi 皑片亠l tor 4 F~"/K 口 IH| ■£ 12. 五. 安装和配置 PHP53安装 winpcap 1. 解压 php-5.2.5-Win32 到 c:\zhangxiaohong\php 2. 添加gd 图形库支持 复制 和 文件到 C:\Windows\system32 复制 到C:\Windows 文件夹并重命名为, 修改,分别去掉“ extension= ”和“ extension= ”前的分号, 3. 并指定 extension_dir="c:\zhangxiaohong\php\ext" , 4. 同时复制 c:\zhangxiaohong\php\ext 下的与到 C:\Windows\system32 在 中添加 LoadModule php5_module c:/zha ngxiaoh ong AddType applicati on /x-httpd-php .php AddType applicati on /x-httpd-php-source .phps AddType applicati on /x-httpd-php .html AddType applicati on /x-httpd-php .htm 11. 好了现在我们来测试一下按默认配置运行的网站界面,在 IE 地址栏打 ,点“转到”,就可以看到如下页面,表示 Apache 服务器已安装成功。 曰11崔£世「瀆Mk ?fl 业竺 巳£刊5£1,髦可U 庖秦牛崖Ml 齐容,或苦把芝…天uutft 痒. “.0.1

入侵检测试验

实验五:入侵检测技术 一、实验目的 通过实验深入理解入侵检测系统的原理和工作方式,熟悉入侵检测系统的配置和使用。实验具体要求如下: 1.理解入侵检测的作用和原理 2.理解误用检测和异常检测的区别 3.掌握Snort的安装、配置和使用等实用技术 二、实验原理 1、入侵检测概念及其功能 入侵检测是指对入侵行为的发现、报警和响应,它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。入侵检测系统(intrusion detection system,IDS)是完成入侵检测功能的软件和硬件的集合。 入侵检测的功能主要体现在以下几个方面: 1). 监视并分析用户和系统的活动。 2). 核查系统配置和漏洞。 3). 识别已知的攻击行为并报警。 4). 统计分析异常行为。 5). 评估系统关键资源和数据文件的完整性。 6). 操作系统的审计跟踪管理,并识别违反安全策略的用户行为。 2、入侵检测的分类 根据IDS检测对象和工作方式的不同,可以将IDS分为基于网络的IDS(简称NIDS)和基于主机的IDS(简称HIDS)。NIDS和HIDS互为补充,两者的结合使用使得IDS有了更强的检测能力。 1). 基于主机的入侵检测系统。 HIDS历史最久,最早用于审计用户的活动,比如用户登录、命令操作、应用程序使用资源情况等。HIDS主要使用主机的审计记录和日志文件作为输入,某些HIDS也会主动与主机系统进行交互以获得不存在于系统日志的信息。HIDS所收集的信息集中在系统调用和应用层审计上,试图从日志寻找滥用和入侵事件的线索。HIDS用于保护单台主机不受网络攻击行为的侵害,需要安装在保护的主机上。 2). 基于网络的入侵检测系统。 NIDS是在网络中的某一点被动地监听网络上传输的原始流量,并通过协议分析、特征、统计分析等分析手段发现当前发生的攻击行为。NIDS通过对流量分析提取牲模式,再与已知攻击牲相匹配或与正常网络行为原形相比较来识别攻击事件。 3、入侵检测系统 1). 入侵检测系统的特点: 入侵检测系统(Intrusion Detection System)是对防火墙有益的补充,它对网络和主机行为

实验三 Snort入侵检测系统部署

1.1.1安装apache 选择custom安装,指定安装目录c:\apache,运行apache安装端,一直ne xt,直到安装完成。我们验证一下: 图3-1 apache安装成功界面 如出现图3-1这种情况,表明安装成功。 1.1.2安装php 解压php-5.2.4-Win32到c:\php。复制c:\php\php5ts.dll和c:\php\lib mysql.dll文件到c:\windows\system32,复制c:\php\php.ini-dist到c:\win dows\并重命名为php.ini,修改php.ini,分别删去“extension=php_gd2.dll”“extension=php_mysql.dll”前的分号,并指定extension_dir="c:\php\ext ",同时复制c:\php\ext下的php_gd2.dll与php_mysql.dll到c:\windows\sy stem32。 在C:\apache\conf\httpd.conf中添加在下面语句中后面添加(回车)#Load Module ssl_module modules/mod_ssl.so115行LoadModule php5_module "c:/ php/php5apache2_2.dll"和在下面语句中后面添加(回车)ScriptAlias /cgi-bi

n/ "C:/apache/cgi-bin/"385行AddType application/x-httpd-php .php(此处应注意空格),并重启Apache服务。在C:\apache\htdocs目录下新建webinf. php(文件内容为:)并使用http://127.0.0.1/webinf.php访问测试是否能够显示当前Apache服务器的信息,如果能够显示表明Apache和p hp工作基本正常重新启动apache服务,点stop再点击start,使用http://12 7.0.0.1/w e b i n f.p h p测试是否安装成功,成功的界面,如图3-2: 图3-2 安装成功界面 1.1.3安装winpcap与snort 按照向导提示安装一路默认安装即可,安装完成后使用下面命令测试是否安装成功。在命令控制台进入snort根目录,输入命令: c:\snort\bin> snort -W (W为大写) 当你看到左上角有个小猪图形,表明安装成功。如图3-3:

入侵检测实验报告Windows环境下snort的安装及使用

实验报告 学院:计算机院专业:信息安全班级: 姓名学号实验组实验 时间 指导教师成绩实验 项目 名称 Windows环境下snort的安装及使用 实验 目的 学会windows下面snort的安装和应用 实验内容1.安装Apache_2.0.46 2.安装PHP 3.安装snort 4.安装配置Mysql数据库5.安装adodb 6.安装配置数据控制台acid 7.安装jpgraph库 8.安装winpcap 9.配置并启动snort 10. 完善配置文件 11. 使用控制台查看结果 12. 配置snort规则 实验 原理 和 方法 Snort安装书流程及配置方法

实验环境1.PC机 2.Acid安装包 3.Adodb安装包 4.Apache安装包 5.Jpgraph安装包 6.Mysql安装包 7.Php安装包 8.Snort安装包 9.Winpcap安装包 实验 步骤 1.安装Apache_ 2.0.46: (1)安装在默认文件夹C:\apache下:

(2)打开配置文件,将其中的Listen 8080,更改为Listen 50080:

(3)进入命令行运行方式,转入C:\apache\apache\bin子目录,输入下面命令:C:\apache\apache2\bin>apache –k install: 2.安装PHP (1)解压缩 4.3.2至C:\php。

(2)复制C:\php下至%systemroot%\System32,至。 (3)添加gd图形支持库,在中添加extension=。如果有该句,将此句前面的“;” 注释符去掉

相关主题
文本预览
相关文档 最新文档