


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档Snort入侵检测系统分析2015年12月6日Snort入侵检测系统分析简介Snort的一些源代码是从著名的TCPDUM软件发展而来的。snort是一个基于 LIBPCA包的网络监控软件,可以作为一个十分有效的网络入侵监测系统。它运 行在一个“传感器”主机上,监听网络数据。这台机器可能是一台简陋的运行 FREEBS系统的PentiumlOO PC,并且至少有一个网卡。Snort首先根据远端的IP地址建立目录,然后将检测到的包以TCPDUM的二进制格式记录或者以自身的 解码形式存储到这些目录中这样一来,你就可以使用snort来监测或过滤你所 需要的包.Snort是一个轻量级的入侵检测系统
2、,它具有截取网络数据报文,进 行网络数据实时分析、报警,以及日志的能力。snort的报文截取代码是基于 LIBPCA库的,继承了 LIBPCA库的平台兼容性。它能够进行协议分析,内容搜索 /匹配,能够用来检测各种攻击和探测,例如:缓冲区溢出、隐秘端口扫描、CGI攻击、SMBf测、OS指纹特征检测等等。snort使用一种灵活的规则语言来描述 网络数据报文,因此可以对新的攻击作出快速地翻译。snort具有实时报警能力。 可以将报警信息写到syslog、指定的文件、UNIX套接字或者使用Win popup消息。 snort具有良好的扩展能力。它支持插件体系,可以通过其定义的接口,很方便 地加入新的功
3、能。snort还能够记录网络数据,其日志文件可以是TCPDUM格式,也可以是解码的ASCII格式。简单的说,Snort是数据包的嗅探器,也是数据包 记录器,还是NIDS 提供数据包嗅探和记录功能只是 Snort的部分功能,Snort 的特点就是其入侵检测功能一根据入侵规则匹配数据包中的内容。Snort还是一个自由,简介,快速,易于扩展的入侵检测系统,已经被移植到了各种UNIX平台和winY2k上。同时,它也是目前安全领域中,最活跃的开放源码工程之一。体系结构Snort有5个主要部件:捕包程序库libpcap、包解码器、预处理程序、检 索引擎、输出组件。图1 Snort组件数据流程图捕包装置把包
4、以原始状态捕获后送给解码器。解码器是进入 Snort的第一 步,它将特殊协议元素翻译成内部数据结构。它的目的是剥落包头。利用TCP-IP栈解码并且将包放入一个数据结构中。在最初的捕包和解码完成后,有预处理程序处理流量。许多插入式预处理程序对包进行检查或操作后将它们交给下一个组 件一一检索引擎。检索引擎对每一个包的一个方面进行简单的检验以检测入侵。 最后一个组件是输出插件,它对可疑行为产生报警。大规模的应用程序很少采用 单机模式,Snort通常采用分布式体系对网络进行入侵检测。最典型的安装方式 是三层体系,即传感器层、服务器层、分析员控制台。捕包程序库libpcap和包解码器运行在传感器上,负责
5、对抓来的包进行解释 并传递警报。由于传感器必须放置在要监控入侵的网段,为了保证安全,通常只安装Snort和它在之上运行的支撑应用程序。建议Linux或BSD等 UNIX类型的操作系统。传感器的两块网卡一块用作捕包接口不分配IP,一块用作管理接口分配IP。捕包程序库libpcap 运行在Libpcap平台上,由于Libpcap平台的独 立性使得Snort可以被移植到任何地方,成为一个真正与平台无关的应用程序。 预处理程序预处理是Snort的一类插件。它在检测引擎之前对数据进行处理,并且努力 与不断变化的漏洞和攻击保持同步。可以添加新的协议为Snort提供支持。它既 能对数据包操作以便检测引擎能正
6、确分析包, 又能检测特征检测所不能单独发现 的可疑流量。按功能可以分为三类:数据标准化,协议分析和非特征匹配检测。数据标准化新的攻击方法和IDS躲避技术不断涌现,以至Snort的检测引擎要么不能检 测,要么检测效率不高。 预处理程序可以将数据标准化以便检测引擎能正确对其 分析。多态病毒是为了躲避反病毒程序的特征匹配引擎而将病毒代码任意改造和 变异。同样的技术也被用于远程利用, shell 代码具有多种形态。 Fnord 预处理 程序能检测出变异的 NO-OP sled,从而避免了由于缓冲区溢出使处理器强制执 行恶意代码导致的程序崩溃。 No-op sled 能被许多 IDS 轻易地检测到,除非
7、它 在每次被使用时都做修改。 如果没有 Fnord 预处理, Snort 将无法检测多态 shell 代码。协议分析由于检测引擎能分析的协议很少,所以用协议处理程序来协助检测。ASNI_decode就能检测 ASNI (Abstract Syntax Notation 抽象语法标记)协议 中的不一致性。较高的协议比如 SNMP LDAP和SSL都依赖ASNI。几乎所有起用 SNMP勺设备都受到缓冲区溢出或是拒绝服务(DoS攻击的影响。非特征匹配检测 这类预处理程序利用不同特征匹配的方法来捕获恶意流量。 例如所谓的侦察 攻击通常只是一个报警信号, 无法确定是不是攻击。 信息收集尝试利用了不合规
8、格的流量,但这些流量通常在性质上是无害的。 Portscan2 和 stream4 就能发现 这类流量和一些恶意黑客使用的躲避技术。检测引擎检测引擎是 Snort 的一个主要部件,有两个主要功能:规则分析和特征检测。 检测引擎通过分析 Snort 规则来建立攻击特征。 Snort 规则被载入到检测引擎并 以树形数据结构分类。规则按功能分为两个部分:规则头(规则树节点)和规则 选项(选项树节点)。规则头包含特征应用的条件信息。树形结构通过最小化发 现可疑行为的必要检测次数来提高效率。恶意行为被发现后, Snort 将入侵数据 写入许多输出插件。检测可疑净荷Snort 特征能检测的不只限于包头数据
9、, 它也能检测藏在一个看似正常的包 中的可疑净荷。某些可疑净荷可能会引起Windows协议的缓冲区溢出并导致目标 主机崩溃。Snort还能捕获大范围的内容类型:任何来自最新的P2P文件共享工具的流 量都带有导致远程缓冲区溢出的内容。 Snort 能用来对任何你所担心的包净荷进 行监控并报警。通过特征检测可疑流量 最有效的检测对系统或网络的攻击的方法是基于特征的检测。 基于特征的检 测的基础是异常或恶意网络流量符合一种独特的模式,而正常或良性流量不符 合。对 Snort 来说,一个恶意流量特征可以被创建成一个规则以载入它的检测引 擎,用于进行特征匹配。Internet 控制报文协议( Inter
10、net Control Message Protocol,ICMP )主 要用于 ping 命令来检查某个 IP 地址是否有主机存在。 它被用于黑客常常使用的 一个网络发现工具 NMAP NMAPJ用的ICMP ping的特征将ICMP类型域设为8 并且净荷数据为空。这与在Windows或UNIX操作系统下直接用ping命令不同。 根据这一点, 就可以创建一条相关规则, 如果网络中有匹配这一特征的流量就会 引起报警。需要强调的是: Snort 不一定要运行在这一流量要到达的计算机上, 它只需要处于同一个网段就能嗅探到该流量。因此, Snort 能检测出针对大量受 保护主机的NMAP ping扫
11、描。检测具体协议元素Snort特征可以具体针对特殊协议的一个元素描述。 例如.ida扩展名是一个 很少用到的微软ISS索引服务的组件,能远程导致严重的缓冲区溢出进而远程控 制Web!务器,还能产生大量红色代码蠕虫,使得合法用户几乎从外部通过.ida 文件使用的索引服务。Snort的这个特征规则是只搜索 URL内容而不是整个净荷, 因而更为高效。用客户规则扩展覆盖面Snort 支持的规则对所有网络是通用的,要想做好入侵检测工作,需要能针 对具体网络指定特定的规则, Snort 的一个特色就是能赋予程序员编写自己规则 的能力。启发式的可疑流量检测 特征匹配虽然高效,但不能达到 100%的准确率,因
12、为有些有害流量没有可 识别的特征。统计包异常检测引擎(SPADE模块就是通过启发式匹配对无可匹 配特征的可疑流量进行检测。SPADE测网络并建立一张描述网络低流量的表。 这张表记载的数据包括包 的类型和源地址、目的地址。在表达到一定大小后, SPADED出的每一个包将被 赋给一个数值, 该数值的大小取决于它在表中出现的频率。 频率越低, 则该数值 越大。当该数值达到某一匹配好的极限时就会产生报警。这种方法对检测黑客的侦察行动是很有效的。 黑客常常缓慢地扫描端口, 企 图通过把自己的扫描数据淹没在大量的数据中来隐蔽自己。 但即使一个黑客使用 多个源地址进行活动,也会被 SPAD注意。分布式拒绝服
13、务攻击(DDoS是多台受控主机向一台主机发送大量伪造的请 求使得合法用户无法访问服务器,但它也能被 SPADE佥测到。采集入侵数据想预知黑客会对网络进行哪些恶意行为几乎是不可能的, 唯一的解决方案是 将与恶意流量对应的所有净荷保存起来。 Snort 可以将所有可能含有恶意的净荷 记入日志。评估威胁净荷包含的数据常常是反映攻击者意图的窗口。 净荷数据能协助确定一次攻 击是否是人为操纵。蠕虫病毒加大了这一任务的难度。 蠕虫可以具有复杂的攻击步骤, 包括一张 关于攻击手段和受害主机后门的详细清单。常常与人类攻击者遵循相同的模式。 如果能够检查净荷数据, 就有可能将他与蠕虫的已知行为比较, 并弄清你面
14、对的 是哪种类型的威胁。如果最终确定是人进行的攻击, 就可以通过净荷数据来确定攻击者的技术水 平,是脚本族还是黑客高手。 脚本族可以通过将攻击特征与常用工具的特征进行 比较来识别。利用输出插件进行报警Snort 利用输出插件从检测引擎获取入侵数据, 程序员可以根据需要自行配置。输出插件的目的是将报警数据转存到另一种资源或文件中。 Snort输出以各 种格式记入日志以便入侵数据能方便地为其他应用程序或工具使用。 输出插件有 以下功能:聚集数据以一种工业标准格式从许多完全不同的安全装置聚集数据。从而进行事件相关。用统一格式和Barnyard程序记录日志传统的关系数据库输出插件是制约Snort处理带
15、宽能力的因素之一,Barnyard能将二进制数据解析成与它相关的数据库插件能识别的格式,以完全 独立于Snort的方式运行,而不影响Snort的捕包能力。报警Snort有两种主要的报警方法:syslog和swatch报警、入侵数据库控制台 ACID报警。Swatch是一种简单且功能强大的工具。它能积极地监控系统日志,当发生 了事先配置的事件是就发出报警。可采用传呼、email或声音等方式。ACID是从数据库读取入侵数据并以友好的格式把它显示在浏览器中,供分 析员处理。它具有复杂查询功能。还可以按逻辑功能对报警分组并关联到 In ternet上CVE标准漏洞库的对应记录上。ACID还有一个绘图组
16、件可以用来生 成统计图表。分层报警IDS领域的报警分为三类:无优先级报警、严格编码的优先级报警、可定制 的优先级报警。无优先级报警:不能按严重程度进行分类,通告会变得非常多,无法采用紧 急时间自动通知机制。严格编码的优先级报警:由销售商为你决定哪些报警重要,程序员可以进行 排序和筛选,但这种“一个标准适用全部”的方法对于报警并不适合。可定制的优先级报警:这是现代网络的模块化和独特性所需要的。 报警能基 于事先设置的优先级进行排序。Snort自带了 32种预定义的警报分类,像特征 一样,警报分类也是通过简单的规则来定义的。功能入侵检测工具的主要作用是检测网络中是否存在攻击行为。目前的入侵检测工具
17、一般应用模式匹配、特征匹配、签名技术等手段对网络数据包进行识别,如 果数据包的某项内容符合其中的一种, 则被认定为使网络数据包异常行为, 入侵 检测系统会主动报告系统管理员相关信息。因为使用的是匹配技术,所以入侵检测系统存在着误报和漏报的情况,但总体来说,它还是系统管理员需要掌握的一 项重要工具。Snort可提供Protocol分析、内容查找和匹配,可以用来检测各 种攻击和探测,如缓冲区溢出、隐蔽端口扫描、CGI攻击、SMB探测、操作系统指纹识别尝试等其中的包嗅探、数据包记录和入侵检测是其重要功能.Snort的架构决定了它的各种功能,而 Snort架构由以下4个基本模块构成:Snort的最简单
18、形式就是包嗅探器,但当Snort获取到数据包后会将数据包传送 到与处理模块,然后通过检测引擎判断这些数据包是否违反了某些预定义规则。Snort的预处理器、检测引擎和报警模块都以插件形式存在.插件就是符合Snort 接口定义的程序,这些程序曾经是Snort内核代码的一部分,现在独立出来使内 核部分的修改变得简单可靠.包嗅探器用来监听数据网络,可以是硬件也可以是 软件.一个网络嗅探器使应用程序或者硬件设备能够监听网络上的数据流.互联网多是IP数据流,在本地局域网或传统网络中多是IPX或AppleTalk数据流具 体来说,包嗅探器不仅可以进行网络分析及错误处理、性能分析及基准测量、监 听明文密码及其
19、他感兴趣的数据.预处理器得到原始数据包,使用不同的插件检 测数据包,这些插件检测数据包的某些特定行为. 一旦数据包被确认具有某些特 定行为,就会被送到检测模块.插件可以根据需要在与处理层被启用或停用,从而更具网络优化级被分配计算资源并生成报警,插件是入侵检测系统的一个非常 有用的功能.检测引擎接收预处理器及其插件穿送来的数据,然后根据一系列的规则对数据进行检测.如果这些规则和数据包中的数据相匹配,就将数据包传送给报警处理器当数据通过检测引擎后,Snort会对其数据进行不同的处理如 果数据和检测引擎的规则相匹配,Snort就会触发报警.报警可以通过网络连接、 UNIX的套接字或 WindowsPopup(SMB)甚至SNM陷阱机制发送到日志文件.也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车技术与维修专项练习卷
- 课程游戏化在幼儿园语言教学中的有效应用
- 健康医疗产品销售与售后服务协议
- 现代科技手段在学校卫生与健康教育中的创新应用
- 外国小说欣赏:欧亨利短篇小说选读教学教案
- 航天科技知识问答
- 利用AI大模型推动数字金融产品的个性化设计
- 工业园区海绵化改造工程实施方案
- 2025年音乐专业学生毕业答辩测试题及答案
- 2025年信息系统与工程专业综合素质考核试题及答案
- 银行网点数字营销整体解决方案
- 双液注浆施工方案
- 民兵训练管理规定
- 2025年国家公务员考试行测常识题库及答案(共300题)
- 2024冀少版七年级下册生物期末复习知识点提纲(详细版)
- 2025年《义务教育小学体育课程标准测试卷2022版》测试题库及答案
- 全国卫生健康系统职业技能竞赛(传染病防治监督)参考试题(附答案)
- 人工智能算法与市场营销的融合研究
- DBJ50-T-157-2022房屋建筑和市政基础设施工程施工现场从业人员配备标准
- 显示屏幕抗反光技术研究-洞察分析
- 批判性思维实践手册
评论
0/150
提交评论