***检测与防护(IDS/IPS)

nIDS/IPS概述

在现有网络中部署的***系统有两类,分别为***检测系统(Intrusion Detection System,IDS)和***防护系统(Intrusion Prevention System,IPS)。顾名思义,***检测是对***行为的发现(告警)并不进行相应的处理;***防护是对***行为的发现进行相应的防御处理。

nIDS与IPS工作原理

***检测和***防护系统在设计的时候需要更多的智能,这样是IDS或IPS能够对数据的每一字节的数据内容进行检测;分析得出结果,从而发现***威胁或潜在的***威胁。

1.IDS工作原理

在本质上,***检测系统是一个典型的“窥探设备”。它通常使用一个或多个监听端口,无须转发任何流量,而只需要在网络上被动的、无声息的收集它所关心的报文即可。对收集来的报文,***检测系统提取相应的流量统计特征值,并利用内置的特征库,与这些流量特征进行分析、比较、匹配。根据系统预设的阈值,匹配度较高的报文流量将被认为是***的,***检测系统将根据相应的配置进行报警或进行有限度的反击。

***检测系统的工作流程大致分为以下几个步骤:

1)收集信息

***检测的第一步是收集信息,内容包括网络流量的内容、用户连接活动的状态和行为。

2)分析信号

对上述收集到的信息,一般通过三种技术手段进行分析:模式匹配、统计分析和完整性分析。其中前两种方法用于实时的***检测,而完整性分析则用于事后分析。具体的技术形式如下所述:

模式匹配。模式匹配就是将收集到的信息与已知的网络***和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该方法的优点是只需收集相关的数据集合,显著减少系统负担。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的******手法,不能检测到从未出现的******手段。

统计分析。分析方法首先给信息对象(如用户、连接、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常偏差之外时,就认为有***发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点不登录的账户却在凌晨两点试图登录。其优点是可检测到未知的***和更为复杂的***,缺点是误报、漏报率高,且不适应用户正在常行为的突然改变。

完整性分析。完整性分析主要关注某个文件或对象是否被更改,包括文件和目录的内容及属性,它在发现被更改的、被特洛伊***感染的应用程序方面特别有效。其优点是不管模式匹配方法和统计分析方法能否发现***,只要是成功的***导致了文件或其他对象的任何改变,它都能够发现,缺点是一般以批处理方式实现,不用于实时响应。

3)实时记录、报警或有限度反击

IDS根本的任务是要对***行为做出适当的反应,这些反应包括详细日志记录、实时报警和有限度的反击***源。

2.IPS的工作原理

IPS(Intrusion Prevention System,***防护系统)是指任何能够检测到***行为(包括已知和未知***),并能够有效阻断***的硬件或软件系统。

IPS倾向于提供主动性的防护,其设计旨在预先对***活动和***性网络流量进行拦截,避免其造成任何损失,而不是简单的在恶意流量传送时或传送后才发出警报。

在网络安全防护系统中,为什么会出现IPS?因为在传统网络安全安全解决方式中,防火墙和***检测系统(IDS)产品存在一些缺陷,IPS为了适应形势的发展,继承和发展了IDS的深层分析技术,采用了类似防火墙的在线部署方式来实现对***行为的阻断。也就是说,IPS是一种能够防御深层***威胁的在线部署的安全产品。

***防护系统(IPS)通过对数据包进行检查并阻止恶意内容的前进,从而阻止***活动。

对IPS工作原理的描述如下:

第一步:获取数据包

不管是嵌入模式的IPS还是旁路模式的IPS,首先都要获取数据包。嵌入模式的IPS直接获取流经的数据包,而旁路模式的IPS通过端口镜像方式获取。

第二步:对数据包进行分类

对数据包进行分类的目的是为下一步分析数据包提供合适的过滤器。分类的依据是数据包中的包头信息,如源IP地址和目的IP地址、端口号和应用域。

