萬盛學電腦網

 萬盛學電腦網 >> 病毒防治 >> 使用Honeypots同計算機蠕蟲病毒作斗爭

使用Honeypots同計算機蠕蟲病毒作斗爭

  文/yangshulei

 
  2003年夏天,對於運行著Microsoft Windows的成千上萬台主機來說簡直就是場噩夢!也給廣大網民留下了悲傷的回憶,這一些都歸結於沖擊波蠕蟲的全世界范圍的傳播。這種事件也以不是第一次了,以往的Slammer, Code Red,Nimda 蠕蟲同樣也有著類似的破壞效果。

  這種蠕蟲會在被感染的機器上自己復制,以其達到通過蔓布因特網感染其他的機器的目的。導致了人們對網絡安全問題的重視。

  人們總是習慣於相同類型的系統與程序。這同達爾文的某個理論相似,單作的這使許多網絡安全專家畏懼連到因特網,而遭到一種新的惡意的蠕蟲的攻擊,如果最近的沖擊波能格式Windows 的機器的硬盤會是什麼下場?雖然它沒這種效果,但它可以輕易的達到那種效果,隨著新的網絡攻擊的水平不斷提高,提出一個新的解決方案必須的。

  這篇文章是說用Honeypots 同Internet 蠕蟲作斗爭的方法,第一部分介紹討論關於傳播廣泛的蠕蟲的背景知識,然後,討論Honeypots 的一些實用的功能。最後,我們將搭建一個Honeypots來同Internet 蠕蟲作斗爭和反擊。最後,我們將展望一下未來的觀點。

  1、關於蠕蟲

  簡單點說,蠕蟲就是有著危害的代碼來攻擊網上的受害主機,並在受害主機上自我復制,再攻擊其他的受害主機的令人畏懼的實體。

  大多數時間, 蠕蟲程序都是計算機黑客,網絡安全研究人員和病毒作者寫的。病毒傳染基於迷惑人脆弱的部分,通過社會工程學來傳播。比如,迷惑一個用戶敲擊一個電子郵件附件,以其達到目的。

  蠕蟲主要有三種主要特性:

  感染: 通過利用脆弱感染一個目標。

  潛伏:感染當地目標遠程主機。

  傳播:影響的目標,再感染其他的主機。

  2、關於 honeypots

  Honeypots是一個哄騙進攻者的計算機。在一個網絡上,惡意的攻擊者將會攻擊偽造的系統,他們使盡一些方法得到的只是一些無關的信息。

  當一個honeypot作為偽造的主機,常常哄騙進攻者時,這就意味著所有的請求到honeypot都是可懷疑的,

  honeypots 經常認為用於被動分析時,他們也能起交互式作用來處理蠕蟲,兩種honeypots 經常被使用。

  高級應用:一種真正的主機通常幾乎犧牲(叫做傀儡主機),在一個網絡在等待任何進攻者攻擊。

  低級應用:服務器和/或主機是模擬的(例如Honeyd by Niels Provos)

  3、蜜罐同蠕蟲的對抗

  這章的目標將是證明交互式honeypots 同蠕蟲作斗爭的優勢,我們將明白怎麼使用新的蜜罐技術來防御不同的階段期間的蠕蟲,

  3.1 蠕蟲與蠕蟲的感染

  蠕蟲感染的階段就是它在受害主機上自我復制攻擊其他的主機。

  在這個階段期間 ,作為防守者的蜜罐會檢測非法入侵者的行為。比如,監視網絡,這項技術通常被稱為太公釣魚,願者上鉤。防守者的蜜罐是一個建在網關上的,扮演著一個防火牆,或者入侵檢測系統(IDS),或者是入侵防御系統(IPS)。它過濾了通過網絡的流量,分析數據包的內容。然後,如果網絡的地址同那些知名的攻擊的指紋是否相同,在檢驗之後,網關將標記一定時期內的危害的源地址。因此,危害的數據包將被重定向到蜜罐中,而不是主網絡中。

  對於最近的沖擊波蠕蟲,如果網關機器對來自外部的TCP數據包請求本地135端口,被IDS進行標記。他將被重定向到蜜罐中。我們將在第3.3章中討論蜜罐未來的新功能。

  我們也發現了這門技術的缺點:

  1,標記總是晚於新的未知的攻擊,

  2,這一概念是可靠的嗎?如果因為錯誤的配置而系統出錯,將合法的數據包發到蜜罐中該怎麼辦?

  3,網絡速度因為網關的巨量的分析而被減慢。

  3.2 蜜罐與蠕蟲的潛伏







  蜜罐技術對於對付是非常有用的,特別是撲獲和分析它們。為了撲獲到一個蠕蟲,你可以讓一台主機感染上,至少讓蠕蟲認為已感染上了,在前一章了,我們看到我們能用蜜罐來轉向這些攻擊的流量。

  蜜罐也被稱為“傀儡主機”(一個正常的沒有打最新補丁的漏洞主機,有被入侵的可能性)。或者模擬一個服務,注意要讓她們在你的控制下不能在反彈感染其他的主機。如想獲得更多的信息,請參考Honeynet Project.的建議。

  3.2.1 受害主機

  使用一個受害主機,安裝著原始的操作系統和一些適當的服務,也可以通過VMWare來安裝許多個操作系統,來迷惑蠕蟲的攻擊.

  為了撲獲蠕蟲,受害主機等待被感染,以至於監視網絡上的流量並發現蠕蟲.

  3.2.2 虛擬的主機和服務

  模擬這個虛擬的主機和服務,honeypot 通過偽造的服務能讓遠程的蠕蟲進行接觸。完成這種的程序叫做蜜罐

  為了描述這個方法,這裡有一種方法來欺騙沖擊波蠕蟲的,它會欺騙沖擊波蠕蟲認為對方的Windows 主機開放著135端口,並運行著RPC DCOM 服務。

  這個簡單的配置通常能成功地發現在因特網上的沖擊波蠕蟲。

  create default set default personality "Windows XP Pro"

  add default tcp port 135 open

  add default tcp port 4444 "/bin/sh scripts/WormCatcher.sh $ipsrc $ipdst"

  set default tcp action block

  set default udp action block

  這裡有一個在Honeyd 發布的對每一個請求4444端口腳本程序。

  !#/bin/sh

  # Creation of a directory for every contaminated host

  # attacking the honeypot, in order to archive different binaries

  mkdir /tmp/$1-$2

  # Download of the worm through TFTP in this directory

  # (specific behaviour for MSBlast)

  cd /tmp/$1-$2/

  tftp $1 <

  get msblast.exe

  quit

  EOF

  通過這種簡單的配置,我們能在沒有操作系統中發現沖擊波蠕蟲的攻擊。這項技術所以很實用。

  3.3 蜜罐與蠕蟲的傳播

  3.3.1 對蠕蟲請求的回應

  當一個蠕蟲想傳播是,會隨機攻擊一些IP.在這些目標列表中,一些IP可能沒有被用.但其他的IP就會遭到蠕蟲的攻擊,如果一些IP對蠕蟲的攻擊沒有相應的話,它們就會跳過這些IP攻擊其他的IP.

  當一個蠕蟲攻擊一個不存在的主機時,蜜罐就會偽裝信息讓蠕蟲攻擊它.

  比如,沖擊波會隨機選擇攻擊開了135端口的主機.對沒有用的IP,我們可以設置蜜罐來誘撲沖擊波蠕蟲.要用到叫做arpd的demon.具體配置如下:

  create default

  set default personality "Windows XP Pro"

  add default tcp port 135 open

  set default tcp action block

  set default udp action block

  有了這個配置,沖擊波蠕蟲就會對不存在運行著蜜罐的IP進行攻擊,蠕蟲會以為對方開著135端口的漏洞主機.通過這門技術,沖擊波蠕蟲就會被偽造的信息欺騙,達到拖延時間,進而通知管理員,采取措施,對進程中的程序進行清理.避免遭到沖擊波的控制.

  如果一個新的蠕蟲設計過於復雜,這個蜜罐就不是那麼好配置了.

  3.3.2 對蜜罐的緩慢的回應







  繼續前一章的,蜜罐能監視所進來得請求的數據,使在網絡層的對蠕蟲的回應減慢,這項技術以被使用,所用到的工具叫做Labrea。這個Unix daemon 能對未存在的IP作出回應。為了模擬對攻擊者的TCP session。它使用合法的RFC的文檔,來最大化的拖延TCP session的時間。為了避免蠕蟲的攻擊,TCP window size 始終保持為0。

  通常下蠕蟲都是以一個進程在受害主機上的。在內核中使用classic network calls來到處傳播,在用戶的領域使用classic API。蠕蟲不知道網絡為什麼運行這麼慢,它會減慢並阻塞偽造的目標。

  作為實驗,Labrea已成功地戰勝了紅色代碼蠕蟲,它也可能對付其他的蠕蟲攻擊。在未來的Honeyd 系統中將添加這樣的功能。

  盡管這種防守體系有很多缺點,比如多線程的蠕蟲或未意識到的蠕蟲會同時攻擊一些目標,而不會阻塞我們偽造的目標。

  3.3.3 我們應采取什麼反擊措施

  一些已發布的反擊措施

  *孤立一些主機

  *關閉蠕蟲敏感的遠程的服務

  *對遠程設備(路由器,防火牆等等)制定合適的流量監控

   3.4 Launching a counter offensive

  這裡有一個通過Honeyd配置的例子,

  create default

  set default personality "Windows XP Pro"

  add default tcp port 135 open

  add default tcp port 4444 "/bin/sh scripts/strikeback.sh $ipsrc"

  set default tcp action block

  set default udp action block

  蜜罐的TCP 135端口開著,並接受沖擊波蠕蟲的攻擊,幸運的是,蠕蟲沒有檢查RPC 回應的完整。因此,蜜罐經過三次握手的過程,來檢測非法的數據包。

  然後,我們添加一個4444端口服務,它可以讓沖擊波獲得遠程的SHELL,包括通過TFTP來執行下載代碼。這個偽造的SHELL將通過一個叫做strikeback.sh來欺騙蠕蟲。

  以下是運行在Windows XP Pro系統下的strikeback.sh程序,

  !#/bin/sh

  # Launches a DCOM exploit toward the infected attacking host

  # and then run cleaning commands in the remote DOS shell obtained

  ./dcom_exploit -d $1 << EOF

  REM E

copyright © 萬盛學電腦網 all rights reserved