配置IPS 异常检测防御蠕虫攻击

2020-10-22 09:25河南许红军
网络安全和信息化 2020年12期
关键词:蠕虫端口基准

■ 河南 许红军

编者按:在防御越来越严重的网络攻击方面,IPS(入侵防御系统)发展已较为成熟。与IDS(入侵检测系统)不同,IPS 不仅可以检测网络威胁,还可以对其进行抵御。IPS 提供了商业化的攻击解决方案,通过安装部署IPS 设备,可以有效抗击各种网络入侵行为。对于IPS 来说,最常用的是基于特征代码的入侵检测技术,即通过匹配Signature 特征码来匹配攻击行为,通过灵活的自定义特征码,可以大大提高检测和防御的准确性。

IPS 设备的工作模式

以思科某款IPS 设备为例,它可以工作在杂合模式(Promiscuous-Mode)和在线模式(InLine-Mode)。

对于杂合模式来说,通过在核心交换机上使用SPAN技术,将通过某接口或VALN的流量复制一份,并发送到IPS 设备Sensor 口上。IPS设备会对其进行分析,如果发现攻击行为,就会产生告警信息。安全人员在IPS 管理中心窗口就会看到告警信息。但该模式对网络攻击抵御能力很弱。

对于在线模式来说,IPS设备串接在核心路由器等关键设备之间,它相当于两口交换机,流量通过其桥接功能进入内网。这样IPS 就可以实时对进入的流量进行分析。对于正常的流量可以放行,对于存在威胁的流量则直接进行拦截。该模式与透明防火墙有些类似。

在线模式可以有效抵御触发包以及后续攻击数据包,或者所有源自攻击者的数据包。对于IPS 设备来说,能够使用流量规范化技术,减少或者消除很多网络逃避技术,特别适用于防御网络蠕虫。

这里就针对IPS 设备的异常检测机制,来重点谈谈如何防御网络蠕虫。

IPS 异常检测机制实现方法

IPS 设备的异常检测策略,可以有效防御网络蠕虫的侵袭。异常检测是IPS 的Sensor 用于检测感染蠕虫病毒主机的组件,该组件可以让Sensor 学习正常流量,当在网络流量出现异常时及时发出报警信息,或者采取动态相应行为对其进行抵御。

利用该组件可以降低Sensor 为了检测蠕虫和扫描器对于病毒特征库的依赖。按照常规处理方式,当某个蠕虫爆发后,用户需要从安全厂商处进行病毒库升级包,用来匹配该蠕虫的特征码,并据此进行判断,确定具体的蠕虫病毒后才可以将其解决掉。

该方法实际上可靠性不高,因为安全厂商的病毒库更新可能比较慢。在等候更新包期间,正常的网络通讯早已被蠕虫完全破坏。注意,这里的Sensor 就是IPS 设备的核心功能,因为现在的IPS 设备几乎都提供的虚拟化功能,可以创建多个虚拟Sensor(例如VS0 等)。某个虚拟Sensor 需要和对应的IPS 设备流量接口绑定,才可以实现检测操作。例如,将该款思科IPS 设备的VS0 和GigabitEthernet0/0 接口绑定起来,这样由该接口进入的流量就会被VS0 虚拟设备内置的三个策略(包括特征码策略、事件行为策略和异常检测策略)进行处理,如果发现其中数据包触发了预设的规则,就会进行相应的处理(例如丢弃、报警等)。

异常检测机制运行模式

利用IPS 的异常检测机制,可以避开上述问题,从另一个方面对蠕虫进行防御。因为当蠕虫爆发后,必然出现网络异常。

例如,当第一台主机遭到蠕虫侵袭后,就会对其他的安全性比较脆弱(例如存在系统漏洞等)的主机产生威胁。病毒会针对某个端口(例如TCP 445 等)或者某些端口进行扫描,当其攻击得手后,会让更多的主机感染蠕虫,在感染网络过程中,会制造大量的垃圾流量来干扰网络的运行。当网络遭到蠕虫流量拥塞时,或者当蠕虫开始感染其他正常主机时,就会被IPS 的异常检测机制捕获。

该机制会通过检测正常主机的并发连接数以及流量变动值,来确认网络是否遭到了蠕虫的攻击。例如,该机制会在固定的周期内(例如从周一到周五)对网络流量进行基准线的采样。当网络流量突然剧增,明显超出了平均的流量值,或者正常主机出现太多的并发连接,IPS 设备就认为网络出现了异常情况,就会采取相应的行为进行控制。

IPS 设备的异常检测机制提供了Learn mode(学习模式),Detect mode(检测模式)以及Inactive mode(不生效)三种工作模式。

对于学习模式来说,主要用来学习在正常模式下,网络的基准流量以及正常的并发连接数等信息。检测模式是默认模式,需注意,即使将其配置成为了检测模式,在最初的24 h 内依然处于学习模式。超过默认学习时间后,就可以将其设置为检测模式。之后该机制将基于学习到的网络基本信息来检测攻击行为,当发现网络流量超过基准线后就会发出报警信息。因为异常检测机制无法工作在异步路由环境,在该环境中其会认为所有的连接都是半开连接,所以在该状态下需要将其置于不生效模式。

异常检测机制会使用到Zones 的概念,Zones 是目的IP 地址集,通过将网络划分为不同的Zones,可以有效降低误报率。一般情况下存在Internal 内部、External 外部和Lllegal 非法三种类型的Zones,不同的Zones 都有属于自己的阀值。一台主机可以创建多少个并发连接,一个网络会产生多大的流量,在不同类别下是不同的。对于内部网络来说,流量的容忍性自然会大些。而对于外部网络来说,流量的容忍性就会小一些。对于非法网络来说,是不允许其产生任何流量的。

