Copyright2009TrendMicroInc.计研142寇磊僵尸网络技术主题•什么是僵尸网络•僵尸网络的危害•僵尸网络的技术细节•僵尸网络的发展趋势•收获什么是僵尸网络•僵尸网络(Botnet)–僵尸网络是在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方式,是由被攻陷主机所组成的可被数字罪犯远程控制的网络•僵尸程序(Bot)–是一种软件,该软件允许远程用户控制计算机,而这一切却不会让本地用户察觉•僵尸机器–又称肉鸡,指运行了僵尸程序的计算机僵尸网络的危害•僵尸网络是网络安全的最大威胁–僵尸网络将蠕虫、木马、后门等威胁形态溶于一体•僵尸网络利用了各种威胁形态的技术特长–僵尸程序有很强的传播能力•例如,DOWNAD病毒在2009年感染了全球不同地区的1000多万台计算机–僵尸网络可以控制数量庞大的计算机来执行恶意操作•被DOWNAD感染的1000多万台计算机都会听从僵尸网络控制者的指挥,执行恶意操作–被控制计算机的信息安全荡然无存•僵尸网络控制者可以随意获取被控制计算机内的任意文档•僵尸网络控制者还可以监控用户的一举一动,获取用户的各种账号密码DOWNAD的感染分布图图片来源:ConfickerWorkingGroup僵尸网络的技术细节传播机制•僵尸网络将蠕虫、木马和后门的传播机制融合在一起•漏洞攻击–不需要用户的参与,完全在用户没有察觉的的情况下将BOT在用户系统上激活•邮件携带–邮件附件通常是BOT,利用社会工程学诱使用户激活BOT•即时消息–通过即时通信软件散播BOT下载链接,利用社会工程学诱使用户下载并激活BOT•网站挂马–在网站上嵌入恶意脚本或下载链接,用户访问网站时很可能不慎下载并激活BOT•网络共享–在局域网内的网络共享文件夹中释放BOT,等待局域网内的用户点击激活–在P2P共享文件夹内释放BOT,等待互联网的用户下载激活恶意用途•数字罪犯在开发BOT之前,会预先设定好恶意用途,以便在建成僵尸网络之后可以赚钱•安装广告软件–BOT会按照僵尸网络“客户”的要求安装特定的广告软件,以吸引用户点击•在线欺诈–点击欺诈,就是伪造点击量–网络钓鱼•BOT会收集感染系统中的邮件地址,并向地址发送钓鱼邮件,诱使用户泄露银行账户信息•BOT会监视用户的网络行为,一旦发现用户访问网银网站,便会通过键盘记录和截屏窃取用户的银行账户信息•窃取数据–BOT会将感染系统中的文件作索引,数字罪犯根据索引寻找他们感兴趣的文件,然后将文件拷贝出来并拿到黑市上兜售恶意用途-续•发动DDOS攻击(分布式拒绝服务攻击)–最常用的用途–根据僵尸网络“客户”的要求,针对特定网站发动DDOS攻击–或者数字罪犯向正常网站勒索钱财,如果不满足要求,就发动DDOS攻击•代理–垃圾邮件发送代理,替僵尸网络“客户”发送垃圾邮件–匿名攻击代理,数字罪犯可以利用僵尸机器作为跳板对外发动攻击,但很难让外人发现真正的攻击源在哪里–网络服务代理,例如DNS、HTTP等•匿名主机–在僵尸机器上架设网站或FTP,用于散播恶意程序–在僵尸机器上架设网站,用作钓鱼网站,药品兜售网站,或其他目的的网站C&C模式•C&C全称命令和控制(CommandandControl)•僵尸网络中包含数量庞大的计算机,如果缺乏有效的控制,这些计算机将毫无用处•C&C就是僵尸网络控制者与僵尸网络之间的接口。僵尸网络控制者对C&C发布命令,C&C再将命令传达到僵尸网络中的各个BOT•C&C模式有两种:–集中模式–分散模式C&C模式之集中模式•集中模式是最早出现的一种模式•僵尸网络控制者从一个中心位置(中心C&C服务器)向僵尸网络中的计算机发布命令•集中模式的最大缺点是一旦中心C&C服务器被关闭,整个僵尸网络将群龙无首,完全失去控制C&C模式之分散模式•为了解决集中模式的缺点,僵尸网络开发者引入分散模式,使僵尸网络更加健壮•在分散模式中不只有一个C&C服务器–多C&C服务器模式•预先指定多个C&C服务器,BOT会连接其中的一个以获取命令•一旦其中的一台或多台C&C服务器被关闭,剩余的C&C服务器会继续工作,让BOT可以获取命令•这种模式只是集中模式的简单改进–P2P模式•每个BOT均可以作为C&C服务器,提供命令给其他的BOT•更好的抗毁性和生存性分散模式示意图多C&C服务器模式P2P模式集合机制•一台计算机在刚刚感染了BOT后,BOT会以某种方式加入到僵尸网络,这种加入僵尸网络的方式就是集合机制•预先指定IP地址–BOT会连接到预先指定的IP地址(C&C服务器)–容错性很差,一旦IP地址不可用,将无法吸收新的BOT加入僵尸网络而且无法对BOT下达命令•动态DNS域名–BOT会连接到指定的域名(C&C服务器)–域名可以与任意IP绑定,因此僵尸网络控制者可以随意更换C&C服务器的IP地址,只要将新的IP地址与原有域名绑定即可集合机制-续•P2P–依靠P2P技术集合BOT,通常有两种结构–中央控制网络体系结构,中央服务器管理各个节点,它会告诉新的节点(BOT)如何联系其他节点,BOT可以从其他节点获得命令–分散分布网络体系结构,没有中央服务器,BOT通过广播自己寻找临近节点,然后从临近节点获得命令•Fast-Flux网络–BOT依旧使用域名联系C&C服务器,这与动态DNS一样–但在Fast-Flux网络中,域名所绑定的IP地址不停地在变–僵尸网络控制者给DNS记录赋予很小的Time-To-Live(TTL)值,使得BOT每次访问域名时都会被定向至不同的IP地址更新机制•更新机制可以使僵尸网络控制者更好地维护僵尸网络•更新机制可以完成如下任务:–修复BOT缺陷–更新BOT,避免被防毒软件检测到–给BOT增加新的功能防御机制•僵尸网络开发者设计了一些防御机制,以便让BOT程序可以正常工作,并且保护僵尸网络,•防御机制有:–终止进程,通常终止防毒软件的相关进程,可以避免BOT被防毒软件检测–隐藏自身,避免BOT被用户发现–攻击安全研究人员的系统,安全研究人员在研究僵尸网络时可能频繁连接到C&C服务器上,而僵尸网络控制者会密切注视僵尸网络的活动,一旦发现异常频繁的C&C服务器连接,控制者就会对安全研究人员的系统发动DDOS攻击通信协议•通信协议是BOT与C&C服务器通信的方式•HTTP–HTTP协议是最为常见的协议–很难防范使用HTTP协议的僵尸网络,因为很难阻断HTTP协议的•IM–BOT可以使用IM协议进入IM网络,然后在IM网络中联系C&C服务器–C&C服务器可以向BOT发送私人信息(控制命令),或者BOT加入聊天室,C&C服务器向聊天室内的所有BOT群发消息(控制命令)通信协议-续•IRC(因特网在线聊天协议)–僵尸网络最早使用的协议–BOT会连接到IRC的信道,等待C&C服务器发出的命令•P2P–BOT之间能够相互通信,传递控制命令–僵尸网络控制者可以不必架设C&C服务器,在任意地方就能对僵尸网络下达命令工作流程传播感染集合接受控制数字罪犯在开发出一个新的BOT后,通过各种途径传播BOT。传播的方式有:•漏洞攻击•邮件携带•即时消息•网站挂马•网络共享BOT在进入用户计算机后会执行预定操作,例如:•下载文件•关闭特定程序•执行IRC客户端程序BOT向C&C服务器发送信息,使用户计算机加入僵尸网络。然后等待僵尸网络主机发出的命令BOT接收到C&C服务的命令,并执行命令关闭反病毒软件(bat文件)netstartstartsnetstop“Symantecantivirusclient”netstop“SymantecAntiVirus”netstop“TrendNTRealtimeService”netstop“SymantecAntiVirus”netstop“Nortonantivirusclient”netstop“Nortonantivirus”netstop“etrustantivirus”netstop“networkassociatemcshields”netstop”surveyor”回顾僵尸网络的发展趋势•僵尸网络趋于采用P2P类型的命令与控制信息传递机制•小型化,提高隐蔽性•智能化,防反制•强化加密传输,反渗透•移动化,各种移动设备感染收获•僵尸网络的检测•僵尸网络的防御•道德法律约束,降低危害•盗亦有道,改良僵尸网络