|
|
僵尸网络
僵屍網絡
botnet
僵屍網絡是指采用一種或多種傳播手段,將大量主機感染bot程序(僵屍程序),從而在控製者和被感染主機之間所形成的一個可一對多控製的網絡。
在botnet的概念中有這樣幾個關鍵詞。“bot程序”是robot的縮寫,是指實現惡意控製功能的程序代碼;“僵屍計算機”就是被植入bot的計算機;“控製服務器(control server)”是指控製和通信的中心服務器,在基於irc(因特網中繼聊天)協議進行控製的botnet中,就是指提供irc聊天服務的服務器。
botnet
首先是一個可控製的網絡,這個網絡並不是指物理意義上具有拓撲結構的網絡,它具有一定的分佈性,隨着bot程序的不斷傳播而不斷有新位置的僵屍計算機添加到這個網絡中來。
其次,這個網絡是采用了一定的惡意傳播手段形成的,例如主動漏洞攻擊,郵件病毒等各種病毒與蠕蟲的傳播手段,都可以用來進行botnet的傳播,從這個意義上講,惡意程序bot也是一種病毒或蠕蟲。
最後一點,也是botnet的最主要的特點,就是可以一對多地執行相同的惡意行為,比如可以同時對某目標網站進行分佈式拒絶服務(ddos)攻擊,同時發送大量的垃圾郵件等,而正是這種一對多的控製關係,使得攻擊者能夠以極低的代價高效地控製大量的資源為其服務,這也是botnet攻擊模式近年來受到黑客青睞的根本原因。在執行惡意行為的時候,botnet充當了一個攻擊平臺的角色,這也就使得botnet不同於簡單的病毒和蠕蟲,也與通常意義的木馬有所不同。
僵屍網絡是互聯網上受到黑客集中控製的一群計算機,往往被黑客用來發起大規模的網絡攻擊,如分佈式拒絶服務攻擊(ddos)、海量垃圾郵件等,同時黑客控製的這些計算機所保存的信息,譬如銀行帳戶的密碼與社會安全號碼等也都可被黑客隨意“取用”。因此,不論是對網絡安全運行還是用戶數據安全的保護來說,僵屍網絡都是極具威脅的隱患。僵屍網絡的威脅也因此成為目前一個國際上十分關註的問題。然而,發現一個僵屍網絡是非常睏難的,因為黑客通常遠程、隱蔽地控製分散在網絡上的“僵屍主機”,這些主機的用戶往往並不知情。因此,僵屍網絡是目前互聯網上黑客最青睞的作案工具。
對網友而言,感染上“僵屍病毒”卻十分容易。網絡上搔首弄姿的美女、各種各樣有趣的小遊戲,都在吸引着網友輕輕一點鼠標。但事實上,點擊之後毫無動靜,原來一切衹是騙局,意在誘惑網友下載有問題的軟件。一旦這種有毒的軟件進入到網友電腦,遠端主機就可以發號施令,對電腦進行操控。
專傢表示,每周平均新增數十萬臺任人遙控的僵屍電腦,任憑遠端主機指揮,進行各種不法活動。多數時候,僵屍電腦的根本不曉得自己已被選中,任人擺布。
僵屍網絡之所以出現,在傢高速上網越來越普遍也是原因。高速上網可以處理(或製造)更多的流量,但高速上網家庭習慣將電腦長時間開機,唯有電腦開機,遠端主機纔可以對僵屍電腦發號施令。
網絡專傢稱:“重要的硬件設施雖然非常重視殺毒、防黑客,但網絡真正的安全漏洞來自於住傢用戶,這些個體戶欠缺自我保護的知識,讓網絡充滿地雷,進而對其他用戶構成威脅。”
botnet的發展過程
botnet是隨着自動智能程序的應用而逐漸發展起來的。在早期的irc聊天網絡中,有一些服務是重複出現的,如防止頻道被濫用、管理權限、記錄頻道事件等一係列功能都可以由管理者編寫的智能程序所完成。於是在1993 年,在irc 聊天網絡中出現了bot 工具——eggdrop,這是第一個bot程序,能夠幫助用戶方便地使用irc 聊天網絡。這種bot的功能是良性的,是出於服務的目的,然而這個設計思路卻為黑客所利用,他們編寫出了帶有惡意的bot 工具,開始對大量的受害主機進行控製,利用他們的資源以達到惡意目標。
20世紀90年代末,隨着分佈式拒絶服務攻擊概念的成熟,出現了大量分佈式拒絶服務攻擊工具如tfn、tfn2k和trinoo,攻擊者利用這些工具控製大量的被感染主機,發動分佈式拒絶服務攻擊。而這些被控主機從一定意義上來說已經具有了botnet的雛形。
1999 年,在第八屆defcon 年會上發佈的subseven 2.1 版開始使用irc 協議構建攻擊者對僵屍主機的控製信道,也成為第一個真正意義上的bot程序。隨後基於irc協議的bot程序的大量出現,如gtbot、sdbot 等,使得基於irc協議的botnet成為主流。
2003 年之後,隨着蠕蟲技術的不斷成熟,bot的傳播開始使用蠕蟲的主動傳播技術,從而能夠快速構建大規模的botnet。著名的有2004年爆發的agobot/gaobot 和rbot/spybot。同年出現的phatbot 則在agobot 的基礎上,開始獨立使用p2p 結構構建控製信道。
從良性bot的出現到惡意bot的實現,從被動傳播到利用蠕蟲技術主動傳播,從使用簡單的irc協議構成控製信道到構建復雜多變p2p結構的控製模式,botnet逐漸發展成規模龐大、功能多樣、不易檢測的惡意網絡,給當前的網絡安全帶來了不容忽視的威脅。
botnet的工作過程
botnet的工作過程包括傳播、加入和控製三個階段。
一個botnet首先需要的是具有一定規模的被控計算機,而這個規模是逐漸地隨着采用某種或某幾種傳播手段的bot程序的擴散而形成的,在這個傳播過程中有如下幾種手段:
(1)主動攻擊漏洞。其原理是通過攻擊係統所存在的漏洞獲得訪問權,並在shellcode 執行bot程序註入代碼,將被攻擊係統感染成為僵屍主機。屬於此類的最基本的感染途徑是攻擊者手動地利用一係列黑客工具和腳本進行攻擊,獲得權限後下載bot程序執行。攻擊者還會將僵屍程序和蠕蟲技術進行結合,從而使bot程序能夠進行自動傳播,著名的bot樣本agobot,就是實現了將bot程序的自動傳播。
(2)郵件病毒。bot程序還會通過發送大量的郵件病毒傳播自身,通常表現為在郵件附件中攜帶僵屍程序以及在郵件內容中包含下載執行bot程序的鏈接,並通過一係列社會工程學的技巧誘使接收者執行附件或點擊鏈接,或是通過利用郵件客戶端的漏洞自動執行,從而使得接收者主機被感染成為僵屍主機。
(3)即時通信軟件。利用即時通信軟件嚮好友列表發送執行僵屍程序的鏈接,並通過社會工程學技巧誘騙其點擊,從而進行感染,如2005年年初爆發的msn性感雞(worm.msnloveme)采用的就是這種方式。
(4)惡意網站腳本。攻擊者在提供web服務的網站中在html頁面上綁定惡意的腳本,當訪問者訪問這些網站時就會執行惡意腳本,使得bot程序下載到主機上,並被自動執行。
(5)特洛伊木馬。偽裝成有用的軟件,在網站、ftp 服務器、p2p 網絡中提供,誘騙用戶下載並執行。
通過以上幾種傳播手段可以看出,在botnet的形成中傳播方式與蠕蟲和病毒以及功能復雜的間諜軟件很相近。
在加入階段,每一個被感染主機都會隨着隱藏在自身上的bot程序的發作而加入到botnet中去,加入的方式根據控製方式和通信協議的不同而有所不同。在基於irc協議的botnet中,感染bot程序的主機會登錄到指定的服務器和頻道中去,在登錄成功後,在頻道中等待控製者發來的惡意指令。圖2為在實際的botnet中看到的不斷有新的bot加入到botnet中的行為。
在控製階段,攻擊者通過中心服務器發送預先定義好的控製指令,讓被感染主機執行惡意行為,如發起ddos攻擊、竊取主機敏感信息、更新升級惡意程序等。圖3為觀測到的在控製階段嚮內網傳播惡意程序的botnet行為。
botnet的分類
botnet根據分類標準的不同,可以有許多種分類。
按bot程序的種類分類
(1)agobot/phatbot/forbot/xtrembot。這可能是最出名的僵屍工具。防病毒廠商spphos 列出了超過500種已知的不同版本的agobot(sophos 病毒分析),這個數目也在穩步增長。僵屍工具本身使用跨平臺的c++寫成。agobot 最新可獲得的版本代碼清晰並且有很好的抽象設計,以模塊化的方式組合,添加命令或者其他漏洞的掃描器及攻擊功能非常簡單,並提供像文件和進程隱藏的rootkit 能力在攻陷主機中隱藏自己。在獲取該樣本後對它進行逆嚮工程是比較睏難的,因為它包含了監測調試器(softice 和o11dbg)和虛擬機(vmware 和virtual pc)的功能。
(2)sdbot/rbot/urbot/spybot/。這個傢族的惡意軟件目前是最活躍的bot程序軟件,sdbot 由c語言寫成。它提供了和agobot 一樣的功能特徵,但是命令集沒那麽大,實現也沒那麽復雜。它是基於irc協議的一類bot程序。
(3)gt-bots。gt-bots是基於當前比較流行的irc客戶端程序mirc編寫的,gt是(global threat)的縮寫。這類僵屍工具用腳本和其他二進製文件開啓一個mirc聊天客戶端, 但會隱藏原mirc窗口。通過執行mirc 腳本連接到指定的服務器頻道上,等待惡意命令。這類bot程序由於捆綁了mirc程序,所以體積會比較大,往往會大於1mb。
按botnet的控製方式分類
(1)irc botnet。是指控製和通信方式為利用irc協議的botnet,形成這類botnet的主要bot程序有spybot、gtbot和sdbot,目前絶大多數botnet屬於這一類別。
(2)aol botnet。與irc bot類似,aol為美國在綫提供的一種即時通信服務,這類botnet是依托這種即時通信服務形成的網絡而建立的,被感染主機登錄到固定的服務器上接收控製命令。aim-canbot和fizzer就采用了aol instant messager實現對bot的控製。
(3)p2p botnet。這類botnet中使用的bot程序本身包含了p2p的客戶端,可以連入采用了gnutella技術(一種開放源碼的文件共享技術)的服務器,利用waste文件共享協議進行相互通信。由於這種協議分佈式地進行連接,就使得每一個僵屍主機可以很方便地找到其他的僵屍主機並進行通信,而當有一些bot被查殺時,並不會影響到botnet的生存,所以這類的botnet具有不存在單點失效但實現相對復雜的特點。agobot和phatbot采用了p2p的方式。
botnet的危害
botnet構成了一個攻擊平臺,利用這個平臺可以有效地發起各種各樣的攻擊行為,可以導致整個基礎信息網絡或者重要應用係統癱瘓,也可以導致大量機密或個人隱私泄漏,還可以用來從事網絡欺詐等其他違法犯罪活動。下面是已經發現的利用botnet發動的攻擊行為。隨着將來出現各種新的攻擊類型,botnet還可能被用來發起新的未知攻擊。
(1)拒絶服務攻擊。使用botnet發動ddos攻擊是當前最主要的威脅之一,攻擊者可以嚮自己控製的所有bots發送指令,讓它們在特定的時間同時開始連續訪問特定的網絡目標,從而達到ddos的目的。由於botnet可以形成龐大規模,而且利用其進行ddos攻擊可以做到更好地同步,所以在發佈控製指令時,能夠使得ddos的危害更大,防範更難。
(2)發送垃圾郵件。一些bots會設立sockv4、v5 代理,這樣就可以利用botnet發送大量的垃圾郵件,而且發送者可以很好地隱藏自身的ip信息。
(3)竊取秘密。botnet的控製者可以從僵屍主機中竊取用戶的各種敏感信息和其他秘密,例如個人帳號、機密數據等。同時bot程序能夠使用sniffer觀測感興趣的網絡數據,從而獲得網絡流量中的秘密。
(4)濫用資源。攻擊者利用botnet從事各種需要耗費網絡資源的活動,從而使用戶的網絡性能受到影響,甚至帶來經濟損失。例如:種植廣告軟件,點擊指定的網站;利用僵屍主機的資源存儲大型數據和違法數據等,利用僵屍主機搭建假冒的銀行網站從事網絡釣魚的非法活動。
可以看出,botnet無論是對整個網絡還是對用戶自身,都造成了比較嚴重的危害,我們要采取有效的方法減少botnet的危害。
botnet的研究現狀
對於botnet的研究是最近幾年纔逐漸開始的,從反病毒公司到學術研究機構都做了相關的研究工作。最先研究和應對botnet的是反病毒廠商。它們從bot程序的惡意性出發,將其視為一種由後門工具、蠕蟲、spyware 等技術結合的惡意軟件而歸入了病毒的查殺範圍。著名的各大反病毒廠商都將幾個重要的bot程序特徵碼寫入到病毒庫中。賽門鐵剋從2004 年開始,在其每半年發佈一次的安全趨勢分析報告中,以單獨的章節給出對botnet活動的觀測結果。卡巴斯基也在惡意軟件趨勢分析報告中指出,僵屍程序的盛行是2004年病毒領域最重大的變化。
學術界在2003年開始關註botnet的發展。國際上的一些蜜網項目組和蜜網研究聯盟的一些成員使用蜜網分析技術對botnet的活動進行深入跟蹤和分析,如azusa pacific大學的bill mccarty、法國蜜網項目組的richard clarke、華盛頓大學dave dittrich和德國蜜網項目組。特別是德國蜜網項目組在2004年11月到2005 年1月通過部署win32蜜罐機發現並對近100個botnet進行了跟蹤,並發佈了botnet跟蹤的技術報告。
botnet的一個主要威脅是作為攻擊平臺對指定的目標發起ddos(分佈式拒絶服務攻擊)攻擊,所以ddos的研究人員同樣也做了對botnet的研究工作。由國外ddosvax組織的“detecting bots in internet relay chat systems”項目中,分析了基於irc協議的bot程序的行為特徵,在網絡流量中擇選出對應關係,從而檢測出botnet的存在。該組織的這個研究方法通過在plantlab中搭建一個botnet的實驗環境來進行測試,通過對得到的數據進行統計分析,可以有效驗證關於botnet特徵流量的分析結果,但存在着一定的誤報率。
國內在2005年時開始對botnet有初步的研究工作。北京大學計算機科學技術研究所在2005年1月開始實施用蜜網跟蹤botnet的項目,對收集到的惡意軟件樣本,采用了沙箱、蜜網這兩種各有優勢的技術對其進行分析,確認其是否為僵屍程序,並對僵屍程序所要連接的botnet控製信道的信息進行提取,最終獲得了60,000 多個僵屍程序樣本分析報告,並對其中500多個仍然活躍的botnet進行跟蹤,統計出所屬國分佈、規模分佈等信息。
國傢應急響應中心通過863-917網絡安全監測平臺,在2005年共監測到的節點大於1000個的botnet規模與數量統計如圖4所示。
這些數據和活動情況都說明,我國國內網上的botnet的威脅比較嚴重,需要引起網絡用戶的高度重視。
ccert惡意代碼研究項目組在2005年7月開始對botnet的研究工作,通過對大量已經掌握的botnet的實際跟蹤與深入分析,對基於irc協議的botnet的服務器端的特徵進行了分類提取,形成對於botnet 服務器端的判斷規則,從而可以對網絡中的irc server進行性質辨別。設計並初步實現了botnet自動識別係統,應用於中國教育和科研計算機網絡環境中。
可以看出,從國內到國外,自2004年以來對botnet的研究越來越多地受到網絡安全研究人員的重視,研究工作已經大大加強。但是這些工作還遠遠不夠,在檢測和處置botnet方面還有許多工作要做。
botnet的研究方法
對於目前比較流行的基於irc協議的botnet的研究方法,主要使用蜜網技術、網絡流量研究以及irc server識別技術。
(1)使用蜜網技術。蜜網技術是從bot程序出發的,可以深入跟蹤和分析botnet的性質和特徵。主要的研究過程是,首先通過密罐等手段盡可能多地獲得各種流傳在網上的bot程序樣本;當獲得bot程序樣本後,采用逆嚮工程等惡意代碼分析手段,獲得隱藏在代碼中的登錄botnet所需要的屬性,如botnet服務器地址、服務端口、指定的惡意頻道名稱及登錄密碼,以及登錄所使用到的用戶名稱,這些信息都為今後有效地跟蹤botnet和深入分析botnet的特徵提供了條件。在具備了這些條件之後,使用偽裝的客戶端登錄到botnet中去,當確認其確實為botnet後,可以對該botnet采取相應的措施。
(2)網絡流量研究。網絡流量的研究思路是通過分析基於irc協議的botnet中僵屍主機的行為特徵,將僵屍主機分為兩類:長時間發呆型和快速加入型。具體來說就是僵屍主機在botnet中存在着三個比較明顯的行為特徵,一是通過蠕蟲傳播的僵屍程序,大量的被其感染計算機會在很短的時間內加入到同一個irc server中;二是僵屍計算機一般會長時間在綫;三是僵屍計算機作為一個irc聊天的用戶,在聊天頻道內長時間不發言,保持空閑。將第一種行為特徵歸納為快速加入型,將第二、三種行為特徵歸納為長期發呆型。
研究對應這兩類僵屍計算機行為的網絡流量變化,使用離綫和在綫的兩種分析方法,就可以實現對botnet的判斷。
(3)irc server識別技術的研究。通過登錄大量實際的基於irc協議的botnet的服務器端,可以看到,由於攻擊者為了隱藏自身而在服務器端刻意隱藏了irc服務器的部分屬性。同時,通過對bot源代碼的分析看到,當被感染主機加入到控製服務器時,在服務器端能夠表現出許多具有規律性的特徵。通過對這些特徵的歸納總結,就形成了可以用來判斷基於irc協議的botnet的服務器端的規則,這樣就可以直接確定出botnet的位置及其規模、分佈等性質,為下一步采取應對措施提供有力的定位支持。
以上三種研究方法都是針對基於irc協議的botnet。對於p2p結構的botnet的研究較少,原因是由於其實現比較復雜,在網絡中並不占有太大比例,同時也因為其在控製方式上的分佈性使得對它的研究比較睏難。但隨着botnet的發展,對於p2p結構的botnet的研究也將進一步深入。 |
|
僵尸网络僵尸网络
僵屍網絡
Botnet
僵屍網絡是指采用一種或多種傳播手段,將大量主機感染bot程序(僵屍程序),從而在控製者和被感染主機之間所形成的一個可一對多控製的網絡。
攻擊者通過各種途徑傳播僵屍程序感染互聯網上的大量主機,而被感染的主機將通過一個控製信道接收攻擊者的指令,組成一個僵屍網絡。之所以用僵屍網絡這個名字,是為了更形象的讓人們認識到這類危害的特點:衆多的計算機在不知不覺中如同中國古老傳說中的僵屍群一樣被人驅趕和指揮着,成為被人利用的一種工具。
在Botnet的概念中有這樣幾個關鍵詞。“bot程序”是robot的縮寫,是指實現惡意控製功能的程序代碼;“僵屍計算機”就是被植入bot的計算機;“控製服務器(Control Server)”是指控製和通信的中心服務器,在基於IRC(因特網中繼聊天)協議進行控製的Botnet中,就是指提供IRC聊天服務的服務器。
Botnet
首先是一個可控製的網絡,這個網絡並不是指物理意義上具有拓撲結構的網絡,它具有一定的分佈性,隨着bot程序的不斷傳播而不斷有新位置的僵屍計算機添加到這個網絡中來。
其次,這個網絡是采用了一定的惡意傳播手段形成的,例如主動漏洞攻擊,郵件病毒等各種病毒與蠕蟲的傳播手段,都可以用來進行Botnet的傳播,從這個意義上講,惡意程序bot也是一種病毒或蠕蟲。
最後一點,也是Botnet的最主要的特點,就是可以一對多地執行相同的惡意行為,比如可以同時對某目標網站進行分佈式拒絶服務(DDos)攻擊,同時發送大量的垃圾郵件等,而正是這種一對多的控製關係,使得攻擊者能夠以極低的代價高效地控製大量的資源為其服務,這也是Botnet攻擊模式近年來受到黑客青睞的根本原因。在執行惡意行為的時候,Botnet充當了一個攻擊平臺的角色,這也就使得Botnet不同於簡單的病毒和蠕蟲,也與通常意義的木馬有所不同。
僵屍網絡是互聯網上受到黑客集中控製的一群計算機,往往被黑客用來發起大規模的網絡攻擊,如分佈式拒絶服務攻擊(DDoS)、海量垃圾郵件等,同時黑客控製的這些計算機所保存的信息,譬如銀行帳戶的密碼與社會安全號碼等也都可被黑客隨意“取用”。因此,不論是對網絡安全運行還是用戶數據安全的保護來說,僵屍網絡都是極具威脅的隱患。僵屍網絡的威脅也因此成為目前一個國際上十分關註的問題。然而,發現一個僵屍網絡是非常睏難的,因為黑客通常遠程、隱蔽地控製分散在網絡上的“僵屍主機”,這些主機的用戶往往並不知情。因此,僵屍網絡是目前互聯網上黑客最青睞的作案工具。
對網友而言,感染上“僵屍病毒”卻十分容易。網絡上搔首弄姿的美女、各種各樣有趣的小遊戲,都在吸引着網友輕輕一點鼠標。但事實上,點擊之後毫無動靜,原來一切衹是騙局,意在誘惑網友下載有問題的軟件。一旦這種有毒的軟件進入到網友電腦,遠端主機就可以發號施令,對電腦進行操控。
專傢表示,每周平均新增數十萬臺任人遙控的僵屍電腦,任憑遠端主機指揮,進行各種不法活動。多數時候,僵屍電腦的根本不曉得自己已被選中,任人擺布。
僵屍網絡之所以出現,在傢高速上網越來越普遍也是原因。高速上網可以處理(或製造)更多的流量,但高速上網家庭習慣將電腦長時間開機,唯有電腦開機,遠端主機纔可以對僵屍電腦發號施令。
網絡專傢稱:“重要的硬件設施雖然非常重視殺毒、防黑客,但網絡真正的安全漏洞來自於住傢用戶,這些個體戶欠缺自我保護的知識,讓網絡充滿地雷,進而對其他用戶構成威脅。”
Botnet的發展過程
Botnet是隨着自動智能程序的應用而逐漸發展起來的。在早期的IRC聊天網絡中,有一些服務是重複出現的,如防止頻道被濫用、管理權限、記錄頻道事件等一係列功能都可以由管理者編寫的智能程序所完成。於是在1993 年,在IRC 聊天網絡中出現了Bot 工具——Eggdrop,這是第一個bot程序,能夠幫助用戶方便地使用IRC 聊天網絡。這種bot的功能是良性的,是出於服務的目的,然而這個設計思路卻為黑客所利用,他們編寫出了帶有惡意的Bot 工具,開始對大量的受害主機進行控製,利用他們的資源以達到惡意目標。
20世紀90年代末,隨着分佈式拒絶服務攻擊概念的成熟,出現了大量分佈式拒絶服務攻擊工具如TFN、TFN2K和Trinoo,攻擊者利用這些工具控製大量的被感染主機,發動分佈式拒絶服務攻擊。而這些被控主機從一定意義上來說已經具有了Botnet的雛形。
1999 年,在第八屆DEFCON 年會上發佈的SubSeven 2.1 版開始使用IRC 協議構建攻擊者對僵屍主機的控製信道,也成為第一個真正意義上的bot程序。隨後基於IRC協議的bot程序的大量出現,如GTBot、Sdbot 等,使得基於IRC協議的Botnet成為主流。
2003 年之後,隨着蠕蟲技術的不斷成熟,bot的傳播開始使用蠕蟲的主動傳播技術,從而能夠快速構建大規模的Botnet。著名的有2004年爆發的Agobot/Gaobot 和rBot/Spybot。同年出現的Phatbot 則在Agobot 的基礎上,開始獨立使用P2P 結構構建控製信道。
從良性bot的出現到惡意bot的實現,從被動傳播到利用蠕蟲技術主動傳播,從使用簡單的IRC協議構成控製信道到構建復雜多變P2P結構的控製模式,Botnet逐漸發展成規模龐大、功能多樣、不易檢測的惡意網絡,給當前的網絡安全帶來了不容忽視的威脅。
Botnet的工作過程
Botnet的工作過程包括傳播、加入和控製三個階段。
一個Botnet首先需要的是具有一定規模的被控計算機,而這個規模是逐漸地隨着采用某種或某幾種傳播手段的bot程序的擴散而形成的,在這個傳播過程中有如下幾種手段:
(1)主動攻擊漏洞。其原理是通過攻擊係統所存在的漏洞獲得訪問權,並在Shellcode 執行bot程序註入代碼,將被攻擊係統感染成為僵屍主機。屬於此類的最基本的感染途徑是攻擊者手動地利用一係列黑客工具和腳本進行攻擊,獲得權限後下載bot程序執行。攻擊者還會將僵屍程序和蠕蟲技術進行結合,從而使bot程序能夠進行自動傳播,著名的bot樣本AgoBot,就是實現了將bot程序的自動傳播。
(2)郵件病毒。bot程序還會通過發送大量的郵件病毒傳播自身,通常表現為在郵件附件中攜帶僵屍程序以及在郵件內容中包含下載執行bot程序的鏈接,並通過一係列社會工程學的技巧誘使接收者執行附件或點擊鏈接,或是通過利用郵件客戶端的漏洞自動執行,從而使得接收者主機被感染成為僵屍主機。
(3)即時通信軟件。利用即時通信軟件嚮好友列表發送執行僵屍程序的鏈接,並通過社會工程學技巧誘騙其點擊,從而進行感染,如2005年年初爆發的MSN性感雞(Worm.MSNLoveme)采用的就是這種方式。
(4)惡意網站腳本。攻擊者在提供Web服務的網站中在HTML頁面上綁定惡意的腳本,當訪問者訪問這些網站時就會執行惡意腳本,使得bot程序下載到主機上,並被自動執行。
(5)特洛伊木馬。偽裝成有用的軟件,在網站、FTP 服務器、P2P 網絡中提供,誘騙用戶下載並執行。
通過以上幾種傳播手段可以看出,在Botnet的形成中傳播方式與蠕蟲和病毒以及功能復雜的間諜軟件很相近。
在加入階段,每一個被感染主機都會隨着隱藏在自身上的bot程序的發作而加入到Botnet中去,加入的方式根據控製方式和通信協議的不同而有所不同。在基於IRC協議的Botnet中,感染bot程序的主機會登錄到指定的服務器和頻道中去,在登錄成功後,在頻道中等待控製者發來的惡意指令。圖2為在實際的Botnet中看到的不斷有新的bot加入到Botnet中的行為。
在控製階段,攻擊者通過中心服務器發送預先定義好的控製指令,讓被感染主機執行惡意行為,如發起DDos攻擊、竊取主機敏感信息、更新升級惡意程序等。圖3為觀測到的在控製階段嚮內網傳播惡意程序的Botnet行為。
Botnet的分類
Botnet根據分類標準的不同,可以有許多種分類。
按bot程序的種類分類
(1)Agobot/Phatbot/Forbot/XtremBot。這可能是最出名的僵屍工具。防病毒廠商Spphos 列出了超過500種已知的不同版本的Agobot(Sophos 病毒分析),這個數目也在穩步增長。僵屍工具本身使用跨平臺的C++寫成。Agobot 最新可獲得的版本代碼清晰並且有很好的抽象設計,以模塊化的方式組合,添加命令或者其他漏洞的掃描器及攻擊功能非常簡單,並提供像文件和進程隱藏的Rootkit 能力在攻陷主機中隱藏自己。在獲取該樣本後對它進行逆嚮工程是比較睏難的,因為它包含了監測調試器(Softice 和O11Dbg)和虛擬機(VMware 和Virtual PC)的功能。
(2)SDBot/RBot/UrBot/SpyBot/。這個傢族的惡意軟件目前是最活躍的bot程序軟件,SDBot 由C語言寫成。它提供了和Agobot 一樣的功能特徵,但是命令集沒那麽大,實現也沒那麽復雜。它是基於IRC協議的一類bot程序。
(3)GT-Bots。GT-Bots是基於當前比較流行的IRC客戶端程序mIRC編寫的,GT是(Global Threat)的縮寫。這類僵屍工具用腳本和其他二進製文件開啓一個mIRC聊天客戶端, 但會隱藏原mIRC窗口。通過執行mIRC 腳本連接到指定的服務器頻道上,等待惡意命令。這類bot程序由於捆綁了mIRC程序,所以體積會比較大,往往會大於1MB。
按Botnet的控製方式分類
(1)IRC Botnet。是指控製和通信方式為利用IRC協議的Botnet,形成這類Botnet的主要bot程序有spybot、GTbot和SDbot,目前絶大多數Botnet屬於這一類別。
(2)AOL Botnet。與IRC Bot類似,AOL為美國在綫提供的一種即時通信服務,這類Botnet是依托這種即時通信服務形成的網絡而建立的,被感染主機登錄到固定的服務器上接收控製命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager實現對Bot的控製。
(3)P2P Botnet。這類Botnet中使用的bot程序本身包含了P2P的客戶端,可以連入采用了Gnutella技術(一種開放源碼的文件共享技術)的服務器,利用WASTE文件共享協議進行相互通信。由於這種協議分佈式地進行連接,就使得每一個僵屍主機可以很方便地找到其他的僵屍主機並進行通信,而當有一些bot被查殺時,並不會影響到Botnet的生存,所以這類的Botnet具有不存在單點失效但實現相對復雜的特點。Agobot和Phatbot采用了P2P的方式。
Botnet的危害
Botnet構成了一個攻擊平臺,利用這個平臺可以有效地發起各種各樣的攻擊行為,可以導致整個基礎信息網絡或者重要應用係統癱瘓,也可以導致大量機密或個人隱私泄漏,還可以用來從事網絡欺詐等其他違法犯罪活動。下面是已經發現的利用Botnet發動的攻擊行為。隨着將來出現各種新的攻擊類型,Botnet還可能被用來發起新的未知攻擊。
(1)拒絶服務攻擊。使用Botnet發動DDos攻擊是當前最主要的威脅之一,攻擊者可以嚮自己控製的所有bots發送指令,讓它們在特定的時間同時開始連續訪問特定的網絡目標,從而達到DDos的目的。由於Botnet可以形成龐大規模,而且利用其進行DDos攻擊可以做到更好地同步,所以在發佈控製指令時,能夠使得DDos的危害更大,防範更難。
(2)發送垃圾郵件。一些bots會設立sockv4、v5 代理,這樣就可以利用Botnet發送大量的垃圾郵件,而且發送者可以很好地隱藏自身的IP信息。
(3)竊取秘密。Botnet的控製者可以從僵屍主機中竊取用戶的各種敏感信息和其他秘密,例如個人帳號、機密數據等。同時bot程序能夠使用sniffer觀測感興趣的網絡數據,從而獲得網絡流量中的秘密。
(4)濫用資源。攻擊者利用Botnet從事各種需要耗費網絡資源的活動,從而使用戶的網絡性能受到影響,甚至帶來經濟損失。例如:種植廣告軟件,點擊指定的網站;利用僵屍主機的資源存儲大型數據和違法數據等,利用僵屍主機搭建假冒的銀行網站從事網絡釣魚的非法活動。
可以看出,Botnet無論是對整個網絡還是對用戶自身,都造成了比較嚴重的危害,我們要采取有效的方法減少Botnet的危害。
Botnet的研究現狀
對於Botnet的研究是最近幾年纔逐漸開始的,從反病毒公司到學術研究機構都做了相關的研究工作。最先研究和應對Botnet的是反病毒廠商。它們從bot程序的惡意性出發,將其視為一種由後門工具、蠕蟲、Spyware 等技術結合的惡意軟件而歸入了病毒的查殺範圍。著名的各大反病毒廠商都將幾個重要的bot程序特徵碼寫入到病毒庫中。賽門鐵剋從2004 年開始,在其每半年發佈一次的安全趨勢分析報告中,以單獨的章節給出對Botnet活動的觀測結果。卡巴斯基也在惡意軟件趨勢分析報告中指出,僵屍程序的盛行是2004年病毒領域最重大的變化。
學術界在2003年開始關註Botnet的發展。國際上的一些蜜網項目組和蜜網研究聯盟的一些成員使用蜜網分析技術對Botnet的活動進行深入跟蹤和分析,如Azusa Pacific大學的Bill McCarty、法國蜜網項目組的Richard Clarke、華盛頓大學Dave Dittrich和德國蜜網項目組。特別是德國蜜網項目組在2004年11月到2005 年1月通過部署Win32蜜罐機發現並對近100個Botnet進行了跟蹤,並發佈了Botnet跟蹤的技術報告。
Botnet的一個主要威脅是作為攻擊平臺對指定的目標發起DDos(分佈式拒絶服務攻擊)攻擊,所以DDos的研究人員同樣也做了對Botnet的研究工作。由國外DDosVax組織的“Detecting Bots in Internet Relay Chat Systems”項目中,分析了基於IRC協議的bot程序的行為特徵,在網絡流量中擇選出對應關係,從而檢測出Botnet的存在。該組織的這個研究方法通過在plantlab中搭建一個Botnet的實驗環境來進行測試,通過對得到的數據進行統計分析,可以有效驗證關於Botnet特徵流量的分析結果,但存在着一定的誤報率。
國內在2005年時開始對Botnet有初步的研究工作。北京大學計算機科學技術研究所在2005年1月開始實施用蜜網跟蹤Botnet的項目,對收集到的惡意軟件樣本,采用了沙箱、蜜網這兩種各有優勢的技術對其進行分析,確認其是否為僵屍程序,並對僵屍程序所要連接的Botnet控製信道的信息進行提取,最終獲得了60,000 多個僵屍程序樣本分析報告,並對其中500多個仍然活躍的Botnet進行跟蹤,統計出所屬國分佈、規模分佈等信息。
國傢應急響應中心通過863-917網絡安全監測平臺,在2005年共監測到的節點大於1000個的Botnet規模與數量統計如圖4所示。
這些數據和活動情況都說明,我國國內網上的Botnet的威脅比較嚴重,需要引起網絡用戶的高度重視。
CCERT惡意代碼研究項目組在2005年7月開始對Botnet的研究工作,通過對大量已經掌握的Botnet的實際跟蹤與深入分析,對基於IRC協議的Botnet的服務器端的特徵進行了分類提取,形成對於Botnet 服務器端的判斷規則,從而可以對網絡中的IRC Server進行性質辨別。設計並初步實現了Botnet自動識別係統,應用於中國教育和科研計算機網絡環境中。
可以看出,從國內到國外,自2004年以來對Botnet的研究越來越多地受到網絡安全研究人員的重視,研究工作已經大大加強。但是這些工作還遠遠不夠,在檢測和處置Botnet方面還有許多工作要做。
Botnet的研究方法
對於目前比較流行的基於IRC協議的Botnet的研究方法,主要使用蜜網技術、網絡流量研究以及IRC Server識別技術。
(1)使用蜜網技術。蜜網技術是從bot程序出發的,可以深入跟蹤和分析Botnet的性質和特徵。主要的研究過程是,首先通過密罐等手段盡可能多地獲得各種流傳在網上的bot程序樣本;當獲得bot程序樣本後,采用逆嚮工程等惡意代碼分析手段,獲得隱藏在代碼中的登錄Botnet所需要的屬性,如Botnet服務器地址、服務端口、指定的惡意頻道名稱及登錄密碼,以及登錄所使用到的用戶名稱,這些信息都為今後有效地跟蹤Botnet和深入分析Botnet的特徵提供了條件。在具備了這些條件之後,使用偽裝的客戶端登錄到Botnet中去,當確認其確實為Botnet後,可以對該Botnet采取相應的措施。
(2)網絡流量研究。網絡流量的研究思路是通過分析基於IRC協議的Botnet中僵屍主機的行為特徵,將僵屍主機分為兩類:長時間發呆型和快速加入型。具體來說就是僵屍主機在Botnet中存在着三個比較明顯的行為特徵,一是通過蠕蟲傳播的僵屍程序,大量的被其感染計算機會在很短的時間內加入到同一個IRC Server中;二是僵屍計算機一般會長時間在綫;三是僵屍計算機作為一個IRC聊天的用戶,在聊天頻道內長時間不發言,保持空閑。將第一種行為特徵歸納為快速加入型,將第二、三種行為特徵歸納為長期發呆型。
研究對應這兩類僵屍計算機行為的網絡流量變化,使用離綫和在綫的兩種分析方法,就可以實現對Botnet的判斷。
(3)IRC Server識別技術的研究。通過登錄大量實際的基於IRC協議的Botnet的服務器端,可以看到,由於攻擊者為了隱藏自身而在服務器端刻意隱藏了IRC服務器的部分屬性。同時,通過對bot源代碼的分析看到,當被感染主機加入到控製服務器時,在服務器端能夠表現出許多具有規律性的特徵。通過對這些特徵的歸納總結,就形成了可以用來判斷基於IRC協議的Botnet的服務器端的規則,這樣就可以直接確定出Botnet的位置及其規模、分佈等性質,為下一步采取應對措施提供有力的定位支持。
以上三種研究方法都是針對基於IRC協議的Botnet。對於P2P結構的Botnet的研究較少,原因是由於其實現比較復雜,在網絡中並不占有太大比例,同時也因為其在控製方式上的分佈性使得對它的研究比較睏難。但隨着Botnet的發展,對於P2P結構的Botnet的研究也將進一步深入。 |
|
|
|
風暴僵屍網絡 | Botnet僵屍網絡 | 木馬和僵屍網絡監測與處置機製 | |
|