王 暢,戴 航,孫啟祿
(西北工業大學自動化學院控制與網絡研究所,西安 710072)
在過去的幾年里,智能手機的發展非常迅猛。為了最大化表現移動設備的硬件特性,越來越多的智能手機上都運行了功能完善的操作系統。比如Linux,Windows Mobile,Android 以及Symbian OS,這使得智能手機在軟件環境上越來越近似于桌面電腦,一些桌面電腦系統上的軟件漏洞以及安全問題同樣也存在于智能手機上。智能手機在人們生活和工作中變得越來越重要的同時,也成為了黑客攻擊的新目標,而僵尸網絡(Botnet)就是一種現實的安全威脅。
在傳統互聯網領域,Botnet是指一群數量很大的、通過不同的方式(例如:溢出漏洞、蠕蟲郵件、口令猜測、P2P 共享等)被攻擊者植入了僵尸程序(Bot)的計算機,可以使攻擊者無須登錄到這些計算機就可以方便的控制它們,進行下一步的例如DDoS、發送垃圾信息或者收集大量用戶數據的攻擊行為,Botnet 可以集中控制、可以相互通信[2]。
論文在研究Botnet 控制方式的基礎上,對于Botnet 在智能手機平臺上的傳播、控制和攻擊方式進行了研究,著重分析了使用SMS 對智能手機平臺Botnet 進行控制的方式。本文第二章主要對桌面電腦上的Botnet 進行了概述和分析;第三章結合Botnet的傳播特性分析了智能手機平臺上Botnet 傳播和控制的可行性及其危害性,重點描述了通過SMS 對其進行控制的實現原理;第四章對于現有的一些防御方式在智能手機Botnet 中的適用性進行了闡述。
Botnet 可以追溯到90年代,第一個Bot是Unix系統下的Eggdrop,它能夠幫助用戶方便的使用IRC聊天網絡,這種Bot的功能是良性的,出于服務的目的。但是這種設計的思路卻被黑客們利用,設計出帶有惡意的Bot 程序。1999年11 月出現的SubSeven 木馬成功地運用IRC 協議控制感染SubSeven 木馬的主機,是第一個真正意義上的Bot 程序。一般來說,Botnet 具有高度的可控制性,卻沒有很好的傳播性。然而2003年以后,Bot 開始和蠕蟲結合在一起,從而加強了它的傳播性,使Bot 從被動傳播轉變為主動傳播,從而可以快速的構建起大規模的Botnet,比較著名的有2004年爆發的AgoBot/GaoBot 和rBot/SpyBot。同一年出現了基于AgoBot的PhatBot,開始獨立使用P2P 信道構建控制信道。此后,Bot程序的種類迅速增加,技術也越來越成熟,并且具有更強的傳播性和攻擊性。利用Botnet 發送垃圾郵件、發動DDoS 攻擊,以及收集用戶私密資料或者從事非法商業犯罪活動的事件越來越多,Botnet 受到了更多的關注。
綜合現在對Botnet的研究,根據其控制方式的不同,可以粗略將Botnet 分為三類。
這是大多數Bot 采用的控制方式。如常見的IRC Botnet、HTTP/AOL Botnet 都屬于這類,其特點是每個Bot 客戶端(Botclient)都直接從Bot Master得到命令和控制,這是最常見、最成熟的控制模型。
這類Bot 采用P2P 控制模型,Bot Master 通過分布式散列表(Distributed Hash Table,DHT)發布控制命令,控制命令在Bot 之間傳播。該類Bot的優點是不存在單點失效,缺點是相對復雜。目前只有采用WASTE 協議的Phabot 等少數Bot 采用這種模型。P2P 控制模型是發展的趨勢,很多對于Botnet的研究都集中于此。
隨機控制Bot 只是一個理論模型,仍停留在理論研究階段。Bot 采用隨機掃描方式進行命令傳播,但實際還沒有相應的Bot 產品。
表1 總結了三類Botnet的控制方式、實現難度、威脅程度、傳播方式的特點。

