第七章-入侵检测技术-课件.ppt
计算机信息安全技术,第七章 入侵检测技术,目录,7.1 入侵检测的基本概念 7.2 PPDR模型及入侵检测系统 7.3 入侵检测的技术模型 7.4 常用入侵检测系统介绍 7.5 入侵检测技术的存在的问题与发展趋势,7.1 入侵检测的基本概念,网络入侵 入侵是所有企图破坏网络信息的完整性、保密性和可用性的网络攻击行为;入侵行为企图破坏系统的安全措施以达到非法访问信息、改变系统行为和破坏系统可用性的目的。,7.1 入侵检测的基本概念,网络入侵行为1、外部渗透:未被授权使用计算机,又未被授权使用数据或程序资源的渗透;2、内部渗透:被授权使用计算机,但未被收授权使用数据或程序资源的渗透;3、不法使用:利用授权使用计算机、数据和程序资源的合法用户身份的渗透。,7.1 入侵检测的基本概念,常见的网络入侵的手段 欺骗攻击嗅探器Sniffer端口扫描与漏洞扫描口令破解 特洛伊木马缓冲区溢出攻击拒绝服务攻击(DoS攻击)利用系统或软件的漏洞进行攻击,7.1 入侵检测的基本概念,入侵检测的发展 业界将James P.Anderson在1980年发布的那篇Computer Security Threat Monitoring and Surveillance作为入侵检测概念的最早起源 1.将威胁分成外部渗透、内部渗透、不法行为 2.提出将审计技术应用到对威胁的检测上,7.1 入侵检测的基本概念,1986年Dorothy Denning等人才在其论文An Intrusion Detection Model中给出了一个入侵检测的抽象模型IDES(入侵检测专家系统),并在1988年开发出一个IDES系统。,图7.1 IDES系统模型,二维检测思想:基于专家系统的特征检测;(误用检测方向)基于统计异常模型的异常检测。(异常检测方向),7.1 入侵检测的基本概念,1990年Herberlein等人开发出了第一个真正意义上的入侵检测系统NSM(Network Security Monitor)。上世纪90年代中期,商业入侵检测产品初现端倪,1994年出现了第一台入侵检测产品:ASIM。1997年,Cisco将网络入侵检测集成到其路由器设备,入侵检测系统正式进入主流网络安全产品阶段。20012003年之间,防火墙是无法控制和发现蠕虫传播的,反倒是入侵检测产品可以对这些蠕虫病毒所利用的攻击代码进行检测,一时间入侵检测名声大振。2003年GARTNER的一篇入侵检测已死的文章,带来了一个新的概念:入侵防御(IPS)。,7.2 PPDR模型及入侵检测系统,网络安全模型针对网络安全问题,人们提出了各种网络安全模型,其中具有代表性的是PDR模型。PDR模型有很多变种。人们普遍接受的一个模型是PPDR模型,图7.2 PPDR模型,7.2 PPDR模型及入侵检测系统,入侵检测系统的功能要求:实时性要求 可扩展性要求 适应性要求 安全性与可用性要求 有效性要求,7.2 PPDR模型及入侵检测系统,入侵检测系统的基本结构 图7.3给出了一个通用的入侵检测系统结构。很多入侵检测系统还包括界面处理,配置管理等模块。,图7.3 通用入侵检测系统的基本结构图,7.2 PPDR模型及入侵检测系统,入侵检测系统的分类 基于主机的入侵检测系统(HIDS)运行于被检测的主机之上,通过查询、监听当前系统的各种资源的使用运行状态,发现系统资源被非法使用和修改的事件,进行上报和处理。,安装于被保护的主机中 主要分析主机内部活动占用一定的系统资源,2023/3/18,13,入侵检测的实现方式,基于网络的入侵检测系统(NIDS)网络IDS是网络上的一个监听设备(或一个专用主机),通过监听网络上的所有报文,根据协议进行分析,并报告网络中的非法使用者信息。,安装在被保护的网段(共享网络、交换环境中交换机要 支持端口映射)中,只需要在网络的关键点进行部署即可混杂模式监听分析网段中所有的数据包,对那些基于协议入侵的行为有很好的防范作用实时检测和响应与主机操作系统无关,2023/3/18,14,网络IDS工作模型,N,Y,7.2 PPDR模型及入侵检测系统,分布式入侵检测系统(DIDS)典型的DIDS是管理端/传感器结构。NIDS作为传感器放置在网络的各个地方,并向中央管理平台汇报情况。对DIDS来说,传感器可以使用NIDS、HIDS,或者同时使用,而且传感器有的工作在混杂模式,有的工作在非混杂模式。,7.3 入侵检测的技术模型,入侵检测的技术模型最早的入侵检测模型由Dorothy Denning在1986年提出。这个模型与具体系统和具体输入无关,对此后的大部分实用系统都很有借鉴价值。,事件产生器,行为特征模块,规则模块,审计记录/网络数据包等,特征表更新,规则更新,包含用于计算用户行为特征的所有变量,执行基于行为的检测,由系统安全策略、入侵模式等组成,执行基于知识的检测,7.3 入侵检测的技术模型,基于异常检测的入侵检测 任何一种入侵和滥用行为通常与正常的行为存在严重的差异,通过检查出这些差异就可以检查出入侵。这种方法主要是建立计算机系统中正常行为的模式库,然后根据收集到的信息数据,通过某种方法,看是否存在重大偏差,如果偏差在规定范围之外,则认为发生了入侵行为。异常检测的一个很大的优点是不需要保存各种攻击特征的数据库,随着统计数据的增加,检测的准确性会越来越高,可能还会检测到一些未知的攻击。但由于用户的行为有很大的不确定性,很难对其行为确定正常范围,因此门限值的确定也比较困难,出错的概率比较大。同时,它只能说明系统发生了异常的情况,并不能指出系统遭受了什么样的攻击,这给系统管理员采取应对措施带来了一定困难。异常检测中常用的方法有:量化分析、统计分析和神经网络。,7.3 入侵检测的技术模型,基于误用的入侵检测 收集非正常操作的行为特征,建立相关的特征库,也就是所谓的专家知识库。通过监测用户的或系统行为,将收集到的数据与预先确定的特征知识库里的各种攻击模式进行比较,如果能够匹配,则判断有攻击,系统就认为这种行为是入侵。误用检测能迅速发现已知的攻击,并指出攻击的类型,便于采取应对措施;用户可以根据自身情况选择所要监控的事件类型和数量;并且误用检测没有浮点运算,效率较高。缺点也是显而易见的:由于依赖误用模式库,它只能检测数据库中己有的攻击,对未知的攻击无能为力。误用检测中常用的方法有:简单的模式匹配、专家系统和状态转移法。,7.4 常用入侵检测系统介绍,SnortSnort系统是一个以开放源代码(Open Source)形式发行的网络入侵检测系统,由Martin Roesch编写,并由遍布世界各地的众多程序员共同维护和升级。Snort是一个功能强大、跨平台、轻量级的网络入侵检测系统;从入侵检测分类上来看,属于基于网络和误用的入侵检测软件;可以运行在Linux、OpenBSD、FreeBSD、Solaris、以及其它Unix系统、Windows等操作系统之上;,7.4 常用入侵检测系统介绍,Snort的工作模式网络嗅探分析仪(Sniffer)IP包日志记录器 网络入侵检测系统 是用C语言编写的开放源代码软件,在入侵检测系统方面占有重要地位。Snort的网站是http:/www.snort.org。用户可以登陆网站得到源代码,在Linux和Windows环境下的安装可执行文件,并可以下载描述入侵特征的规则文件,2023/3/18,21,系统组成和处理流程 Snort程序流程图,Snort通过两种机制来实现,其一是将网卡设置为混杂模式,另一方式则是利用Libpcap/Winpcap函数库从网卡捕获网络数据包。,数据包解码器主要是对各种协议栈上的数据包进行解析、预处理,以便提交给检测引擎进行规则匹配。,7.4 常用入侵检测系统介绍,2023/3/18,22,8.4 入侵检测系统Snort,系统组成和处理流程 Snort程序流程图,预处理模块的作用是对当前截获的数据包进行预先处理,以便后续处理模块对数据包的处理操作。,2023/3/18,23,8.4 入侵检测系统Snort,系统组成和处理流程 Snort程序流程图,Snort的检测就是二维规则链表和网络数据匹配的过程,一旦匹配成功则把检测结果输出到输出插件。,输出方式采用输出插件方式,输出插件使得Snort在向用户提供格式化输出时更加灵活。,2023/3/18,24,SNORT的安装(1)如何获得snort 从snort的站点http:/www.snort.org获得其源代码或者RPM包。使用源代码安装snort需要libpcap库,可以从ftp:/ftp.ee.lbl.gov下载。(2)安装snort bash#rpm-ihv-nodeps snort-1.7-1.i386.rpm,7.4 常用入侵检测系统介绍,OSSEC HIDS:一个基于主机的开源入侵检测系统 Fragroute/Fragrouter:一个能够逃避网络入侵检测的工具箱 BASE:又称基本的分析和安全引擎,BAS是一个基于PHP的分析引擎Sguil:一款被称为网络安全专家监视网络活动的控制台工具,2023/3/18,26,入侵检测系统的主要相关术语:警告(Alert/Alarm):用来表示一个系统被攻击者攻击,一般包含从攻击内容中得到的攻击信息,或者异常事件和统计信息。误警(False Positive):也成误报,指入侵检测系统对那些良性事件的报警,这表明IDS的错误报警,太多的误警可能导致正常的报警事件被淹没。漏警(False Negative):也称漏报,当一个攻击事件已经发生,而入侵检测系统却没有有效地检测出来,如果漏警太多,或者关键入侵事件的漏报就使入侵检测系统失去了其存在意义.,7.5 入侵检测系统的性能指标,2023/3/18,27,噪声(Noise):指入侵检测系统生成但又没有真正威胁的报警,这些报警是正确的,并且也是可疑的,如配置于防火墙之外的入侵检测系统检测到的扫描事件,可能被防火墙过滤而没有产生扫描攻击,但是入侵检测系统却检测到并产生报警。重复报警(Repetitive Alarm):指入侵检测系统对某一入侵事件的反复报警,重复报警并不表示入侵检测系统的错误行为,太多的重复报警也可能使网络管理员产生视觉疲劳,影响对其他攻击产生适当响应,另外与其他安全技术协同工作也可能产生严重问题,过多的重复报警可能会产生拒绝服务。,7.5 入侵检测系统的性能指标,2023/3/18,28,准确性指标检测率(%):指被监控系统在受到入侵攻击时,检测系统能够正确报 警的概率。通常利用已知入侵攻击的实验数据集合来测 试系统的检测率。检测到的攻击数/攻击事件总数;误警率(%):是指把那些正确事件误报为攻击以及把一种攻击行为误报为 另一种攻击的概率。1(正确的告警数/总的告数);,7.5 入侵检测系统的性能指标,2023/3/18,29,准确性指标漏警率(%):已经攻击而没有检测出来的攻击占所有攻击的概率,通常利用 已知入侵攻击的实验数据集合来测试系统的漏报率。(攻击事件检测到的攻击数)/攻击事件总数;重复报警率(%):重复报警占所有报警的比率。重复报警数/总的报警数。,7.5 入侵检测系统的性能指标,2023/3/18,30,效率指标最大处理能力:指网络入侵检测系统在维持其正常检测率的情况下,系统低于其漏警指标的最大网络流量。目的是验证系统在维持正常检测的情况下能够正常报警的最大流量。以每秒数据流量(Mbps或Gbps)来表示。取决于三个因素,其一是入侵检测系统抓包能力,其二是分析引擎的分析能力,最后还与数据包的大小有直接关系,相同流量下,网络数据包越小,数据包越多,处理能力越差。,7.5 入侵检测系统的性能指标,2023/3/18,31,每秒能监控的网络连接数:网络入侵检测系统不仅要对单个的数据包作检测,还要将相同网络连接的数据包组合起来作分析。网络连接的跟踪能力和数据包重组能力是网络入侵检测系统进行协议分析、应用层入侵分析的基础。每秒能够处理的事件数:网络入侵检测系统检测到网络攻击和可疑事件后,会生成安全事件或称报警事件,并将事件记录在事件日志中。每秒能够处理的事件数,反映了检测分析引擎的处理能力和事件日志记录的后端处理能力。,7.5 入侵检测系统的性能指标,2023/3/18,32,系统指标 系统指标主要表示系统本身运行的稳定性和使用的方便性。系统指标主要包括:最大规则数、平均无故障间隔等。最大规则数:系统允许配置的入侵检测规则条目的最大数目。平均无故障间隔:系统无故障连续工作的时间。,7.5 入侵检测系统的性能指标,7.5 入侵检测技术的存在的问题与发展趋势,入侵检测系统目前存在的问题 误报和漏报的矛盾 隐私和安全的矛盾 被动分析与主动发现的矛盾 海量信息与分析代价的矛盾 功能性和可管理性的矛盾 单一的产品与复杂的网络应用的矛盾,7.5 入侵检测技术的存在的问题与发展趋势(自学),入侵检测系统的发展趋势 分析技术的改进内容恢复和网络审计功能的引入集成网络分析和管理功能安全性和易用性的提高 改进对大数据量网络的处理方法防火墙联动功能,