IPS数据包处理引擎是专业化定制的集成电路,可以检查数据包中的每一个字节。对于格式不正确的数据包和非关键任务应用,在这一步就被直接丢弃。例如,IPS能够阻止对等文件共享应用中对版权文件的非法传输,这在一定程度上保护了网络带宽资源。

第三步:匹配过滤器

   IPS设备利用过滤器对数据流中的全部内容进行检查,每种过滤器负责分析对应的数据包。每个过滤器都包含一系列规则,只有满足这些规则的数据包才会被确认为不包含恶意***内容。IPS根据探测挖掘系统弱点的不同***行为设置不同的过滤器。

一些已知的***企图,可以通过特征或形式匹配过滤器来检测。

对于缓冲溢出***,IPS需要更为复杂的过滤器。这种复杂的过滤器可以使用协议和应用级的×××设置规则。

针对一些特殊***,IPS需要过滤器能够收集统计信息以发现异常。

当新的弱点被发现之后,IPS会创建一个新的过滤器,并将其纳入自己的管辖之下,试探***这些弱点的任何恶意企图都会立即受到拦截。

第四步:判断数据包是否被命中

所有相关过滤器都是并行工作的。符合匹配要求的任何数据包都将被标为命中。例如,在对付缓冲溢出***时,过滤器引擎给出一个应用层中的缓冲参数,然后评估其特性以探测是否存在***行为,如果存在则将该数据流标为命中。

过滤器引擎集合了流水和大规模并行处理硬件,能够同时执行数千次的数据包过滤检查,并行过滤处理可以确保数据包能够不间断的快速通过系统,不会对速度造成影响。

第五步:数据包的放行或阻断

通过过滤器对每个数据包进行深度检测,如果判断无***迹象则放行该数据包,但一旦发现隐藏于其中的网络***,就根据还***的威胁级别立即采取抵御措施,这些措施包括(按照处理力度)以下几种:

向管理中心告警。

丢弃被标为命中的数据包,与之相关的流状态信息也会被更新,指示系统丢弃该流中剩余的所有内容。

切断此次应用会话。

切断此次TCP连接。

3.IPS的技术实现

IPS的技术实现非常复杂,至少应当具备以下的技术特点和处理能力。

1)嵌入模式运行

只有以嵌入模式运行的IPS设备才能够实现实时的安全防护,实时阻拦所有可疑的数据包,并对该数据流的剩余部分进行拦截。

在实际应用中,有的IPS厂商提供嵌入式接入和旁路接入两种模式。在旁路接入模式下运行的IPS实际上就是一台纯粹的IDS设备,它可以帮助用户实现从旁路监听向实时阻止***的自然过渡。

2)深层分析能力

IPS必须具有深入分析技术,以确定哪些恶意流量已经被拦截,根据***类型、策略等来确定哪些流量应该被拦截。在技术上,IPS吸取了目前IDS所有的成熟技术、包括特征匹配、协议分析和异常检测。

特征匹配是最广泛应用的技术,具有准确率高、速度快的特点。基于状态的特征匹配不但检测***行为的特征,还要检测当前网络的会话状态,避免受到欺骗***。

协议分析是一种较新的***检测技术,它充分利用网络协议的高度有序性,并结合高速数据包捕捉和协议分析,来快速检测某种***特征。协议分析正在逐渐进入成熟应用阶段,它能够理解不同协议的工作原理,以此分析这些协议的数据包,来寻找可疑或不正常的访问行为。协议分析不仅仅基于协议标准(如RFC),还基于协议的具体实现,这是因为很多协议的实现偏离了协议标准。通过协议分析,IPS能够针对插入(Insertion)与规避(Evasion)***进行检测。

3)高质量***特征库

***特征库是***行为的特征,以方便***检查类似于杀毒软件的病毒库。

高质量的***特征库是IPS高效运行的必要条件,IPS应该定期升级***特征库。