表1 三類Botnet的特點
由表1 可知,在三種方式中隨機掃描仍停留在理論研究階段;集中控制方式雖然容易實現,但是很容易通過網絡檢測對其進行防御;相對于集中控制方式來說,分布式控制雖然實現難度較大,但難以檢測,是Botnet 控制方式發展的趨勢,也是攻擊者研究的熱點。
隨著智能手機在人們生活中的地位變的越來越重要,絕大部分的移動設備用戶都會將一些重要的個人資料存儲在智能手機中;其次,智能手機的發展使其進一步的融合其它技術,例如:游戲、視頻、文件共享以及網頁瀏覽。因此,在桌面電腦上一些發展成熟的攻擊方式也可以用來攻擊移動設備。雖然現在智能手機的處理能力在不斷增強,但是相對于桌面電腦來說還是非常有限的,因此一些在桌面電腦上現存的安全防范措施和檢測機制無法直接應用于智能手機,這一矛盾的存在使得智能手機更加容易受到攻擊,而無法受到有效的防護[1]。
通常Botnet 需要感染一群數量足夠大的主機節點,并且可以方便的接受攻擊者的控制命令才可以進行下一步的破壞行為。因此Botnet 在智能手機上的傳播和生存需要以下兩個條件:①Bot 程序可以在智能手機之間進行傳播;②攻擊者可以方便的對智能手機上的僵尸網絡進行控制。Botnet 在智能手機上的傳播和控制過程如圖1 所示,下面分別進行分析。

圖1 Botnet 在智能手機上的傳播和控制
如圖1 所示,對于智能手機來說,除了傳統傳播方式,例如軟件/系統漏洞等方式以外,Bot 還可以通過在移動網絡上借助于SMS,MMS,電子郵件等進行傳播,或者使用藍牙模塊等本地無線方式進行傳播。封裝有Bot 或者包含指向惡意網站鏈接的電子郵件、SMS/MMS 消息、通過藍牙模塊發送的惡意程序,在誘騙用戶操作后,可以方便的將Bot 安裝到智能手機上。
2004年在Symbian 手機平臺發現的Cabir 蠕蟲[2],就是通過藍牙進行傳播的。該蠕蟲通過一個名為caribe.sis 文件進行傳播,請求用戶安裝該文件。一旦該蠕蟲被成功安裝,會立刻開始尋找范圍內開啟了藍牙模塊的智能手機。當一個目標手機被定位后,該蠕蟲會立刻鎖定目標,并且嘗試多次發送caribe.sis 文件,試圖成功感染目標手機。Cabir的變種“Mabir.A”除了繼續利用藍牙模塊進行傳播,也可以通過MMS 進行傳播。顯然,類似于Cabir 和Mabir.A 之類的蠕蟲程序可以方便的嵌入Bot,實現Bot的植入、傳播和Botnet的構建。
通過智能手機系統漏洞進行蠕蟲傳播的成功率一般要高于誘使用戶操作進行感染的成功率,但是,一個不可忽視的問題是:許多智能手機采用的操作系統都是閉源的,要在這樣的智能手機上找到一個可以利用的系統漏洞難度較大。近年來,開源系統在手機平臺上日益普及,最典型的一個開源平臺是Google 公司發布的Android 系統,而Android 系統內核是基于Linux的,Linux 本身存在的一些漏洞依然不同程度的存在于Android 系統中,這為基于系統漏洞的蠕蟲傳播提供了便利。可以預見,通過開源智能手機系統中的漏洞進行傳播必然會成為Bot 傳播的重要方式。
攻擊者需要用適宜的方式與感染了Bot的主機或智能手機進行通信,發布攻擊命令并對其進行管理。可以用來在智能手機系統上控制Botnet的方式有三種,下面分別進行分析。
3.2.1 傳統方式
當前,智能手機可以通過各種技術輕易的訪問Internet,尤其是如UMTS 等高速3G 網絡的日益普及,一些在傳統網絡上成熟的Botnet 控制技術就可以用于智能手機的Botnet 控制。最典型的如P2P控制方式就可以較好的應用于移動通信網絡。在[5]中,作者提出使用P2P 方式對Botnet 進行控制的方法,可以有效避免攻擊者被檢測和屏蔽。
另一種行之有效的方式是采用第三方服務器進行代理控制操作。Botnet 控制者(Master)可以通過基于Web 服務器的方式對Botnet 進行控制,以此來減少Botnet 控制者的網絡流量,減小控制者被定位的概率。這類Bot 主動連接到服務器進行升級以及接收命令,常用于通過時間觸發的攻擊。這種方法的一個典型應用是借助于社交網絡服務(SNS,Social Network Service),Bot 可以通過類似微博這類社交網站接收控制,只需要在這樣的社交網絡服務中關注某人,通過他發布的廣播消息、簽名或者其它一些信息來接收控制命令。這樣的方法使得Botnet 控制者對于Botnet的控制更為便捷,方便規避一些網絡上的檢測方法。
3.2.2 本地無線網絡控制
現在,幾乎所有智能手機都配備有藍牙通信模塊和802.11 無線模塊。這就使得通過本地無線網絡對Botnet 進行控制是可以實現的。通過藍牙模塊對Botnet 進行控制,可以完全避免使用傳統方法進行控制所遇到的問題和瓶頸。例如:攻擊者容易被定位,或者控制指令容易被檢測系統屏蔽等。當然,通過藍牙模塊對Botnet 進行控制的弊端也很明顯,首先,藍牙設備的通信非常受距離的限制;其次,藍牙設備的帶寬也非常有限,隨著某一地點Botnet 感染密度的上升,將會使本地藍牙設備的資源緊張,使Botnet 接收控制命令的難度加大。
使用802.11 模塊對Botnet 進行控制,可以有效的解決藍牙模塊受距離限制較大的問題。并且,由于該設備可以和無線網絡接入點(WAP,Wireless Access Point)相連,攻擊者就很容易構建一個Botnet控制中心。如此一來,既可以方便的管理智能手機上的Botnet,也可以將其做為Botnet的一部分,協同傳統互聯網上的其它Botnet 對Internet 發動攻擊。顯然,通過Internet 發出指令,使得智能手機上的Botnet 僅對移動網絡發動攻擊也變的十分便利。
3.2.3 SMS 控制
手機短信是人們普遍采用的一種交流和溝通方式,同樣可用來進行Botnet 控制。雖然智能手機可以通過軟件對短信進行基于關鍵詞的過濾,但是短信做為移動通信網絡的攻擊方式,還沒有得到足夠的重視,人們對于短信的防范并不嚴格。并且,相對于其它控制方式來說,SMS的優點很明顯,主要體現在以下幾個方面:
(1)通用性:做為最基本的移動服務之一,每一部手機都可以提供SMS 服務。
(2)容錯率:如果接收端不在線,SMS 消息會先存儲在服務器上,等接收端上線后再進行發送。
(3)低功耗:相對通過網絡進行控制的方式,SMS 服務的耗電量小,比較適合在本身資源有限的智能手機平臺上進行長時間的控制。
(4)隱秘性:安全專家難以對SMS 進行監控,并且無法通過SMS 定位攻擊者。
SMS的用戶數據[9]區采用7-bits 編碼時,最多可以發送160個字符,因為存在這樣的數據冗余,因而將Bot 控制信息隱藏進用戶數據段是可行的。
為了使得BotClient 可以從SMS 消息中解碼得到控制命令而不被智能手機用戶發覺,需要在SMS傳輸到電話層之前進行截獲和處理。
其中SMS 消息分為兩種格式:SMS_SUBMIT 和SMS_DELIVER。前者是指SMS 消息從手機端發送到SMSC 服務器(Short Message Service Center)。后者是指SMS 消息從SMSC 服務器發送到手機端。根據Collin Mulliner 和Charlie Miller的研究[6],可以在電話層的底層與硬件驅動之間插入稱之為“Injector”的一層,從而可以發動中間人攻擊(Man-in-the- middle Attack,MITMA)。如圖2 所示,Botnet控制者,也完全可以利用插入的這層實現對Botnet的控制[3]。在SMS 傳輸至用戶層之前進行攔截,實現對SMS 消息的解碼和分析,從中獲得Botnet 控制者發布的控制命令等信息。

