虛擬蜜罐honeyd的分析和_第1頁
虛擬蜜罐honeyd的分析和_第2頁
虛擬蜜罐honeyd的分析和_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、虛擬蜜罐honeyd的分析和    摘要:該文介紹一個(gè)新的主動(dòng)型的網(wǎng)絡(luò)安全系統(tǒng)蜜罐。首先給出了蜜罐的定義和分類,然后詳細(xì)描述了一個(gè)網(wǎng)絡(luò)層次上的模擬計(jì)算機(jī)系統(tǒng)的虛擬蜜罐框架honeyd,討論了honeyd的原理、結(jié)構(gòu)、特點(diǎn)、設(shè)計(jì)和實(shí)現(xiàn),并對它的功能作了全面的測試評估。 關(guān)鍵字:蜜罐,交互性,個(gè)性,路由拓?fù)洌0?  1  蜜罐(honeypot)的介紹 今天網(wǎng)絡(luò)安全問題正日益嚴(yán)重。黑客利用自動(dòng)化的大規(guī)模的漏洞掃描工具,可以在發(fā)現(xiàn)漏洞后不久就使全球的計(jì)算機(jī)系統(tǒng)遭受破壞??墒墙?jīng)過數(shù)十年的研究和探索,我們?nèi)匀徊荒艽_保計(jì)算機(jī)系統(tǒng)的安全,甚至無法

2、準(zhǔn)確評估它們的安全性?,F(xiàn)在我們介紹一種新的網(wǎng)絡(luò)安全預(yù)警系統(tǒng):蜜罐(honeypot)。蜜罐是指受到嚴(yán)密監(jiān)控的網(wǎng)絡(luò)誘騙系統(tǒng),它可以迷惑敵人,將攻擊從網(wǎng)絡(luò)中比較重要的機(jī)器上轉(zhuǎn)移開,對新攻擊發(fā)出預(yù)警,更重要的是可以引誘黑客攻擊而并對其攻擊的行為和過程進(jìn)行深入的分析研究。將蜜罐和入侵檢測系統(tǒng)、防火墻等結(jié)合使用,可以有效提高系統(tǒng)安全性。 honeypot分為兩種類型:一種是低交互性蜜罐(low-interaction honeypot),另一種是高交互性蜜罐(high-interaction honeypot)。 低交互性蜜罐通常是運(yùn)行于現(xiàn)有操作系統(tǒng)上的仿真服務(wù),只允許少量的交互動(dòng)作,黑客只能在仿真服務(wù)

3、預(yù)設(shè)的范圍內(nèi)動(dòng)作,它的優(yōu)點(diǎn)是結(jié)構(gòu)簡單,部署容易,風(fēng)險(xiǎn)很低。 高交互性蜜罐通常由真實(shí)的操作系統(tǒng)來構(gòu)建,提供給黑客的是真實(shí)的系統(tǒng)和服務(wù)。采用這種方式可以獲得大量的有用信息,包括我們完全不了解的新的網(wǎng)絡(luò)攻擊方式。同時(shí),它也帶來了更多的風(fēng)險(xiǎn)-黑客可能通過這個(gè)完全開放的真實(shí)系統(tǒng)去攻擊和滲透網(wǎng)絡(luò)中的其他機(jī)器。 配置高交互性的物理的蜜罐成本很高,因?yàn)槊總€(gè)蜜罐是具有自已ip地址的真實(shí)機(jī)器,要有它自已的操作系統(tǒng)和相應(yīng)硬件。而虛擬蜜罐是由一臺機(jī)器去模擬構(gòu)造一個(gè)擁有的多個(gè)虛擬主機(jī)和虛擬服務(wù)的網(wǎng)絡(luò)。相對而言,虛擬蜜罐需要較少的計(jì)算機(jī)資源和維護(hù)費(fèi)用。 本文描述的honeyd,就是一個(gè)在網(wǎng)絡(luò)層次上模擬計(jì)算機(jī)系統(tǒng)的虛擬蜜罐

