既然大多数的企业网络中都部署了防火墙、IPS等安全防护设备,内网主机又是怎样被控制的呢?在本文中,我们将会介绍僵尸网络是如何回避安全检测,以及当主机被感染,成为僵尸网络的一部分之后存在的隐患。
僵尸网络巧妙躲避检测
在IT人士中存在一种常见的认识误区,即恶意代码只有与外部命令及控制(简称C&C)服务器相连通,方可成功执行。而以IPS及其他反恶意软件为代表的现有网络安全工具完全可以阻断这种连接。
事实上,僵尸网络能够采用一系列技术回避现有安全检测,以及对组织者C&C服务器访问的阻断。最典型的做法是制订一份IP地址列表,在需要时逐一对其中的选项加以尝试。如果第一条地址未能响应,恶意代码将继续联系列表中的第二条地址,直到发现可用的C&C服务器。
很多更为先进的僵尸网络还会利用域名生成算法(简称DGA),以及Fast-flux来确保恶意代码始终能与C&C服务器保持互通。DGA是一种用于恶意软件生成C&C服务器地址的方法。利用这种专有算法,恶意软件能够随时从浩如烟海的域名中识别出看似随机的服务器地址。所有僵尸网络组织者都需要提前一到两天注册新的随机域名,并创建相应DNS记录,以此将新地址指向固定C&C服务器。
Fast-flux在具体实施过程中有所不同,但总体思路与DGA还是比较相似:通过修改DNS记录,僵尸网络组织者会为恶意代码尝试连接的域名指定多个IP地址。通过定期变更这些记录,组织者能够确保自己的C&C服务器始终领先于任何尝试将其关闭的监管机制。组织者通常会将上述两套方案同时纳入自己的僵尸网络,借以帮助自己的僵尸主机顺利找到“回家的路”。
受感染后隐私难保
在恶意程序安装到主机之后,其通常会开设一道所谓的“后门”,或者允许僵尸网络组织者随意访问、控制,并在受感染计算机上安装软件的程序。一旦安装完成,我们很难将后门关闭。被感染的计算机即使下载了最新的安全补丁或反恶意软件更新也无能为力。恶意软件通常会尝试与僵尸网络组织者发起通信,以确认感染成功。受感染的计算机会偷偷发送大量重要信息,其中包括被感染计算机的IP地址(这有助于组织者确认受害者的实际地理位置)、计算机系统登录名、操作系统类型,以及已经安装了哪些补丁等等。
在恶意内容与组织者建立起联系之后,接下来的情况则多种多样:组织者可以发送新的恶意软件版本,并在安装运行后指示恶意代码如何以特定模式发掘受害者信息。比如尝试登录网上银行账户等等。僵尸网络还能执行其他一些指令,包括记录网络活动、发送垃圾邮件、参与拒绝服务攻击、在受感染的系统中安装其他恶意软件。令人哭笑不得的是,僵尸网络组织者之间的竞争正日趋白热化,恶意代码的编写者们往往需要检测受害者的设备中是否已经受到其他竞争对手的感染,并将其从用户的系统中卸载掉。
组织拒绝服务攻击、进行垃圾邮件中继转发,以及感染搜索引擎还只是僵尸网络组织者所拥有“甜头”中的一部分。这些黑客还可以通过在设备中安装恶意软件来搜集个人信息、网上银行验证资料或者企业机密。
这类恶意软件中的代表就是臭名昭著的“键盘记录器”,俗称键盘钩子。键盘记录器会监视并记录下用户进行的每一次键盘操作,然后以特定周期将汇总数据发送给组织者。通过这种方式,组织者将逐步获得受害者的用户名、真实姓名、密码、出生日期、社保号码、电子邮件账户信息、银行账户号码,以及电话号码等等。
注:本文节选自Fortinet僵尸网络分析报告2013