圖2 SMS 攔截處理層結構
Bot 層工作流程如圖3 所示,實現的關鍵步驟如下所述。
(1)Bot 層監聽來自modem 層的所有通信,并對其進行判斷。如果是SMS 消息則進行解碼,反之傳遞給電話層。
(2)對SMS 消息進行解碼后,驗證其中的加密碼,判斷是否Bot 控制信息,如果是則進行分析;反之傳遞給電話層。
(3)分析后,查找是否含有控制命令,如果含有控制命令,則執行;反之,退出處理流程(退出對用戶不可見)。
該控制方式是一種“單一SMS”控制方式,而要構建起完整的Botnet,需要在不同智能手機間進行協同操作。典型的通過“單一SMS”控制方式實現的Botnet 網絡架構如圖4 所示。

圖3 Bot 層工作流程

圖4 “單一SMS”控制方式的Botnet 網絡架構
如圖4 所示,整個架構分為3 層:
·Bot 控制者(Bot Master):位于最高層,控制一部分稱為哨兵bot的智能手機,它只將Botnet的控制信息發送給這些哨兵Bot。
·哨兵Bot(Sentinel Bot):位于中間層,每一個哨兵bot 控制一批稱為“從屬Bot”的智能手機,接收來自Bot 控制者的控制信息,并將其轉發給下層從屬Bot。
·從屬Bot(Slave Bot):位于底層,每一個從屬Bot 只接受來自某一哨兵bot的控制信息,并且執行這些控制命令(例如:發送垃圾郵件、DDoS 攻擊)。不與Bot 控制者直接通信。
通過這樣的網絡分層結構,Bot 控制者只需要給少量的哨兵bot 發送控制信息,因此可以有效降低流量,規避安全系統的檢測,提高自身隱秘性。從屬Bot 被劃分為更小的單元集合,也加大了檢測的難度。當然其缺點也很明顯,比如Bot 控制者需要智能手機終端列表,才能檢查整個Botnet的完整性;修復或升級Bot Client 難度較大。
為了解決“單一SMS”控制方式的不足,可以采用“SMS- HTTP”混合方式[8]對Botnet 進行控制。其工作流程如圖5 所示。