4、框架。 2  honeyd的設(shè)計(jì)和實(shí)施 honeyd是一個(gè)輕型的開放源代碼的虛擬蜜罐的框架,可以模擬多個(gè)操作系統(tǒng)和網(wǎng)絡(luò)服務(wù),支持ip協(xié)議族,創(chuàng)建任意拓?fù)浣Y(jié)構(gòu)的虛擬網(wǎng)絡(luò)。同時(shí),為了模擬拓?fù)浞稚⒌木W(wǎng)絡(luò)地址空間和共享負(fù)荷,該結(jié)構(gòu)也支持網(wǎng)絡(luò)通道。    圖1   honeyd的數(shù)據(jù)接收                      

5、0;      圖2 honeyd的結(jié)構(gòu) 2.1網(wǎng)絡(luò)數(shù)據(jù)的接收 要使honeyd可以對目的ip地址屬于虛擬蜜罐之一的網(wǎng)絡(luò)數(shù)據(jù)包正常的接受和回應(yīng),有如下方法:對指向honeyd主機(jī)的虛擬ip地址創(chuàng)建特定路由、使用arp代理及使用網(wǎng)絡(luò)通道。 如圖1所示,假設(shè)10.0.0.1為我們路由器的ip地址,10.0.0.2為honeyd主機(jī)的ip地址。10.0.0.11-14是honeyd虛擬的蜜罐的ip地址。最簡單的情況是虛擬蜜罐的ip位于我們局域網(wǎng)內(nèi)。當(dāng)從互聯(lián)網(wǎng)向蜜罐windows nt 4.0 發(fā)送一個(gè)包時(shí),路由器首先查詢它的路由表由找到10.0.0.

6、13的轉(zhuǎn)送地址,如果沒有配置專用的路由,路由器通過arp請求確定虛擬蜜罐的mac地址,因?yàn)闆]有相應(yīng)的物理機(jī)器arp請求會不被響應(yīng),因此我們配置honeyd主機(jī)用自己的mac地址的對10.0.0.13的arp請求做出反應(yīng),這樣通過arp代理路由器就把發(fā)送蜜罐windows nt 4.0的包轉(zhuǎn)到honeyd主機(jī)的mac地址。 在復(fù)雜的情況下,我們也可以應(yīng)用通用路由封裝(gre)通道協(xié)議在網(wǎng)絡(luò)地址空間和hondyd主機(jī)間建立通道。 2.2 honeyd結(jié)構(gòu) honeyd結(jié)構(gòu)由幾部分構(gòu)成:一個(gè)配置數(shù)據(jù)庫,一個(gè)中央包分配器,協(xié)議處理器,個(gè)性化引擎和隨機(jī)的路由組件,見圖2。 honeyd支持三種主要的互聯(lián)

7、網(wǎng)協(xié)議:icmp,tcp和udp。輸入的包由中央包分配器處理,它首先檢測ip包的長度并驗(yàn)證校驗(yàn),然后查詢配置數(shù)據(jù)庫找到與目的ip地址相對應(yīng)的蜜罐配置,如果不存在專用的配置,則應(yīng)用缺省模板。確定了配置后,數(shù)據(jù)包被傳送給相應(yīng)的協(xié)議處理器。 icmp協(xié)議處理器支持大多數(shù)icmp請求。缺省時(shí),對echo請求做出反應(yīng)并給出目的地址不可達(dá)的信息。對tcp和udp來說,該結(jié)構(gòu)能為任意的服務(wù)建立連接,服務(wù)是在stdin上接受數(shù)據(jù)并把輸出發(fā)送到stdout的外部應(yīng)用。honeyd包含一個(gè)簡化的tcp狀態(tài)機(jī),完全支持三次握手(three-way handshake)的建立連接和通過fin或rst撤消連接,但是接受