4)高效处理数据包能力

IPS必须具有高效处理数据包的能力,对整个网络性能的影响保持在最低水平。IPS必须基于特定的硬件平台,才能实现千兆网络流量的深度数据包检测和阻断功能。这种特定的硬件平台通常可以分为三类:一类是网络处理器(网络芯片),一类是专用的FPGA编程芯片,第三类是专用的ASIC芯片。

nIPS的分类

通常可以将IPS分为两类:基于主机的***防护和基于网络的***防护。

1.基于主机的***防护(HIPS)

HIPS通过在主机/服务器上安装软件代理程序,防止网络******操作系统以及应用程序。基于主机的***防护能够保护服务器的安全弱点不被不法分子利用。基于主机的***防护技术可以根据自定义的安全策略以及分析学习机制来阻断对服务器、主机发起的恶意***。HIPS可以阻断缓冲区溢出、改变登录口令、改写动态链接库以及其他试图从操作系统夺取控制权的***行为,整体提升主机的安全水平。

在技术上,HIPS采用独特的如武器途径,利用由包过滤、状态包检测和实时***检测组成分层防护体系。这种体系能够在提供合理吞吐率的前提下,最大限度的保护服务器的敏感内容,既可以以软件形式嵌入到应用程序对操作系统的调用当中,通过拦截针对操作系统的可疑调用,提供对主机的安全防护;也可以以更改操作系统内核程序的方式,提供比操作系统更加严谨的安全控制机制。

由于HIPS工作在受保护的主机/服务器上,它不但能够利用特征和行为规则检测、阻止诸如缓冲区溢出之类的已知***,还能够防范未知***,防止针对Web页面、应用和资源的未授权的任何非法访问。HIPS与具体的主机/服务器操作系统平台紧密相关,不同的平台需要不同的软件代理程序。

2.基于网络的***防护(NIPS)

NIPS通过检测流经的网络流量,提供对网络系统的安全保护。由于它采用在线链接方式,所以一旦辨识出***行为,NIPS就可以去除整个网络会话,而不仅仅是复位会话。同样由于实时在线,NIPS需要具备很高的性能,以免成为网络的瓶颈,因此NIPS通常被设计成类似于交换机的网络设备,提供限速吞吐速率以及多个网络端口。NIPS必须给予特定的硬件平台,才能实现千兆网络流量的深度数据包检测和阻断功能。

在技术上,NIPS吸取了目前NIDS所有的成熟技术,包括特征匹配,协议分析和异常检测。特征匹配是最广泛应用的技术,具有准确率高、速度快的特点。基于状态的特征匹配不但检测***行为的特征,还要检查当前网络的会话状态,避免受到欺骗***。

nCisco ISD/IPS系统

Cisco基于网络的***防御解决方案通过对流量从第2层到第7层以致整个网络严密检测,避免网络受到策略违反、漏洞利用和异常活动的***。

目前Cisco IDS/IPS产品线主要包含的设备类型如下:

设备传感器产品:IPS 4200系列

模块化产品:ASA上的高级检测和保护安全服务模块(AIP-SSM)、Catalyst 6500系列交换机和7600系列路由器上的安全模块IDSM、综合业务路由器(ISR)上的IPS增强型集成模块(IPS-AIM)。

集成式产品:路由器IOS集成IPS功能、ASA/PIX集成IPS功能。

主机IDS/IPS产品:CSA(CiscoSecurity Agent,Cisco安全代理)。

nIPS 4200系列传感器概述

IPS4200系列传感器提供广泛的解决方案,可以很好的融入企业和服务提供商的网络环境,产品型号有4215、4240、4255、4260和4270。IPS 4200系列传感器具备以下功能:

细致检查第2层到第7层的流量

组止恶意流量,包括网络病毒、蠕虫、间谍软件、广告软件等。

可同时以混杂模式和内部模式进行。

