葛 昕,鄒福泰,郭萬達(dá),譚 越,李林森
(1.上海理工大學(xué) 信息化辦公室,上海 200093;2.上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)
社交網(wǎng)絡(luò)為人們提供了模擬現(xiàn)實生活的社交平臺,已成為現(xiàn)代社會建立社會關(guān)系的重要方式。近年來,世界各國主要的網(wǎng)絡(luò)社交平臺用戶數(shù)量不斷提升,以我國的新浪微博平臺為例,截至2017 年9 月,微博單月內(nèi)活躍用戶數(shù)量接近4 億,單日內(nèi)的活躍用戶近2 億。微博具有用戶數(shù)量大、消息傳播速度快等特點,已成為人們討論新聞、分享觀點的重要平臺之一。文獻(xiàn)[1]研究了即時信息對微博熱點新聞進(jìn)行情感分類的方法,分析不同人對于相同事件的態(tài)度。這類研究針對的是現(xiàn)有社交平臺的熱點問題,具備很高的社會價值。
隨著社交網(wǎng)絡(luò)的流行與大量用戶的涌入,社交網(wǎng)絡(luò)集中儲存了大量的用戶個人信息,這些信息包含用戶的郵箱、電話號碼、興趣愛好、家庭住址等用戶的隱私信息。此外,攻擊者發(fā)現(xiàn)社交網(wǎng)絡(luò)中的部分用戶安全意識匱乏,且基于用戶信任即可建立好友關(guān)系和互相訪問對方的信息。近年來,社交網(wǎng)絡(luò)的這些特性開始被攻擊者利用,社交僵尸網(wǎng)絡(luò)應(yīng)運而生。攻擊者通過社交僵尸賬號添加用戶好友,收集用戶信息,給用戶的賬戶安全造成危害。社交網(wǎng)絡(luò)迅猛發(fā)展的勢頭助長了社交僵尸網(wǎng)絡(luò)的擴(kuò)散,使其成為互聯(lián)網(wǎng)的一種新的威脅。社交僵尸網(wǎng)絡(luò)具有如下的特征:隱蔽性強(qiáng),社交網(wǎng)絡(luò)用戶數(shù)量大,用戶數(shù)據(jù)較為分散,在海量的正常流量中,僵尸網(wǎng)絡(luò)產(chǎn)生的流量可以輕松地隱藏自身;傳播難度低,人們在社交網(wǎng)絡(luò)平臺上傾向于根據(jù)較為主觀的個人偏好對用戶進(jìn)行分組,這使得社交僵尸網(wǎng)絡(luò)能夠更加方便地擴(kuò)大傳播范圍和竊取隱私數(shù)據(jù),同時可以利用其在網(wǎng)絡(luò)中全新的定位傳播錯誤信息,試圖引導(dǎo)公眾輿論;危害性大,社交網(wǎng)絡(luò)平臺自身的開放性使得社交僵尸網(wǎng)絡(luò)可以在平臺上發(fā)布和部署具有欺騙性的內(nèi)容和鏈接,誘使用戶對其進(jìn)行操作,從而向用戶植入惡意代碼,最終實現(xiàn)對用戶主機(jī)的控制,達(dá)到其惡意目的;持久性,因為社交網(wǎng)絡(luò)平臺的生命周期很長,其中隱藏的社交僵尸網(wǎng)絡(luò)又很難被檢測到,所以社交僵尸網(wǎng)絡(luò)可以在社交平臺上長期地存在且不被發(fā)現(xiàn)。
在社交僵尸網(wǎng)絡(luò)的發(fā)展過程中,越來越多的網(wǎng)絡(luò)安全技術(shù)開始被運用。早期的社交僵尸網(wǎng)絡(luò)普遍使用明文進(jìn)行傳播,較易檢測;隨后出現(xiàn)了多種多樣復(fù)雜的、更為隱蔽的社交僵尸網(wǎng)絡(luò),如基于圖像隱寫技術(shù)的Stegobot 社交僵尸網(wǎng)絡(luò)[2]、基于網(wǎng)頁標(biāo)簽屬性域隱蔽的DR-SNbot[3]、基于推文長度的隱寫技術(shù)的Twitter 社交僵尸網(wǎng)絡(luò)[4]等。由于運用了最新的技術(shù)實現(xiàn)了很高的隱蔽性,這些僵尸網(wǎng)絡(luò)的檢測難度往往都很大,危害性相比傳統(tǒng)僵尸網(wǎng)絡(luò)也更大。
綜上所述,社交僵尸網(wǎng)絡(luò)對社交平臺有極大的破壞性,同時也危害著用戶的個人信息安全與系統(tǒng)安全。因此,研究社交僵尸網(wǎng)絡(luò)的通信方式、攻擊原理和技術(shù),以及相應(yīng)的防護(hù)、接管與反制方案十分重要,具有很高的經(jīng)濟(jì)社會價值。
本文從社交僵尸網(wǎng)絡(luò)安全威脅的根源著手,研究社交僵尸網(wǎng)絡(luò)的通信原理和運轉(zhuǎn)方式及表現(xiàn)出的群體特征與隱蔽手段,為社交網(wǎng)絡(luò)的安全防護(hù),尤其是針對運用新技術(shù)的社交僵尸網(wǎng)絡(luò)的檢測與防護(hù),提供相關(guān)的理論和技術(shù)支持。介紹僵尸網(wǎng)絡(luò)的概念、發(fā)展現(xiàn)狀與趨勢以及社交僵尸網(wǎng)絡(luò)的概念與發(fā)展現(xiàn)狀,并分析現(xiàn)有社交僵尸網(wǎng)絡(luò)的工作機(jī)制,對新型的社交僵尸網(wǎng)絡(luò)——隱蔽型僵尸網(wǎng)絡(luò)的兩類檢測方法以及基于機(jī)器學(xué)習(xí)的社交僵尸網(wǎng)絡(luò)檢測方法進(jìn)行分析,給出社交僵尸網(wǎng)絡(luò)反制與接管的發(fā)展思路。在此基礎(chǔ)上,對比分析不同社交僵尸網(wǎng)絡(luò)檢測方法的優(yōu)缺點,并對未來社交僵尸網(wǎng)絡(luò)領(lǐng)域的研究方向進(jìn)行展望。
僵尸網(wǎng)絡(luò)(Botnet)是由命令控制信道技術(shù)搭建的具有惡意目的的網(wǎng)絡(luò)[5]。攻擊者往往利用僵尸網(wǎng)絡(luò)來傳播僵尸程序,達(dá)到控制大量受害者主機(jī)的目的。其中,“攻擊者”是指能夠控制僵尸主機(jī)的控制器(Botmaster)。攻擊者可以通過一對多的方式高效地控制大量的受害主機(jī)發(fā)起DDoS 攻擊、發(fā)送垃圾郵件、傳播惡意代碼、進(jìn)行點擊欺詐以及竊取受控主機(jī)敏感信息等。
命令與控制(Command and Control,C&C)信道是僵尸網(wǎng)絡(luò)的主要特征之一。唯有依賴于C&C 信道,攻擊者才能達(dá)到實時驅(qū)動批量僵尸主機(jī)執(zhí)行網(wǎng)絡(luò)攻擊的目的,而控制者能夠?qū)崿F(xiàn)對僵尸主機(jī)狀態(tài)信息及其他數(shù)據(jù)的回收與攻擊策略的實時調(diào)整[6]。根據(jù)C&C 信道的特征不同,傳統(tǒng)的僵尸網(wǎng)絡(luò)被分為基于IRC 協(xié)議的僵尸網(wǎng)絡(luò)、基于HTTP 協(xié)議的僵尸網(wǎng)絡(luò)、基于P2P 結(jié)構(gòu)的僵尸網(wǎng)絡(luò)、基于Fast-flux[7]技術(shù)的僵尸網(wǎng)絡(luò)、基于Domain Flux[8]技術(shù)的僵尸網(wǎng)絡(luò)、基于URL Flux[9]技術(shù)的僵尸網(wǎng)絡(luò)等。
隨著時間的推移,近年來出現(xiàn)了與熱門技術(shù)緊密相關(guān)的僵尸網(wǎng)絡(luò),例如在物聯(lián)網(wǎng)(Internet of Things,IoT)中控制大量設(shè)備的IoT 僵尸網(wǎng)絡(luò)、基于區(qū)塊鏈技術(shù)通信的僵尸網(wǎng)絡(luò)等。
2016 年,基于IoT 的Mirai 僵尸網(wǎng)絡(luò)控制了接近50 萬臺物聯(lián)網(wǎng)設(shè)備,實現(xiàn)了高達(dá)1.2 Tb/s的網(wǎng)絡(luò)流量的DDoS 攻擊[10]。此后,物聯(lián)網(wǎng)中的DDoS 攻擊開始成為研究人員的關(guān)注對象[11]。近十年來,研究人員或是在Mirai僵尸網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),或是設(shè)計出更加難以實施防護(hù)的IoT 僵尸網(wǎng)絡(luò)。例如文獻(xiàn)[12]介紹了Linux Wifatch 僵尸網(wǎng)絡(luò)。這種IoT 僵尸網(wǎng)絡(luò)主要針對感染采用默認(rèn)用戶名密碼登錄或使用弱密碼的IoT 設(shè)備設(shè)計,在感染后Wifatch 使用P2P 網(wǎng)絡(luò),刪除主機(jī)上的其他惡意軟件,關(guān)閉該主機(jī)的Telnet 連接,并在設(shè)備日志中記錄Telnet 關(guān)閉的信息。另一種新型的僵尸網(wǎng)絡(luò)是Linux/IRCTelent,它針對支持IPv6 的物聯(lián)網(wǎng)設(shè)備設(shè)計,結(jié)合了Telnet 暴力破解、代碼注入、用戶名/密碼表等多種技術(shù),實現(xiàn)對目標(biāo)主機(jī)的感染和基于IPv4、IPv6協(xié)議的泛洪攻擊。
區(qū)塊鏈技術(shù)的發(fā)展導(dǎo)致了數(shù)字加密貨幣的流行,比特幣則是數(shù)字加密貨幣的代表。區(qū)塊鏈具有去中心化、不可篡改性、匿名性等特性,這些特性不僅使其可以作為網(wǎng)絡(luò)安全防護(hù)方案的核心技術(shù),也引起了黑客的注意。黑客開始將比特幣引入僵尸網(wǎng)絡(luò)的C&C 通信,借助其特性使得現(xiàn)有的僵尸網(wǎng)絡(luò)檢測方法失效,大幅提升了僵尸網(wǎng)絡(luò)的隱蔽性。文獻(xiàn)[13]介紹一種基于比特幣的ZombieCoin 僵尸網(wǎng)絡(luò),這種僵尸網(wǎng)絡(luò)采用比特幣的數(shù)字簽名來隱藏C&C 控制信息,從而增加了其檢測難度。文獻(xiàn)[14]介紹的比特幣僵尸網(wǎng)絡(luò)Testnet,并提出一種實現(xiàn)僵尸網(wǎng)絡(luò)控制器與僵尸主機(jī)之間雙向加密通信的僵尸網(wǎng)絡(luò)。
隨著新技術(shù)的不斷出現(xiàn),僵尸網(wǎng)絡(luò)的傳播能力與隱蔽性在逐漸增強(qiáng),同時網(wǎng)絡(luò)攻擊者開始在不同的平臺上部署僵尸網(wǎng)絡(luò)(如前文所述的出現(xiàn)在物聯(lián)網(wǎng)上的IoT 僵尸網(wǎng)絡(luò)以及出現(xiàn)在社交平臺上的社交僵尸網(wǎng)絡(luò))。由此可見,僵尸網(wǎng)絡(luò)帶來的網(wǎng)絡(luò)安全威脅在不斷增加。對于這類安全威脅的防范,潛在的研究不僅在于對僵尸網(wǎng)絡(luò)的檢測,還包括如何對僵尸網(wǎng)絡(luò)進(jìn)行反制,降低其傳播速度與危害性。
基于社交網(wǎng)絡(luò)的僵尸網(wǎng)絡(luò)與傳統(tǒng)的僵尸網(wǎng)絡(luò)有著較大的區(qū)別:在傳統(tǒng)的僵尸網(wǎng)絡(luò)中,被控制的節(jié)點不是控制者擁有的主機(jī),而是存在于網(wǎng)絡(luò)上的其他用戶的主機(jī)。而在社交僵尸網(wǎng)絡(luò)中,被控制的節(jié)點是攻擊者自行創(chuàng)建的社交賬號,攻擊者利用僵尸程序控制這些賬號執(zhí)行一些極其類似真實用戶的行為來模擬真實賬號,該過程如圖1 所示。