8、器和擁塞窗口管理沒有完全實(shí)現(xiàn)。udp數(shù)據(jù)報(bào)直接傳到應(yīng)用,當(dāng)收到一個(gè)發(fā)往封閉端口的udp包的時(shí)候,默認(rèn)發(fā)出一個(gè)icmp端口不可達(dá)的信息。 honeyd結(jié)構(gòu)也支持連接的重定向,重定向可以是靜態(tài)的或依賴于連接四元組(源地址,源端口,目的地址,目的端口)。重定向允許我們把虛擬蜜罐上的一個(gè)服務(wù)連接請求轉(zhuǎn)遞給一個(gè)在真正的服務(wù)器上運(yùn)行的服務(wù),例如,我們可以把dns請求重指向一個(gè)域名服務(wù)器甚至可以把連接反傳給敵人。  2.3 個(gè)性化引擎 (personality engine) 黑客通常會運(yùn)用象xprobe或nmap的指紋識別工具來收集目標(biāo)系統(tǒng)的信息,為了迷惑敵人,honeyd可以模擬給定操作系統(tǒng)的

9、網(wǎng)絡(luò)堆棧行為,我們把這稱為虛擬蜜罐的個(gè)性(personality)。個(gè)性化引擎使蜜罐的網(wǎng)絡(luò)堆棧按照個(gè)性設(shè)置來改變每個(gè)外出包的協(xié)議頭,以便與被配置的操作系統(tǒng)的特征相符。 honeyd結(jié)構(gòu)應(yīng)用nmap指紋庫作為個(gè)性的tcp和ucp行為的參照,用xprobe的指紋據(jù)庫作為個(gè)性的icmp行為的參照。下面介紹怎樣應(yīng)用nmap提供的指紋信息來改變蜜罐的網(wǎng)絡(luò)堆棧特性。 fingerprint windows nt 4.0 sp 6a + hotfixes tseq(class=ri%gcd=<6%si=<40132&>290%ipid=bi|rpi%ts=u) t1(df=y%w=

10、2017%ack=s+%flags=as%ops=m) t2(resp=y%df=n%w=0%ack=s%flags=ar%ops=) t3(resp=y%df=y%w=2017%ack=s+%flags=as%ops=m) t4(df=n%w=0%ack=o%flags=r%ops=) t5(df=n%w=c00|800%ack=s+%flags=ar%ops=wnmetl) t6(df=n%w=0%ack=o%flags=r%ops=wnmetl) t7(df=n%w=0%ack=o%flags=r%ops=wnmetl) pu(resp=n|y)    &#

11、160;                            圖3 nmap指紋的例子 每個(gè)nmap指紋有一個(gè)類似于圖3中所示的格式,fingerprint符號后的字符串為個(gè)性化名字,后面的九行描述九個(gè)不同測試的結(jié)果。第一個(gè)測試是最重要的,它決定著遠(yuǎn)程操作系統(tǒng)的網(wǎng)絡(luò)堆棧怎樣為tcp syn字段產(chǎn)生初始序列號(isn),在cla

12、ss字段指明預(yù)測isn的難度,在gcd和si字段提供isn分布的更多詳細(xì)信息,同時(shí)它也決定ip報(bào)文標(biāo)識和tcp時(shí)間戳。 下七個(gè)測試確定到達(dá)開放和關(guān)閉的tcp端口的包的堆棧行為,最后的測試pu分析了對關(guān)閉的udp端口的icmp反應(yīng)包。 2.4路由拓?fù)洌╫uting topology) honeyd能夠模擬隨機(jī)的網(wǎng)絡(luò)路由拓?fù)?。通常虛擬的路由拓?fù)涫且恢陿洌?jié)點(diǎn)是數(shù)據(jù)包進(jìn)入虛擬網(wǎng)絡(luò)的入口。樹的每個(gè)內(nèi)部節(jié)點(diǎn)代表著一個(gè)路由器。每個(gè)邊代表著一個(gè)包含著時(shí)間等待和包損失等特性的連接。樹的終端節(jié)點(diǎn)與網(wǎng)絡(luò)相對應(yīng)。 當(dāng)honeyd接到包時(shí),它找到正確的入口路由樹并穿過它,從根開始直到發(fā)現(xiàn)包含包的目的ip地址的一個(gè)節(jié)

