1第五章入侵检测入侵检测:对入侵行为的发觉,并对此做出反应的过程。通过对计算机或者网络系统中的若干关键点收集信息并对其进行分析,从中发现计算机中或网络中是否存在违反安全策略的行为和被攻击的迹象,根据分析和检查的情况,作出相应的反应。一、防火墙:网络连接设备,用于强制在网络通信之间执行一种安全策略。类型:包/会话过滤防火墙、代理网关(应用代理)防火墙、状态检测防火墙1、包/会话过滤①包过滤:数据包过滤是指在网络层对数据包进行分析、选择和过滤。通过检查数据流中每一个IP数据包的源地址、目的地址、所用端口号、协议状态等因素或它们的组合来确定是否允许该数据包通过。过滤规则基于模式匹配。检查的内容:IP源地址和目的地址,端口,协议标识符(TCP,UDP,ICMP等)、TCP标志(SYN,ACK,RST,PSH,FIN)、ICMP消息类型优点:速度快、逻辑简单、成本低、易于安装和使用,网络性能和通明度好,广泛地用于路由器上。缺点:不能检测上下文,不能阻止针对特定应用的攻击,没有用户的身份验证机制。②会话过滤:在包过滤基础上加了会话上下文,难以过滤无状态协议UDP和ICMP。依赖于可靠链接、针对语法描述、应用级攻击无效2、代理网关:所有的流量都进入防火墙,出去的流量看起来来自防火墙①应用级网关:每一个应用都有代理,连接和传递信息针对特定的应用程序之间的连接优点:支持用户网关十分验证,可用日志记录和审计所有活动缺点:开销大,对每个应用程序都要建立一个代理②电路级网关:对应用是透明的,连接和传递信息针对特定的TCP连接优点:开销小缺点:不检查TCP段的内容,比应用级网关控制更弱二、BastionHost堡垒主机:①概念:是通过包过滤来实现应用级网关的加固的系统。一种被强化的可以防御进攻的计算机,作为进入内部网络的一个检查点,以达到把整个网络的安全问题集中在某个主机上解决,从而省时省力,不用考虑其它主机的安全的目的。所有不重要的服务都被关闭;对被支持的服务有特定的应用程序代理;支持用户身份认证;所有流量都经过堡垒主机。②分类:①Single-HomedBastionHost单宿主堡垒主机如果数据包过滤器被攻破,流量可以流动到内部网络。2②Dual-HomedBastionHost双宿主堡垒主机内部和外部网络之间没有物理连接三、网络过滤器1、保护地址和路由隐藏内部网络上的主机的IP地址:只有当外部访问该服务时,才揭示它们的IP地址;保持其他地址保密,来使欺骗更难使用NAT(网络地址转换)映射,把数据包头的地址映射到内部地址:1对1或N对1映射2、结构①Netfilter/iptables包含在Linux2.4以后的内核中,可以实现包过滤(无状态或有状态)、3防火墙、NAT(网络地址翻译)和数据包的分割等功能。Netfilter:是一组内核钩子,允许内核模块用网络协议栈注册回调(工作在内核内部),iptables则是让用户定义规则集的表结构。netfilter的架构:在IPv4中定义的5个钩子:PRE_ROUTING,LOCAL_IN,FORWARD,LOCAL_OUT,POST_ROUTING.PRE_ROUTING:刚刚进入网络层的数据包通过此点(刚刚进行完版本号,校验LOCAL_IN:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行FORWARD:要转发的包通过此检测点,FORWARD包过滤在此点进行POST_ROUTING:所有马上便要通过网络设备出去的包通过此检测点,内置的源地址转换功能(包括地址伪装)在此点进行LOCAL_OUT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行②SNAT:源地址转换,其作用是将ip数据包的源地址转换成另外一个地址。③DNAT:目的地址转换,其作用是将ip数据包的目的地址转换成另外一个地址。如何区分SNAT和DNAT从定义来讲它们一个是源地址转换,一个是目标地址转换。都是地址转换的功能,将私有地址转换为公网地址。要区分这两个功能可以简单的由连接发起者是谁来区分:内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。4四、IDS入侵检测系统1、定义:入侵:被授权的用户试图获得额外的权限;被授权用户滥用赋予他们的权利入侵检测:对入侵行为的发觉,并对此做出反应的过程。通过对计算机或者网络系统中的若干关键点收集信息并对其进行分析,从中发现计算机中或网络中是否存在违反安全策略的行为和被攻击的迹象。根据分析和检查的情况,做出相应的相应。入侵检测系统:是一个防御系统。依照一定的安全策略,通过软、硬件,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。目标:防御攻击;进行取证调查;尽量减少损失;了解攻击是如何进行的,提高系统。2、结构:组件:Host主机:在其上运行IDS软件系统target目标:被IDS监控的系统主机-目标托管(协同定位):在入侵检测系统的初期,大多数的IDS跑在他们保护的系统上。主机-目标分离:提高了IDS的安全性,使得更容易隐藏IDS的存在,攻击者看不到。3、控制策略:①Centralized核心式:②PartiallyDistributed半分布式:5③FullyDistributed分布式:4、计时:①基于区间:在基于间隔的入侵检测系统中,从监测点到分析引擎的信息流是不连续的。实际上,该信息被以类似于“存储和转发”通信方案的方式进行处理。许多早期的基于主机的IDSs使用该配时方案。基于时间间隔入侵检测系统从执行积极回应中被排除②实时:实时入侵检测系统从信息源连续运行信息。实时的IDS产生结果的速度足够快,能采取措施,来影响被检测到的攻击的进度。5、分类:HOST–BASED(HIDS)基于主机、NETWORK–BASED(NIDS)基于网络、(AIDS)基于应用、HYBRID混合6①(HIDS)基于主机:(独立系统)也称基于系统的模型,它是通过分析系统的审计数据来发现可疑的活动,如内存和文件的变化等。其输入数据主要来源于系统的审计日志,一般只能检测该主机上发生的入侵。从单个计算机系统中收集到的信息进行操作。通常使用两种类型的信息来源:操作系统审计跟踪和系统日志。优点:可以检测不能由一个基于网络的IDS可以看出的攻击基于主机的消息来源是在数据加密之前或者(和)数据在目标主机解密之后产生的不被交换网络影响当它正在做os审计追踪,可以帮助检测特洛伊木马或者其他设计软件完整性破坏的攻击缺点:每台监控主机都必须配置和管理信息IDS可以被攻击监控系统的性能开销大。②(NIDS)基于网络:(感知器、被动接口、OS独立)通过连接在网络上的站点捕获网上的包,并分析其是否具有已知的攻击模式,以此来判别是否为入侵者。当该模型发现某些可疑的现象时也一样会产生告警,并会向一个中心管理站点发出“告警”信号。因为传感器被限制在运行IDS,所以能更容易的防止攻击。许多传感器被设计成在“隐形”模式下运行,以便使攻击者难以确定他们的存在和位置。优点:NIDS采用被动接口捕获网络数据包分析。放在全球的NIDS传感器可配置,向中央站点报告,使一个小团队的安全专家来支持的大型企业。NIDS系统很好地扩展网络的保护,因为实际工作站,服务器,或在网络上用户系统的数目都不是关键的-业务量是最重要的大多数基于网络的入侵检测系统是独立于操作系统的提供防止DOS攻击更好的安全性缺点:如果网络流量是加密,无法扫描协议或内容入侵检测让现代交换网络更加困难当前基于网络的监控方法不能有效地处理高速网络大多数基于网络的系统都是基于预定义的攻击签名区分:1)基于主机的入侵检测系统:其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵;2)基于网络的入侵检测系统:其输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵;③(AIDS)基于应用:54页(应用事务日志、检测未授权行为)7应用程序的事务日志文件是AIDS最常见的信息来源检测可疑行为,由于授权用户超出其授权优点:可以跟踪未经授权的活动到个人用户基于应用的IDS往往可以在加密环境中工作缺点:作为用于基于主机的IDS操作系统的审计跟踪,应用程序日志没有得到很好的保护经常监测抽象用户级别的事件,通常无法检测特洛伊木马或其他类似软件篡改攻击。④HYBRID混合尽管这两种类型的入侵检测系统彼此显著不同,但它们也相互补充。这样的系统可以用于各个等级的活动关于入侵检测组件的互操作性,没有成熟的行业标准混合系统是难以管理和部署6、入侵检测技术AnomalyDetection异常检测、MisuseDetection误用监测、Hybrid混合检测①AnomalyDetection异常检测(白名单):通过对系统异常行为的辨识来试图发现可能遭到的攻击。需要事先知道基于系统的正常行为模式,将动态观察到的系统行为与其正常行为模式进行匹配比较,并按预定标准进行判断。如果差异大于制定阈值,则报警有入侵,被观察的行为可以是正在发生的或者是经过审计得到的。优点:可以发现未知的攻击行为和对于变形和异构的攻击的检测方面有优势。缺点:误报率较高,正常行为的描述和获取有困难。对哪类事件进行监控?OS系统调用;命令行;网络数据(例如,从路由器和防火墙);进程;按键;文件和设备访问入侵检测的方法:8统计方法:统计模型常用异常检测,在统计模型中常用的测量参数包括:审计事件的数量、间隔时间、资源消耗情况等。常用的入侵检测方法5种统计模型为:1、操作模型,该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内的多次失败的登录很有可能是口令尝试攻击;2、方差,计算参数的方差,设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常;3、多元模型,操作模型的扩展,通过同时分析多个参数实现检测;4、马尔柯夫过程模型,将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,或状态矩阵该转移的概率较小则可能是异常事件;5、时间序列分析,将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。统计方法的最大优点是它可以“学习”用户的使用习惯,从而具有较高检出率与可用性。但是它的“学习”能力也给入侵者以机会通过逐步“训练”使入侵事件符合正常操作的统计规律,从而透过入侵检测系统。神经网络这里的集成开发环境是训练神经网络,通过已知的n个之前的行为,来预测用户的下一个操作或命令,给定的n以前的操作窗口。优点:他们应付噪声数据;他们的成功并不取决于对潜在数据性质的任何假设统计;他们更容易为新的用户群体修改问题:一个小窗口会导致误报,一个大窗口将增加漏报的可能性;入侵者可以在学习阶段训练网络。②MisuseDetection误用监测(黑名单):是指根据已知的攻击特征检测入侵,前提是入侵行为能按某种方式经行特征编码。过程是模式匹配的过程,使用特征攻击库,当监测到用户或系统的行为与库中的记录相匹配时,系统就认为这种行为是入侵。如果入侵特征与正常的用户行为相同,则会误报。没有特征与某种新的攻击行为相匹配或者系统没有收到足够的信息,则会漏报。优点:误报率较低,可以发现已知的攻击行为,依赖于特征库,要及时更新。缺点:无法发现未知的入侵行为,攻击特征的细微变化也会使误用检测失效。一个典型的误用监测系统: