徐 建
(南京郵電大學 計算機學院,江蘇 南京 210023)
一種基于SMS的移動僵尸網(wǎng)絡(luò)的設(shè)計及分析
徐 建
(南京郵電大學 計算機學院,江蘇 南京 210023)
僵尸網(wǎng)絡(luò)是計算機重要的安全威脅。隨著智能手機的發(fā)展,這一安全威脅出現(xiàn)在智能手機上。現(xiàn)在手機中毒已成為普遍現(xiàn)象,在研究了手機傳播病毒方式的基礎(chǔ)上,對移動僵尸網(wǎng)絡(luò)的傳播、命令控制機制以及控制協(xié)議進行了深入研究,分別分析了結(jié)構(gòu)化和非結(jié)構(gòu)化的拓撲結(jié)構(gòu),用示例來描述如何將SMS信息的C&C通道與P2P的拓撲結(jié)構(gòu)相結(jié)合,對基于SMS的移動僵尸網(wǎng)絡(luò)進行設(shè)計和分析。對于移動僵尸網(wǎng)絡(luò)這種新型的手機病毒攻擊模式將會嚴重影響人們的生活,因此必須不斷地研究、發(fā)現(xiàn)各種威脅手機的行為。
移動僵尸網(wǎng)絡(luò);命令控制;P2P;拓撲結(jié)構(gòu)
僵尸網(wǎng)絡(luò)的建立和防御一直是很多研究人員關(guān)注的熱點問題,它是網(wǎng)絡(luò)中最嚴重的安全威脅之一。僵尸網(wǎng)絡(luò)是攻擊者所掌握的一種攻擊平臺,攻擊者利用各種手段傳播僵尸程序,將大量主機感染成僵尸機,并通過命令與控制信道操縱這些僵尸機,實施分布式拒絕服務(wù)攻擊、垃圾郵件發(fā)送以及敏感信息竊取等惡意行為[1]。雖然它們在現(xiàn)實中沒有造成大面積的爆發(fā),但近年來攻擊蜂窩網(wǎng)絡(luò)設(shè)備的數(shù)量在不斷增長并逐漸成熟。隨著智能手機的發(fā)展,例如:Iphone、安裝了安卓系統(tǒng)的手機等,它們下載和共享的第三方應(yīng)用程序及用戶生成的內(nèi)容急劇增加,使得智能手機很容易受到各種類型惡意軟件的破壞。大多數(shù)智能手機上都安裝了具有多功能的操作系統(tǒng),比如Linux,Windows Mobile,IOS,Android以及Symbian OS等。安裝了系統(tǒng)的智能手機在運行環(huán)境中越來越近似于PC機,但安全保護卻遠遠比不上PC機,這也誘導(dǎo)了犯罪。在安卓市場已有許多有關(guān)惡意應(yīng)用程序的報道[2]。由于安卓平臺的策略是要求開發(fā)者自己簽署自己的應(yīng)用程序,因此攻擊者很容易將惡意軟件放入市場中。而蘋果應(yīng)用商店控制它的應(yīng)用就很嚴格,但不包含已“越獄”的蘋果產(chǎn)品,它可以安裝任何應(yīng)用,并在后臺運行進程。
現(xiàn)在科研人員針對傳統(tǒng)僵尸網(wǎng)絡(luò)的研究已比較全面,如僵尸網(wǎng)絡(luò)威脅[3]、僵尸網(wǎng)絡(luò)分類[4]、僵尸網(wǎng)絡(luò)模型[5]、僵尸網(wǎng)絡(luò)控制策略[6]和僵尸網(wǎng)絡(luò)檢測[7]等。然而針對智能手機的移動僵尸網(wǎng)絡(luò)的研究才剛起步,如基于SMS短信信道建立的移動僵尸網(wǎng)絡(luò)[8]、基于藍牙通信建立的移動僵尸網(wǎng)絡(luò)[9]、基于無線網(wǎng)絡(luò)的移動僵尸網(wǎng)絡(luò)[10]等。
早期的僵尸網(wǎng)絡(luò)主要是利用IRC協(xié)議、HTTP協(xié)議來建立,比如Rbot和Zeus[11]等,僵尸機與僵尸主控機之間主要是C/S結(jié)構(gòu)。現(xiàn)在看來這種經(jīng)典的結(jié)構(gòu)存在兩個致命的弱點:很容易產(chǎn)生單點失效的問題;僵尸主控機很容易被發(fā)現(xiàn),而且一旦發(fā)現(xiàn),整個網(wǎng)絡(luò)都將癱瘓。
隨著網(wǎng)絡(luò)的不斷發(fā)展,P2P技術(shù)的出現(xiàn),基于P2P技術(shù)的僵尸網(wǎng)絡(luò)也應(yīng)運而生。因此文中從P2P技術(shù)出發(fā),比較了幾種P2P的拓撲結(jié)構(gòu),建立基于SMS控制的移動僵尸網(wǎng)絡(luò)模型。
主要是由攻擊者通過感染大量的移動智能終端(多指手機),利用移動互聯(lián)網(wǎng)平臺搭建命令控制信道,進行遠程控制使其進入特定受控狀態(tài)的移動智能終端群,稱之為移動僵尸網(wǎng)絡(luò),又名手機僵尸網(wǎng)絡(luò)[12]。在移動互聯(lián)網(wǎng)中,移動智能終端是主要的消息傳輸介質(zhì),版本多、操作系統(tǒng)多樣、支持業(yè)務(wù)種類多,因此僵尸網(wǎng)絡(luò)在移動互聯(lián)網(wǎng)上的傳播具有多樣性并很難統(tǒng)一控制,安全事件的檢測與追蹤比互聯(lián)網(wǎng)更加困難。由于移動網(wǎng)絡(luò)升級很快,GSM、3G、LTE的網(wǎng)絡(luò)制式不僅在迅速升級,同時還存在著不同制式的網(wǎng)絡(luò)并網(wǎng)的問題。因此,移動智能終端必須支持多種網(wǎng)絡(luò)制式的協(xié)議。智能終端操作系統(tǒng)頻繁更新,產(chǎn)品的硬件環(huán)境同樣更新頻繁。移動終端用戶群具有業(yè)務(wù)遷移迅速和多變等特性。但這里所談的移動智能終端主要是以智能手機為主,而智能手機的操作系統(tǒng)是以Android和IOS最常見。由于蘋果公司的產(chǎn)品并沒有完全開源,因此文中研究主要是基于Android系統(tǒng)。從傳播、C&C的通道、拓撲結(jié)構(gòu)三個方面來研究移動僵尸網(wǎng)絡(luò)。
1.1 移動僵尸網(wǎng)絡(luò)的傳播
移動僵尸網(wǎng)絡(luò)傳播的目的是為了不斷增加感染手機的數(shù)量,構(gòu)建更大的僵尸網(wǎng)絡(luò),而且所有的傳播機制都是在用戶不知情的情況下完成的,并帶有一定的攻擊性的行為?,F(xiàn)在所使用的智能手機頻繁訪問互聯(lián)網(wǎng),成為惡意攻擊的目標。因此垃圾郵件和SMS/MMS消息的惡意附件,或指向惡意網(wǎng)站的網(wǎng)址,可以方便地找到并進入手機的收件箱。用戶有意無意會打開附件或點擊這些網(wǎng)址下載惡意程序。攻擊者侵入了用戶的手機就可以獲得大量的電話號碼,而一般使用的電話號碼與個人信息都是緊密相連的,這樣將會泄露大量的個人信息。據(jù)2013年6月卡巴斯基實驗室的最新報告顯示,其“首次發(fā)現(xiàn)了黑客通過使用不同的移動惡意軟件來創(chuàng)建僵尸網(wǎng)絡(luò)并以此來傳播惡意軟件的案例”。該僵尸網(wǎng)絡(luò)由Obad.a和Opfake.a程序搭配組成,用戶一旦安裝了該程序后將導(dǎo)致Android設(shè)備受感染并使得惡意軟件得到大面積的傳播??ò退够Q,Android木馬程序Backdoor.AndroidOS.Obad.a是惡意軟件的罪魁禍首。一位名為Roman Unuchek的卡巴斯基實驗室專家寫道,Obad.a采用了入侵Android常用的方式,如短消息服務(wù)(即短信)、垃圾信息、假冒Google Play商店,以及被黑掉的或不可信的Android軟件下載站點等,其最新的伎倆則使得該木馬比普通的Android木馬更具傳染性。在實際情況中,Obad.a是與另一個手機木馬SMS.AndroidOS.Opfake.a一起傳播的。這個木馬使用了入侵Android的常用方式并偽裝為一個用戶想要下載的應(yīng)用程序。一旦用戶被種下該木馬病毒,Opfake.a就會利用Google云消息服務(wù)(GCM)給用戶發(fā)送一條短信,短信內(nèi)容如下:彩信已發(fā)送成功,請點擊www.otkroi.com下載。如果用戶點擊了這個鏈接,一個名為mms.apk的文件就會自動下載到用戶的智能手機或平板電腦上,該文件中包含有Opfake.a程序。而后,用戶如果選擇運行這個應(yīng)用程序,那么僵尸網(wǎng)絡(luò)的命令和控制服務(wù)器就能夠給該木馬發(fā)送指令,向用戶設(shè)備上的所有聯(lián)系人發(fā)送以下消息:您有一條新彩信,請點擊http://otkroi.net/12下載。一旦用戶點擊這個鏈接并下載彩信,那么Obad.a就會被自動加載到mms.apk或mmska.apk的文件名下。用戶如果運行了這些程序,其就將成為Obad.a的一個傳播網(wǎng)絡(luò)。據(jù)Unuchek介紹,一家俄羅斯大型移動運營商的統(tǒng)計數(shù)據(jù)表明,“在短短5個小時內(nèi),就有600條帶有Trojan-SMS.AndroidOS.Opfake.a木馬的短消息被成功發(fā)送。多數(shù)情況下這些短消息都由受感染的移動設(shè)備發(fā)出,而此前黑客就曾利用短信網(wǎng)關(guān)做了幾次類似的病毒傳播。另一方面,目前只有少數(shù)設(shè)備受到Opfake.a的感染,Opfake.a會通過發(fā)送鏈接讓用戶下載Obad.a程序,因此可以得出一個結(jié)論,即該惡意木馬的創(chuàng)建者是通過租用部分移動僵尸網(wǎng)絡(luò)來實現(xiàn)對惡意軟件的傳播。而這導(dǎo)致的最終結(jié)果,就是使得該僵尸網(wǎng)絡(luò)能夠迅速傳播Opfake.a和Obad.a程序[13]。另一種傳播方式可以利用藍牙功能,移動手機用戶通過藍牙搜索配對附近的設(shè)備,在連接成功后傳播惡意軟件。還有可能通過與PC機連接感染惡意軟件,在自己安裝手機系統(tǒng)時被感染。惡意軟件的傳播是無孔不入的,但最主要的感染方式大都是通過系統(tǒng)的漏洞進行傳播。
1.2 命令與控制
當前主要使用的僵尸網(wǎng)絡(luò)命令與控制機制包括:基于IRC協(xié)議的命令與控制機制、基于HTTP協(xié)議的命令與控制機制,以及基于P2P協(xié)議的命令與控制機制[14]。
1.2.1 基于IRC協(xié)議的命令與控制機制
IRC協(xié)議是早期因特網(wǎng)廣泛使用的一種基于C/S模式的實時網(wǎng)絡(luò)聊天協(xié)議,用戶通過客戶端連接到服務(wù)器上,服務(wù)器可以連接多個客戶端,所有客戶端通過服務(wù)器互相連接構(gòu)成龐大的IRC聊天網(wǎng)絡(luò),可以將用戶的消息通過聊天網(wǎng)絡(luò)發(fā)送到目標用戶或用戶群。用戶可以選擇加入自己感興趣的頻道,在同一頻道中,用戶可以向所有其他用戶發(fā)送消息,也可以單獨給某一個用戶發(fā)送。攻擊者正是利用了IRC協(xié)議的簡單、低延遲、匿名的實時通信方式,設(shè)計了基于IRC協(xié)議的命令與控制機制。攻擊者可以通過IRC服務(wù)器向僵尸機發(fā)送各種命令,其中比較經(jīng)典的兩條命令是advscan lsass 20050-r-s和http.update http:/server/rBot.exe c: Bot.exe 1。主要目的是利用lsass漏洞,開始隨機掃描;后一個是下載rBot.exe文件到C盤并執(zhí)行。
1.2.2 基于HTTP協(xié)議的命令與控制機制
基于HTTP協(xié)議的命令與控制機制是近年來另外一種流行的基于C/S架構(gòu)的僵尸網(wǎng)絡(luò)控制機制。攻擊者通過HTTP網(wǎng)站,發(fā)布命令腳本,僵尸機通過HTTP協(xié)議訪問該網(wǎng)站的網(wǎng)頁,然后根據(jù)該腳本進行相應(yīng)的操作。它的使用具有兩個方面的優(yōu)勢:首先,隱蔽性好,在大量的互聯(lián)網(wǎng)Web流量中,它的活動很難被檢測;其次,HTTP協(xié)議的控制和通信流量能輕易地穿越防火墻,而IRC協(xié)議所使用的端口就比較容易被過濾。這種方式也有它的缺點,只有當僵尸機訪問服務(wù)器網(wǎng)頁時,才能獲得控制者發(fā)布的命令,因此在實時控制方面比較弱。
目前,比較典型的HTTP協(xié)議構(gòu)建命令與控制機制的僵尸程序有Bobax、Rustock、Clickbot等。如Bobax僵尸程序,被植入僵尸程序的主機會偽裝成瀏覽器來訪問指定服務(wù)器上的某個網(wǎng)頁,類似于“http://hostname/reg?u=[8-digit host id]&v=114”的一個URL,如果連接成功,則僵尸網(wǎng)絡(luò)控制器將反饋這個請求,并在返回內(nèi)容中包含攻擊者發(fā)出的控制命令,Bobax僵尸程序就會從返回信息中解析出命令并執(zhí)行,Bobax僵尸程序接收的命令包括:下載更新程序(upd)、執(zhí)行程序(exe)、掃描主機(scn)、停止擴散掃描(scs)、發(fā)送垃圾郵件(prj)、報告網(wǎng)絡(luò)連接速度(spd)等。
1.2.3 基于P2P協(xié)議的命令與控制機制
基于IRC協(xié)議和HTTP協(xié)議的命令與控制機制都是建立在C/S架構(gòu)下的,都是通過中心服務(wù)器來控制的,這樣的結(jié)構(gòu)一旦防御者獲得僵尸程序,它們就能很容易地找到中心服務(wù)器的位置,將給整個僵尸網(wǎng)絡(luò)帶來毀滅性的破壞。為了增加僵尸網(wǎng)絡(luò)的韌性和隱蔽性,許多僵尸程序采用了P2P協(xié)議構(gòu)建其命令與控制機制。在基于P2P協(xié)議的僵尸網(wǎng)絡(luò)中,沒有中心控制點,攻擊者只需向一臺僵尸機發(fā)布命令,在僵尸網(wǎng)絡(luò)中的機器將會相互發(fā)布并執(zhí)行。常見的有Sinit、Phatbot、SpamThru、Nugeche、Peacomm等。這種命令與控制機制即使有部分僵尸機被破壞,也不會對整個網(wǎng)絡(luò)造成嚴重的影響,因此對于建立的移動僵尸網(wǎng)絡(luò)而言,更需要采用P2P協(xié)議的命令控制機制。由此,文中提出了利用SMS通信與P2P技術(shù)相結(jié)合的移動僵尸網(wǎng)絡(luò)模型。
2.1 SMS命令控制機制
SMS(短信服務(wù))是一種存儲、轉(zhuǎn)發(fā)服務(wù)。也就是說,發(fā)送人始終是通過SMSC(短信服務(wù)中心)轉(zhuǎn)發(fā)到接收人的。如果接收人處于未連接狀態(tài)(可能電話已關(guān)閉),則信息將暫存在SMSC,當接收人再次連接時,再次發(fā)送。文中就是利用SMS作為命令控制信道建立移動僵尸網(wǎng)絡(luò),在感染的僵尸機和僵尸主機之間通過SMS進行通信。在PC機中,僵尸網(wǎng)絡(luò)的C&C是基于IP來傳送,而智能手機與之不同,它很難建立和維護穩(wěn)定的基于IP的連接。主要原因是它一直處于移動的狀態(tài),而且建立一個私有的IP地址連接到網(wǎng)絡(luò)比較困難。文中選擇短信作為C&C通道有它的優(yōu)勢。首先,SMS文本消息在所有應(yīng)用程序中是應(yīng)用最廣泛的,有超過80%的手機用戶發(fā)送和接收短信,只要手機一打開,這個應(yīng)用就會處于活躍狀態(tài)。其次,如果手機關(guān)機或者在信號很弱的地區(qū),SMS通信信息將會被存儲在服務(wù)中心,一旦開機或者信號強烈時,還可以接收到此信息,因此很容易實現(xiàn)離線的僵尸機。第三,一些惡意的內(nèi)容很容易隱藏在SMS信息里。在日常生活中,絕大多數(shù)的手機都會收到垃圾信息,也許這些信息根本就無關(guān)緊要,但在收到信息的同時,控制僵尸機的命令已經(jīng)到達了你的手機,最理想的狀態(tài)就是在用戶不知情的情況下,讓手機安裝上設(shè)定好的僵尸代碼并執(zhí)行命令。當前有許多種方式來發(fā)送和接收免費的短信,因此在不影響短信息的情況下,將命令編碼寫進短信息里,就可以輕易地在手機后臺下載安裝控制命令。為了能更好地在手機之間進行控制和通信,每個受控的手機上都會有一個8位的密碼,只有通過了密碼認證的被控手機才能與其他被控手機進行通信。當手機接收到包含有C&C信息的短信時,它將會搜索其密碼和嵌入在信息里的命令。如果發(fā)現(xiàn)存在,手機將立即執(zhí)行此命令。
在移動僵尸網(wǎng)絡(luò)中,由僵尸主控機分配到每個不同功能的子僵尸網(wǎng)絡(luò)的密碼是不相同的。例如,一個子僵尸網(wǎng)絡(luò)負責發(fā)送垃圾短信,而另一個子僵尸網(wǎng)絡(luò)專門竊取個人資料,并傳遞到惡意服務(wù)器。在同一個子僵尸網(wǎng)絡(luò)的所有僵尸機共享相同的密碼,這樣子僵尸網(wǎng)絡(luò)中的僵尸機,以及與僵尸主控機的溝通都很方便。當然,若給每個僵尸機分配不同的密碼會更安全,但是這樣就會增加通信交換的開銷,更容易被暴露。在每個SMS通信消息中不僅需要包含一個密碼,而且在編碼中的命令也不能讓用戶識別出來。在實際當中,相比安卓系統(tǒng),其他移動平臺大都是閉源的,限制也很多,在用戶不知情的情況下,禁止發(fā)送和接收SMS信息。即使主要針對安卓系統(tǒng),也需要對C&C信息進行隱藏,要不很容易被防御者所捕獲和操縱。為了逃避防御者的檢測,要將命令嵌入在SMS信息里,要讓用戶看上去更像垃圾信息,這樣可以保證能安全地傳遞C&C。文獻[15]中指出,移動運營商不能簡單地阻止違法短信,因為發(fā)送方支付了信息費用,當這些信息不包含垃圾信息的文件時,運營商擔心永久刪除了合法的信息。即使運營商過濾了垃圾短信或類似于電子郵件過濾,轉(zhuǎn)儲到垃圾郵件文件夾。垃圾短信通過目錄仍然可以到達目標手機,再加上用戶會忽視垃圾郵件,這樣更有助于C&C的隱藏。
由于每個SMS消息只能包含有160個字符,因此隱藏在SMS信息里的C&C命令一定要簡短。比如,“FIND_NODE”指示僵尸機返回特定節(jié)點的電話號碼;“SEND_SYSINFO”要求僵尸機返回系統(tǒng)信息。為了隱藏消息,每個命令都被映射到一個垃圾郵件模板。額外的信息,如電話號碼和前面提到的密碼模板變量都是64位編碼的[16]。如圖1所示,有兩個偽裝的短信。