配置IPS 异常检测机制

在配置异常检测功能时,首先需要添加异常检测策略到虚拟Sensor 中。

在IPS 的管理界面中点击工具栏上的Configura tion项,在左侧选择“Anomaly Detections”项,在右侧点击“Add”按钮,输入策略的名称(例如“ycjc”),然后点击“OK”按钮创建该策略。在左侧点击“IPS Policies”节点,在右侧选择某个虚拟Sensor,点击“Edit”按钮,在其属性窗口中的“Anomaly Detection”列表中选择该策略,在“AD Operational Mode”列表中选择所需的模式,就可以将其关联到该虚拟Sensor 上。

之后需要配置异常检测模式的Zones、协议和服务信息,在左侧选择“Anomaly Detections”项,在这里列出所有的异常检测策略项。这里选择上述“ycjc”项,在右侧的“Internal Zones”面板中输入内部网络地址集,例如,“172.16.0.0 ~172.16.255.255”等。在“Illegal Zone”面板中输入非法的网络地址集,例如“11.0.0.0 ~11.255.255”等。

当确定了内部的和非法的地址集后,其余的地址集就属于外部的。之后将异常检测机制置于学习模式,并让其学习24 h,然后切换到检测模式,并根据情况配置合适的参数。

例如,打开上述策略中的“属性→Operation Sett ings →Worm Timeout”,设置蠕虫检测超时,默认为600 s。IPS 设备使用该时间间隔对网络流量进行采样。通过对该时间段内的流量进行采样,来发现是否超过基准流量值,并据此来判断是否为蠕虫爆发。选择“Enable Ignored IP Addresses”项,可以输入所需的源地址和目标地址,来设置忽略的IP 地址范围。因为管理员有时会使用一些扫描工具对网络状态进行检测,因此需要将相关的地址忽略掉,防止产生误报。

在Learning Accept Mode面板中的“Action”列表中选择“Rotate”项,采用的是轮转模式。在该模式下,前一天24 h 内学习的基准流量值会应用到第二天,之后以此类推。选择“Save Only”项,表示每天学习的基准流量单独保存,必须相互独立,使用时需要手工指派。该模式更具灵活性,可以周期性的进行基准流量的学习。

在“Scheule”列表中选择“Periodic Schedule”项,可以设置每天进行基准扫描的时间段。选择“Calendar Schedule”项,可以针对从周一到周日设置基准扫描的时间段。

对于学习到的基准参数,可以在IPS 管理界面顶部点击“Monitoring”按钮,在左侧选择“Sensor Monitoring →Dynamic Data→Anomaly Detection”项,在右侧显示所有的基准参数值。选择所需的参数项,点击“Load”按钮,就可以据此进行检测了。

手动配置参数,提供防御灵活性

除了可以让IPS 自动学习基准参数外,还可以手动设置一些关键参数。

在上述异常检测策略项属性窗口中依次点击并打开“Internal Zone →TCP Protocol →Default Thre sholds → Scanner Thre shold”项,设置扫描的阀值,默认为200。该参数表示当一台主机在一分钟之内向不同的目标地址的相同端口发起超过200 个不完全连接时,就会触发对应的IPS 特征码,表示其违反了相应的安全规则,可能是由于蠕虫的活动所引起的。对于蠕虫来说,其最常见的动作是针对特定的端口进行大量的扫描。

当蠕虫在内部Zones 中发起的不完全连接满足该阀值条件后,就会触发IPS 内置 的Traffic Anomaly 流量异常引擎。在IPS 管理窗口左侧选择“Configurat ion→Policies→Signature Definitions →sig0 →All Signatures”项,然后在右侧的“Filter”列表中选择“Engine”项,在右侧列表中选择“Traffic Anomaly”项,就会显示所有和异常流量检测相关的特征动作处理规则。

注意,满足上述条件后触发的是ID 为0 的处理规则。ID 为0 的Signatures 规则处理的是扫描行为,ID 为1的规则处理的是泛洪行为。例如,对于TCP 的扫描连接超过预设的阀值后,就会触发编号13000 的0 号子ID 的Signatures 规则。

在“Threshold histo gram”列表中显示了阀值柱状图参数,主要用来处理蠕虫的网络泛洪行为。按照常规理解,在蠕虫超时流量检测时间段内,向超过100 个不同目标地址的相同特定端口发起的不完全连接的主机数超过1 个时,表示泛洪严重等级为High;向超过20 个不同目标地址的相同特定端口发起的不完全连接的主机数超过3 个时,表示泛洪严重等级为Medium;向超过5个不同目标地址的相同特定端口发起的不完全连接的主机数超过10 个时,表示泛洪严重等级为Low。

满足以上严重等级后,就可以认为蠕虫除以爆发状态。例如,对于TCP 的扫描连接超过预设的阀值后,就会触发编号13000 的10 号子ID 的Signatures 规则。在“Destination Port Map”栏中还可以针对特定端口设置阀值参数。

当然,除了针对TCP 协议进行内部Zone 的参数设置外,还可以针对UDP 或者其他协议进行上述参数的手工配置。

猜你喜欢
蠕虫端口基准
一种有源二端口网络参数计算方法
一种端口故障的解决方案
浅谈机械制造加工中的基准
多按键情况下,单片机端口不足的解决方法
现有网络架构及迁移方案
应如何确定行政处罚裁量基准
酒的危害性
滑落还是攀爬
燃气轮机燃烧基准温度估算方法
发动机机体用蠕虫状石墨铸铁的生产工艺