圖1 社交僵尸網(wǎng)絡(luò)概念示意圖Fig.1 Schematic diagram of social botnet concepts
上述差別導(dǎo)致了社交僵尸網(wǎng)絡(luò)一般不存在感染其他主機(jī)的惡意代碼,而是通過偽造的URL 來誘導(dǎo)人們點擊下載惡意代碼;社交僵尸網(wǎng)絡(luò)也不存在特殊的通信協(xié)議,因為社交僵尸網(wǎng)絡(luò)中的通信幾乎都是僵尸程序與社交網(wǎng)絡(luò)服務(wù)器之間的基于HTTP 的通信。上述不同導(dǎo)致了兩者的檢測方法的差異性。
定義1(社交僵尸)社交僵尸是一種特殊的聊天機(jī)器人,用于社交網(wǎng)絡(luò)自動生成消息或者支持某些想法、活動和公共關(guān)系,收集追隨者信息的虛假賬戶[15]。
定義2(社交僵尸網(wǎng)絡(luò))社交僵尸網(wǎng)絡(luò)是指在社交網(wǎng)絡(luò)中,攻擊者出于惡意目的,通過一對多控制結(jié)構(gòu)操縱大量的可模擬真實用戶的僵尸賬號形成的受控網(wǎng)絡(luò)[16]。
僵尸賬號是攻擊者通過人工方法或者運用僵尸程序創(chuàng)建的被社交網(wǎng)絡(luò)控制的賬號,僵尸賬號之間不會進(jìn)行通信。僵尸賬號并不只是收集用戶信息,還有許多僵尸賬號利用與真實用戶之間的信任關(guān)系傳播垃圾信息,嚴(yán)重影響社交網(wǎng)絡(luò)安全。
社交僵尸網(wǎng)絡(luò)的惡意行為與普通僵尸網(wǎng)絡(luò)惡意行為類似,文獻(xiàn)[17]將社交僵尸網(wǎng)絡(luò)的惡意行為分為三大類:消息散布(Information Dispersion),信息收集(Information Gathering)和信息處理(Information Processing),如圖2 所示。