13、點(diǎn)為止,沿途的包損失和所有邊的時(shí)間等待積累起來,確定是否拋棄該包和它的傳送應(yīng)該延遲多長時(shí)間。數(shù)據(jù)包每通過一個(gè)虛擬路由器,就相應(yīng)減少的生存期ttl的值,當(dāng)ttl為零時(shí),honeyd發(fā)出包含導(dǎo)致ttl為零的路由器ip的一個(gè)icmp超時(shí)信息。 honeyd也可以把真正的系統(tǒng)與虛擬的路由拓?fù)浣Y(jié)合起來,當(dāng)結(jié)構(gòu)收一個(gè)真實(shí)系統(tǒng)的包時(shí),包沿著網(wǎng)絡(luò)拓?fù)湫凶咧钡剿l(fā)現(xiàn)直接對真正的機(jī)器所屬的網(wǎng)絡(luò)空間負(fù)責(zé)的一個(gè)虛擬路由器。當(dāng)真正的系統(tǒng)發(fā)出arp請求時(shí),結(jié)構(gòu)以相應(yīng)的虛擬路由器的arp回復(fù)來響應(yīng)。 2.5配置 在honeyd框架中,通過配置模板(template)來配置虛擬的蜜罐。配置語言是一種上下文無關(guān)文法,可以設(shè)置虛

14、擬網(wǎng)絡(luò),操作系統(tǒng)和服務(wù)。下面是一個(gè)完整的windows模板配置范例: # windows computers create windows                       #創(chuàng)建一windows操作系統(tǒng)模板 set windows personality "windows nt 4.0 server sp5-sp6"   &#

15、160;                                  #設(shè)置該模板的nmap 指紋 set windows default tcp action reset #設(shè)置缺省的tcp 動(dòng)作 set windows default udp action r

16、eset #設(shè)置缺省的udp 動(dòng)作 add windows tcp port 80 "perl scripts/iis-0.95/iisemul8.pl" #設(shè)置系統(tǒng)監(jiān)聽到80 端口,并且調(diào)用腳本scripts/iis-0.95/iisemul8.pl #處理對該端口的訪問 add windows tcp port 139 open      #打開tcp 139 端口 add windows tcp port 138 open      #打開tcp 137 端口 add windows ud

17、p port 137 open      #打開udp 137 端口 add windows udp port 135 open      #打開udp 135 端口 set windows uptime 3284460       #設(shè)置windows 系統(tǒng)啟動(dòng)時(shí)間 bind 192.168.0.11  windows       #設(shè)置該虛擬系統(tǒng)綁定的地址 3  honeyd的測試評估 我們利

18、用honeyd模擬了的一個(gè)包括五個(gè)路由器,10個(gè)虛擬蜜罐,兩個(gè)入口點(diǎn)和一個(gè)融入虛擬網(wǎng)絡(luò)的真實(shí)蜜罐機(jī)器復(fù)雜網(wǎng)絡(luò),然后用traceroute來測試去任意虛擬主機(jī)的路徑,結(jié)果顯示honeyd成功地模擬了一個(gè)根本不存在的網(wǎng)絡(luò)拓?fù)洹?為了更充分地測試honeyd結(jié)構(gòu)迷惑了nmap的能力,我們建立了一個(gè)b類網(wǎng)絡(luò),每個(gè)虛擬蜜罐配置有nmap指紋庫中一個(gè)指紋,剔除重復(fù),我們使用了600個(gè)特殊的指紋。蜜罐被配置只有開放一個(gè)端口,運(yùn)行一個(gè)web服務(wù)。然后對所有配置的ip地址,啟動(dòng)nmap來辨認(rèn)操作系統(tǒng)。結(jié)果是,對555個(gè)指紋nmap準(zhǔn)確的確認(rèn)了模擬的操作系統(tǒng),對37個(gè)指紋nmap列出包括模擬的個(gè)性在內(nèi)的多個(gè)可能選擇,nmap只有對8個(gè)指紋沒有辨認(rèn)出正確的操作系統(tǒng)。這可能是honeyd的問題也可能是由于指紋數(shù)據(jù)庫組織問題。 4  結(jié)語 honeyd通過虛擬主機(jī),網(wǎng)絡(luò)和人為配置的服務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論