支持多接口以监控多个子网。

基于特征和基于异常的检测功能。

丰富的传输级性能选择,范围从65Mb/s 到2Gb/s。

传感器软件内部集成基于Web的管理解决方案。

1.IPS4200典型工作模式

IPS 4200支持IPS/IDS两种特性,这取决于实施时采用哪种模式。IPS的最大优点是可以在线检测***并拦截***;IDS自身虽然不能主动拦截***,但是其最大优点是可以与网络设备(路由器、交换机和防火墙)联动,并且调度设备进行拦截***。

2.IPS4200的部署

如图所示,IPS/IDS可以部署在内、外网的不同安全区域,既可以部署在防火墙内,也可以部署在防火墙外,或者直接保护特定的网络。

spacer.gif

部署IDS与部署IPS具有各自的优、缺点。如下表所示:

模式优点缺点

IDS   1.对网络设备没有影响,例如延迟、   1.IDS响应动作不能触发终止分

阻塞等组并保证终止连接

2.传感器死机不会影响网络功能       2.对使用逃避技术的网络***

没有行之有效的方法

3.以混杂模式监控网络,使用SPAN、   3.不支持内部监控,不具有内部

        VACL等捕获流量响应、拒绝分组通过的能力

IPS    1.支持内部监控,具有内部响应、拒   1.对分组有影响,例如延时等

绝分组通过的能力

2.TCP/IP流量标准化                 2.对网络有影响,例如带宽等

3.透明监控两接口间所有的流量传输   3.有时由于成本限制,不能部署

太多的IPS

nIPS 4200基本配置

1.初始化配置

1)进入CLI

首先进入CLI,默认的用户名是cisco,密码是cisco,此账号的用户角色是管理员,具有整个系统操作的最高优先级。第一次登录时会被提示要求更改默认密码,新密码要求至少八个字符长。

2)运行setup命令

使用setup命令可以配置的基本参数如下:

主机名称

IP地址及掩码

默认网关

Telnet服务器状态(默认为禁用)

Web服务器端口(默认为443)

运行setup命令将显示当前的配置选项,如下所示:

spacer.gif

输入yes或直接按Enter键,进入配置对话框,配置完成后使用show configuration验证配置。

2.基本配置命令

1)设置主机名和管理IP地址

管理IPS 4200是通过为其管理接口配置IP地址来实现的,配置命令如下所示:

   sensor#conf terminal

   sensor(config)#service host   //进入主机配置模式

   sensor(config-hos)#network-settings    //网络配置

   sensor(config-hos-net)#host-name ips   //设置主机名

sensor(config-hos-net)#host-ip 10.1.1.10/24,10.1.1.254  //设置IP

地址及默认网关

   sensor(config-hos-net)#exit

   sensor(config-hos)#exit

   ApplyChanges:?[yes]:    //应用配置

   Sensor(config)#

需要注意:重启IPS后主机名才生效,可以通过reset命令重启IPS。

2)设置信任主机

可以配置信任主机,即允许哪些网段或主机访问IPS,访问方式包括Telnet、FTP、SSH和HTTP,配置命令如下所示:

   sensor#conf terminal

   sensor(config)#service host

   sensor(config-hos)#network-settings

   sensor(config-hos-net)#access-list 10.1.1.0/24  //配置信任主机

sensor(config-hos-net)#telnet-option enabled   //启用Telnet

sensor(config-hos-net)#exit

sensor(config)#exit

ApplyChange:?[yes]:

sensor(config)#

配置完成后,可以在10.1.1.0/24网段中的主机上Telnet到IPS,为安全起见建议使用SSH。

nIPS设备管理器(IDM)

在对IPS进行初始化配置后,就可以使用IDM以图形化的方式管理IPS了。IDM是基于Java的Web方式的管理工具,可以很方便的配置和管理IPS。

1.配置IDM访问