圖2 社交僵尸網(wǎng)絡(luò)惡意行為的分類Fig.2 Classification of social Botnet malicious behavior
社交僵尸網(wǎng)絡(luò)惡意行為一般有以下5 種形式:
1)污染網(wǎng)絡(luò)環(huán)境。一些僵尸賬號隱藏在真實賬號之下,通過投放廣告賺取點擊量,如傳播色情、反動信息。一些社交僵尸賬號與合法用戶之間確立了信任關(guān)系,以更加難以發(fā)現(xiàn)的方式發(fā)布垃圾信息。
2)引導(dǎo)輿論。當(dāng)一些重大事件發(fā)生時,社交僵尸網(wǎng)絡(luò)通過控制大量社交僵尸賬號集體發(fā)聲制造巨大的網(wǎng)絡(luò)聲浪,引導(dǎo)和控制社會輿論,甚至影響事態(tài)的發(fā)展,這即所謂的社交網(wǎng)絡(luò)水軍。
3)竊取信息。社交僵尸賬號通過與真實的用戶建立相互的信任關(guān)系,通過與真實用戶進(jìn)行互動,收集真實用戶的隱私信息。獲取這些信息后,攻擊者就可以將它們轉(zhuǎn)賣給營銷公司,造成用戶信息泄露,導(dǎo)致用戶收到大量垃圾短信、垃圾郵件、騷擾電話等。
4)惡意植入。通過與真實用戶建立的信任關(guān)系發(fā)布偽造的URL 鏈接。攻擊者可以使用偽造的URL 鏈接進(jìn)行網(wǎng)絡(luò)釣魚、傳播病毒、誘導(dǎo)用戶下載惡意代碼等行為。一些缺乏網(wǎng)絡(luò)安全意識的用戶常會無條件地信任并點擊“朋友”發(fā)布的鏈接,從而遭受惡意攻擊,甚至被盜取賬號、植入主機(jī)病毒等。
5)虛假信息傳播。由于社交網(wǎng)絡(luò)的巨大體量和社交僵尸網(wǎng)絡(luò)強(qiáng)大的消息擴(kuò)散能力,攻擊者可以利用社交網(wǎng)絡(luò)上的僵尸賬號進(jìn)行謠言的傳播。
在國際上已經(jīng)有社交僵尸網(wǎng)絡(luò)的惡意行為這一應(yīng)用的先例:一份針對2010 年美國中期大選的文獻(xiàn)指出了社交僵尸網(wǎng)絡(luò)的濫用影響了大選的最終結(jié)果[18];2014 年,印度的大選中也被發(fā)現(xiàn)有運用社交僵尸賬號散布對敵對政黨不利的新聞的現(xiàn)象[19]。另外,文獻(xiàn)[20]指出,一些國家的政府利用社交僵尸網(wǎng)絡(luò)來誘導(dǎo)大眾發(fā)表有利于政府的觀點。從國家的層面來講,現(xiàn)代的戰(zhàn)爭形成了認(rèn)知域這一全新的作戰(zhàn)維度,與傳統(tǒng)戰(zhàn)爭中的物理域和信息域共同構(gòu)成了現(xiàn)代戰(zhàn)爭的三大戰(zhàn)場。目前,社交僵尸網(wǎng)絡(luò)的出現(xiàn)吸引了一些組織的注意力,他們開始嘗試將社交僵尸網(wǎng)絡(luò)運用在向敵人散布虛假的消息或者錯誤的消息上,這會給敵人的心理造成一些影響,從而左右戰(zhàn)爭的局勢。因此,雖然還沒有證據(jù)表明社交僵尸網(wǎng)絡(luò)已經(jīng)被運用在現(xiàn)代戰(zhàn)爭中,但是要注意到社交僵尸網(wǎng)絡(luò)的力量及其對戰(zhàn)爭勝負(fù)的影響力。
綜上可見,社交僵尸網(wǎng)絡(luò)帶來的安全威脅是不可小覷的。因此,有必要了解并研究社交僵尸網(wǎng)絡(luò)的攻擊原理與防御方法。
從第一個知名的社交僵尸網(wǎng)絡(luò)Koobface[21]出現(xiàn)至今,其攻擊形態(tài)和攻擊技術(shù)都發(fā)生了巨大的變化,從最初借助社交平臺對C&C 信道進(jìn)行弱加密,到運用隱寫技術(shù)將控制命令隱藏在圖片或文本中進(jìn)行傳播的社交僵尸網(wǎng)絡(luò),社交僵尸網(wǎng)絡(luò)的隱蔽性越來越強(qiáng),種類也變得更加繁雜。
隨著社交網(wǎng)絡(luò)平臺的發(fā)展,僵尸網(wǎng)絡(luò)被引入社交網(wǎng)絡(luò)中。隨著2010 年第一個成功傳播的社交僵尸網(wǎng)絡(luò)Koobface 的出現(xiàn),一批以傳統(tǒng)僵尸網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的社交僵尸網(wǎng)絡(luò)大量產(chǎn)生。下面按照社交僵尸網(wǎng)絡(luò)所針對的社交平臺的不同,分別介紹社交僵尸網(wǎng)絡(luò)的發(fā)展演化歷程。
3.1.1 Facebook 上的社交僵尸網(wǎng)絡(luò)
文獻(xiàn)[21]介紹了利用社交網(wǎng)絡(luò)平臺進(jìn)行傳播且獲得成功的僵尸網(wǎng)絡(luò)Koobface,其攻擊目標(biāo)是擁有諸如Facebook、MySpace 等社交網(wǎng)站賬號的個人用戶,目標(biāo)系統(tǒng)為Windows 系列操作系統(tǒng)。攻擊者通過Koobface 可以實現(xiàn)廣告推送、惡意軟件付費安裝、用戶信息竊取,進(jìn)而牟取暴利。Koobface 通過社會工程學(xué)的方式進(jìn)行傳播。具體來講,Koobface 利用社交網(wǎng)絡(luò)平臺發(fā)布惡意視頻鏈接,誘騙用戶點擊并安裝惡意插件從而感染成為僵尸主機(jī)。攻擊者會事先注冊若干blogspot1/bit.ly 賬號,同時準(zhǔn)備好一批被劫持和篡改的網(wǎng)站頁面。準(zhǔn)備完畢后,Koobface 會利用已感染用戶的社交賬號進(jìn)行惡意鏈接的發(fā)布和推送(第1 個階段),該鏈接指向攻擊者準(zhǔn)備的惡意blogspot/bit.ly 鏈接(第2 個階段),當(dāng)用戶點擊訪問社交賬號上發(fā)布的鏈接時首先會跳轉(zhuǎn)到blogspot/bit.ly 中的惡意鏈接,接著blogspot/bit.ly 的鏈接將會把請求重定向到被劫持和篡改的網(wǎng)頁(第3 個階段),通過頁面的JavaScript 腳本再一次將用戶的請求重定向到最終目的地——惡意視頻頁面(第4 個階段)。還有一些研究人員研究了Koobface 僵尸網(wǎng)絡(luò)的傳播及命令控制機(jī)制,并分析了Koobface 的URL 混淆技術(shù),他們認(rèn)為Koobface 僅對C&C 信道進(jìn)行了弱加密。
文獻(xiàn)[22]介紹了基于Facebook 的社交僵尸網(wǎng)絡(luò)Yazanbot。該社交僵尸程序可以產(chǎn)生分別針對社交網(wǎng)絡(luò)信息傳遞過程和社交關(guān)系管理結(jié)構(gòu)的兩種操作。前者可以對Facebook 上的內(nèi)容進(jìn)行讀、寫等操作;后者則可以產(chǎn)生新的社交關(guān)系圖。僵尸網(wǎng)絡(luò)控制者賬戶可以通過發(fā)布不同的命令,實現(xiàn)與社交僵尸賬戶之間的建立與斷開連接操作。同時,僵尸網(wǎng)絡(luò)控制者賬戶還能夠操縱社交僵尸賬戶的行為,執(zhí)行包括命令僵尸賬戶連接正常的社交賬戶和倉庫內(nèi)的其他賬戶、尋找鄰居賬戶、返回收集到的用戶信息在內(nèi)的操作。Facebook 提供的API 接口和HTTP 請求的模板庫是Yazanbot 工作的主要基礎(chǔ)。
其他以Facebook 為平臺的社交僵尸網(wǎng)絡(luò)還有文獻(xiàn)[23]介紹的Fbbot。Fbbot在隨機(jī)時間登錄Facebook 網(wǎng)站首頁,獲取最新狀態(tài),解析后得到相關(guān)的命令并進(jìn)行對應(yīng)的操作,最終提供反饋信息。Facebook 上的社交僵尸網(wǎng)絡(luò)多利用Facebook 提供的Facebook Graph API[24]來進(jìn)行大規(guī)模的社交關(guān)系操作,利用社交僵尸程序收集用戶的個人信息。
3.1.2 Twitter 上的社交僵尸網(wǎng)絡(luò)
與Koobface 同期出現(xiàn)的社交僵尸網(wǎng)絡(luò)還有文獻(xiàn)[25]介紹的基于Twitter的僵尸網(wǎng)絡(luò)Nazbot。Nazbot 使用Twitter 上的賬戶名為upd4t3 的僵尸主機(jī)接收命令。Nazbot 首先向upd4t3 的RSS 發(fā)出HTTP GET 請求,Twitter 隨后返回一個以Base64 編碼的 文本RSS 提交給Nazbot。然后Nazbot 對該文本進(jìn)行解碼,并從bit.ly 網(wǎng)址獲取真實的URL,該bit.ly URL 重定向到一個獨立服務(wù)器上的惡意文件。隨后Nazbot下載這個惡意文件并將其作為有效載荷解壓并執(zhí)行。最后有效載荷竊取用戶的管理信息,并將收集到的信息返回給botmaster 控制的服務(wù)器。
文獻(xiàn)[26]介紹了以明文發(fā)布命令的基于Twitter的移動僵尸網(wǎng)絡(luò)。ZeroFOX 威脅研究小組對一個名為Siren 的大型僵尸網(wǎng)絡(luò)進(jìn)行了調(diào)查研究[27],該網(wǎng)絡(luò)利用算法生成的Twitter 賬戶所形成的龐大信息網(wǎng)絡(luò)來發(fā)布有效的URL,該URL 可以重定向到很多包含色情內(nèi)容的網(wǎng)站上。隨后被控制的僵尸賬戶通過直接轉(zhuǎn)發(fā)受害者的推文,來誘使受害者掉入陷阱。
2013 年出現(xiàn)了另一種Twitter 上的社交僵尸網(wǎng)絡(luò)Twitterbot[28]。研究人員使用Twitter 作為僵尸網(wǎng)絡(luò)的C&C 信道,直接在Twitter 賬戶上發(fā)布僵尸網(wǎng)絡(luò)命令。僵尸程序通過Twitter 網(wǎng)站上的Twitter 消息搜索引擎來獲取命令,并使用OAuth 認(rèn)證機(jī)制和twitter4j API 接口開發(fā)的應(yīng)用程序進(jìn)行通信。Twitterbot 使用關(guān)鍵詞減少了Twitter 消息的可疑度,提高了僵尸網(wǎng)絡(luò)節(jié)點的存活率。
3.1.3 Weibo 上的社交僵尸網(wǎng)絡(luò)
相比于國外的社交僵尸網(wǎng)絡(luò),我國出現(xiàn)社交僵尸網(wǎng)絡(luò)的時間相對較晚。2017 年,文獻(xiàn)[23]介紹了基于微博平臺的社交僵尸網(wǎng)絡(luò)Wbbot,它通過模擬IE 瀏覽器的行為來訪問微博網(wǎng)站,最終獲取用戶在微博上的個人信息。Wbbot 首先嘗試從微博主頁獲取botmaster的狀態(tài)。隨后僵尸程序檢查控制命令是否被包含在微博的狀態(tài)信息中,以及相關(guān)命令是否已經(jīng)被執(zhí)行。最后僵尸程序會對新的命令進(jìn)行處理和分析,并執(zhí)行相應(yīng)的操作。該社交僵尸網(wǎng)絡(luò)共存在10 個不同的控制命令:6 個主機(jī)上的行動命令用來獲取本地網(wǎng)絡(luò)信息、Windows系統(tǒng)版本、執(zhí)行DoS 命令、迫使IE 瀏覽器打開一個URL、強(qiáng)迫受害者主機(jī)重新綁定域名和IP 等;另外4 個在線社交網(wǎng)絡(luò)活動的命令可以控制感染微博賬戶發(fā)布文本消息、更新狀態(tài)信息、對微博消息進(jìn)行評論、關(guān)注指定賬戶。
其他Weibo 上的社交僵尸網(wǎng)絡(luò)有文獻(xiàn)[3]介紹的DR-SNbot,這種僵尸網(wǎng)絡(luò)基于新浪博客搭建C&C信道,同時將控制命令隱藏在博文中,并將其發(fā)送到多個博客上。文獻(xiàn)[29]介紹的基于P2P 的社交僵尸網(wǎng)絡(luò),通過匿名網(wǎng)絡(luò)注冊賬戶將加密后的命令釋放到賬戶中。超級節(jié)點根據(jù)P2P 通信機(jī)制,使用相同的微博昵稱生成算法,并主動通過HTTP 請求從微博賬戶中獲取加密命令,增加了防御者跟蹤整個僵尸網(wǎng)絡(luò)的難度,彌補(bǔ)了P2P 僵尸網(wǎng)絡(luò)模型中缺少命令服務(wù)器的問題。表1總結(jié)了現(xiàn)有的社交僵尸網(wǎng)絡(luò)的主要特點。由于微博平臺的API接口控制較為嚴(yán)格,相比于Twitter和Facebook開放程度較低,因此很少有基于微博的社交僵尸網(wǎng)絡(luò)研究,而且現(xiàn)有的基于微博的社交僵尸網(wǎng)絡(luò)的存活時間也相對較短。