圖1 偽裝的SMS信息
第一個是“FIND_NODE”信息(146個字符),密碼是12345678,需要收件人來定位ID是7912034218110523的僵尸機,并將結(jié)果返回給號碼為(743)7096452的僵尸機。NzkxMjAzNDIxODExMDUyM183Mz和Q3MDk2NDUyXzEyMzQlNjc4,這兩個隨機字符串合在一起是64位的編碼,是由7912034218110523_7347096452_12345678加密形成。整個字符串分為兩個部分,一部分偽裝成錯誤信息,另一部分當作類似于垃圾信息的代碼。第二個例子是“SEND_SYSINFO”信息(98個字符),密碼是a2b4d11l。這個模板與“FIND_NODE”不同。密碼也是64位的編碼,密碼顯示在偽裝的信息里。每個僵尸機都為解碼信息保存著命令模板映射列表。由于在僵尸網(wǎng)絡(luò)中有數(shù)以萬計的命令,因此這樣的列表不會太長。為了增加檢測難度,一個命令消息可以對應(yīng)不同的垃圾信息模板,而且模板還可以定期更新。顯然,一個命令以及相關(guān)信息可以很容易地嵌入到SMS信息中,顯示給手機用戶的是他們熟悉的垃圾信息,因此他們很可能忽視這樣的信息,或者打開并瀏覽。如果用戶選擇刪除這些信息,對整個僵尸網(wǎng)絡(luò)也沒有任何影響,因為命令在信息接收的時候已經(jīng)執(zhí)行了。如果沒有監(jiān)視手機的行為或可逆工程,防御者也很難計算出垃圾信息模板和命令之間的映射關(guān)系。
用手機發(fā)送SMS信息,不僅可以在蜂窩網(wǎng)絡(luò)實現(xiàn),還可以通過互聯(lián)網(wǎng)來發(fā)送。通過互聯(lián)網(wǎng)發(fā)送信息可以更好地隱瞞自己的身份,降低成本。因此在移動僵尸網(wǎng)絡(luò)中,利用短信作為C&C是可行的。
2.2 移動僵尸網(wǎng)絡(luò)的拓撲結(jié)構(gòu)
前面主要描述了利用SMS來建立C&C的通道,還需要創(chuàng)建僵尸主控機與僵尸機之間的組織結(jié)構(gòu)。在研究現(xiàn)有的P2P拓撲結(jié)構(gòu)的基礎(chǔ)上,稍作修改來滿足移動僵尸網(wǎng)絡(luò)的構(gòu)建。它與PC機的僵尸網(wǎng)絡(luò)類似,無論是傳統(tǒng)的集中方法,還是在分散的P2P方法,都可以建立移動僵尸網(wǎng)絡(luò)。在集中式的方法中,僵尸主控機直接將可執(zhí)行的代碼硬編碼到每個僵尸機,直接受它的控制。當一個手機被感染成僵尸機時,就可以通過那些硬編碼接收和等待僵尸主控機的命令。像這種集中式的移動僵尸網(wǎng)絡(luò)很容易實現(xiàn),也很容易被破壞,一旦防御者獲得這個代碼,就可以追蹤到僵尸主控機,并禁用僵尸網(wǎng)絡(luò)。因此為了提高移動僵尸網(wǎng)絡(luò)的魯棒性,采用了P2P的結(jié)構(gòu)。目前P2P的網(wǎng)絡(luò)結(jié)構(gòu)可以分為四類:中心化拓撲結(jié)構(gòu)、全分布式非結(jié)構(gòu)化拓撲結(jié)構(gòu)、全分布式結(jié)構(gòu)化拓撲結(jié)構(gòu)、半分布式拓撲結(jié)構(gòu)。
第一類,中心化拓撲結(jié)構(gòu)維護簡單,發(fā)現(xiàn)資源效率高,但是它依賴中心化的目錄系統(tǒng),與傳統(tǒng)的C/S結(jié)構(gòu)類似,很容易造成單點失效。使用此種結(jié)構(gòu)比較經(jīng)典的是Napster軟件。
第二類,全分布式非結(jié)構(gòu)化拓撲結(jié)構(gòu)是在重疊網(wǎng)絡(luò)(Overlay Network)采用隨機圖的組織方式,節(jié)點度數(shù)服從Power-law規(guī)律(冪次法則),能夠很快發(fā)現(xiàn)目的節(jié)點,容錯能力強,具有較好的可用性。一個典型的實現(xiàn)是Gnutella,它不是指一個軟件,而是遵守Gnutella協(xié)議的網(wǎng)絡(luò)和軟件的統(tǒng)稱。
第三類,全分布式結(jié)構(gòu)化拓撲結(jié)構(gòu)主要是采用分布式散列表(Distributed Hash Table,DHT)技術(shù)來組織網(wǎng)絡(luò)中的節(jié)點。DHT能夠自適應(yīng)節(jié)點的動態(tài)加入/退出,具有比較好的魯棒性和可擴展性。只要在網(wǎng)絡(luò)中存在的節(jié)點,DHT都可以精確地發(fā)現(xiàn)它。
第四類,半分布式拓撲結(jié)構(gòu)也被一些學者稱為混雜模式。它吸收了以上一些結(jié)構(gòu)的優(yōu)點,選擇性能較高的節(jié)點作為超級節(jié)點,在各超級節(jié)點上存儲系統(tǒng)中其他部分節(jié)點的信息,發(fā)現(xiàn)算法只在超級節(jié)點之間轉(zhuǎn)發(fā),超級節(jié)點再將查詢請求轉(zhuǎn)發(fā)到適當?shù)娜~子節(jié)點,這種轉(zhuǎn)發(fā)方式就是一種層次結(jié)構(gòu),是建立在超級節(jié)點與普通節(jié)點之間構(gòu)成的若干層次。
為了能適應(yīng)移動僵尸網(wǎng)絡(luò)的需要,可以將結(jié)構(gòu)化的和非結(jié)構(gòu)化的P2P結(jié)構(gòu)進行修改。由于智能手機與電腦的差異,而且手機采用的是短信C&C通道,因此對全分布式結(jié)構(gòu)化拓撲結(jié)構(gòu)的Kademlia進行一些修改。
首先不使用PING消息來查詢節(jié)點,因為短信的傳輸是肯定可以達到的,而且還可以減少C&C的流量,從而減少被手機用戶和防御者發(fā)現(xiàn);其次,節(jié)點ID是由散列電話號碼構(gòu)成的,而不是隨機生成的;最后使用公鑰算法來確保命令的內(nèi)容。在發(fā)布命令時,僵尸主控機給命令附加一個數(shù)字簽名,這個簽名是僵尸主控機的私鑰,它是命令的散列值,其相應(yīng)的公鑰被硬編碼到每個僵尸機的二進制碼中,這樣僵尸機在存儲命令時可以檢查是否真的來自于僵尸主控機。而對于非結(jié)構(gòu)化拓撲結(jié)構(gòu),為了減少短信的信息量,去除了單跳重復(fù)的方法。那是由于在短時間里頻繁接收/發(fā)送大量的短信,很容易被用戶發(fā)現(xiàn)。
2.3 SMS的C&C通道與P2P拓撲結(jié)構(gòu)的結(jié)合
如何能夠清楚地認識到利用SMS傳播C&C消息與結(jié)構(gòu)化的P2P拓撲結(jié)構(gòu)的結(jié)合來適應(yīng)移動僵尸網(wǎng)絡(luò)。美國密歇根大學的Zeng博士用了一個簡單的例子來說明命令發(fā)布和搜索的過程[16]。
如圖2所示,為了方便演示,節(jié)點ID和數(shù)據(jù)項的鍵長都是四位的,發(fā)送的SMS信息沒有偽裝成垃圾郵件。在圖中,節(jié)點1111要輸入鍵0111。在Kademlia中,數(shù)據(jù)項存儲的節(jié)點ID接近于數(shù)據(jù)項的鍵。為了定位這些節(jié)點,節(jié)點1111先發(fā)送SMS信息到節(jié)點,這些節(jié)點在它的硬編碼節(jié)點列表上;這些節(jié)點幫助獲取在節(jié)點列表附近的節(jié)點。這個過程一直繼續(xù),直到?jīng)]有節(jié)點能找到(這個過程圖中省略了)。最后,節(jié)點1111找到了最接近的節(jié)點0110(0110⊕0111=0001),接著發(fā)布包含命令鍵(0111)的消息,將加密命令(XXXX)與密碼(8888)一起發(fā)送到節(jié)點0110。驗證了預(yù)定義的密碼和命令之后,節(jié)點0110存儲這些信息,以便以后任何節(jié)點需要請求與0111鍵相關(guān)的命令,它能夠返回這些命令。至于搜索過程,它類似于信息發(fā)布過程的描述。節(jié)點0000查找與0111鍵相關(guān)的命令,一定會找到一個節(jié)點,它的ID接近這個鍵。節(jié)點0000首先查找0010節(jié)點;節(jié)點0010指向節(jié)點0100;節(jié)點0100提供了最近的節(jié)點0110。節(jié)點0000聯(lián)系節(jié)點0110去請求命令。