圖5 “SMS-HTTP”混合控制方式流程
“SMS-HTTP”混合控制方式的特點是,引入了Web 服務器。與“單一SMS”控制方式相比,智能手機的角色分類仍然為三層結構;不同是,對于哨兵bot的控制信息不再直接包含控制命令,而是包含一個URL 地址;哨兵Bot 在收到該消息后,會連接到指定的服務器獲取下一步的控制指令,再將此指令發送給從屬Bot。
在Bot 成功傳播并實現對目標手機的控制之后,可以進行不同方式的惡意攻擊,攻擊方式和威脅包括以下幾個方面。
1)垃圾信息
智能手機上的垃圾信息不僅包括E-mail 垃圾郵件,還包括SMS/MMS 垃圾信息。攻擊者除了可以利用這種方法發送廣告進行牟利,還可以利用垃圾郵件傳播更為惡性的病毒等網絡安全威脅。
2)DDoS 攻擊
文獻[10]的研究表明:智能手機平臺的Botnet因為網絡帶寬和感染數量的原因,還不能發動大規模的DDoS 攻擊。但是,隨著移動手機網絡和互聯網的進一步融合,智能手機上的DDoS 攻擊不僅能對手機網絡造成危害,還可以協同互聯網上的桌面電腦Botnet 對傳統互聯網絡造成危害。
3)信息竊取
隨著智能手機存儲能力的提高,一些個人信息存儲在智能手機中(例如:信用卡信息,聯系人名單等)。Bot Master 可以通過竊取這類個人信息從中牟利。
4)用戶定位
通過智能手機全球定位系統(Golbal Positioning System,GPS)模塊,可以使Bot Master 對于用戶的地理位置進行定位。
5)手機欺詐
隨著電視節目中手機投票方式的興起,以及手機電子商務的發展,攻擊者可能利用Botnet 進行投票從中獲得利益;或者很多網站都可以通過手機進行捐贈,攻擊者完全可以制作這樣類型的網絡,控制手機訪問該網站進行捐贈,從而牟利。因為Botnet被感染終端的數量巨大,即使捐贈數量很小的金額,對于攻擊者來說也是獲益匪淺,并且這樣小額數量的捐贈很難引起終端用戶的關注。
Botnet的防御方式可以從手機終端和網絡兩個層面著手。其中在手機終端防御方面主要是通過關閉不必要的通信信道,例如藍牙模塊、無線模塊等,或者安裝殺毒、入侵檢測軟件來實現。鑒于智能手機性能以及電池續航時間的限制,在智能手機終端的防御顯的力不從心。而網絡層面的防御方法,由于不存在手機終端性能的瓶頸,更為實用。
1)網絡層面的檢測
在移動網絡中部署相應的入侵檢測系統,對于網絡上傳輸的數據進行基于簽名匹配的檢測,可以較為有效的防止Botnet的傳播。例如,MMS 在發送過程中,MMS 代理服務器為了保證在Internet 上的正確傳輸,會將其轉換為標準的MIME 格式,并在存儲到MMS 服務器之前做相反的轉換,因此在轉換過程中使用檢測手段對其進行檢測,可以防止惡意程序通過MMS 進行傳播。這類部署于網絡層面的檢測方式,對于防治基于傳統控制方式的Botnet 比較有效,而如果Botnet的通信隱藏在合法的通信(例如SMS/MMS 等)中,就將難以檢測和定位。一般的Botnet 都有預先自定義的私有通信控制命令結構,如果掌握了這類信息,就可以通過對通信流量的檢測,采用特征簽名匹配的方式,對Botnet 進行檢測和分析。不過這樣的方式需要預先掌握Botnet的特征簽名,在當前智能手機上Bot 等惡意程序較少而且技術相對簡單的條件下具有一定的實用價值,而對于類似上文所述的SMS 構建控制系統的新型Botnet的防治并不能發揮太大的效果。
2)網絡流量監控
Botnet的控制方式具有比較鮮明的特點,大量僵尸客戶端(BotClient)會連接到同一個控制與命令服務器(IRC/Web Botnet)、監聽同一端口或同一范圍內的端口(P2P Botnet)。這使得通過流量監控檢測Botnet 成為可能,通過監聽這些端口和服務器的數據流量,可以得知哪些終端被感染,并能進一步獲得Botnet 拓撲圖。
3)網絡控制信道的利用和污染
Bot Master 要實現對Botnet的控制,需要借助于某種控制信道。在對Botnet 監測和分析的基礎上,安全人員通過破解Botnet 通信信道的密碼,實現對整個Botnet的控制和利用。這樣安全人員可以通過利用整個Botnet的控制權,掌握整個Botnet 系統的網絡拓撲圖,實現對被感染手機的定位或者發送自毀命令,并可以進一步對信道密碼進行修改和污染,使得Bot Master 失去對整個Botnet的控制。
相對于Internet 上Botnet的發展,智能手機平臺上的Botnet 滯后了7-8年[6]。但是,隨著智能手機的性能提升和移動網絡的寬帶化,Internet 上越來越多的成熟技術可以移植到智能手機平臺上。移動網絡和Internet 日益呈現融合化趨勢,這使得其中一個網絡上的安全威脅同樣也會影響另外一個網絡的正常運行。本文對智能手機上Botnet的傳播、控制和攻擊方式的分析已經證實了Botnet 在智能手機上的傳播具備了充足條件,并且引起了黑客的關注,已經進入迅速發展時期。同時,對智能手機上Botnet的防御僅僅停留在“亡羊補牢”的階段,并不能實現有效的主動防御,迫切需要引起更多的關注和進行深入的研究。
[1]M Hypponen.The state of cell phone malware in 2007[R].http://www.usenix.org/events/sec07/tech/hypponen.pdf.
[2]Graig A Schiller,Jim Binkley,Gadi Evron,et al.Botnets:The Killer Web App[M].Andrew Williams,Syngress,2007.
[3]Georgia Weidman.Transparent Botnet Command and Control for Smartphones over SMS[R].Shmoocon 2011.Read 2011.2.20 http://www.grmn00bs.com/Shmoocon2011_SmartphoneBotnets_GeorgiaW.pdf.
[4]Anne Ruste Fl,Audun J sang.Consequences of Botnets Spreading to Mobile Devices[J/OL].Short- Paper Proceedings of the 14th Nordic Conference on Secure IT Systems.Oslo.2009.10.
[5]Lasse Trolle Borup.Peer-to-peer Botnets:A case study on Waledac[J/OL].http://orbit.dtu.dk/getResource?recordId=241876&objectId=1&versionId=1.
[6]Norman ASA.Mobile phone threats hype or (finally)truth Security Articles Archive,2009[DB/OL].2010.11.http://www.norman.com/security_center/security_center_archive/2009/67174/en.
[7]Collin Mulliner,Charlie Miller.Fuzzing the Phone in your Phone[R].Las Vegas.Black Hat USA 2009.2009.6.25.
[8]Collin Mulliner.Jean- Pierre Seifet.Rise of the iBots:Owning a telco network[J].5th IEEE International Conference on Malicious and Unwanted Software(MALWARE),Nancy,France,2010.10.
[9]Patrick Traynor,Michael Lin,et al.On Cellular Botnets:Measuring the Impact of Malicious Devices on a Cellular Network Core[R].ACM Conference on Computer and Communications Security(CCS),2009.11.http://www.patrickmcdaniel.org/pubs/ccs09b.pdf.
[10]Phillip Porras,Hassen Saidi,et al.An Analysis of the iKee.B iPhone Botnet[J/OL].In Proceedings of the 2nd International ICST Conference on Security and Privacy on Mobile Information and Communications System(Mobisec),2010.5.
[11]Yuanyuan Zeng,Xin Hu,et al.Design of SMS Commanded- and Controlled and P2P- Structured Mobile Botnets[J/OL].www.eecs.umich.edu/techreports/cse/2010/CSE-TR-562-10.pdf.
[12]W Enck,P Traynor,et al.Exploiting open functionality in sms- capable cellular networks[R].In Proceedings of the 12th ACM Conference on Computer and Communications Security.
[13]Papathanasiou C,Percoco N.This is not the droid you're looking for…[R].Defcon 18,2010.8.www.defcon.org/.../DEFCON- 18- Trustwave- Spiderlabs-Android-Rootkit-WP.pdf.