表1 不同平臺上的社交僵尸網(wǎng)絡(luò)Table 1 Social Botnets on different platforms
僵尸網(wǎng)絡(luò)的C&C 信道負(fù)責(zé)傳輸僵尸網(wǎng)絡(luò)的內(nèi)部控制消息,為防止第三方冒充Botmaster 發(fā)布命令或竊聽C&C 通信內(nèi)容,攻擊者通常會在通信過程中引入相關(guān)的加密技術(shù)。然而,由于發(fā)布在社交網(wǎng)絡(luò)上的社交僵尸網(wǎng)絡(luò)命令一般是對用戶公開的明文,因此社交僵尸網(wǎng)絡(luò)的C&C 信道還必須具備較高的隱蔽性,以防止這些惡意消息被發(fā)現(xiàn),最終導(dǎo)致僵尸網(wǎng)絡(luò)被檢測到并被破壞。為了逃避系統(tǒng)檢測,社交僵尸網(wǎng)絡(luò)開始探索基于信息隱藏技術(shù)的隱蔽通道的使用。隱蔽型社交僵尸網(wǎng)絡(luò)面臨如下幾個主要問題:如何隱蔽地利用人類的社交習(xí)慣,通信的信息如何隱藏,如何更好地逃避檢測。因此,隱寫技術(shù)逐漸被引入到社交僵尸網(wǎng)絡(luò)的設(shè)計與開發(fā)過程中。
隱寫技術(shù)是一門關(guān)于信息隱藏的技術(shù)和科學(xué),即除預(yù)計的信息接收者外,沒有人會知道信息的傳輸(不僅僅是消息的內(nèi)容)。其中,最常用的隱寫技術(shù)是基于圖像的隱寫技術(shù)。最具有代表性的隱寫技術(shù)是JPEG 隱寫技術(shù)Jsteg[30],其主要思想是在離散余弦變換系數(shù)最小的位中隱藏數(shù)據(jù),從而保證無法用肉眼看出隱寫后與隱寫前圖像之間的區(qū)別。其他的圖像隱寫技術(shù)還有YASS[31]、基于模型的MB[32]、Outguess[33]、F5[34]等。其中YASS 隨機(jī)選取8×8 的字塊,將隱寫信息嵌入到該字塊的DCT 系數(shù)中。
3.2.1 基于圖像隱寫技術(shù)的社交僵尸網(wǎng)絡(luò)
文獻(xiàn)[2]介紹了基于圖像隱寫技術(shù)的Stegobot社交僵尸網(wǎng)絡(luò)。Stegobot 使用社交網(wǎng)絡(luò)用戶共享的圖像作為構(gòu)建C&C 通信的通道媒體,采用YASS 圖像隱寫技術(shù)在社交網(wǎng)絡(luò)中建立一個通信的通道,并將其作為社交僵尸網(wǎng)絡(luò)的C&C 信道。Stegobot 的設(shè)計目的是通過社交網(wǎng)絡(luò),比如電子郵件通信網(wǎng)絡(luò)或允許朋友交換電子郵件的在線社交網(wǎng)絡(luò)來感染用戶。Stegobot 感染大量主機(jī),并從主機(jī)向Botmaster傳輸盜取的信息。當(dāng)用戶從受感染的主機(jī)上傳圖像到Facebook 時,僵尸會截取圖像,并在發(fā)送到Facebook 前使用YASS 圖像隱寫技術(shù)將僵尸負(fù)載插入到圖像中。當(dāng)Botmaster 準(zhǔn)備發(fā)布命令時,它通過生成一個僵尸負(fù)載消息并將其上傳至它的Facebook賬戶來完成,然而,圖片占用很大的空間將顯著增加僵尸網(wǎng)絡(luò)信道的流量,容易被檢測到。Stegobot 圖像隱寫系統(tǒng)的結(jié)構(gòu)如圖3 所示。

圖3 Stegobot 圖像隱寫系統(tǒng)Fig.3 Stegobot image steganography system
3.2.2 基于文本隱寫技術(shù)的社交僵尸網(wǎng)絡(luò)
文獻(xiàn)[3]介紹的DR-SNbot 包括Botmaster、C&CServer 與Bot 3 個部分。其中僵尸網(wǎng)絡(luò)的控制端是Botmaster部分,這部分用來發(fā)送攻擊命令。C&C-Server是命令控制服務(wù)器,是注冊昵稱對應(yīng)的社交網(wǎng)絡(luò)虛擬主機(jī)。每個C&C-Server 對應(yīng)進(jìn)行一個企業(yè)不同的注冊昵稱,并將命令隱藏在僵尸網(wǎng)絡(luò)日志中發(fā)布。當(dāng)C&C服務(wù)器出現(xiàn)故障時,災(zāi)難恢復(fù)機(jī)器人會發(fā)出預(yù)警,通知攻擊者構(gòu)建新的C&C 服務(wù)器,并自動修復(fù)C&C 通信信道,以確保其強(qiáng)大的抗毀性。Bot 是僵尸程序,通常運行在移動終端上,用于在C&C-Server 上下載命令并解析執(zhí)行這些命令。DR-SNbot 的C&C 信道命令的發(fā)布包括預(yù)處理、信息隱藏、POST、GET、信息提取、后處理6 個步驟。預(yù)處理過程是指Botmaster對命令進(jìn)行加密和簽名,最終形成密文。信息隱藏是指Botmaster 在一個屬性域中隱藏一段密文,隨后在正常日志中插入這個標(biāo)簽。這個被操作的屬性域要擁有特殊的網(wǎng)頁標(biāo)簽。僵尸主機(jī)通過HTTP 的POST 方式將日志上傳到C&C-Server,Bot 通過GET 請求下載該日志,在Bot 日志中尋找與眾不同的網(wǎng)頁標(biāo)簽(如),確定該標(biāo)簽的屬性域,并在提取信息隱藏階段加密得到的密文。最后Bot 驗證Botmaster 產(chǎn)生的數(shù)字簽名,如果該簽名驗證最終是通過的,那么Bot 對該消息進(jìn)行解密,得到對應(yīng)的明文(即命令),如果簽名驗證不通過,Bot 會丟棄這條消息。C&C 信道流程如圖4 所示。

