版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 目 录1 绪论31.1网络安全与入侵测31.2 Snort统41.2.1Snort系统介41.2.2Snort系统工作理41.2.3snort系统的特点41.2.4Snort系统的现状61.3本文研究成果与章节安排71.3.1本文主要研究成果81.3.2章节安排.82 入侵检测系统.92.1入侵检测系统的主要功能与构成92.1.1入侵检测系统的主要功能92.1.2入侵检测系统的构成92.1.3入侵检测系统的优缺点122.2入侵检测技术的分类132.2.1根据原始数据的来源132.2.2根据检测原理进行分类162.2.3根据体系结构进行分类172.3入侵检测技术的发展方向183 S
2、NORT系统结构分析203.1SNORT系统的工作流程203.2主模块213.2.1PV结构213.2.2主函数分析213.3命令行解析233.4数据包的截获233.4.1Winpca233.4.2打开数据包接口263.4.3正式获取数据包273.5数据包的解析.273.5.1主要作用273.5.2Packet数据结构.273.5.3TCP/IP协议的分层结构.273.5.4主要函数273.5.5数据包解析模块的工作流程293.6 常规规则.293.6.1主要功能293.6 .2 主要函数.293.6.3检测引擎全流程 303.7输出模块313.8.1输出模块313.8.2插件的使用.313.
3、9 WinXP下实现基于Snort的入侵检测系统.324 SNORT系统的应用实例354.1SNORT系统与防火墙技术的配合使用354.1.1防火墙的局限性354.1.2Snort检测器(探针)的部署354.2一个基于SNORT的入侵检测系统实现方案364.2.1的物理结构364.2.2入侵检测系统的组成374.2.3入侵检测系统的物理布局.384.2.4编写与配置相应规则.385 总结与展望.445.1 总结445.2 展望44致44参考文献.44第一章绪论本章首先介绍了典型的网络入侵检测系统Snort的基本知识,阐述了Snort的发展现状与研究意义,最后介绍了本文的研究成果和章节安排。1.
4、1网络安全与入侵检测在信息化社会中,计算机通信网络在政治、军事、金融、商业、交通、电文教等方面的作用日益增大。社会对计算机网络的依赖也日益增强。随着计算机技术、数字通信技术、网络技术的发展,世界己经进入了数字化、信息化的时代。计算机网络己由单个的局域网发展到目前的跨区域的、国际性的计算机网络。随着网络的开放性、共享性与互联性的扩大,特别是Internet的出现,网络的重要性和对社会的影响也越来越大。随着网络上各种新业务的兴起,比如电子商务、电子现金、数字货币、网络银行等兴起,以与各种专用网的建设,使网络安全问题显得越来越重要。对于企业或者机关部网来说,入侵的来源可能是多种多样的,比如说,它可能
5、是企业或者机关部心怀不满的员工、网络黑客,甚至是竞争对手。攻击者可能窃听网络上的信息,窃取用户的口令、数据库的信息,还可以篡改数据库的容,伪造用户身份,否认自己的签名。更为严重的是攻击者可以删除数据库的容,摧毁网络的节点,释放计算机病毒,直到整个企业网络陷入瘫痪。因此,能否成功阻止网络黑客的入侵、保证计算机和网络系统的安全和正常运行便成为网络管理员所面临的一个重要问题。入侵检测技术是近20年来出现的一种主动保护自己免受黑客攻击的新型网络安全技术。什么是入侵检测呢?简单地说,从系统运行过程中产生的或系统所处理的各种数据中查找出威胁系统安全的因素,并对威胁做出相应的处理,就是入侵检测。相应的软件或
6、硬件称为入侵检测系统。入侵检测被认为是防火墙之后的第二道安全闸门,它在不影响网络性能的情况下对网络进行监测,从而提供对部攻击、外部攻击和误操作的实时保护。而本文所研究的Snort系统就是一个典型的网络入侵检测系统。1.2 Snort系统1.2.1 Snort系统简介Snort系统是一个以开放源代码的形式发行的网络入侵检测系统(NIDS),由MartinRoesch编写,并由遍布世界各地的众多程序员共同维护和升级。Snort运行在LibpoaP库函数基础之上,系统代码遵循GNU/GPL协议。Snort是一个轻量级的网络入侵检测系统。所谓的轻量级是指在检测时尽可能低地影响网络的正常操作,一个优秀的
7、轻量级的网络入侵检测系统应该具备跨系统平台操作,对系统影响最小等特征并且管理员能够在短时间通过修改配置进行实时的安全响应,更为重要的是能够成为整体安全结构的重要成员。Snort作为其典型例,首先可以运行在多种操作系统平台,例如UNIX系列和Windowsgx.(需要1ibpcapFor win32的支持),与很多商业产品相比,它对操作系统的依赖性比较低。其次用户可以根据自己的需要与时在短时间调整检测策略。就检测攻击的种类来说,Snort检测规则包括对缓冲区溢出,端口扫描和CGI攻击等等。另外Snort还有回应入侵行为的辅助功能一发送RST和ICMP UNREACH数据包向攻击方可以暂缓其对目标
8、主机的攻击,对于Snort来说,实现该功能必然会降低检测的效率,尤其是在网络流量特别大的时候。另外,Snort还可以作为数据包嗅探器、数据包记录器使用。1.2.2 Snort系统工作原理Snort作为一个基于网络的入侵检测系统(NIDS),其工作原理为在基于共享网络上检测原始的网络传输数据,通过分析捕获的数据包,匹配入侵行为的特征或者从网络活动的角度检测异常行为,进而采取入侵的预警或记录。从检测模式而言,Snort属于是误用检测(Misuse detection),即对已知攻击的特征模式进行匹配。从本质上来说,Snort是基于规则检测的入侵检测工具,即针对每一种入侵行为,都提炼出它的特征值并按
9、照规写成检验规则,从而形成一个规则数据库。其次将捕获得数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。1.2.3 Snort系统的特点1)Snort是一个轻量级的入侵检测系统Snort虽然功能强大,但是其代码极为简洁、短小,其源代码压缩包不到2Ma2)Snort的可移植性很好Snort的跨平台性能极佳,目前已经支持Linux,Solaris,BSD,IRIX,HP一UX,windows等系统。采用插入式检测引擎,可以作为标准的网络入侵检测系统、主机入侵检测系统使用;与Netfilter结合使用,可以作为网关IDS(GatewayIDS与nmap等系统指纹识别工具结合使用,可以作为基
10、于目标的IDS(Target一based IDS)。3)Snort的功能非常强大Snort具有实时流量分析和日志IP网络数据包的能力。能够快速地检测网络攻击,与时地发出报警。Snort的报警机制很丰富,例如:syslog、用户指定的文件、一个UNIX套接字,还有使用SAMBA协议向Windows客户程序发出WinPopup消息。利用XML插件,Snort可以使用SNML(简单网络标记语言,simple network mark一up language)把日志存放到一个文件或者适时报警。Snort能够进行协议分析,容的搜索/匹配。现在Snort能够分析的协议有TCP,UDP,ICMP等。将来,可
11、能提供对ARP,ICRP,GRE,OSPF,RIP.IPX等协议的支持。它能够检测多种方式的攻击和探测,例如:缓冲区溢出、秘密端口扫描、CGI攻击、SMB探测、探测操作系统指纹特征的企图等等。Snort的日志格式既可以是topdump式的二进制格式,也可以解码成ASCH字符形式,更加便于用户尤其是新手检查。使用数据库输出插件,Snort可以把日志记入数据库,当前支持的数据库包括:Postgresql,MySQL,oraCle、任何unix0DBC数据库等。使用TCP流插件(tcpstream),Snort可以对TCP包进行重组。Snort能够对IP包的容进行匹配,但是对于TCP攻击,如果攻击者
12、使用一个程序,每次发送只有一个字节的TCP包,完全可以避开Snort的模式匹配。而被攻击的主机的TCP协议栈会重组这些数据,将其送给在目标端口上监听的进程,从而使攻击包逃过Snort的监视。使用TCP流插件,可以对TCP包进行缓冲,然后进行匹配,使Snort具备了对付上面这种攻击的能力。使用Spade(Statistieal Paeket Anomaly Deteetion Engine)插件,Snort能够报告非正常的可疑包,从而对端口扫描进行有效的检测。Snort还有很强的系统防护能力。使用FlexResp功能,Snort能够主动断开恶意连接。4).扩展性能较好,对于新的攻击威胁反应迅速作
13、为一个轻量级的网络入侵检测系统,Snort有足够的扩展能力。它使用一种简单的规则描述语言。最基本的规则只是包含四个域:处理动作、协议、方向、注意的端口。还有一些功能选项可以组合使用,实现更为复杂的功能。 Snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。Snort当前支持的插件包括:数据库日志输出插件、碎数据包检测插件、端口扫描检测插件、 URI normalization插件、XML插件等。同时,它支持多种格式的特征码规则输入方式,如数据库、XML等。Snort的规则语言非常简单,能够对新的网络攻击做出很快的反应。发现新的攻击后,可以很快根据其特征码,写出检测规
14、则。因为其规则语言简单,所以很容易上手,节省人员的培训费用。5)多用途性Snort系统不但可以作为入侵检测系统,还可以作为数据包嗅探器、数据包记录器使用。6)遵循公共通用许可证GPLSnort遵循GPL,所以任何企业、个人、组织都可以免费使用它作为自己的入侵检测系统。但是,Snort系统也有很大的局限性,其系统结构决定了其检测规则只能使用落后的简单模式匹配技术,适应目前不断出现的新的攻击方式的能力有限:并且它在网络数据流量很大的时候容易产生漏报和误报,这对于目前的宽带潮流是一个很大的缺点。1.2.4 Snort系统的现状1.发展现状由于遍布世界各地的众多程序员共同维护和升级,目前Snort系统
15、的更新是很快的,目前版本2.0.5,其系统结构日趋合理,功能不断增强,检测规则也不断增新和完善,但系统的基本架构没有变。而且,自由软件开发人员陆续开发了众多辅助性的软件。这些软件包括图形化的管理系统、日志分析工具、检测插件、图形化的规则编写软件,以与规则自动升级软件等。对这些软件进行合理地选择、集成,可以形成一套比较完善的网络入侵检测系统。2.应用现状Snort作为自由软件,二次开发费用低廉,预算比较紧的企业,目前广泛的应用Snort作为主要网络入侵检测系统。而且Snort系统是非常典型的网络入侵检测系统,它的体系结构是多数商用软件结构的基础,目前国现有的大多数网络入侵检测产品的设计模式都是以
16、Snort系统的基本架构为基础的,其检测方式也多与Snort系统类似。3.研究意义与研究现状1)学术上的意义作为典型的网络入侵检测系统,其系统架构和检测方式是非常有代表性的.对其源代码的彻底剖析和对其规则的分析是将来对通用入侵检测架构标准进一步研究所必须要做的前期工作,对系统的详细分析也是将来对其功能进行升级革新的前提。同时,研究Snort系统对于改变国目前入侵检测系统研发的落后局面,也具有非常重要的意义。2)商业应用上的意义Snort系统是自由软件,相对于昂贵的商业入侵检测系统,应用Snort作为入侵检测系统和对其进行专用性的二次开发的费用是非常低的。同时,它的强大功能和多功能性对企业也具有
17、很大吸引力。而且,国目前多数的入侵检测系统都是以Snort系统的基本原理和结构为基础的。因此,对Snort系统的研究无疑具有很大的商业意义。3)对于工作的意义如多数自由软件一样,Snort系统是否含有未知的可能导致泄密的隐藏代码同样需要搞清楚,这对于Snort系统在机要、国防方面的应用是非常重要的。彻底的对整个Snort系统进行解析是最好的方法。目前国对Snort系统的研究取得了一定成果,而对Snort系统基本架构的研究尚处于起步阶段,对架构的研究仅限于系统的大体流程,对于各模块细节的研究远远不够,还没有出现以详细流程图的形式对Snort系统基本架构与的细致描述。对于Snort规则的研究也不彻
18、底,缺乏细致的剖析。而本文以系统结构和规则为主要研究对象,对其进行详细的剖析。1.3 本文研究成果与章节安排1.3.1本文主要研究成果l)细致的剖析了Snort系统源代码,以系统流程图为主要形式描述了系统基本架构和各模块工作流程。目前尚未发现国有类似的工作。2)具体分析了Snort的一些典型规则,对其特点进行了总结。3)结合实际提出了一个Snort系统的典型应用方案。1.3.2 章节安排本文共分为六章,第一章为绪论,介绍了应用入侵检测技术的必要性,以与Snort系统的基本知识,阐述了Snort系统的发展现状和研究意义,并列举了本文的研究成果与容安排。第二章介绍了入侵检测系统的基本原理。第三章为
19、系统结构分析,主要用流程图的形式细致的描述了整个Snort系统的基本架构和各模块工作流程。第四章为Snort规则的分析与编写,具体的分析了Snort系统一些具有代表意义的规则实例,总结了Snort规则的特点,并提出了编写Snort规则所要注意的一些问题。第五章为Snort系统的应用实例,先阐述了Snort作为入侵检测系统与防火墙的配合问题,随后提出了一个典型应用方案。第六章为结束语,阐述了本文的贡献和下一步研究的方向。第二章入侵检测系统本章介绍了入侵检测系统的基本原理入侵检测是指通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到
20、攻击的迹象,同时做出响应。入侵检测系统(IDs:I咖sionDetectinnsystem)是实现入侵检测功能的一系列的软件、硬件的组合。作为一种安全管理工具,它从不同的系统资源收集信息,分析反映误用或异常行为模式的信息,对检测的行为做出自动的反应,并报告检测过程的结果。入侵检测系统就其最基本的形式来讲,可以说是一个分类器,它是根据系统的安全策略来对收集到的事件、状态信息进行分类处理,从而判断出入侵和非入侵行为。2.1 入侵检测系统的主要功能与构成2.1.1入侵检测系统的主要功能监督并分析用户和系统的活动检查系统配置和漏洞检查关键系统和数据文件的完整性识别代表己知攻击的活动模式对反常行为模式的
21、统计分析对操作系统的校验管理,判断是否有破坏安全的用户活动。对一个成功的入侵检测系统来讲,它不但可使系统管理员时刻了解网络系统包括程序、文件和硬件设备等)的任何变更,还能给网络安全策略的制订提供指南。更为重要的一点是,它应该管理、配置简单,从而使非专业人员非常容易地获得网络安全。而且,入侵检测的规模还应根据网络威胁、系统构造和安全需求的改变而改变。入侵检测系统在发现入侵后,会与时作出响应,包括切断网络连接、记录事件和报警等。2.1.2 入侵检测系统的构成入侵检测系统一般由信息收集模块、信息分析模块、用户接口组成。1.信息收集入侵检测的第一步是信息收集,容包括系统、网络、数据与用户活动的状态和行
22、为。而且,需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息,这除了尽可能扩大检测围的因素外,还有一个重要的因素就是从一个源来的信息有可能看不出疑点,但从几个源来的信息的不一致性却是可疑行为或入侵的最好标识。 当然,入侵检测很大程度上依赖于收集信息的可靠性和正确性,因此,很有必要只利用所知道的真正的和精确的软件来报告这些信息。因为黑客经常替换软件以搞混和移走这些信息,例如替换被程序调用的子程序、库和其它工具。黑客对系统的修改可能使系统功能失常并看起来跟正常的一样,而实际上不是。例如,UNIX系统的PS指令可以被替换为一个不显示侵入过程的指令,或者是编辑器被替换成一个读取不同于
23、指定文件的文件(黑客隐藏了初试文件并用另一版本代替)。这需要保证用来检测网络系统的软件的完整性,特别是入侵检测系统软件本身应具有相当强的坚固性,防止被篡改而收集到错误的信息。入侵检测利用的信息一般来自以下四个方面:1)系统和网络日志文件黑客经常在系统日志文件中留下他们的踪迹,因此,充分利用系统和网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或己成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的
24、日志,就包含登录、用户ID改变、用户对文件的访问、授权和认证信息等容。很显然地,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以与非授权的企图访问重要文件等等。2)目录和文件中的不期望的改变网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变(包括修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。黑客经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏系统中他们的表现与活动痕迹,都会尽力去替换系统程序或修改系统日志文件。3)程序执行中的不期望
25、行为网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由一到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程的执行行为由它运行时执行的操作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、文件传输、设备和其它进程,以与与网络间其它进程的通讯。一个进程出现了不期望的行为可能表明黑客正在入侵你的系统。黑客可能会将程序或服务的运行分解,从而导致它失败,或者是以非用户或管理员意图的方式操作。4)物理形式的入侵信息这包括两个方面的容,一是未授权的对网络
26、硬件连接;二是对物理资源的未授权访问。黑客会想方设法去突破网络的周边防卫,如果他们能够在匆理上访问部网,就能安装他们自己的设备和软件。依此,黑客就可以知道网上的由用户加上去的不安全(未授权)设备,然后利用这些设备访问网络。例如、用户在家里可能安装Modem以访问远程办公室,与此同时黑客正在利用自动工具来识别在公共线上的Medem,如果一拨号访问流量经过了这些自动工具,那么这一拨号访问就成为了威胁网络安全的后门。黑客就会利用这个后门来访问部网,从而越过了部网络原有的防护措施,然后捕获网络流量,进而攻击其它系统,并偷取敏感的私有信息等等。2.信息分析上述四类收集到的有关系统、网络、数据与用户活动的
27、状态和行为等信息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。1)模式匹配模式匹配就是将收集到的信息与己知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术己相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但
28、是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。2)统计分析统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值围之外时,就认为有入侵发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点不登录的却在凌晨两点试图登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和
29、基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。3)完整性分析完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的容与属性,它在发现被更改的、被特络伊化的应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数,它能识别哪怕是微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。尽管如此完整性检测方法还应该是网络安全产品的必要手段之一。例如,可以在每一天的某个特定时间开启完整性分析模块,对网络系统进行全面地扫描检查。3.用户接口入侵检测系统的
30、用户接口使得用户容易观察系统的输出信号,并对系统行为进行控制。2.1.3 入侵检测系统的优缺点入侵检测系统的优点在于:·提高了信息安全体系其它部分的完整性·提高了系统的监察能力·跟踪用户从进入到退出的所有活动或影响·识别并报告数据文件的改动·发现系统配置的错误,必要时予以更正·识别特定类型的攻击,并向相应人员报警,以作出防御反应·可使系统管理人员最新的版本升级添加到程序中·允许非专家人员从事系统安全工作·为信息安全策略的创建提供指导同时入侵检测系统并不是无所不能的,它们无法弥补力量薄弱的识别和确认机制,具
31、体表现在:·在无人干预的情况下,无法执行对攻击的检查·无法感知公司安全策略的容·不能弥补网络协议的漏洞·不能弥补由于系统提供信息的质量或完整性的问题·它们不能分析网络繁忙时所有事务·它们不能总是对数据包级的攻击进行处理·它们不能应付现代网络的硬件与特性2.2 入侵检测技术的分类随着入侵检测技术的发展,到目前为止出现了很多入侵检测系统,不同的入侵检测系统具有不同的特征。根据不同的分类标准,入侵检测系统可分为不同的类别。对于入侵检测系统,要考虑的因素(分类依据)主要有:信息源、入侵、事件生成、事件处理、检测方法等。下面就不同的分
32、类依据与分类结果分别加以介绍。2.2.1 根据原始数据的来源入侵检测系统要对其所监控的网络或主机的当前状态做出判断,并不是凭空臆测,它需要以原始数据中包含的信息为基础,做出判断。按照原始数据的来源,可以将入侵检测系统分为基于主机的入侵检测系统、基于网络的入侵检测系统和基于应用的入侵检测系统。l)基于主机的入侵检测系统主要用于保护运行关键应用的服务器。它通过监视与分析主机的审计记录和日志文件来检测入侵。日志中包含发生在系统上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或己成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。通常,基于主机的I
33、DS可监测系统、事件和Windows.VT下的安全记录以与UNIX环境下的系统记录,从中发现可疑行为。当有文件发生变化时,IDS将新的记录条目与攻击标记相比较,看它们是否匹配。如果匹配,系统就会向管理员报警并向别的目标报告,以采取措施。对关键系统文件和可执行文件的入侵检测的一个常用方法,是通过定期检查校验和来进行的,以便发现意外的变化。反应的快慢与轮询间隔的频率有直接的关系。此外,许多IDS还监听主机端目的活动,并在特定端口被访问时向管理员报警。尽管基于主机的入侵检查系统不如基于网络的入侵检查系统快捷,但它确实具有基于网络的系统无法比拟的优点。这些优点包括:·能确定攻击是否成功主机是
34、攻击的目的所在,所以基于主机的IDS使用含有已发生的事件信息,可以比基于网络的IDS更加准确地判断攻击是否成功。就这一方面而言,基于主机的IDS与基于网络的IDS互相补充,网络部分尽早提供针对攻击的警告,而主机部分则可确定攻击是否成功。·监控粒度更细基于主机的IDS,监控的目标明确,视野集中,它可以检测一些基于网络的IDS不能检测的攻击。它可以很容易地监控系统的一些活动,如对敏感文件、目录、程序或端口的存取。例如,基于主机的IDS可以监督所有用户登录与退出登录的情况,以与每位用户在连接到网络以后的行为。它还可监视通常只有管理员才能实施的非正常行为。针对系统的一些活动,有时并不通过网络
35、传输数据,有时虽然通过网络传输数据但所传输的数据并不能提供足够多的信息,从而使得基于网络的系统检测不到这些行为,或者检测到这个程度非常困难。.配置灵活每一个主机有其自己的基于主机的IDS,用户可根据自己的实际情况对其进行配置。·可用于加密的以与交换的环境加密和交换设备加大了基于网络IDS收集信息的难度,但由于基于主机的IDS安装在要监控的主机上,根本不会受这些因素的影响。.对网络流量不敏感基于主机的IDS一般不会因为网络流量的增加而丢掉对网络行为的监视。.不需要额外的硬件基于主机的入侵检测系统的主要缺点是:它会占用主机的资源,在服务器上产生额外的负载;缺乏平台支持,可移植性差,因而应
36、用围受到严重限制。在网络环境中,某些活动对于单个主机来说可能构不成入侵,但是对于整个网络是入侵活动。例如“旋转门柄”攻击,入侵者企图登录到网络主机,他对每台主机只试用一次用户ID和口令,并不穷尽搜索,如果不成功,便转向其他主机。这种攻击方式,各主机上的入侵检测系统显然无法检测到,这就需要建立面向网络的入侵检测系统。2)基于网络的入侵检测系统主要用于实时监控网络关键路径的信息,它侦听网络上的所有数据包来采集数据,分析可疑现象。基于网络的入侵检测系统使用原始网络数据包作为数据源。基于网络的IDS通常利用一个运行在混杂模式下网络的适配器来实时监视并分析通过网络的所有通信业务,当然也可能采用其他特殊硬
37、件获得原始网络包。基于网络的IDS有许多仅靠基于主机的入侵检测所无法提供的功能。实际上,许多客户在最初使用IDS时,都配置了基于网络的入侵检测。基于网络的检测有以下优点:.监测速度快基于网络的监测器通常能在微秒或秒级发现问题。而大多数基于主机的产品则要依靠对最近几分钟审计记录的分析。·隐蔽性好一个网络上的监测器不像一个主机那样显眼和易被存取,因而也不那么容易遭受攻击。基于网络的监视器不运行其他的应用程序,不提供网络服务,可以不响应其他计算机,因此可以做得比较安全。·视野更宽可以检测一些主机检测不到的攻击,如泪滴(teardroP)攻击,基于网络SYN洪水等。还可以检测不成功
38、的攻击和恶意企图。·较少的监测器由于使用一个监测器就可以保护一个共享的网段,所以你不需要很多的监测器。相反地,如果基于主机,则在每个主机上都需要一个代理,这样的话,花费昂贵,而且难于管理。但是,如果在一个交换环境下,就需要特殊的配置。·攻击者不易转移证据。基于网络的IDS使用正在发生的网络通信进行实时攻击的检测。所以攻击者无法转移证据。被捕获的数据不仅包括攻击的方法,而且还包括可识别黑客身份和对其进行起诉的信息。许多黑客都熟知审计记录,他们知道如何操纵这些文件掩盖他们的作案痕迹,如何阻止需要这些信息的基于主机的系统去检测入侵。·操作系统无关性基于网络的IDS作为安
39、全监测资源,与主机的操作系统无关。与之相比,基于主机的系统必须在特定的、没有遭到破坏的操作系统中才能正常工作,生成有用的结果。可以配置在专门的机器上,不会占用被保护的设备上的任何资源基于网络的入侵检测系统的主要缺点是:只能监视本网段的活动,精确度不高;在交换环境下难以配置;防入侵欺骗的能力较差;难以定位入侵者。3)基于应用(APPlication)的入侵检测系统基于应用的入侵检测系统可以说是基于主机的入侵检测系统的一个特殊子集,也可以说是基于主机入侵检测系统实现的进一步的细化,所以其特性、优缺点与基于主机的IDS基本一样。主要特征是使用监控传感器在应用层收集信息。由于这种技术可以更准确地监控用
40、户某一应用的行为,所以这种技术在日益流行的电子商务中也越来越受到注意。它监控在某个软件应用程序中发生的活动,信息来源主要是应用程序的日志。它监控的容更为具体,相应的监控的对象更为狭窄。这三种入侵检测系统具有互补性,基于网络的入侵检测能够客观地反映网络活动,特别是能够监视到系统审计的盲区:而基于主机的和基于应用的入侵检测能够更加精确地监视系统中的各种活动。实际系统大多是这三种系统的混合体。2.2.2 根据检测原理进行分类传统的观点根据入侵行为的属性将其分为异常和误用两种,然后分别对其建立异常检测模型和误用检测模型。异常入侵检测是指能够根据异常行为和使用计算机资源的情况检测出来的入侵。异常入侵检测
41、试图用定量的方式描述可以接受的行为特征,以区分非正常的、潜在的入侵行为。A刀derson做了如何通过识别“异常”行为来检测入侵的早期工作。他提出了一个威胁模型,将威胁分为外部闯入、部渗透和不当行为三种类型,并使用这种分类方法开发了一个安全监视系统,可检测用户的异常行为。误用入侵检测是指利用己知系统和应用软件的弱点攻击模式来检测入侵。与异常入侵检测不同,误用入侵检测能直接检测不利的或不可接受的行为,而异常入侵检测是检查出与正常行为相违背的行为。综上,可根据系统所采用的检测模型,将入侵检测分为两类:异常检测和误用检测。l)异常检测在异常检测中,观察到的不是己知的入侵行为,而是所研究的通信过程中的异
42、常现象,它通过检测系统的行为或使用情况的变化来完成。在建立该模型之前,首先必须建立统计概率模型,明确所观察对象的正常情况,然后决定在何种程度上将一个行为标为“异常”,并如何做出具体决策。2)误用检测在误用检测中,入侵过程模型与它在被观察系统中留下的踪迹是决策的基础。所以,可事先定义某些特征的行为是非法的,然后将观察对象与之进行比较以做出判别。误用检测基于已知的系统缺陷和入侵模式,故又称特征检测。它能够准确地检测到某些特征的攻击,但却过度依赖事先定义好的安全策略,所以无法检测系统未知的攻击行为,从而产生漏警。2.2.3 根据体系结构分类按照体系结构,IDS可分为集中式、等级式和协作式三种。l)集
43、中式这种结构的IDS可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。审计程序把当地收集到的数据踪迹发送给中央服务器进行分析处理。但这种结构的IDS在可伸缩性、可配置性方面存在致命缺陷。随着网络规模的增加,主机审计程序和服务器之间传送的数据量就会骤增,导致网络性能大大降低。并且,一旦中央服务器出现故障,整个系统就会陷入瘫痪。根据各个主机的不同需求配置服务器也非常复杂。2)等级式在这种IDS中,定义了若干个分等级的监控区域,每个IDS负责一个区域,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。这种结构也存在一些问题:首先,当网络拓扑结构改变时,区域分
44、析结果的汇总机制也需要做相应的调整:第二,这种结构的IDS最后还是要把各地收集到的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。3)协作式将中央检测服务器的任务分配给多个基于主机或网络的IDS,这些IDS不分等级,各司其职,负责监控当地主机或者网段的某些活动。所以,其可伸缩性、安全性都得到了显著的提高,但维护成本却高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等,网络流量也增大。2.3 入侵检测技术的发展方向可以看到,在入侵检测技术发展的同时,入侵技术也在更新,一些黑客组织己经将如何绕过IDS或攻击IDS系统作为研究重点。高速网络,尤其
45、是交换技术的发展以与通过加密信道的数据通信,使得通过共享网段侦听的网络数据采集方法显得不足,而大量的通信量对数据分析也提出了新的要求。随着信息系统对一个国家的社会生产与国民经济的影响越来越重要,信息战己逐步被各个国家重视,信息战中的主要攻击“武器”之一就是网络的入侵技术,信息战的防御主要包括“保护”、“检测”与“响应”,入侵检测则是其中“检测”与“响应”环节不可缺少的部分。近年对入侵检测技术有几个主要发展方向:l)分布式入侵检测与通用入侵检测架构传统的IDS一般局限于单一的主机或网络架构,对异构系统与大规模的网络的监测明显不足。同时不同的IDS系统之间不能协同工作,为解决这一问题,需要分布式入
46、侵检测技术与通用入侵检测架构。2)应用层入侵检测许多入侵的语义只有在应用层才能理解,而目前的IDS仅能检测如WEB之类的通用协议,而不能处理如LOtusNotes、数据库系统等其他的应用系统。许多基于客户、服务器结构与中间件技术与对象技术的大型应用,需要应用层的入侵检测保护。3)智能的入侵检测入侵方法越来越多样化与综合化,尽管己经有智能体、神经网络与遗传算法在入侵检测领域应用研究,但是这只是一些尝试性的研究工作,需要对智能化的IDS加以进一步的研究以解决其自学习与自适应能力。4)入侵检测的评测方法用户需对众多的IDS系统进行评价,评价指标包括IDS检测围、系统资源占用、IDS系统自身的可靠性。
47、从而设计通用的入侵检测测试与评估方法与平台,实现对多种IDS系统的检测己成为当前IDS的另一重要研究与发展领域。5)全面的安全防御方案即使用安全工程风险管理的思想与方法来处理网络安全问题,将网络安全作为一个整体工程来处理。从管理、网络结构、加密通道、防火墙、病毒防护、入侵检测多方位全面对所关注的网络作全面的评估,然后提出可行的全面解决方案。总之,入侵检测作为一种积极主动的安全防护技术,提供了对部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。第三章Snort系统结构分析本章详细介绍了Snort系统的基本结构框架与工作流程。3.1 snort系统的工作流程图3.1 Sno
48、rt系统流程图整个系统是由七个模块组成的:主模块、命令行解析、数据包截获、数据包解析、规则解析、检测引擎、输出模块(需要说明的是,本文把Snort系统作为网络入侵检测系统进行分析,所有流程都是以Snort系统的入侵检测状态为前提的)。系统的总体工作流程大体如下:首先执行主函数,其中包括对命令行参数的解析与各种标识符的设置。主函数还调用相关例程对预处理器模块、输出模块和规则选项关键字模块进行初始化工作,其实质是构建各种处理模块或初始化模块的链表结构。而后调用规则解析模块,实质是构建规则链表。接着启动数据包的截获和处理。在对数据包进行处理时,首先是调用各种网络协议解析函数,对当前数据包进行分层协议
49、格式字段的分析,并将分析结果存入到数据结构Packet中去。然后系统调用入侵检测模块,根据给定的各种规则和当前所截获的数据包的协议分析结果,做出是否发生入侵行为的判断。如果当前数据包符合某条检测规则所指定的情况,则系统可根据该条规则所定义的响应方式以与输出模块的初始化定义情况,选择进行各种方式的日志记录或报警操作。Snort系统较多的采用了“插件”的模式,这包括检测引擎、规则解析中的预处理器子模块、规则选项关键字子模块和输出模块。采用此种灵活的结构模式,用户可以加入自己编写的模块增强系统的功能或者满足用户自己的特殊需求。3.2 主模块该模块包括全局变量和重要数据结构的定义和主函数3.2.1 P
50、V结构该数据结构用于存储程序所用到的各种变量以与命令行参数的解析结果。3.2.2 主函数分析1.主要作用各处理模块初始化,调用命令行参数解析,调用检测规则解析,启动数据包截获和处理。2.主函数流程系统初始化部分主要包括系统工作模式、系统默认根目录设置、完整性检查等等,不赘述。主函数通过对Parsecmdiine函数的调用启动对命令行的解析,解析过程实质是对Pv结构的相应字段赋值;接着用Openpcap函数打开数据截获接口(网络接口或者文件);而后调用SetPktprocessor函数,获得当前网络接口层的协议类型,保存到全局变量Grinder中;随后是插件的初始化,包括预处理器插件(InitP
51、reproeessor)、规则选项关键字插件(InitPlugins)和输出插件(hiitoutPutPlugins);调用Parserulefile函数,解析规则文件:随后设置报警模式和日志模式;调用pcaPloop函数,启动对数据包的截获,同时调用ProcessPacket函数,启动对所获数据包的处理;最后关闭数据包截获设备,释放资源退出,实际初始化部分将数据包截获总数设为无限个,使系统进入无限循环处理的过程中,除非出错,不会退出。主函数流程如图3.2所示。图3.2主函数流程图3.3 命令行解析系统采用命令行开关选项的方式对系统进行配置,也可以采用高级规则CONFIG配置系统,实质都是对P
52、V结构的相应字段赋值。命令行的使用方式为:Snort.EXE参数<字符串选项>WIN32下的命令行的使用方式为:Snort.EXE/SERVICE/INSTALL参数)<字符串选项>系统用Pajrsecmdiine函数实现命令行解析模块的全部功能。Parseemdiine函数结构非常简单,就是顺次读取命令行开关后的各个参数,针对不同参数和字符串选项设置PV结构中的对应字段。下面对部分命令行参数结合PV结构相应字段与后文配置规则CONFIG的相应关键字进行说明。3.4 数据包的截获该子系统的功能为捕获网络上传输的数据包,Snort系统利用libpe即库函数(Windows
53、下需要llbpeap for Win32,即winpcaP的支持)进行采集数据,该库函数可以为应用程序提供直接从网络接口层捕获数据包的接口函数并可以设置数据包的过滤器以来捕获指定的数据。网络数据截获机制是整个KIDS实现的基础,目前,Snort可以处理以太网,令牌环以与SLIP等多种网络接口类型的包。下面以WINDOWS下数据包截获的实现,分析数据包截获的过程。3.4.1Winpcap1.WinPcap结构WinPcap包括三个部分第一个模块NPF(NetgrouP Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户级模块,这个过程中包括了一些操作系统特有的代码。第二个模块Packet.dl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025全新高处作业证理论考试题库高空证考试试题(附答案)
- 2026年南京紫金投资集团有限责任公司人员招聘考试参考试题及详细答案解析
- 2025上中学综合素质模拟题一 答案
- 小学二年级美术《多彩的挂饰》教学设计
- 2025心肺复苏操作标准考试题及答案
- 高中信息技术必修1《走近数据分析》项目式教学设计
- 2025孕产期保健及高危孕产妇管理培训班考核试题有答案
- 2025员额法官遴选面试题及答案(必刷)
- 2026爱国主义教育知识考试题库及参考答案
- 2026【安全员C3证】考试题库(含答案)
- 2026标准短视频拍摄合同律师审核修订版条款严谨权利义务对等公平合理可签
- 中国临床肿瘤学会(CSCO)胃癌诊疗指南(2026版)
- T SCSIA 0015-2023《四川省信息化项目费用测算标准》
- 2026年产科急症多学科协作处置试题(含答案)
- 小学主题班会课件:语言表达
- 设备检维修作业风险识别培训课件
- 《决策树与智能推理》教学课件-2025-2026学年人教版初中信息技术(人工智能专册)
- 2026年春季开学“两案九制”完整文件,工作方案应急预案晨午检复课证明传染病防控健康教育消毒隔离制度等
- 市政污水管网工程量计算表
- 2026年超声乳化术配合培训视频资料
- 国际贸易参展计划书模板
评论
0/150
提交评论