-
安全产品
-
-
-
网络安全实战:记一次电厂网络病毒处理事件
发布时间:
2017-10-10
来源:
作者:
作者:天地和兴SRC 李培信
访问量:
68
一、案发:网络间歇性中断
某火电厂,网络结构为星型结构,通过核心交换机与各办公楼的汇聚交换机相连,各楼层主机通过楼层交换机连接汇聚交换机,网络内主机数量在100台左右,且均在同一IP网段。在网络边界即信息网络与外部网络之间部署有防火墙、防毒墙和入侵检测系统。
此信息网络已正常运行数年,近期,网络中偶尔出现网络变慢情况,后来逐渐变成网络经常性的中断,每次中断时间为几分钟,经观察发现,网络中断发生的时间点为固定的每个整点过后的20分钟左右,每次持续时间约10分钟,查看防毒墙和入侵检测系统中的事件日志,并未发现入侵或病毒事件,近期,网络运维人员也未对网络结构进行改变,未配置交换机和路由器策略,在网络中断发生时,电脑主机通过Ping网关发现,仅有少量数据包可与网关正常通信,并未完全中断,如下图所示:
天地和兴经初步判断,怀疑由于主机感染病毒所致。
二、初探:确定病毒种类
为了解网络中断发生时网络内的真实数据情况,在网络中断时间段内通过交换机镜像使用Wireshark对网络数据进行抓包分析,通过分析数据包发现,在中断发生时,网络中出现大量ARP数据包,且数据包中的MAC地址存在虚假伪造情况(同一个IP地址出现多个不同的MAC地址),如下图所示:
据此,初步认为局域网ARP病毒,为进一步确认,在网络中断发生时,通过ARP欺骗检测工具进行检测,如下图所示:
同样检测到了大量ARP欺骗数据包。
在网络中断前后,查看主机ARP表中的MAC地址数据,如下图所示:
网关10.73.40.251正确的MAC地址为00-00-5e-00-01-01,由上图可以看出,在中断发生时,网络中出现大量虚假的MAC地址,病毒程序通过大量广播虚假的网关MAC地址导致本机中网关的MAC地址已变成虚假的MAC地址b8-ca-3a-93-7a-bd,从而导致本机与网关通信中断,数据包无法到达网关,导致网络表现为中断状态。
由此,可以断定当前网络中有部分主机(具体数量未知)中了ARP病毒,且为同一种ARP病毒,该病毒每个小时内定时发作,每次持续时间约10分钟,在病毒发作期间,网络中充满大量虚假的ARP数据包,大量广播虚假MAC地址,导致主机不能跟网关正常通信,从而表现为网络中断。由于ARP病毒为局域网内部病毒,因此,网络边界处的防毒墙和入侵检测系统并未检测到该病毒行为,同时,也排除了病毒经外部网络传到内网的可能。
三、科普:ARP攻击
在局域网内部,ARP攻击是一种很常见的攻击手段。它自2006年开始普及,早期的ARP攻击是伪装成网关IP,转发用户数据,盗取用户名及密码,不会造成网络掉线。早期的ARP攻击,只会造成封包的遗失,或是Ping的时间值提高,并不会造成IP冲突或是大范围网络掉线。
在这个阶段,防制的措施是以ARP ECHO指令方式,可以解决只是为了盗号为目的传统ARP攻击,对于整体网络不会有影响。
但是在ARP ECHO的解决方法提出后,ARP攻击出现变本加厉的演变。新的攻击方式,使用更高频率的ARP ECHO,压过用户的ARP ECHO广播。由于发出广播包的次数太多,会使整个局域网变慢,占用网关的运算能力,所以,会发生内网很慢或上网卡的现象,严重时,会发生瞬间断网或全网掉线的情况。
1.什么是ARP
ARP是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?其实,它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。
2.ARP的工作原理
局域网中每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,这个ARP列表中的内容是局域网中主机的IP地址和MAC地址的对应关系。当一台主机(源主机)需要将一个数据包发送到目的主机时,会首先检查自己ARP列表中是否存在该IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后,向源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址,源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。若源主机一直没有收到ARP响应数据包,则表示ARP查询失败。
下面举个简单的例子:
假设主机A的地址为:IP:192.168.0.1 MAC: AA-AA-AA-AA-AA-AA
假设主机C的地址为:IP:192.168.0.3 MAC: CC-CC-CC-CC-CC-CC
那么,根据上面的原理,我们简单说明这个过程:A要和C通讯,A就需要知道C的MAC地址,于是A发送一个ARP请求广播(IP为192.168.0.3的主机的MAC地址是什么?请告诉192.168.0.1),当C收到该广播,就检查自己,结果发现IP和自己的一致,然后就向A发送一个ARP单播应答(192.168. 0.3的MAC地址是CC-CC-CC-CC-CC-CC)。这样,主机A就知道了主机C的MAC地址,它就可以向主机C发送信息了。同时它还更新了自己的ARP缓存表,存下主机C的MAC地址,下次再向主机C发送信息时,直接从ARP缓存表里查找就可以了,如下图1和图2所示。
图1 ARP Request
图2 ARP Reply
ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
3.ARP欺骗
ARP攻击主要是存在于局域网中,局域网中若有一台主机感染ARP病毒,则感染该ARP病毒的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
从影响网络连接通畅的方式来看,ARP欺骗分为两种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。
第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
四、定位:确定并隔离受感染主机
通过以上对ARP攻击原理的分析,ARP病毒根本上是伪造MAC地址进行欺骗,因此,可以从网络中断时抓取的数据包中筛选出同一IP对应多个MAC地址的数据包进行分析,从中找到受感染主机正确的MAC地址(ARP病毒在发送伪造的ARP数据包时主机自身也在发送正确的ARP数据包,因此,同一个IP地址对应的多个MAC地址中一定有一个正确的MAC地址),再由MAC地址找到对应的IP地址,通过IP地址找到受感染的主机(运维人员手中的IP-主机对应表起了很大作用,确定IP地址后,可以快速找到对应的主机)。
1.筛选数据包
通过设置过滤规则“arp && frame.len==64”筛选出同一个IP地址对应多个MAC地址的ARP数据包(正常ARP数据包长度为60,而存在重复信息的数据包长度为64,由此可以准确筛选出需要的数据包),如下图所示:
通过分析发现,以上两种ARP欺骗行为均存在。
2.获取网络中的IP-MAC信息
获取网络中所有主机的IP-MAC信息的方式有很多种,本次使用NMAP扫描获取网络中所有存活主机的IP-MAC地址信息,如下图所示:
为方便后期查找,使用nmap -sn 10.73.40.0/24 >D:\ip_mac.txt命令将扫描结果导出到ip_mac.txt文件中。
3.通过MAC地址定位问题主机
下图1和图2为同一个IP地址发送ARP广播,MAC地址不同。
图1
图2
图1显示10.73.40.97的MAC地址为:8c:89:a5:f4:b8:8a,图2显示10.73.40.97的MAC地址为:8c:89:a5:f4:b8:fc,通过从第2步中获取的IP-MAC信息里查找发现,8c:89:a5:f4:b8:fc为正确的MAC地址,并通过此MAC地址找到对应的IP地址(并非10.73.40.97),该主机在大量发送虚假的ARP数据包,怀疑已感染ARP病毒。
下图3和图4为伪造网关MAC地址的ARP数据包:
图3
图4
图3显示网关10.73.40.251的MAC地址为8c:89:a5:f4:b8:fc,图4显示网关的MAC地址为d4:3d:7e:13:c4:02,这两个MAC地址均为错误的网关地址,查询IP-MAC信息发现,这两个MAC地址均为实际存在的MAC地址,通过该MAC地址找到对应的IP地址,怀疑该主机已感染ARP病毒。
4.主机隔离后测试
通过步骤3查找网络中所有的问题主机并进行断网隔离,在隔离8台主机后,在下一个病毒发作时间点进行测试,发现网络中断问题未出现,通过ping命令与测试网关连通性,未出现丢包现象,如下图所示:
由此,已基本解决网络内的ARP病毒问题。
五、处理:病毒查杀
对隔离主机进行ARP病毒查杀,更新杀毒软件病毒库并对全盘进行病毒扫描、杀毒,必要时可通过重装操作系统以彻底解决病毒、木马等恶意代码问题。
查找病毒感染源,对所有可能接入主机的移动存储介质进行病毒查杀,加强网络安全管理,特别是加强对移动存储介质的安全管控。
六、科普:ARP病毒防范措施
目前防范ARP攻击主要可以采取以下措施:
1.使用ARP –s命令绑定IP地址和MAC地址。这是一种便捷的防范方式,但效果并不是很好,不过可以作为遭受ARP攻击时的一种应急解决措施。
2.使用软件附带的防火墙。许多杀毒软件或安全软件都附带有ARP防火墙,开启这些软件中附带的ARP防火墙可以有效地避免遭受ARP攻击,同时,也可以通过此ARP防火墙实现IP地址与MAC地址绑定。
3.使用专业版防火墙。专业版防火墙是专门针对ARP攻击开发的,其防范ARP攻击的功能更加强大,这种专业版防火墙通常用于对安全性要求很高的企业局域网内的安全防范。
4.防止ARP病毒,禁用系统的自动播放功能,防止病毒从U盘、移动硬盘、MP3等移动存储设备进入到计算机。
七、总结:病毒预防之道
经天地和兴总结分析,此次病毒感染事件是由于主机接入受感染U盘所致,当前网络中并未对U盘使用进行管控,主机中装有杀毒软件,但由于杀毒软件程序未更新、病毒库未定期更新,并且有部分主机在后期重装系统后未安装杀毒软件,导致网络整体对病毒的防御能力降低,部分主机感染病毒,在技术和管理上均存在安全缺陷。
总的来说,工控网络中的防病毒通常可以采取以下措施:
1.主机部署具备白名单防护功能的主机安全防护系统,通过对白名单外程序的控制,控制恶意程序和操作的执行。
2.主机操作系统定期打补丁修复安全漏洞。
3.在网络边界处部署具备恶意代码检测功能的工控威胁检测类产品,对流经网络边界的数据流量进行恶意代码的检查。
4.加强网络内对移动存储介质的管控,可通过白名单U盘,限制非白名单U盘权限等技术措施强化对移动存储介质的管控。
5.加强防病毒管理措施,完善防病毒管理制度,明确安全责任人。
通过以上技术措施+管理的控制措施,可实现对病毒、木马等恶意代码的安全防护。
下一条:
相关资讯

关注我们