圖4 DR-SNbot C&C 信道流程Fig.4 Procedure of DR-SNbot C&C channel
文獻(xiàn)[4]介紹了將Twitter 作為隱蔽的C&C 信道的社交僵尸網(wǎng)絡(luò),它使用類似于文獻(xiàn)[35]介紹的無噪聲隱寫技術(shù)。在這個系統(tǒng)中隱寫對象是推文,秘密消息不包含在推文文本的數(shù)據(jù)中,而是包含在推文的元數(shù)據(jù)中(長度)。元數(shù)據(jù)是指“關(guān)于數(shù)據(jù)的數(shù)據(jù)”。所有數(shù)據(jù)都有一些與之相關(guān)的元數(shù)據(jù),但是這個元數(shù)據(jù)并沒有被詳細(xì)地存儲起來,它是從現(xiàn)有的數(shù)據(jù)推斷出來的。推文的數(shù)據(jù)是文本,而這條推文還包含了一些元數(shù)據(jù),比如發(fā)布的時間、用戶的賬號和發(fā)布的文本長度,額外的元數(shù)據(jù)還可以包括已發(fā)布文本的字母頻率或文本中的空格數(shù)。該系統(tǒng)利用發(fā)布的推文的長度,通過一對多的字符計數(shù)設(shè)定編碼規(guī)則來嵌入秘密消息。在發(fā)送命令時,首先將命令劃分成為符號序列,結(jié)合預(yù)先設(shè)定的編碼規(guī)則依次生成推文。然后每個秘密消息將按照原始秘密消息的順序發(fā)布到Twitter 賬戶。最后接收方的提取功能將按發(fā)布的(按時間順序)順序接收推文,并返回每個推文的長度值。解碼函數(shù)可以應(yīng)用與編碼函數(shù)功能相同的映射,重構(gòu)原始信息。隱蔽信道流程如圖5 所示。

圖5 基于Twitter 的隱蔽C&C 信道流程Fig.5 Procedure of hidden C&C channel based on Twitter
基于文本隱寫技術(shù)的社交僵尸網(wǎng)絡(luò)還有文獻(xiàn)[36]介紹的使用加密推文創(chuàng)建的僵尸網(wǎng)絡(luò)C&C 機(jī)制。這種方法是在包含僵尸網(wǎng)絡(luò)命令的推文中混合不相關(guān)的句子。他們的命令推文遵循#keyword command的形式,其中command 的值將被加密。雖然這種方法可以隱藏正在發(fā)出的command,但并不能隱藏command 的存在。每個command 遵循相同的形式,可以根據(jù)其他發(fā)布的推文將Botmaster 賬戶區(qū)分出來。但是,如果由于檢測到惡意活動而導(dǎo)致Botmaster 的賬戶被禁用,則沒有用于恢復(fù)的機(jī)制。文獻(xiàn)[37]介紹的ELISABot 使用Unicode 隱寫技術(shù)創(chuàng)建隱蔽C&C 信道,將不可打印的字符注入到用戶生成的內(nèi)容中,避免了額外流量的產(chǎn)生。
隨著社交網(wǎng)絡(luò)在人類生活中作用的增大和網(wǎng)絡(luò)技術(shù)的發(fā)展,社交僵尸網(wǎng)絡(luò)也在不斷發(fā)展。總體來講,社交僵尸網(wǎng)絡(luò)開始向高隱蔽、自動化的方向發(fā)展,同時其惡意行為也以虛假信息傳播為主。為了避開用戶行為特征和行為生物識別等傳統(tǒng)社交僵尸網(wǎng)絡(luò)檢測方法,社交僵尸網(wǎng)絡(luò)在逐漸提升其偽裝程度,或是根據(jù)現(xiàn)有檢測方法的原理對其模型進(jìn)行調(diào)整,從而增大檢測難度。同時,社交僵尸網(wǎng)絡(luò)開始趨向于自動化運行。社交僵尸網(wǎng)絡(luò)可以自動化地進(jìn)行賬戶創(chuàng)建、模擬社交動作、執(zhí)行社交網(wǎng)絡(luò)平臺的API等動作,從而提升了自身的工作效率。隨著時間的推移,社交僵尸網(wǎng)絡(luò)實現(xiàn)的主要目的從發(fā)送垃圾消息、竊取用戶信息逐漸開始轉(zhuǎn)向謠言散布、錯假消息轟炸等。例如研究人員發(fā)現(xiàn)相當(dāng)數(shù)量的社交僵尸網(wǎng)絡(luò)被用來散布有關(guān)于疫苗效果的假消息[38]。同時,社交僵尸網(wǎng)絡(luò)也被用于具有政治目的的輿論操控[39]。
準(zhǔn)確探測社交僵尸網(wǎng)絡(luò)并對僵尸網(wǎng)絡(luò)采取針對性遏制是打擊僵尸網(wǎng)絡(luò)犯罪的重要環(huán)節(jié)。因為社交僵尸網(wǎng)絡(luò)不具備明顯的惡意行為特征,所以無法針對社交僵尸網(wǎng)絡(luò)的個體進(jìn)行檢測。相比而言,作為一個集合,社交僵尸網(wǎng)絡(luò)表現(xiàn)出一些很獨特的特征,這為其檢測提供了思路。對于社交僵尸的檢測,文獻(xiàn)[40-44]已經(jīng)有了相應(yīng)的介紹。從技術(shù)實現(xiàn)角度來看,社交僵尸網(wǎng)絡(luò)檢測一般分為針對服務(wù)器端的檢測方法和針對主機(jī)端的檢測方法。另外,針對近來出現(xiàn)的基于隱寫技術(shù)的僵尸網(wǎng)絡(luò),研究人員根據(jù)圖像與文本隱寫技術(shù)的原理設(shè)計出了特定的檢測方法。近年來,機(jī)器學(xué)習(xí)技術(shù)也提高了社交僵尸網(wǎng)絡(luò)的檢測效率,其與用戶行為特征提取等傳統(tǒng)檢測方法的結(jié)合開始成為最新的研究熱點。
服務(wù)器端的檢測方法一般是利用在線社交網(wǎng)絡(luò)的用戶信息[45-47],如用戶發(fā)送的消息和好友請求等采用分類的方法來識別僵尸賬戶。近年來學(xué)術(shù)界對社交僵尸網(wǎng)絡(luò)進(jìn)行了研究,例如文獻(xiàn)[48-51]介紹的社交僵尸網(wǎng)絡(luò)特征發(fā)掘研究成果。
4.1.1 基于賬戶屬性的社交僵尸網(wǎng)絡(luò)檢測
社交僵尸網(wǎng)絡(luò)中的社交僵尸賬戶一般有如下群體屬性:即注冊時間集中、賬戶昵稱相似、活躍時間集中和發(fā)送的推文內(nèi)容或結(jié)構(gòu)相似。這些特征都?xì)w結(jié)為使用自動或半自動工具在整個網(wǎng)絡(luò)中操作大量的機(jī)器人賬戶,進(jìn)而表現(xiàn)出了一些群體屬性。基于這些群體屬性,集合數(shù)據(jù)挖掘聚類算法,實現(xiàn)對社交僵尸網(wǎng)絡(luò)的有效檢測。文獻(xiàn)[10]提出一種根據(jù)社交僵尸網(wǎng)絡(luò)的群體特征的檢測方法,通過注冊時間集中、活躍時間集中、注冊昵稱相似等群體特征進(jìn)行檢測,檢測流程如圖6 所示,其中,黑色圓圈代表僵尸賬號,白色圓圈代表真實賬號。