首先在管理主机安装Java虚拟机,然后通过“控制面板”→“Java”启用Java控制面板,配置JavaRuntime参数-Xmx256m(设置内存为256M),如图所示:

spacer.gif

spacer.gif

然后在IE浏览器中输入“https://10.1.1.10”,按提示输入用户名和密码后的界面如图所示,可以看到已经配置的IP地址和默认网关等。

spacer.gif

2.配置用户

IPS支持四种用户角色,用户角色决定用户的权限级别,要创建用户账号,需要给用户账号分配一种用户角色,如图所示:

spacer.gif

四种用户角色如下所述:

管理员(Administrator):该用户角色拥有最高的权限等级,管理员无浏览访问限制,并能执行传感器上的所有功能。

操作员(Operator):该用户角色拥有第2高的权限等级,操作员无浏览访问限制,能执行如修改密码、更改特征库、配置虚拟服务器等有限功能。

观察员(Viewer):该用户角色的权限等级最低,可以查看配置和时间,但是不能修改任何配置,除了自己的密码外。

服务(Service):该用户角色属于特殊账号,可以进入IPS内科程序,主要用于技术支持和故障诊断。

3.配置传感接口

传感接口也称嗅探接口,是用于监控和分析网络流量的特定接口,该接口没有IP地址,因此对于***者来说是不可见的。

传感接口可以运行在混杂模式,也可以配置为在线模式。

1)混杂模式

该模式下,数据包不会穿过IPS,传感器只会分析镜像备份过来的流量。由于该模式下流量不通过IPS,因此IPS需要借助于其他设备来执行拦阻(Block)。运行于混杂模式的传感器通常称为IDS解决方案。

2)在线(Inline)模式

该模式下直接将传感器放置在流量中,一旦发现***,就可以直接在线将包丢弃。在线模式的IPS不但可以在三层和四层上检查流量,而且可以对流量的内容进行分析。

在线模式的接口可以配置为接口对模式或VLAN对模式。

接口对(Interface Pairs)模式。在接口对模式中,流量通过传感器的第1个接口对进入并从第2个接口对流出。需要注意的是,两个接口必须分别属于不同的VLAN,但属于同一个IP子网,如图所示:

spacer.gif

使用IDM配置接口对模式如图所示:

spacer.gif

使用show conf命令查看对应的配置。

VLAN对(VLAN Pairs)模式。在VLAN对模块中,通过创建子接口,流量进入到VLAN 10后被检测,并在相同的物理接口将带有VLAN 20标记的流量发送出去,如图所示。每个传感器接口可以桥接多达255个VLAN对。

spacer.gif

使用IDM配置VLAN对模式如图所示:

spacer.gif

使用show conf命令查看对应的配置。

4.配置旁路(Bypass)模式

IPS的旁路模式只工作在Inline模式,该模式有三个选项:on、off和auto,含义如下:

auto:传感器宕机时允许流量通过,传感器正常工作时就要对流量进行审查和分析,这是默认的模式。

off:禁止旁路模式,传感器宕机时就将流量丢弃。

on:永远不对流量进行审查和分析。

5.分析引擎(Analysis Engine)

要想让传感器分析流量,就必须依靠分析引擎。将接口分配给分析引擎,分析引擎从接口处获取数据包并对其进行分析,然后与定义好的签名进行比对,做出指定的动作(Action)。

使用IDM配置默认虚拟传感器vs0如图所示:

spacer.gif

使用show conf命令查看对应的配置。

6.特征(Signature)与事件动作

特征库和特征引擎是IPS解决方案结构的基础。特征是对***者进行基于网络的***时所呈现的网络流量模式的描述。当检测到恶意行为时,IPS通过将流量与具体特征比对,监控网络流量并生成警报。IPS传感器软件为不同协议预先安装卸载了宽泛的特征库,用户也可以自定义特征配置。特征引擎是相似特征的集合的一个分组,每个分组检测特定类型的行为。