圖2 發(fā)布與搜索
從這個例子可以很直觀地發(fā)現(xiàn)SMS的C&C通道與P2P拓撲結(jié)構(gòu)的結(jié)合,以及在移動僵尸網(wǎng)絡(luò)中的應(yīng)用。但這只是冰山一角,還有許多更深層次的應(yīng)用有待研究。
隨著智能手機的飛速發(fā)展,在潛在利益的驅(qū)使下,它們成為僵尸網(wǎng)絡(luò)攻擊的目標。文中提出了一種SMS信息的C&C通道與P2P拓撲結(jié)構(gòu)相結(jié)合的移動僵尸網(wǎng)絡(luò)模型。攻擊者利用手機短信傳播C&C信息,以P2P結(jié)構(gòu)作為它的拓撲結(jié)構(gòu)。分別對結(jié)構(gòu)化和非結(jié)構(gòu)化的拓撲結(jié)構(gòu)進行了分析,發(fā)現(xiàn)修改的Kademlia很適合在移動僵尸網(wǎng)絡(luò)中應(yīng)用。今后對移動僵尸網(wǎng)絡(luò)的研究要更加詳細和具體,不僅是如何建立,還要研究如何檢測、防御和破壞。
[1] 王海龍,唐 勇,龔正虎.僵尸網(wǎng)絡(luò)命令與控制信道的特征提取模型研究[J].計算機工程與科學,2013,35(2):62-67.
[2] Google yanks over 50 infected apps from android market[EB/OL].2011-03-02.http://www.computerworld.com/article/2506378/security0/google-yanks-over-50-infected-apps-from-android-market.html.
[3] Geer D.Malicious bots threaten network security[J].Computer,2005,38(1):18-20.
[4] 方濱興,崔 翔,王 威.僵尸網(wǎng)絡(luò)綜述[J].計算機研究與發(fā)展,2011,48(8):1315-1331.
[5] Song Lipeng,Jin Zhen,Sun Guiquan.Modeling and analyzing of botnet interactions[J].Physica A,2011,390(2):347-358.
[6]SongLipeng,JinZhen,SunGuiquan.Influenceofremovabledevicesoncomputerworms:dynamicanalysisandcontrolstrategies[J].ComputersandMathematicswithApplications,2011,61(7):1823-1829.
[7]FeilyM,ShahrestaniA,RamadassS.Asurveyofbotnetandbotnetdetection[C]//Proceedingsofthe3rdinternationalconferenceondigitalobjectidentifier.Athens/Glyfada,Greece:IEEE,2009:268-273.
[8]HuaJingyu,SakuraiK.ASMS-basedmobilebotnetusingfloodingalgorithm[C]//Procofthe5thworkshopininformationsecurityandprivacy.Berlin:Springer,2011:264-279.
[9]SinghK,SangalS,JainN,etal.Evaluatingbluetoothasamediumforbotnetcommandandcontrol[C]//Procofthe7thinternationalconfondetectionofintrusionsandmalware,andvulnerabilityassessment.Berlin:Springer,2010:61-80.
[10]KnyszM,HuXin,ZengYuanyuan,etal.OpenWiFinetworks:lethalweaponsforbotnets?[C]//Procofthe31stannualIEEEinternationalconferenceoncomputercommunications.[s.l.]:IEEE,2012:2631-2635.
[11]BinsalleehH,OrmerodT,BoukhtoutaA,etal.OntheanalysisoftheZeusbotnetcrimewaretoolkit[C]//Procof2010 8thannualinternationalconferenceonprivacysecurityandtrust.Ottawa:[s.n.],2010:31-38.
[12] 李 躍.面向移動網(wǎng)絡(luò)的僵尸網(wǎng)絡(luò)關(guān)鍵技術(shù)研究[D].成都:西南交通大學,2013.
[13] 銀河網(wǎng)安官網(wǎng).通過移動僵尸網(wǎng)絡(luò)傳播驚現(xiàn)Android木馬病毒[EB/OL].2013-09-11.http://netsecurity.51cto.com/art/201309/410283.htm.
[14] 諸葛建偉,韓心慧,周勇林,等.僵尸網(wǎng)絡(luò)研究[J].軟件學報,2008,19(3):702-715.
[15]Gsmalaunchessmsspamreportingservice[EB/OL].2010-03-25.http://www.pcworld.com/businesscenter/article/192469/gsmaJaunchesj3ms_spam_reporting_service.html.
[16]ZengY.Ondetectionofcurrentandnext-generationbotnets[D].Michigan:UniversityofMichigan,2012.
Design and Analysis of a SMS-based Mobile Botnet
XU Jian
(College of Computer Science,Nanjing University of Post and Telecommunications,Nanjing 210023,China)
Botnet is an important threat on computer security.As the development of smart phones,the security threats appeared on the smart phones.Now mobile phone infected virus has become a common phenomenon.Based on the research of mobile phone virus spreading on the way,the spread,command and control mechanisms,and control protocol of mobile botnet are studied in-depth,respectively analyzing the topology of structured and unstructured.Use example to describe how to combine SMS C&C and P2P structure.Based on the SMS mobile botnet,carry on the design and analysis.For mobile botnet,a new type of virus attack mode for mobile phone,will seriously affect people’s life,so the continuous study is done and the behavior of the various threats to mobile phones is found.
mobile botnet;C&C;P2P;topology
2015-01-27
2015-06-10
時間:2016-01-04
國家自然科學基金資助項目(61202353);江蘇省高校自然科學研究資助項目(12KJB520008);南京郵電大學實驗室工作研究課題(2015XSG05)
徐 建(1980-),男,碩士,工程師,研究方向為信息安全、人工智能。
http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1453.002.html
TP309
A
1673-629X(2016)01-0106-05
10.3969/j.issn.1673-629X.2016.01.022