圖6 社交僵尸網(wǎng)絡(luò)檢測流程Fig.6 Procedure of social botnet detection
整個檢測過程分為5 步:1)采集大量來源于社交網(wǎng)絡(luò)平臺的數(shù)據(jù),形成一個數(shù)據(jù)集;2)對數(shù)據(jù)分布集中度高的賬號,提取賬號的注冊時間值進(jìn)行統(tǒng)計,得到異常組;3)根據(jù)同一算法批量生成的僵尸賬號昵稱具備相似性的特點,采用K-Means 聚類算法,結(jié)合注冊時間異常組得到更進(jìn)一步的異常組;4)對群組進(jìn)行活躍時間過濾,排除真實賬戶;5)根據(jù)社交僵尸網(wǎng)絡(luò)發(fā)送的推文內(nèi)容一般在內(nèi)容和結(jié)構(gòu)上會具備一些相似性的特點,采用相似推文進(jìn)行二次過濾,最終得到社交僵尸網(wǎng)絡(luò)集合。
4.1.2 基于行為特征的社交僵尸網(wǎng)絡(luò)檢測
基于行為特征的社交僵尸網(wǎng)絡(luò)檢測主要是尋找社交僵尸存在的與普通賬戶在行為上的差異性,通過行為的相似度來聚類用戶賬戶,從而發(fā)現(xiàn)類似行為的大量惡意賬戶。文獻(xiàn)[52]使用人人網(wǎng)的數(shù)據(jù)集研究Sybils 的鏈接創(chuàng)建行為、細(xì)粒度行為、群組之間的幕后串通行為,提出一個基于行為特征的Sybil 賬號的檢測方法。文獻(xiàn)[53]介紹了惡意賬戶在社交網(wǎng)絡(luò)中松散的同步行為,基于這種行為特征可以通過聚類分析檢測惡意賬戶。文獻(xiàn)[54]提出的CatchSync可以用于查看有向圖中節(jié)點的連通性,分析節(jié)點社交行為以發(fā)現(xiàn)可疑節(jié)點。
主機(jī)端的檢測方法一般是通過檢測主機(jī)一端的異常行為,如注冊表修改、文件系統(tǒng)信息修改和系統(tǒng)調(diào)用來對社交僵尸網(wǎng)絡(luò)進(jìn)行檢測。
4.2.1 基于行為生物識別的檢測
基于行為生物識別技術(shù)的社交僵尸網(wǎng)絡(luò)檢測,主要是通過鼠標(biāo)擊鍵、鍵盤輸入按鍵等特征來區(qū)分人類和社交僵尸。在訪問社交網(wǎng)絡(luò)的情況下,觸發(fā)器通常是由用戶引發(fā)的鍵盤或鼠標(biāo)事件。然而,如果一個社交僵尸訪問社交媒體來獲取新的命令,或者上傳獲取的信息,那么是不需要通過用戶事件觸發(fā)的,而是由惡意軟件的內(nèi)部狀態(tài)變化引起的。因此,社交僵尸和正常用戶所表現(xiàn)出來的用戶觸發(fā)事件以及引發(fā)流量的原因就存在不同。文獻(xiàn)[55-56]提出一種通過檢測網(wǎng)絡(luò)流量和用戶事件之間的因果關(guān)系,從而檢測社交僵尸網(wǎng)絡(luò)形成的C&C 流量的方法,如圖7 所示。研究人員通過檢測輸入按鍵、鼠標(biāo)左鍵點擊/釋放、F5 按鍵3 個用戶事件,區(qū)分正常用戶和社交僵尸在社交網(wǎng)絡(luò)流量上的不同。這種檢測方法的缺點是上述的因果關(guān)系由于網(wǎng)絡(luò)的延遲、操作系統(tǒng)本身的延遲和計算機(jī)性能差異等動態(tài)變化的因素,很難使得人類活動和網(wǎng)絡(luò)流量完全同步,導(dǎo)致檢測準(zhǔn)確率降低。

圖7 基于行為生物識別的檢測Fig.7 Detection based on biological idetification
4.2.2 基于用戶行為的檢測
基于用戶行為的檢測主要是通過檢測社交僵尸控制者在發(fā)布命令時與正常用戶存在的行為方式上的差異[57]來檢測社交僵尸網(wǎng)絡(luò)。文獻(xiàn)[58]提出一種在社交網(wǎng)絡(luò)用戶與相關(guān)內(nèi)容中識別出垃圾郵件的方法,他們發(fā)現(xiàn)一種非文本特征,這種特征只出現(xiàn)在垃圾郵件發(fā)送者的身上,并基于這種特征提出一種針對垃圾郵件的離線檢測方法。文獻(xiàn)[48]提出人類行為具有固定的偽周期性,與隨機(jī)的行為混合在一起,幾乎無法被模擬。因此,很容易將這種獨特的人類行為與其他行為模式區(qū)分開來。通過分析社交網(wǎng)絡(luò)中用戶交互的不同尺度來區(qū)分正常用戶和社交僵尸的特征行為,實現(xiàn)對社交僵尸網(wǎng)絡(luò)的檢測。文獻(xiàn)[59]提出基于行為樹的檢測社交機(jī)器人的方法。在構(gòu)建可疑行為樹后,生成檢測結(jié)果的模板庫,通過模板和實際檢測結(jié)果之間的匹配來檢測社交僵尸網(wǎng)絡(luò)。
近年來,社交僵尸網(wǎng)絡(luò)開始運用隱寫技術(shù)或其他較為新穎的加密方法,這導(dǎo)致基于服務(wù)器端和主機(jī)端的檢測機(jī)制有時會失效,因此對于一些特定的社交僵尸網(wǎng)絡(luò)還需要一些特定的檢測方法。同時,在傳統(tǒng)檢測方法的基礎(chǔ)上,研究人員開始引入機(jī)器學(xué)習(xí)技術(shù)來提升對社交僵尸網(wǎng)絡(luò)的檢測效果。
4.3.1 基于圖像隱寫技術(shù)的隱蔽型社交僵尸網(wǎng)絡(luò)檢測
對于基于圖像隱寫技術(shù)的隱蔽型社交僵尸網(wǎng)絡(luò)Stegobot,文獻(xiàn)[60]提出并設(shè)計一個檢測方案,利用圖像文件的信息熵作為檢測的關(guān)注對象。該方案的檢測技術(shù)實現(xiàn)了對幾個不同的圖像隱寫技術(shù)方法的平均檢測率超過70%。圖像熵反映了圖像的質(zhì)量,圖像的熵值定義為對像素信息不確定度的數(shù)學(xué)期望。每個像素表示一個事件,而圖像則是像素的集合。圖像熵之所以可以起到重要作用的關(guān)鍵原因在于,僵尸在對圖像嵌入二進(jìn)制文件前后,圖像的熵值會發(fā)生顯著的變化。由于嵌入技術(shù)將改變像素的概率分布以及封面圖像的顏色信息,因此這些嵌入技術(shù)將改變圖像的熵值。
文獻(xiàn)[61]提出并設(shè)計了專門用于檢測基于圖像隱寫系統(tǒng)的社交網(wǎng)絡(luò)僵尸網(wǎng)絡(luò)C&C 信道的檢測系統(tǒng)SocialClymene。文獻(xiàn)[62]利用基于離散余弦變換的特征研究了Stegobot 的檢測方法。離散余弦特征對嵌入圖像的變換十分敏感,可以提高識別圖像的隱藏信息的檢測率。離散余弦變換可以提供有用的特征來區(qū)分不同大小的正常和惡意的圖像。
文獻(xiàn)[63]利用文獻(xiàn)[64-65]介紹的多媒體圖像的內(nèi)容特征、文獻(xiàn)[66-68]介紹的用戶屬性的特征以及文獻(xiàn)[69]介紹的社交圖理論特征來識別用戶行為,采用傳統(tǒng)分類算法對Stegobot 的可疑行為進(jìn)行檢測。
4.3.2 基于文本隱寫技術(shù)的隱蔽型社交僵尸網(wǎng)絡(luò)檢測
基于上述理論和定義,在此給出集約范式的定義:集約范式是在某一特定工程技術(shù)領(lǐng)域中公認(rèn)的一種模型。該模型能在最充分利用一切資源的基礎(chǔ)上,集中合理地組織、運用人力與技術(shù)等資源要素,提高產(chǎn)品或系統(tǒng)的工作效益和效率,實現(xiàn)全生命周期費效比最佳化。
對于基于文本隱寫技術(shù)的隱蔽型僵尸網(wǎng)絡(luò)DR-SNbot和文獻(xiàn)[4]介紹的利用Twitter 作為隱蔽的C&C 信道的社交僵尸網(wǎng)絡(luò),偽隨機(jī)別名是基于自定義算法動態(tài)生成的,可用于注冊C&C 服務(wù)器,具有較強(qiáng)的抗破壞性能。然而,運用同一算法生成的基于偽隨機(jī)的僵尸用戶的昵稱與合法昵稱相比,存在著較大的詞法差異[70]。這種差異往往體現(xiàn)在兩個昵稱中出現(xiàn)頻率較高的子串之間分布特征的差異。因此,文獻(xiàn)[2]提出一種利用僵尸昵稱的檢測算法來檢測此類社交僵尸網(wǎng)絡(luò)。該算法主要由采集模塊、挖掘模塊、學(xué)習(xí)模塊和檢測模塊4 個部分構(gòu)成。采集模塊直接在現(xiàn)有的社交網(wǎng)絡(luò)平臺上收集正常用戶的合法昵稱樣本,同時基于昵稱生成算法產(chǎn)生大量僵尸昵稱樣本。這兩類樣本被隨機(jī)分配到訓(xùn)練樣本集和測試樣本集中,其中訓(xùn)練集用于昵稱可信度閾值的學(xué)習(xí),測試集則用于研究方法有效性的驗證。通過頻繁子串挖掘分析算法[71],挖掘模塊在合法的訓(xùn)練樣本集中提取出一張頻率數(shù)據(jù)表(稱為頻率表),其內(nèi)容包括樣本中頻率最高的不同長度的子串以及它們對應(yīng)的出現(xiàn)次數(shù)。隨后,挖掘模塊將該頻率表發(fā)送給學(xué)習(xí)模塊。學(xué)習(xí)模塊基于閾值學(xué)習(xí)算法,使用這張表進(jìn)行訓(xùn)練,最終得出昵稱可信度的閾值。檢測系統(tǒng)模塊則對測試集中的數(shù)據(jù)進(jìn)行分類,計算測試樣本的可信度,根據(jù)學(xué)習(xí)模塊得到的閾值將這些樣本分為合法昵稱和僵尸昵稱兩種。
4.3.3 基于機(jī)器學(xué)習(xí)的社交僵尸網(wǎng)絡(luò)檢測
近年來,研究人員開始將人工智能中的機(jī)器學(xué)習(xí)算法運用在社交僵尸網(wǎng)絡(luò)的檢測中,解決了上述的傳統(tǒng)檢測方法出現(xiàn)的一些問題。文獻(xiàn)[72]設(shè)計一種基于半監(jiān)督學(xué)習(xí)的社交僵尸網(wǎng)絡(luò)檢測系統(tǒng)SocialbotHunter。該檢測系統(tǒng)將用戶的社交圈和行為特征作為一個屬性來看待,首先根據(jù)從用戶的行為特征中抽取出的特征向量計算初始可疑分?jǐn)?shù),隨后將所有用戶的行為特征引入到一個馬爾科夫隨機(jī)域中,最后在域中引入置信傳播算法來修正可疑分?jǐn)?shù),從而尋找到社交僵尸網(wǎng)絡(luò)賬號。這種方法不僅能解決傳統(tǒng)的社交僵尸網(wǎng)絡(luò)檢測方法中出現(xiàn)的無法檢測到高偽裝程度的僵尸賬號的問題,還具有良好的通用性,可以在Twitter 及類似于Twitter 的社交平臺上實現(xiàn)較高的檢測效率。文獻(xiàn)[73]利用深度學(xué)習(xí)算法對基于行為特征的社交僵尸網(wǎng)絡(luò)檢測算法進(jìn)行了優(yōu)化。首先建立一張用戶信任權(quán)圖,并分析不同用戶之間包括興趣、URL、社交行為在內(nèi)的用戶行為的相似性。隨后利用傳統(tǒng)的社交僵尸網(wǎng)絡(luò)檢測算法將正常用戶與僵尸用戶區(qū)分開來。最后將上述算法的分類結(jié)果作為輸入,使用深度神經(jīng)網(wǎng)絡(luò)的自動編碼器來更加細(xì)致地對僵尸用戶進(jìn)行分類。相比于傳統(tǒng)檢測算法,深度學(xué)習(xí)檢測算法在兩個Twitter 數(shù)據(jù)集上都得到了更高的檢測準(zhǔn)確率與更加細(xì)致的分類結(jié)果。
下文對上述社交僵尸網(wǎng)絡(luò)的檢測方法的優(yōu)缺點進(jìn)行分析。社交僵尸網(wǎng)絡(luò)的檢測方法的主要分類如表2 所示,主要分為服務(wù)器端檢測方法、主機(jī)端檢測方法、基于隱寫技術(shù)的檢測方法以及機(jī)器學(xué)習(xí)檢測方法4 種。

