p2p殭屍網絡工作原理

 嚴格的說,本節所要討論的內容已經超出了本文主題範圍,但是因爲P2P驅動的DDoS攻擊很容易與基於P2P的殭屍網絡發起的DDoS攻擊混淆,所以在這裏簡要討論一下。前者是利用P2P協議本身的漏洞,作爲發起攻擊的手段,而後者在本質上同其它殭屍網絡的DDoS攻擊一樣,只是殭屍網絡的控制使用了P2P協議。P2P驅動的DDoS攻擊大致可分爲以下四類:

  ·INDEX 投毒

  很多P2P系統(不僅限於P2P文件共享系統)包含INDEX,INDEX是文件ID到文件位置(IP+Port)的映射,文件ID是文件名的hash值。欺騙主機把假冒的INDEX保存到本地的索引中,其中IP地址和端口是攻擊目標的地址和端口。indexing 節點被投毒以後,當另一個節點搜索一個特定文件的位置時,它就會接收到一個來自被投毒節點的虛假的記錄,進而試圖從受害主機下載那個文件。首先它先與受害主機建立一個TCP連接,連接建立後,下載節點會發送一個應用層協議的消息,說明它希望下載的文件。由於無法理解這個消息,受害主機可能會忽略這個消息也許會讓TCP連接掛在那裏,也許關閉連接,也可能崩潰。如果很多節點試圖從受害主機下載那個文件,受害主機就遭受到TCP-connection攻擊。如果是每隔幾分鐘就自動索取文件的話,攻擊的影響可能更嚴重。
·路由表投毒

  DHT-based P2P系統,節點具有ID,這些IDs 用來把節點組織到一個覆蓋範圍內,每個節點都有一組鄰居。在許多DHT系統中,節點有一個相對較小的鄰居集合。通常是 O(log N ), N 是全部節點的數量。

  節點的鄰居列表組成了路由表,列表中的每個條目包含鄰居的ID, IP地址和端口號。DHT中的查詢消息包含一個key。 當一個節點接收(或生成)一個消息,它用這個key從路由表中來選擇一個鄰居轉發這個消息。鄰居的選擇依賴於DHT。當一個節點加入系統,它建立自己的路由表,並且不斷更新。當檢測到一個鄰居節點離開了系統,就刪除路由表該鄰居的條目。當發現一個新的節點(例如接收到一個查詢消息),它可能增加這個節點到它自己的DHT的最高端並且實現協議的標準。

  當路由表被投毒以後,攻擊者的目標是欺騙其它的終端添加僞造的鄰居IP地址,這個地址是攻擊受害者的地址。根據DHT及其實現,可以用簡單的發送宣告消息來給路由表投毒。一旦接收到宣告,節點可能會選擇把這個僞造的IP地址放入路由表並轉發消息到鄰居節點。

  當這個被投毒的節點需要通過DHT轉發消息,會有很多節點被投毒,如果被投毒的節點很多,並且一個或多個僞造的IP地址被加入路由表。受害主機可能會接收到來自DHT的巨大消息洪流,受害主機對這些消息作出響應,也會阻塞它自己的上聯通道。

  ·分隔攻擊

  在新節點加入系統時, 必須和系統中現有節點進行聯繫以獲得相應的初始路由信息。這時,新節點可能被分隔到一個不正確的P2P網絡中。假定一組攻擊者節點已經構成了一個虛假網絡,他們也運行和真實網絡相同的協議,因此這個虛假網絡從內部來說也是完全正確的。而且其中某些節點也可能是真實網絡中的節點。這時如果新節點把這個虛假網絡中的某個節點作爲初始化節點,那麼他將落入到這個虛假網絡中去,與真實網絡分隔開來。

  ·Query Flood

  攻擊者發送大量的虛假查詢請求,這些查詢請求會被P2P網絡廣播變成更多的查詢請求,從而造成一定程度的擁塞。但是這種攻擊如果不利用殭屍網絡協同發起,攻擊效果是非常有限的。

  3.7 基於HTTP協議的Botnet

  HTTP 協議是近年來除IRC 協議外的另一種流行的殭屍網絡命令與控制協議,與IRC 協議相比,使用HTTP 協議構建殭屍網絡命令與控制機制的優勢包括兩方面:

  ·殭屍網絡更隱蔽,難以檢測

  由於IRC 協議已經是殭屍網絡主流控制協議,安全業界更加關注監測IRC 通信以檢測其中隱藏的殭屍網絡活動,使用HTTP 協議構建控制信道則可以讓殭屍網絡控制流量淹沒在大量的互聯網Web 通信中,從而使得基於HTTP 協議的殭屍網絡活動更難以被檢測;

  ·控制信息可以繞過防火牆

  大多數組織機構在網關上部署了防火牆,在很多情況下,防火牆過濾掉了非期望端口上的網絡通信,IRC 協議使用的端口通常也會被過濾,而使用HTTP 協議構建控制信道一般都可以繞過防火牆。

  ·代碼個頭小,容易隱蔽

  這類Bot程序除了用於攻擊還用戶完成對網站的欺詐點擊,如果控制協議採用別協議,勢必要用額外的代碼實現,而採用HTTP 協議則不需要額外的代碼。

  目前,已知的採用HTTP 協議構建命令與控制機制的殭屍程序有Bobax、Rustock、Clickbot等。例如,Bobax 殭屍程序,它首先會訪問類似“http://hostname/reg?u=ABCDEF01&v=114”的一個URL,向殭屍網絡控制器發送註冊請求,如果連接成功,則殭屍網絡控制器將反饋這一請求,並在返回內容中包含當前攻擊者對殭屍網絡發出的控制命令,Bobax 殭屍程序則從返回內容中解析出命令並進行執行,Bobax 殭屍程序接受的命令包括:upd(下載並執行更新程序)、exe(執行指定的程序)、scn(使用MS04-011 破解程序掃描並感染主機)、scs(停止擴散掃描)、prj(發送垃圾郵件)、spd(報告網絡連接速度)等
文章來自天跡社區,原文地址:http://www.99tianji.com/tianji31240.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章