网络入侵安全检测技术研讨毕业论文.doc
摘 要INTERNET的高速发展给带给人们工作生活上的许多便利,可是,伴着现代化网络应用的广泛使用,随之而来的网络危险因素也给网络信息安全带来了更加严苛的挑战,传统的安全技术已经难以对付这些变化多端的安全威胁,所以我们有必要去研究专门的盾牌去抵御这些不安全因素的入侵,而入侵检测技术就可以当做一种很实用的技术来保护网络安全。本论文首先概括了这次学术研究的内容和意义,并在大体上介绍了一下这方面研究的国内外主要研究成果。然后在总体上说明了了网络入侵检测系统的发展历史和现况。本文主要内容就是具体的研究几种现今主流的入侵检测技术,向人们阐述它们的详细信息,包括其特点,结构和其检测流程等,还有深入的分析了各自的优势并指出了不足之处,最后大胆的分析了网络入侵检测技术未来的发展趋势和主要的几种发展方向,简言之本文展示了网络入侵检测技术的种种。关键词:网络安全;snort;入侵检测;ABSTRACTThe rapid development of the Internet brings great convenience to people's work and live but as the popularity of modern network ,the network attendant insecurity also brings to the information security challenges ,the traditional network security technology has difficulty to deal with these increasingly serious security threat ,so it is necessary to develop special tools to avoid the insecurity of the attack ,and intrusion detection technologies can be a very important technology work for usThis paper first introduces the study the general network intrusion detection,Then a snort of thorough research information, including its characteristics, structure and the detection process, and so on,The paper is the focus of the configuration snort under Windows work environment, to a simple experiment,To show the work under the DOS snort with PHP, process and acid, under the graphic display data browsing with operation.KEY WORDS: Network security; Snort; Intrusion detection ; 目 录1 绪论11.1 研究内容1 1.2 研究意义.1 1.3 国内外入侵检测技术的研究现状.2 1.3.1 基于信息来源分类的IDS 技术.2 1.3.2 基于响应方式的IDS技术.3 1.3.3 基于分析方法的不同IDS 技术.32 入侵检测技术概述42.1 入侵检测技术的概述42.1.1 入侵检测的概念42.1.2 入侵检测的发展历史42.2 入侵检测技术分类52.2.1 基于主机的入侵检测技术52.2.2 基于网络的入侵检测技术62.3 入侵检测技术62.3.1异常检测62.3.2特征检测72.4 入侵检测技术主流产品72.5 入侵检测技术发展趋势83 Snort入侵检测技术研究93.1 Snort特点93.2 Snort的体系结构113.3 Snort入侵检测流程123.3.1 规则解析流程123.3.2 规则匹配流程123.4 Snort的规则结构133.4.1 规则头133.4.2 规则选项144 ISS RealSecure入侵检测技术研究15 4.1 RealSecure 特点.154.2 RealSecure 组成.154.3 RealSecure 可识别的攻击特征.164.4 RealSecure 攻击防御过程.164.5 RealSecure 软硬件要求.174.6 RealSecure 部署.185绿盟科技网络入侵检测技术“冰之眼”.21 5.1 体系架构.21 5.2 主要功能.21 5.3 产品特点.22 5.3.1 全面精细的入侵检测技术.22 5.3.2 基于对象的虚拟系统.23 5.3.3 细粒度的流量统计分析.23 5.3.4 全面的用户上网行为监测.24 5.3.5 强大丰富的管理能力.24 5.3.6 完善的报表系统.26 5.3.7 可扩展的入侵保护.26 5.3.8 高可靠的自身安全性.27 5.4 解决方案.27 5.4.1 小型网络之精细管理方案.27 5.4.2 中型网络之集中管理方案.28 5.4.3 大型网络之分级管理方案.29 6 入 侵检测技术的不足与发展趋势.30 6.1 入侵检测技术目前还存在的问题.30 6.2入侵检测技术的发展趋势和发展方向.31 7 结论.34 8 参考文献.35 9 致谢.36 V天津科技大学2014届本科生毕业论文1 绪 论1.1研究内容本文在主要研究内容就是网络入侵检测技术研究的国内外主要研究成果并且对其具体分析。先在总体上说明了网络入侵检测系统的发展历史和现况。正文主要就是具体的研究几种现今主流的入侵检测技术,向人们阐述它们的详细信息,包括其特点,结构和其检测流程等,还有深入的分析了各自的优势并指出了不足之处,最后大胆的分析了网络入侵检测技术未来的发展趋势和主要的几种发展方向。1.2研究意义对于21世纪的网络发展速度和发展态势,人们的隐私在网络上已经不能得到真正意义上安全的保护,各种病毒的泛滥让黑客在网络上想看什么就能看到什么,不止个人,金融系统,政府部门的各种机密信息也在不断的外泄,给个人和国家带来了极大的损失,所以网络安全问题已经迫在眉睫了。所有想要破坏网络正常秩序的行为都被视为网络安全问题,20世纪开始兴盛的防火墙是保护网络安全最传统最常用的工具,可是防火墙作为一种只能先挨打才能做出反应的防御机制已经不能应对现在多变的网络问题,网络日趋复杂化,传统防火墙是不足以满足如今复杂多变的网络安全问题,在这种情况下,入侵检测系统应运而生,入侵检测系统不但能够为网络提供及时的入侵检测并且采取相对应的防护手段,它还能识别针对计算机的恶意企图和行为,并对这些情况进行处理,它能够对系统受到的内部攻击、外部攻击和失误操作做出实时保护,能够辅助系统抵挡网络攻击。入侵检测系统能很好的弥补防火墙的不足,是防火墙的合理完善。入侵检测技术具有这么几个特点:1)从程序运行的不同节点收集信息;2)分析收集来的信息并搜索是否有入侵活动的特点;3)自行对入侵行为行为做出处理;4)记录并报告检测结果;入侵检测系统的主要功能有:1)监测并分析用户和系统的活动;2)核查系统配置及其漏洞;3)检查系统核心资源及数据信息是否完整;4)识别己知的入侵行为;5)统计分析不正常行为;6)根据操作系统的运行日志,找出违反安全策略的恶意活动;入侵检测系统是一种积极的安全防护手段,其关键在于它使用的检测引擎,怎样达到高效率的检测,是入侵检测技术的一个研究重点。目前的入侵检测技术主要分为两大类,一个是基于异常的入侵检测技术和基于规则的入侵检测技术。现阶段的攻击主要是针对网络的攻击,因此检测恶意攻击的最主要的手段是捕获和分析网络数据包,并且使用相对应的软件来分析是否是入侵者所发出的攻击包,然后将这些符合攻击包特征的数据和入侵检测系统的特征库进行对比匹配,如果在特征库中检测到相应的攻击包,就会发出入侵报警。在与特征库进行匹配的过程中,最常用的技术就是模式匹配,所以说模式匹配技术是入侵检测系统中的一个重点。在国内,随着网络应用的日益增长,特别是那些关键部门对网络的应用使得网络安全问题至关重要,迫切需要高效的入侵检测产品来确保网络安全,但是,因为我国的入侵检测研究在国际水平上海比较滞后,需要投入更多的精力和资金来进行研究,特别是怎么更快速的判断出该行为是否为入侵行为也就是模式匹配的效率,这对防止黑客攻击和网络病毒的扩散,提高网络环境的安全有着重大的作用。1.3国内外入侵检测技术的研究现状对IDS 的研究成为当前安全领域研究的一个热点, 各种新型技术和其他分支学科均被引入和借鉴到IDS 的研究中来。如: 神经网络、模糊识别、行为模式、遗传算法、免疫系统、数据挖掘、状态迁移和反演技术等等。按照入侵检测系统工作机制的不同, 各种入侵检测技术不外乎可以分为以下几类: 基于信息来源、基于分析方法和基于响应方式, 这些技术有的已趋于完善,有的尚处于理论研究阶段, 有的已得到了广泛的应用。下面简单叙述他们各自的工作原理及其优缺点。1.3.1 基于信息来源分类的IDS 技术信息来源分类是目前最通用的划分IDS 技术的方法, 由于被检测信息来源的不同, 当前基于此的IDS 技术主要有: 基于主机的IDS、基于网络的IDS 和基于路由器的IDS。基于主机的HIDS 分析来自单个计算机的操作系统审计踪迹和系统日志来检测攻击, 它支持集中式IDS 的管理和报告, 允许一个控制台跟踪多个主机, 能可靠精确地分析入侵活动, 能检测到特洛伊木马和其他破坏软件完整性地攻击; 弱点是要占用主机资源, 影响主机性能, 本身易遭受拒绝服务攻击( DOS) , 不能检测对网络的多点攻击。基于网络的入侵检测系统( NIDS) 其输入数据来源于网络的信息流, 可以检测针对网络协议漏洞的入侵, 能够做到细粒度的实时监视, 本身抗攻击性好, 独立于操作系统; 弱点是处理的信息量大, 高速、宽带网限制了其检测性能, 不能分析加密的信息。基于路由器的IDS 主要保护网络的基础设施, 确保大型网络计算机之间的安全和可靠的连接, 但负载的变化对网络性能影响较大。由于信息来源不同, 其检测信息的重点也不同, 当然在网络中的分布也就不同。在分布式IDS 中, 就要综合运用和合理布局各种基于主机、基于网络、基于路由器的IDS。1.3.2 基于响应方式的IDS按照响应单元处理入侵的方式和主控制台对响应单元发出的处理指令,当前主要有主动响应IDS 和被动响应IDS, 前者当入侵被检测到时, 会采取如下三种自动响应行为: 收集辅助信息; 改变环境堵住导致入侵的漏洞;对攻击者采取行动。后者会首先将信息提供给系统用户,然后采取进一步行动: 报警和通知;SNMP 捕获和插入; 报告和存档。1.3. 3 基于分析方法的不同IDS 技术这是IDS 技术的核心, 事件分析器对事件信息流的处理能力对IDS 的性能至关重要。目前基于分析方法的IDS 技术主要有误用检测型IDS 和异常检测型IDS。前者利用已知系统和应用软件的弱点攻击模式来检测入侵, 因此又称为模式入侵检测和特征识别入侵检测。它用于发现那些与被预先定义好了的攻击特征相匹配的事件和事件集。因此其技术上的关键在于特征信息库的升级和特征的匹配搜索。其优点是误报少, 缺点是只能发现已知的攻击, 需要不断更新特征库。主要技术有: 专家系统方法; 入侵模型分析; 模式匹配; 基于误用模型推理;状态变迁等。异常检测型IDS 从历史数据中提取目标系统对象的正常模型,然后将审计数据和专家系统或其它分析部件对比分析, 偏离正常模型行为的视为入侵。其难点在于构造异常活动集并从中发入侵性活动子集, 缺点在于可能产生大量的误报。主要方法有: 阀值检测; 统计方法; 基于规则的方法; 神经网络方法; 遗传算法; 免疫系统方法; 数据挖掘方法; 模糊识别等等。在实际运用中, 往往综合两种分析方式, 在特征信息库中不仅有已入侵模式的特征, 还有系统检测对象的正常模型的模式特征。有时入侵行为模式特征不明显, 误用检测型IDS 可能会检测不到, 但其行为可能会稍显异常, 偏离正常模型的模式, 因而异常检测型IDS 可能会检测到。反过来也可能会如此。2入侵检测系统概述2.1入侵检测的概述本节具体介绍了网络入侵检测技术的概念还有其发展历史。2.1.1入侵检测的概念入侵检测系统(IDS)在计算机网络系统中的关键节点上工作,通过实时地收集和分析计算机网络或系统中的信息,来判断计算机中是否存在违反安全策略的行为和被入侵的迹象,达到抵御入侵、抵挡攻击的作用。入侵检测系统作为一种主动防护的网络安全技术,有效的扩大了系统维护人员在抵御入侵种能发挥的作用,例如监视、攻击识别和响应的能力。通过入侵检测系统,可以有效的防止和抵御来自网络的威胁,它已经成为继防火墙之后的又一个安全卫士,已经在各种网络环境环境中发挥它的作用。2.1.2入侵检测的发展历史从实验室原型研究到推出商业化产品、走向市场并获得广泛认同,入侵检测走过了20多年的历程。 l 概念提出一九八零年四月,JnamesP.Aderson在美国空军做了一个题为“Computer Security ThreatMonitoring and Sureillance”(计算机网络安全威胁监视)的技术报告,第一次详尽的为人们阐述了什么是入侵检测。他提出了一种将计算机系统风险和威胁分类的方法,并且将威胁分成了外部渗透、内部渗透和不法行为,还首次提出了利用审计跟踪数据来监视入侵活动的思想。世人公认的入侵检测的开山之作就是这份报告。 l 模型的发展1984年-1986年,乔治、敦大学的Dorothy Denning和SRI/CSL(SRI公司计算机科学实验室)的Peter Neumann研究出了一种实时检测系统入侵的模型,命名为IDES(入侵检测专家系统)。 该模型独立于具体的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵系统提供了一个通用的框架。 1988年,SRI/CSL的Teresa Lunt等人改进了Denning的入侵检测模型,并研究出了实际的IDES。 1990年是入侵检测系统历史上具有十分重大意义的一年。这一年,加州大学戴维斯分校的L.T.Heberlein等开发出了NSM(Network Security Monitor)。该系统首次将审计数据的来源当做网络信息,因而能够在不把审计数计变成统一的格式前提下来监视别的主机。同时两大阵营正式形成:基于网络的IDS和基于主机的IDS。 自 从1988年 的 莫 里 斯 蠕 虫 之 后,网络安全才深刻的引起了世人的重视。美 国 空 军、国家安全局和能源部共同资助空军密码支持中心、劳伦斯利弗摩尔国家实验室、加州大学戴维斯分校、Haystack实验室,开展对分布式入侵检测系统(DIDS)的研究,将基于主机和基于网络的检测方法集成到一起。 l 技术的进步自20世纪90年代到现在,入侵检测系统的研究呈现出百家争鸣的局面,并且在智能化和分布式两个方向有了重大的研究成果。目前,SRI/CSL、普渡大学、加州戴维斯分校、洛斯阿拉莫斯国家实验室、哥伦比亚大学、新墨西哥大学等机构代表了这个领域的最高水平。我国也有多家企业通过前期的技术引进,逐渐发展成自主研发。2.2入侵检测技术分类入侵检测技术具体分为以下几类。2.2.1 基于主机的入侵检测技术基于主机的IDS部署在单主机上,利用操作系统产生的日志记录作为主要信息源,通过对其进行审计,检测入侵行为。基于主机IDS不对网络数据包或扫描配置进行检查,而是对系统日志提供的大量数据进行整理。早期的系统多为基于主机的,主要用来检测内部网络的入侵攻击。后来用分布主机代理来实现。其主要优点:信息源(0S日志记录)完备。系统产生的日志是归类有序的。它准确记录了每个用户的行为序列,这样便可以精确监控每个用户的行为。同时也使得IDS对信息源的处理简单、一致。对某些特定的攻击十分有效。比如,审计日志能够显示出由缓冲区溢出攻击引起的优先级转移的情况,从而能够有效的检测缓冲区溢出攻击。其主要缺点:1)由于它通常作为用户进程运行,依赖于具体的操作系统底层的支持,与系统的体系结构有关,所以它无法了解发生在下层协议的入侵活动;2)熟练的入侵者往往可以进入系统修改、删除有关的日志记录,从而隐藏入侵迹象;3)HIDS位于所监视的每一个主机中,故占用的资源不能太多,从而大大制了所采用的检测方法及处理性能。2.2.2 基于网络的入侵检测系统基于网络的IDS最早出现于1990年。它主要用于防御外部入侵攻击。它通过监控出入网络的通信数据流,依据一定规则对数据流的内容进行分析,从而发现协议攻击、运行已知黑客程序的企图和可能破坏安全策略的特征,做出入侵攻击判断。为了能够捕获入侵攻击行为,基于网络IDS必须位于能够看到所以数据包的位置,这包括:环网内部、安全网络中紧随防火墙之后以及其它子网的路由器或网关之后。最佳位置便是位于Internet到内部网络的接入点。但是,同一子网的2个节点之间交换数据报文并且交换数据报文不经过IDS,那么IDS可能就会忽略这些攻击。基于网络IDS的主要优点:1)由于NIDS直接收集网络数据包,而网络协议是标准的。因此,NIDS如目标系统的体系结构无关,可用于监视结构不同的各类系统;2)NIDS使用原始网络数据包进行检测,因此它所收集的审计数据被篡改的可能性很小,而且它不影响被保护系统的性能;3)NIDS利用工作在混杂模式下的网卡实时监视和分析所有的通过共享式网络的传输,能够实时得到目标系统与外界交互的所有信息,包括一些隐蔽的端口扫描和没有成功的入侵尝试。基于网络IDS的主要缺点:1)缺乏终端系统对待定数据的处理方法等信息,使得从原始的数据包中重构应用层信息很困难。因此,NIDS难以检测发生在应用层的攻击;而对于加密传输方式进行的入侵,NIDS也无能为力;2)NIDS只检查它直接连接网段的通信,不能检测到不同网段的网络包,因此在交换式局域网中,它难以获得不同交换端口的网络信息:3)网络流的数据量大,NIDS必须对数据帧进行解码才能了解其中的含义。因此,NIDS的数据处理量大,而造成处理能力不足。2.3 入侵检测技术入侵检测技术总体上分为异常检测和特征检测。2.3.1 异常检测异常检测的假设是入侵者活动异常于正常主体的活动。根据这一理念建立主体正常活动的“活动简档”,将当前主体的活动状况与“活动简档”相比较,当违反其统计规律时,认为该活动可能是“入侵”行为。异常检测的难题在于如何建立“活动简档”以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为。2.3.2 特征检测特征检测这一检测假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。它可以将已有的入侵方法检查出来,但对新的入侵方法无能为力。其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。2.4 入侵检测系统主流产品近年来,国内外不少厂家生产了自己的入侵检测产品。这些产品己经得到了广泛的应用,下面简要介绍一下国内外的一些产品。1)Cisco公司的Cisco Secure IDSCisco Secure IDS以前被称为NetRanger,该产品由控制器(Director)、感应器(Sensor)和入侵检测模块IDSM(Intrusion Detection System Module)三大组成部分组成。感应器分为网络感应器(NIDS)和主机感应器(HIDS)两部分,分别负责对网络信息和主机信息的收集和分析处理。控制器用于对系统进行控制和管理。Cisco Secure IDS的另一个强项是其在检测时不仅观察单个包的内容,而且还要看上下文,即从多个包中得到线索。Cisco Secure IDS是目前市场上基于网络的入侵检测系统中经受实践考验最多的产品之一。2)ISS RealSecureISS是最早将基于主机和基于网络的入侵检测系统完全集成到一个统一的管理框架中的供应商之一。 ISS RealSecure具有方便的管理控制台,其服务器和网络感应器近几年也取得了很快的发展。RealSecure采用分布式的体系结构、系统分为两层:感应器和管理器。感应器包括网络感应器、服务感应器和系统感应器三类。网络感应器主要是对网络数据的分析检测,服务感应器主要是负责对系统日志和系统文件信息的检测。管理器包括控制台、事件收集器、事件数据库和告警数据库四个部分。3)“冰之眼”网络入侵检测系统“冰之眼”网络入侵检测系统是绿盟科技开发的网络入侵检测产品。具有IP碎片重组能力,同时具有基于特征和异常两种检测模式,能够提供多种入侵保护方式,并能与多种防火墙进行联动。全自动在线升级系统使其能够和绿盟主站点保持规则库的同步更新。4)开源入侵检测系统SnortSnort是以开放源代码(Open Source)形式发行的一个高性能、跨平台的轻量级网络入侵检测系统,在网络安全方面有着极高的地位,并且应用十分广泛。在世界著名的专业安全网站insecure.org进行的2006年网络安全工具Topl00评选中,Snort名列三甲,而在入侵检测一类中,更是头名状元。2.5 入侵检测技术发展趋势入侵检测技术在不断地发展更新,近年来入侵检测技术沿着以下几个方向发展:1)分布式入侵检测。为了躲避检测,越来越多的攻击者采用分布式协同的方式发起攻击,传统的IDS局限于单一的主机或网络架构,对异构系统及大规模的网络检测明显不足,不同的系统之间不能协同工作。为解决这一问题,需要发展分布式入侵检测技术与通用入侵检测架构。2)智能化入侵检测。入侵方法越来越多样化与综合化,尽管已经有智能代理、神经网络与遗传算法在入侵检测领域应用研究,但这只是一些尝试性的研究工作,需要对智能化的IDS加以进一步的研究以解决其自学习与自适应能力。3)应用层入侵检测。许多入侵活动的含义只有在应用层才能理解。但传统方法很少涉及到应用层,使得一些应用系统内的入侵活动难以检测,所以需要开发应用层的入侵检测技术。4)全面的安全防御方案。即使用安全工程风险管理的思想与方法来处理网络安全问题,将网络安全作为一个整体工程来处理。从管理、网络结构、加密通道、防火墙、病毒防护、入侵检测多方位全面对所关注的网络作全面的评估,然后提出可行的全面解决方案。3 Snort入侵检测技术研究3.1 Snort特点Snort是一个以开放源代码形式发行的一个功能强大、跨平台、轻量级的网络入侵检测系统,最初由 Martin Roesch编写,并由遍布世界各地的众多程序员共同维护和升级。它利用Libpcap从网络中采集数据并进行分析,从而判断是否存在可疑的网络活动;就检测模式而言,它基本上是基于误用检测技术,对数据进行最直接最简单的搜索匹配。虽然Snort是一个轻量级的入侵检测系统,但是它的功能却非常强大,其特点如下:1)Snort代码短小,简洁,而且移植性非常好。目前支持Linux系列,Solaris,BSD系列,IRIX,HP-UNIX,Windows系列等。2)Snort具有实时流量分析和日志IP网络数据包的能力。能够快速检测网络攻击,及时发出警报。它提供的警报方式很多,比如Syslog,Unixsocket,WinPopup等。3)Snort能够进行协议分析,内容的匹配和搜索。现在它能够分析的协议有TCP、UDP、和ICMP。将来可以支持更多IPX、RIP、OSPF等。它能检测多种方式的攻击和探测。4)Snort具有灵活的日志格式。支持Tcpdump的二进制格式,也支持ASCll字符形式,也支持XML格式的,使用数据库输出插件,还支持数据库日志格式。当前支持的数据库有Postagresql、Mysql,任何UnixODBC、Microsoft SQL Server、Oracle等。5)使用TCP流插件,Snort可以对TCP包进行重组。这种能力使得Snort可以对抗“无状态”攻击。无状态攻击是指攻击者每次只发送一个字节的数据包,逃过监视,然后被攻击主机的TCP栈会重新组合这些数据包,将攻击数据发送给目标端口上监听的进程,从而摆脱IDS的检测。6)使用Spade (Statistical Packet Anomaly Detection Engine)插件,Snort能够报告异常的数据包,从而对端口进行有效的检测。7)Snort还具有很强的系统防护能力。使用IPTables,IPFilter插件可以使入侵检测主机和防火墙联动,通过FlexResp功能,Snort能够命令防火墙断开恶意连接。8)扩展性好,对于新的攻击威胁反应迅速。Snort采用了一种简单的规则描述语言,最基本的规则知识包含四个域:处理动作、协议、方向、端口。可以对新的攻击迅速建立规则表。9)Snort支持插件,可以使用具有特定功能的报告,检测子系统插件对其进行功能扩展。当前支持的插件有:数据库日志输出插件、破碎包检测插件、端口扫描检测插件、HttpURL插件、XML网页生成插件等。3.2 Snort的体系结构Snort的体系结构如图3-2图3-2 Snort的体系结构1)Sniffer(数据包嗅探器)该子系统的功能是捕获网络数据包并按照TCP/IP协议的不同层次将数据包进行解析。Snort利用libpcaP库函数进行数据采集,该库函数可以为应用程序提供直接从链路层捕获数据包的接口函数,并可以设置数据包的过滤器来捕获指定的数据。网络数据采集和解析机制是整个NIDS实现的基础,其中关键的是要保证高速和较低的丢包率,这不仅仅取决于软件的效率还同硬件的处理能力相关。对于解析机制来说,能够处理数据包的类型的多样性也同样非常重要,目前,Snort可以处理以太网,令牌环以及SLIP等多种类型的包。2)预处理器Snort的预处理器是介于数据包嗅探器与检测引擎之间的可插入模块,它的主要思想是在数据包送到Snort的检测引擎之前提供一个报警、丢弃数据包或修改数据包的框架。3)检测引擎检测引擎是Snort的核心。Snort根据规则库对预处理器送来的数据包进行匹配检测。为了能够快速而准确地进行检测,Snort用链表的形式对规则进行组织。检测引擎的主要性能指标是快速和准确。为了达到快速的目的,要求Snort的规则链表要进行分类和组织结构优化。为了达到准确的目的,要求规则的提取十分准确,并且编写十分精确和简洁的规则。检测引擎是Snort的核心,准确和快速是衡量其性能的重要指标。准确性主要取决于对入侵行为特征码提取的精确性和规则编写的简洁实用性,由于网络入侵检测系统是被动防御的,只能被动的检测流经本网络的数据,而不能主动发送数据包去探测。所以只有将入侵行为的特征码归结为协议的不同字段的特征值,通过检测该特征值来决定入侵行为是否发生。快速性主要取决于引擎的组织结构,是否能够快速地进行规则匹配。4)报警日志检测引擎检查后的Snort数据需要以某种方式输出。Snort对每个被检测的数据包都定义了如下的三种处理方式;alert(发送报警信息)、log(记录该数据包)和pass(忽略该数据句)。这些处理方式其实是具体定义在检测规则中的,具体的完成是在日志/报警子系统中。日志子系统允许将嗅探器收集到的信息以可读的格式或以tcpdump格式记录下来。报警子系统负责将报警信息发送到syslog、用户指定的文件、Unix套接字或数据库中。3.3 Snort入侵检测流程基于规则的模式匹配是Snort检测机制的核心。Snort的入侵检测流程分两大步:第一步是规则的解析流程,包括从规则文件中读取规则和在内存中组织规则;第二步是使用这些规则进行匹配的规则匹配流程。下面将依次介绍入侵检测的流程:3.3.1规则解析流程Snort首先读取规则文件,紧接着依次读取每一条规则。然后按照规则语法对其进行解析,在内存中对规则进行组织,建立规则语法树。Snort程序调用规则文件读取函数ParseRulesFile()进行规则文件的检查、规则读取和多行规则的整理。ParseRulesFile()只是Snort进入规则解析的接口函数,规则解析主要由ParseRule()来完成。ParseRule()解析每一条规则,并将其加入到规则链表中。parseRule()的流程如图3-3-1所示。图3-3-1规则解析流程ParseRule()函数通过调用RuleType()函数提取规则类型,如果规则类型是Pass、fog、alert、activate、dynamic类型,那么就将规则按照规则语法结构进行解析。首先调用proeessHeadNode()处理规则头,再调用proeessRuleoption()处理规则选项。如果提取的类型是预处理插件关键字PreProcess、输出插件关键字output、配置命令config、变量定义var等则调用相应的函数进行处理,处理后跳出本条规则解析,进行下一条规则解析。3.3.2规则匹配流程Snort对从网络上捕获的每一条报文和规则语法树进行扫描匹配,首先按照默认的顺序遍历activation、dynamic、