表2 Socialbot 檢測機(jī)制Table 2 Socialbot detection mechanisms
服務(wù)器端檢測方法的主要優(yōu)點是設(shè)計思路較為簡單,選用的分類算法也較為傳統(tǒng)。該檢測方法的缺點在于社交網(wǎng)絡(luò)中龐大的用戶群體與用戶動作數(shù)量會增大研究人員的工作量。另外,僵尸網(wǎng)絡(luò)操縱者會盡量修正社交僵尸賬戶的群體特征以及與正常用戶之間的行為差異,使其更加貼近于正常用戶的對應(yīng)特征。這會導(dǎo)致這種檢測方法的失效,而這一問題會被基于機(jī)器學(xué)習(xí)的社交僵尸網(wǎng)絡(luò)檢測方法在一定程度上解決。
主機(jī)端的檢測方法能夠充分利用人與機(jī)器的不同點,對正常賬戶與社交僵尸賬戶進(jìn)行較為有效的分類。主機(jī)端社交僵尸網(wǎng)絡(luò)檢測方法的缺點是社交僵尸在終端主機(jī)上只執(zhí)行一些特定的活動,而且許多技術(shù)復(fù)雜度較高的社交僵尸網(wǎng)絡(luò)不會在正常用戶進(jìn)行活動之前先進(jìn)行惡意的活動,使得惡意活動與良性的用戶活動混合在一起,加大了檢測的難度。
相比于傳統(tǒng)的檢測方法,4.3 節(jié)提及的兩種基于隱寫技術(shù)的社交僵尸網(wǎng)絡(luò)檢測方法能夠有效地檢測運用隱寫技術(shù)的僵尸網(wǎng)絡(luò)。但是,目前在圖像隱寫社交僵尸網(wǎng)絡(luò)的研究成果都是在對一種隱蔽型社交僵尸網(wǎng)絡(luò)(Stegobot)進(jìn)行檢測,對其他圖像隱寫社交僵尸網(wǎng)絡(luò)缺乏足夠的實驗數(shù)據(jù)證明其有效性。同時,部分檢測方法還存在針對文件較小的僵尸網(wǎng)絡(luò)內(nèi)置的惡意軟件檢測率較低[60]和假陽性率較高[61]的問題。對于文本隱寫社交僵尸網(wǎng)絡(luò)的檢測也存在著類似的問題,研究人員多數(shù)只是對某一種社交僵尸網(wǎng)絡(luò)進(jìn)行特征分析和檢測。總之,現(xiàn)存的隱寫社交僵尸網(wǎng)絡(luò)的檢測方法缺少較為通用的檢測方法,而且現(xiàn)有的特定檢測方法還存在有待解決的問題。
在社交僵尸網(wǎng)絡(luò)的檢測方法上如何實現(xiàn)對社交僵尸網(wǎng)絡(luò)的反制也是加強(qiáng)社交網(wǎng)絡(luò)平臺防護(hù)的關(guān)鍵。如果能獲取現(xiàn)有社交僵尸網(wǎng)絡(luò)的控制權(quán),實現(xiàn)社交僵尸網(wǎng)絡(luò)的接管,研究人員就能夠更加深入地研究社交僵尸網(wǎng)絡(luò)的工作機(jī)制,從而能夠提升社交網(wǎng)絡(luò)平臺對僵尸網(wǎng)絡(luò)的防護(hù)水平。目前,尚無發(fā)現(xiàn)社交平臺上的僵尸網(wǎng)絡(luò)的反制與接管技術(shù)的研究,本文參考針對其他類型的僵尸網(wǎng)絡(luò)的接管與反制技術(shù)的研究,給出了社交僵尸網(wǎng)絡(luò)在這兩方面的未來發(fā)展方向。
目前,研究人員提出了一些具有一定通用性的僵尸網(wǎng)絡(luò)反制方案,主要包括蜜罐方法、網(wǎng)絡(luò)限制與數(shù)據(jù)包分析方法、基于群體驅(qū)動的方法以及其他方法等。
近年來研究人員開始在研究僵尸網(wǎng)絡(luò)時引入蜜罐技術(shù),實現(xiàn)對僵尸網(wǎng)絡(luò)的檢測和數(shù)據(jù)的收集。文獻(xiàn)[75]提出一種基于CVE-2017-17215 漏洞的中交互蜜罐系統(tǒng)。這一蜜罐系統(tǒng)通過模擬不安全的SOAP 服務(wù)來實現(xiàn)遠(yuǎn)程代碼注入漏洞,其主要分為核心模塊、服務(wù)模塊、進(jìn)程模塊、監(jiān)控模塊4 個模塊。其中主模塊對于上述的漏洞進(jìn)行了模擬,服務(wù)模塊提供了蜜罐系統(tǒng)的控制界面,進(jìn)程模塊實現(xiàn)了對于控制界面的操作,監(jiān)控模塊則用來監(jiān)視蜜罐的工作狀態(tài)。文獻(xiàn)[76]提出一種極有創(chuàng)造力的蜜罐設(shè)計方案。該方案通過模擬僵尸網(wǎng)絡(luò)的一個被感染的節(jié)點,來直接與僵尸網(wǎng)絡(luò)的C&C 服務(wù)器進(jìn)行連接,從而誤導(dǎo)服務(wù)器來向蜜罐系統(tǒng)發(fā)出命令和通信。基于這種思路,研究人員設(shè)計出由傳統(tǒng)的被動式蜜罐、解釋器、主動型蜜罐和STIX 解釋器組成的僵尸網(wǎng)絡(luò)蜜罐系統(tǒng)。其中被動式蜜罐用來進(jìn)行僵尸網(wǎng)絡(luò)的捕獲,解釋器用來分析被動式蜜罐收集到的惡意軟件樣本,STIX 解釋器則用來將其他3 個模塊的數(shù)據(jù)進(jìn)行解釋與存儲。對于社交僵尸網(wǎng)絡(luò)而言:一種研究方向是模擬一個被感染的僵尸用戶來連接到社交僵尸網(wǎng)絡(luò)的命令控制服務(wù)器上;另一種研究方向則是通過模擬社交僵尸網(wǎng)絡(luò)的命令控制服務(wù)器來誤導(dǎo)僵尸用戶與其進(jìn)行連接。
網(wǎng)絡(luò)限制與數(shù)據(jù)包分析的反制方法是指在檢測僵尸網(wǎng)絡(luò)的基礎(chǔ)上,通過限制IP 地址與數(shù)據(jù)包的方法阻斷僵尸網(wǎng)絡(luò)的運行與規(guī)模擴(kuò)大。文獻(xiàn)[77]提出一種以自治系統(tǒng)為單位的社交僵尸網(wǎng)絡(luò)反制方法。其中,每個自治系統(tǒng)存儲主機(jī)IP 地址列表和每個主機(jī)的閾值,并將其分別存入“黑名單”、“白名單”、“潛在攻擊者”與“潛在僵尸主機(jī)”4 類。自治系統(tǒng)通過區(qū)塊鏈相連,并每20 s 更新一次閾值來確保安全防護(hù)更新到最新。文獻(xiàn)[78]提出一種基于流量的僵尸網(wǎng)絡(luò)防護(hù)方案。該方案通過分析監(jiān)控網(wǎng)絡(luò)中交換機(jī)的數(shù)據(jù)包傳輸速度的變化來區(qū)分僵尸網(wǎng)絡(luò)流量與正常流量,并對僵尸網(wǎng)絡(luò)流量的數(shù)據(jù)包進(jìn)行阻斷。對于社交僵尸網(wǎng)絡(luò),研究人員需要與社交網(wǎng)絡(luò)平臺合作,實現(xiàn)對于平臺內(nèi)流量的分析、檢測與選擇性阻斷。
基于群體驅(qū)動的反制方法是指在設(shè)計僵尸網(wǎng)絡(luò)檢測系統(tǒng)的基礎(chǔ)上開放其源碼,使得全球的技術(shù)人員都可以對該程序進(jìn)行修改與完善,這樣能夠集合團(tuán)體的力量提升僵尸網(wǎng)絡(luò)檢測系統(tǒng)的有效性[79]。對于社交僵尸網(wǎng)絡(luò)來講,研究人員也可以采取類似的方法,從而實現(xiàn)對社交僵尸網(wǎng)絡(luò)尤其是新型的社交僵尸網(wǎng)絡(luò)的有效檢測。
其他的方法還包括僵尸節(jié)點清除技術(shù)、數(shù)據(jù)污染技術(shù)等[80]。對于社交僵尸網(wǎng)絡(luò)來講,研究人員可以與社交網(wǎng)絡(luò)平臺合作,設(shè)計對于僵尸用戶的特征分析與清除方案,也可以通過對各種類型的社交僵尸網(wǎng)絡(luò)的命令控制信道的原理進(jìn)行分析,實現(xiàn)對僵尸網(wǎng)絡(luò)命令的污染,從而達(dá)成破壞僵尸網(wǎng)絡(luò)正常運作的目的。
從近年來的研究來看,僵尸網(wǎng)絡(luò)的接管技術(shù)存在著較大的研究空白。其中,最有參考價值的是文獻(xiàn)[8]提出的對于Torpig 僵尸網(wǎng)絡(luò)的接管方法。該方法利用Torpig 僵尸網(wǎng)絡(luò)通過域名確定C&C 服務(wù)器的特點,使用域名生成算法生成了兩個僵尸網(wǎng)絡(luò)認(rèn)定為C&C 服務(wù)器的域名。在僵尸主機(jī)嘗試連接這兩個域名時,研究人員設(shè)計給予僵尸主機(jī)以對應(yīng)的響應(yīng),從而誤導(dǎo)僵尸主機(jī)錯將其認(rèn)定為本應(yīng)連接并傳輸其具體信息的C&C 服務(wù)器,最終獲取這一僵尸網(wǎng)絡(luò)10 天的控制權(quán),并在這10 天內(nèi)收集到了近70 GB 的流量數(shù)據(jù)和近10 GB 的Apache 日志文件數(shù)據(jù)。針對前文所述的社交僵尸網(wǎng)絡(luò),研究人員也可以采取類似的思路嘗試進(jìn)行接管,即通過模仿C&C服務(wù)器的行為,迷惑僵尸主機(jī)使其連接到研究人員預(yù)先設(shè)定的服務(wù)器上。這種方法的重點在于需要對僵尸網(wǎng)絡(luò)服務(wù)器的工作原理有著深入的了解。
在社交僵尸網(wǎng)絡(luò)的C&C 信道預(yù)測方面,已有的工作大多存在實現(xiàn)過程復(fù)雜、可用性差的缺點,且無法跨終端平臺實現(xiàn)與管控。
在社交僵尸網(wǎng)絡(luò)檢測方面,以主機(jī)端檢測和服務(wù)器端檢測為主流研究方向,但已有成果大多存在檢測性能差、通用性差的問題,且檢測多是針對某一特定平臺進(jìn)行,無法做到跨平臺檢測。基于用戶屬性的檢測方法,由于分詞系統(tǒng)存在誤差,在聚類時有些類似的昵稱可能會被劃分到不同的簇,導(dǎo)致原本不同的簇可能會屬于同一個社交僵尸網(wǎng)絡(luò),而且這種方法無法實現(xiàn)實時對社交僵尸網(wǎng)絡(luò)的在線檢測。對于基于用戶行為的檢測,隨著社交僵尸網(wǎng)絡(luò)模仿正常用戶行為能力的提高,檢測難度在不斷增大,檢測的性能和準(zhǔn)確性要求也變得難以達(dá)到。基于隱寫技術(shù)的檢測和基于機(jī)器學(xué)習(xí)的檢測方法都缺乏通用性。同時,基于機(jī)器學(xué)習(xí)的技術(shù)對于硬件與對社交僵尸網(wǎng)絡(luò)的了解程度要求較高。
在社交僵尸網(wǎng)絡(luò)對抗方面,目前存在法律監(jiān)管、威脅情報共享等非技術(shù)難題,需要全球范圍內(nèi)有關(guān)機(jī)構(gòu)和平臺進(jìn)一步重視社交僵尸網(wǎng)絡(luò)問題,形成基于高效率協(xié)作的應(yīng)對機(jī)制。
綜合上述的分析討論和社交僵尸網(wǎng)絡(luò)當(dāng)前的發(fā)展態(tài)勢,未來社交僵尸網(wǎng)絡(luò)領(lǐng)域的研究重點包括:1)深入研究社交僵尸網(wǎng)絡(luò)所利用的逃避機(jī)制,尋找社交僵尸網(wǎng)絡(luò)共同的特征;2)分析社交僵尸網(wǎng)絡(luò)C&C 信道的隱蔽方式,研究相應(yīng)的檢測和防御方法;3)研究社交僵尸網(wǎng)絡(luò)對抗機(jī)制,實現(xiàn)跨平臺關(guān)聯(lián)與管控,減少社交僵尸網(wǎng)絡(luò)的危害;4)運用機(jī)器學(xué)習(xí)技術(shù),在傳統(tǒng)檢測方法的基礎(chǔ)上進(jìn)一步提升社交僵尸網(wǎng)絡(luò)檢測方法的效率;5)在檢測的基礎(chǔ)上進(jìn)一步研究如何能夠遏制僵尸網(wǎng)絡(luò)的惡意行為,例如嘗試接管僵尸網(wǎng)絡(luò),或者部署針對僵尸網(wǎng)絡(luò)的反制措施;6)結(jié)合相關(guān)法律法規(guī)的制定,對社交僵尸網(wǎng)絡(luò)進(jìn)行溯源,打擊其幕后的控制者,嘗試從根本上減少社交僵尸網(wǎng)絡(luò)的產(chǎn)生。
隨著社交網(wǎng)絡(luò)的發(fā)展,社交僵尸網(wǎng)絡(luò)成為僵尸網(wǎng)絡(luò)的重要分支。本文介紹了僵尸網(wǎng)絡(luò)的概念與發(fā)展現(xiàn)狀以及現(xiàn)有的社交僵尸網(wǎng)絡(luò)的基本特征,總結(jié)當(dāng)前社交僵尸網(wǎng)絡(luò)的檢測方法并展望了接管與反制技術(shù)的未來發(fā)展方向。考慮到目前社交網(wǎng)絡(luò)的爆炸式發(fā)展與區(qū)塊鏈、隱寫、人工智能等新技術(shù)的出現(xiàn),研究人員需要對不同類型的社交僵尸網(wǎng)絡(luò)進(jìn)行深入分析,研究設(shè)計具有通用性與高效性的社交僵尸網(wǎng)絡(luò)信道檢測方法。通過設(shè)計跨平臺的社交僵尸網(wǎng)絡(luò)對抗機(jī)制,協(xié)同各安全廠商、社交平臺和監(jiān)管部門共同應(yīng)對社交僵尸網(wǎng)絡(luò)的威脅,在有效檢測的基礎(chǔ)上,嘗試從技術(shù)角度遏制社交僵尸網(wǎng)絡(luò)的惡意行為,并通過立法打擊幕后黑手。