五、僵尸网络的检测
对于企业或机构来说,检测僵尸网络是否已感染内网系统可以通过网络和系统两个层面进行检测,网络层面包括流量检测、防火墙/NIDS、日志分析,系统层面包括搭建蜜罐和日志分析。
由于僵尸网络客户端在与C&C进行指令交互或进行功能执行时往往伴随着急剧增大的网络流量,因此通过诸如tcpdump、Wireshark等嗅探器进行针对性的流量监测,通常骤升的网络流量都是不合理的。在遇到过大网络流量所导致的路由器CPU无法承受时,可通过流量采样来进行进一步的分析,当然,如果能够从网络流量中初步分析出有可疑的主机时即可针对性的进行流量分析,以进一步检测可疑主机的流量内容。
以IRC服务器作为C&C为例,常用的IRC协议消息如下:
1、JOINS:IRC客户端用来登陆到IRC服务器信道的消息;
2、PINGS:IRC服务器发送给IRC客户端的信息,以判断客户端是否对该消息还有响应;
3、PONGS:IRC客户端返回给服务器的消息,以说明客户端仍然在线或尚未离线、登出;
4、PRIVMSG:包含信道名字和信道数据的消息。
在网络流量监测中,若存在以IRC协议发送/接收的数据包,且以上四种消息数据比较中,相比JOINS消息,PRIVMSG数据很少或几乎不存在,则说明所监测的流量及其相关的主机是可疑的,很可能是僵尸网络。
对于使用IRC服务器作为C&C的僵尸网络来说,默认的IRC服务器端口6667便成为防火墙/NIDS所重点关注的端口,此外还包括常见的漏洞端口扫描、DDos流量等。但NIDS(如Snort)的缺陷也导致其无法完整和全面的进行检测,因其仅可以对于已知的攻击类型进行检测。
对于系统自身而言,防病毒软件产品是必不可少的,即使在面对部分僵尸病毒的攻击下并不显得那么给力!相比之下,蜜罐的作用则在于探究攻击者的攻击方式和行为方式,与防火墙、IDS、防病毒产品日志相结合进一步探究僵尸病毒的行为特性及攻击痕迹,以便于后续的技术取证。
六、ZeroAccess的检测与预防
ZeroAccess是来自于一个僵尸网络中木马程序,受感染的主机会执行比特币挖矿操作以及点击欺骗,截至本月(12月)月初,受该木马感染的主机大约在一百万到九百万台左右(僵尸网络中的僵尸客户端相当难以统计),该木马每天为僵尸牧人创造的“收益”大约是10万美金。在微软、欧盟网络犯罪中心以及FBI的通力协作下,勉强将该僵尸网络一网打尽(传统的针对僵尸网络的行动被称为“斩首行动”,即侦测、发现和截断C&C。近些年的僵尸网络已具备多C&C协同、P2P网络以及基于DNS解析的C&C,使得“斩首行动”难见成效)。之所以说“勉强”,是因微软对外宣称此次联合行动是(部分)成功的,而实际上是一次完全失败的行动。
ZeroAccess的僵尸网络采用的是基于P2P网络的C&C,不幸的是,微软仅仅侦测和掌控了其中大约40%的C&C。根据此次行动的斩获,所总结出来的检测ZeroAccess的方式如下:
1、僵尸网络的关键之处在于僵尸客户端必须处于联网状态,离网状态下的僵尸客户端是不具有任何威胁的(即便它已有root权限又怎样)。找到内网对外连接的网线与交换机的接口,并确保对外的流量未经任何处理和干扰。
2、在交换机上做镜像端口,将对外的网络流量dump到干净系统上进行流量分析。ZeroAccess使用的端口是16464、16465、16470,可能还有16471,这些端口取决于ZeoAccess是32位还是64位。由于僵尸牧人可以随时更新模块并更换对外连接端口,所以以上端口也仅仅是暂时“见效”。将以上端口的流量做镜像并导入到某一固定端口。
3、使用一台安装有Wireshark的笔记本将上一步的固定端口导入的流量做流量分析,在正常情况下可以通过Wireshark看到未经过滤的流量信息。针对ZeroAccess的连接端口做流量过滤,或者使用Wireshark的命令“dst portrange 16464-16471”,经过滤的流量中可能因包含有多余的端口流量而得到假阳性的结果。
4、如果内网存在已被感染的主机,则耐心的等待可换来“可观”的流量成果:一台内网主机正与外网不同且无重复(或者很少有重复)的IP地址进行连接,这正是ZeroAccess僵尸网络的特征。根据赛门铁克的资料,这些外网IP地址包含:
69.176.14.76
76.28.112.31
24.127.157.117
117.205.13.113
200.59.7.216
113.193.49.54
值得注意的是,ZeroAccess僵尸网络的IP地址在频繁的更换。以上IP列表可以证明内网已受感染,但缺失其中一条IP并不能证明已受攻击。
5、根据以上流量监测结果,对内网中受感染的主机进行网络隔断,并通过好一点的反病毒产品进行病毒检测。
对于预防或阻止ZeroAccess感染的建议如下:
遵从标准的安全最佳实践以避免遭受ZeroAccess感染;
即时升级系统及安全产品补丁;
安装代理服务器且仅允许特定的端口访问互联网;
安装IDS/IPS;
限制对外开发的端口,仅允许必要的服务端口保持开放;
保存所有经过防火墙的日志记录。
漏网之余
除非僵尸网络的规模相当庞大,在如今的互联网世界很难达到上文中所描述的威胁程度,而僵尸网络的特性注定了它会不断的膨胀和扩张,这是僵尸牧人的基本目的所在。一个拥有6万到8万台僵尸客户端的僵尸网络由于一个私有的城市人口,其能力和威胁是令人叹为观止的。所以应对僵尸网络最好的办法是阻止其规模的扩大,即阻止恶意软件的传播和入侵数量可观系统。
(责任编辑:安博涛)