從世界上第一個蠕蟲病毒————莫里斯————因其巨大的系統(tǒng)破壞力和傳播速度被人們所關(guān)注,便意味著在惡意代碼斗爭的戰(zhàn)場上傳播速度勢必成為新的衍變方式。而互聯(lián)網(wǎng)自上世紀90年代初期開始迅猛發(fā)展更是為這種惡意代碼的快速傳播提供了新的媒介和渠道,沒有人料到另外一種結(jié)合病毒、木馬、蠕蟲技術(shù)為一體的新的信息安全威脅方式————僵尸網(wǎng)絡(luò)————會如此令世界諸多信息安全專家所頭疼,以至于直到今天,在針對僵尸網(wǎng)絡(luò)的行動中,處于正義一方的白帽子們?nèi)匀粺o法信心滿滿地占得上風(fēng)。 創(chuàng)造和管理僵尸網(wǎng)絡(luò)的軟件使得僵尸網(wǎng)絡(luò)的危害程度遠遠高于以往惡意腳本那一代,它不僅僅是病毒,更是病毒的病毒,它的危害性更集傳統(tǒng)的病毒、木馬、蠕蟲為一體,既可以進行常規(guī)的系統(tǒng)駐留、信息竊取、遠程操控,也具備蠕蟲的網(wǎng)絡(luò)傳播特性。如果將病毒、木馬、間諜軟件、后門、蠕蟲等等形容為《植物大戰(zhàn)僵尸》中的各色裝備的僵尸,那僵尸網(wǎng)絡(luò)用“一大波僵尸”來形容再合適不過。 一、僵尸網(wǎng)絡(luò)的特點 僵尸網(wǎng)絡(luò)的特點在于:能夠在僵尸客戶端上執(zhí)行所設(shè)定的操作而無需僵尸牧人(幕后控制者/僵尸網(wǎng)絡(luò)所有者)直接登陸該客戶端;在僵尸牧人很少甚至不插手的情況下,僵尸客戶端能夠協(xié)同合作并針對同一任務(wù)或目標行動。事實上,僵尸網(wǎng)絡(luò)與蠕蟲病毒唯一的區(qū)別就在于僵尸網(wǎng)絡(luò)擁有統(tǒng)一的高度可控的系統(tǒng)。 典型的僵尸網(wǎng)絡(luò)由僵尸服務(wù)器(通常是一臺IRC服務(wù)器)和一個或更多的僵尸客戶端組成。有成百上千的僵尸客戶端組成的僵尸網(wǎng)絡(luò)也僅僅可以被稱作為小型僵尸網(wǎng)絡(luò)。由于僵尸客戶端的分布不局限于某個國家或地區(qū),因此對于追蹤和查找幕后的僵尸牧人會難上加難,很可能在追查過程中會涉及到國際之間的協(xié)同調(diào)查及合作,相比遭受損失的企業(yè)/機構(gòu)或個人而言,對僵尸網(wǎng)絡(luò)的調(diào)查取證實在過于繁瑣,以至于很多情況下不得不終止調(diào)查。 二、僵尸網(wǎng)絡(luò)的構(gòu)成 僵尸網(wǎng)絡(luò)的構(gòu)成是模塊化的,大致可分為三個模塊:掃描模塊、駐留模塊、功能模塊,其中掃描模塊用來掃描和傳播僵尸網(wǎng)絡(luò)病毒,駐留模塊的目的在于能夠隱匿駐留在目標系統(tǒng)中,功能模塊則在駐留模塊駐留之后執(zhí)行僵尸牧人所設(shè)定的指令。從模塊構(gòu)成看即是病毒、木馬的模塊構(gòu)成結(jié)合。 上圖是典型的僵尸網(wǎng)絡(luò)客戶端的生命周期(不同僵尸網(wǎng)絡(luò)可能會有流程上的區(qū)別),其始于發(fā)現(xiàn)和利用漏洞:或通過社工手段,或通過系統(tǒng)漏洞,或通過殘留木馬后門,或通過密碼猜解/破解。而在與C&C(命令與控制)通信告之新的客戶端上線時,如今的僵尸網(wǎng)絡(luò)已出現(xiàn)各種加密通信信道,以避免IDS、防火墻或其他方式的網(wǎng)絡(luò)偵聽,與C&C通信的目的在于更新可能存在的客戶端模塊、C&C端的客戶端名稱列表、IP地址或信道名稱,正如木馬攻擊時服務(wù)器端上線時通知客戶端一般。C&C是僵尸客戶端與僵尸牧人的通信中轉(zhuǎn):僵尸牧人對C&C發(fā)送指令,C&C對僵尸客戶端發(fā)送指令。 模塊化的僵尸病毒使得功能模塊可以根據(jù)僵尸牧人的需要進行隨時變更或定制,比如加入比特幣挖礦功能。因此使得僵尸病毒的模塊或組件在面對殺毒軟件時可能無法完全被查殺,而一旦在查殺后仍然有組件殘留,便很有可能再次感染僵尸病毒,所以在企業(yè)環(huán)境中遇到僵尸病毒感染通常是在斷網(wǎng)之后用干凈的系統(tǒng)鏡像進行還原。 三、僵尸網(wǎng)絡(luò)的危害 看似如此強大和難纏的僵尸網(wǎng)絡(luò)有哪些不同于傳統(tǒng)病毒、木馬、蠕蟲的危害呢?根據(jù)功能模塊的不同,僵尸網(wǎng)絡(luò)的危害包括但不限于: 1、感染其他系統(tǒng)成為新的僵尸客戶端; 2、DDos攻擊,利用大量的僵尸客戶端對同一系統(tǒng)/設(shè)備發(fā)起攻擊; 3、廣告點擊欺騙,比如欺騙點Google公司AdSense的廣告賺取費用; 4、發(fā)送垃圾郵件及網(wǎng)絡(luò)釣魚; 5、存儲和分配非法(盜版)知識產(chǎn)權(quán)資料; 6、利用DDos攻擊進行勒索; 7、根據(jù)已感染的僵尸客戶端進行數(shù)據(jù)挖掘(或包含鍵盤記錄功能),獲取客戶端系統(tǒng)有利用價值的資料; 8、利用僵尸客戶端進行比特幣挖礦。 下圖是筆者寫作該文之前的24小時里全球的C&C分布圖(來自Shadowserver基金會)。 四、僵尸網(wǎng)絡(luò)C&C的選擇 世界上第一個僵尸網(wǎng)絡(luò)便是利用IRC服務(wù)器作為C&C,直至今天依然有大量僵尸網(wǎng)絡(luò)采用IRC服務(wù)器作為C&C,究其原因,在于 IRC頻道在簡易性、穩(wěn)定性、管理方便的優(yōu)勢,但其缺點亦顯而易見,一旦IRC服務(wù)器或頻道被發(fā)現(xiàn),便意味著僵尸網(wǎng)絡(luò)的終結(jié)————即僵尸牧人無法再與僵尸客戶端取得聯(lián)系,此外IRC信道中的數(shù)據(jù)很容易遭到竊聽(盡管僵尸牧人可以通過TOR作為附加的安全保障手段或?qū)RC信道命令采取各種加密措施)。但如今的C&C手段絕非僅僅停留在IRC服務(wù)器層面,它還包括以下幾種手段: 1、利用域名解析方式將域名作為C&C地址; 2、利用基于Web系統(tǒng)的服務(wù)器作為C&C地址并作為指令交互的方式; 3、使用P2P網(wǎng)絡(luò)分散管理僵尸客戶端及C&C; 4、基于即時消息工具的僵尸網(wǎng)絡(luò); 5、基于FTP的僵尸網(wǎng)絡(luò)C&C。 以上方法中,基于Web系統(tǒng)的C&C是另外一種典型的替換機制。由于HTTP是無狀態(tài)協(xié)議,所以僵尸牧人無法通過HTTP向僵尸客戶端發(fā)送指令,但僵尸客戶端可以定期訪問HTTP地址以檢查是否有新的指令,這種方式的優(yōu)勢在于其通信連接不會被防火墻所阻斷,且嗅探器也無法在流量監(jiān)測中發(fā)現(xiàn)任何有關(guān)于僵尸網(wǎng)絡(luò)價值的信息。 此外,如今的僵尸網(wǎng)絡(luò)已經(jīng)不再是一臺C&C控制成千上萬臺僵尸客戶端,而是像企業(yè)管理一般進行小規(guī)模進行管理,如一個僵尸網(wǎng)絡(luò)有20臺C&C,每臺C&C控制數(shù)百臺僵尸客戶端。 五、僵尸網(wǎng)絡(luò)的檢測 對于企業(yè)或機構(gòu)來說,檢測僵尸網(wǎng)絡(luò)是否已感染內(nèi)網(wǎng)系統(tǒng)可以通過網(wǎng)絡(luò)和系統(tǒng)兩個層面進行檢測,網(wǎng)絡(luò)層面包括流量檢測、防火墻/NIDS、日志分析,系統(tǒng)層面包括搭建蜜罐和日志分析。 由于僵尸網(wǎng)絡(luò)客戶端在與C&C進行指令交互或進行功能執(zhí)行時往往伴隨著急劇增大的網(wǎng)絡(luò)流量,因此通過諸如tcpdump、 Wireshark等嗅探器進行針對性的流量監(jiān)測,通常驟升的網(wǎng)絡(luò)流量都是不合理的。在遇到過大網(wǎng)絡(luò)流量所導(dǎo)致的路由器CPU無法承受時,可通過流量采樣來進行進一步的分析,當(dāng)然,如果能夠從網(wǎng)絡(luò)流量中初步分析出有可疑的主機時即可針對性的進行流量分析,以進一步檢測可疑主機的流量內(nèi)容。 以IRC服務(wù)器作為C&C為例,常用的IRC協(xié)議消息如下: 1、JOINS:IRC客戶端用來登陸到IRC服務(wù)器信道的消息; 2、PINGS:IRC服務(wù)器發(fā)送給IRC客戶端的信息,以判斷客戶端是否對該消息還有響應(yīng); 3、PONGS:IRC客戶端返回給服務(wù)器的消息,以說明客戶端仍然在線或尚未離線、登出; 4、PRIVMSG:包含信道名字和信道數(shù)據(jù)的消息。 在網(wǎng)絡(luò)流量監(jiān)測中,若存在以IRC協(xié)議發(fā)送/接收的數(shù)據(jù)包,且以上四種消息數(shù)據(jù)比較中,相比JOINS消息,PRIVMSG數(shù)據(jù)很少或幾乎不存在,則說明所監(jiān)測的流量及其相關(guān)的主機是可疑的,很可能是僵尸網(wǎng)絡(luò)。 對于使用IRC服務(wù)器作為C&C的僵尸網(wǎng)絡(luò)來說,默認的IRC服務(wù)器端口6667便成為防火墻/NIDS所重點關(guān)注的端口,此外還包括常見的漏洞端口掃描、DDos流量等。但NIDS(如Snort)的缺陷也導(dǎo)致其無法完整和全面的進行檢測,因其僅可以對于已知的攻擊類型進行檢測。 對于系統(tǒng)自身而言,防病毒軟件產(chǎn)品是必不可少的,即使在面對部分僵尸病毒的攻擊下并不顯得那么給力!相比之下,蜜罐的作用則在于探究攻擊者的攻擊方式和行為方式,與防火墻、IDS、防病毒產(chǎn)品日志相結(jié)合進一步探究僵尸病毒的行為特性及攻擊痕跡,以便于后續(xù)的技術(shù)取證。 六、ZeroAccess的檢測與預(yù)防 ZeroAccess是來自于一個僵尸網(wǎng)絡(luò)中木馬程序,受感染的主機會執(zhí)行比特幣挖礦操作以及點擊欺騙,截至本月(12月)月初,受該木馬感染的主機大約在一百萬到九百萬臺左右(僵尸網(wǎng)絡(luò)中的僵尸客戶端相當(dāng)難以統(tǒng)計),該木馬每天為僵尸牧人創(chuàng)造的“收益”大約是10萬美金。在微軟、歐盟網(wǎng)絡(luò)犯罪中心以及FBI的通力協(xié)作下,勉強將該僵尸網(wǎng)絡(luò)一網(wǎng)打盡(傳統(tǒng)的針對僵尸網(wǎng)絡(luò)的行動被稱為“斬首行動”,即偵測、發(fā)現(xiàn)和截斷C&C。近些年的僵尸網(wǎng)絡(luò)已具備多C&C協(xié)同、P2P網(wǎng)絡(luò)以及基于DNS解析的C&C,使得“斬首行動”難見成效)。之所以說“勉強”,是因微軟對外宣稱此次聯(lián)合行動是(部分)成功的,而實際上是一次完全失敗的行動。 ZeroAccess的僵尸網(wǎng)絡(luò)采用的是基于P2P網(wǎng)絡(luò)的C&C,不幸的是,微軟僅僅偵測和掌控了其中大約40%的C&C。根據(jù)此次行動的斬獲,所總結(jié)出來的檢測ZeroAccess的方式如下: 1、僵尸網(wǎng)絡(luò)的關(guān)鍵之處在于僵尸客戶端必須處于聯(lián)網(wǎng)狀態(tài),離網(wǎng)狀態(tài)下的僵尸客戶端是不具有任何威脅的(即便它已有root權(quán)限又怎樣)。找到內(nèi)網(wǎng)對外連接的網(wǎng)線與交換機的接口,并確保對外的流量未經(jīng)任何處理和干擾。 2、在交換機上做鏡像端口,將對外的網(wǎng)絡(luò)流量dump到干凈系統(tǒng)上進行流量分析。ZeroAccess使用的端口是16464、16465、 16470,可能還有16471,這些端口取決于ZeoAccess是32位還是64位。由于僵尸牧人可以隨時更新模塊并更換對外連接端口,所以以上端口也僅僅是暫時“見效”。將以上端口的流量做鏡像并導(dǎo)入到某一固定端口。 3、使用一臺安裝有Wireshark的筆記本將上一步的固定端口導(dǎo)入的流量做流量分析,在正常情況下可以通過Wireshark看到未經(jīng)過濾的流量信息。針對ZeroAccess的連接端口做流量過濾,或者使用Wireshark的命令“dst portrange 16464-16471”,經(jīng)過濾的流量中可能因包含有多余的端口流量而得到假陽性的結(jié)果。 4、如果內(nèi)網(wǎng)存在已被感染的主機,則耐心的等待可換來“可觀”的流量成果:一臺內(nèi)網(wǎng)主機正與外網(wǎng)不同且無重復(fù)(或者很少有重復(fù))的IP地址進行連接,這正是ZeroAccess僵尸網(wǎng)絡(luò)的特征。根據(jù)賽門鐵克的資料,這些外網(wǎng)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僵尸網(wǎng)絡(luò)的IP地址在頻繁的更換。以上IP列表可以證明內(nèi)網(wǎng)已受感染,但缺失其中一條IP并不能證明已受攻擊。 5、根據(jù)以上流量監(jiān)測結(jié)果,對內(nèi)網(wǎng)中受感染的主機進行網(wǎng)絡(luò)隔斷,并通過好一點的反病毒產(chǎn)品進行病毒檢測。 對于預(yù)防或阻止ZeroAccess感染的建議如下: 遵從標準的安全最佳實踐以避免遭受ZeroAccess感染; 即時升級系統(tǒng)及安全產(chǎn)品補丁; 安裝代理服務(wù)器且僅允許特定的端口訪問互聯(lián)網(wǎng); 安裝IDS/IPS; 限制對外開發(fā)的端口,僅允許必要的服務(wù)端口保持開放; 保存所有經(jīng)過防火墻的日志記錄。 漏網(wǎng)之余 除非僵尸網(wǎng)絡(luò)的規(guī)模相當(dāng)龐大,在如今的互聯(lián)網(wǎng)世界很難達到上文中所描述的威脅程度,而僵尸網(wǎng)絡(luò)的特性注定了它會不斷的膨脹和擴張,這是僵尸牧人的基本目的所在。一個擁有6萬到8萬臺僵尸客戶端的僵尸網(wǎng)絡(luò)由于一個私有的城市人口,其能力和威脅是令人嘆為觀止的。所以應(yīng)對僵尸網(wǎng)絡(luò)最好的辦法是阻止其規(guī)模的擴大,即阻止惡意軟件的傳播和入侵數(shù)量可觀系統(tǒng)。 |
|