IPS的特征引擎分为很多类型,如图所示。例如Atomic引擎用于检测单个分组环境,它有三种基本子类型:Atomic ARP、Atomic IP和Atomic IPv6。

spacer.gif

当有特征匹配时,便会触发一个事件动作以防止状况发生,每个事件动作可由单独的特征库配置。可以在IDM上查看IPS的事件动作,如图所示:

spacer.gif

IPS的事件动作很多,具体说明如下:

DenyAttacker Inline:拒绝***者的IP地址。

DenyAttacker Service Pair inline:以***者的地址和被***者的服务端口为拒绝对象。

DenyAttacker Victim Pair inline:以***者和受害者地址为拒绝对象。

DenyConnection inline:拒绝这个TCP流量的现在和将来的包。

DenyPacket inline:丢弃这个数据包。

LogAttacker Packets:记录***者地址。

LogPair Packets:记录***和受害者地址。

LogVictim Packets:记录受害者地址。

ProduceAlert:生成报警。

ProduceVerbose Alert:生成详细的报警。

RequestBlock Connection:对***响应控制器(ARC)发送请求以切断该连接。

RequestBlock Host:对***响应控制器(ARC)发送请求以阻断该***主机。

RequestSNMP Trap:发送SNMP Trap到设置的管理主机,同时会自动产生报警。

RequestTCP connection:重置TCP连接。

nIPS防御***的配置案例

1.配置IPS防御SYN Flood

如图所示,IPS配置为接口模式,防御由PC发起的SYN Flood***。

SYNFlood***利用TCP协议三次握手的原理,发送大量伪造源IP的SYN,服务器每收到一个SYN就要为这个连接信息分配核心内存并放入半连接队列,然后向源地址返回SYN+ACK,并等待源端返回ACK。由于源地址是伪造的,所以源端永远都不会返回ACK。如果短时间内接收到的SYN太多,半连接队列就会溢出,操作系统就会丢弃一些连接信息。这样正常的客户发送的SYN请求连接也会被服务器丢弃。

spacer.gif

使用IDM配置步骤如下:

1)基本配置和接口对模式配置省略。

2)配置SYN Flood特征ID 3050的事件动作为Deny Attacker Inline和Log Attacker Packets,如图所示:

spacer.gif

3)测试。在PC上发动SYN Flood***并伪造源IP地址为2.2.2.2,在IDM的监控界面上查看到的事件和拒绝***者的IP地址如图所示:

spacer.gif

spacer.gif

2.配置IDS与网络设备联动防御SYN Flood

如图所示,IPS接口配置为混杂模式(使用IDS功能),配置IDS与路由器联动防御由PC发起的SYN Flood***。

IDS可以与交换机、路由器、防火墙配置联动,与路由器配置联动是通过给路由器下发ACL来拒绝流量。

spacer.gif

使用IDM配置的步骤如下:

1)基本配置和接口配置省略,但需要在交换机上配置端口镜像以使IDS监控流量。

2)配置SYN Flood特征ID 3050的事件动作为Request Block Host和Log Attacker Packets,如图所示:

spacer.gif

3)配置拦阻(Blocking)

a)配置设备Login Profiles。如图所示,这里需要配置访问路由器的方式,需要提供登录用户名、密码及enable密码。

spacer.gif

b)配置Blocking设备。如图所示,这里需要配置路由器的IP地址、设备类型、引用之前定义的模块以及通信方式。

spacer.gif

c)配置路由器参数。如图所示,这里需要配置路由器的F1/0接口、In方向上应用ACL。

spacer.gif

使用show conf命令查看对应的配置。

4)测试

在PC上发动SYN Flood***并伪造源IP地址为2.2.2.2,在IDM的监控界面上查看到被Blocking的主机如图所示:

spacer.gif

在路由器上查看ACL如下:

spacer.gif

该ACL拒绝了***流量。