曾曉光, 鄭成輝, 賴(lài)海光, 趙 成
(解放軍理工大學(xué)指揮自動(dòng)化學(xué)院 江蘇南京210007)
基于Honeyd的產(chǎn)品型蜜罐系統(tǒng)
曾曉光, 鄭成輝, 賴(lài)海光, 趙 成
(解放軍理工大學(xué)指揮自動(dòng)化學(xué)院 江蘇南京210007)
在研究型蜜罐技術(shù)的基礎(chǔ)上,分析了產(chǎn)品型蜜罐所應(yīng)具備的基本特性,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Honeyd的產(chǎn)品型蜜罐系統(tǒng).系統(tǒng)應(yīng)用了公鑰加密、圖形化操作等技術(shù),具有較高的安全性和實(shí)用性.
蜜罐;蜜網(wǎng);產(chǎn)品型蜜罐;Honeyd
網(wǎng)絡(luò)與信息安全技術(shù)的核心問(wèn)題是對(duì)計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)進(jìn)行有效的防護(hù).安全可以分為預(yù)防、檢測(cè)、反應(yīng)3個(gè)層次[1].很多安全技術(shù)只在其中某一個(gè)層次上起作用,例如防火墻主要起預(yù)防的作用.蜜罐是少數(shù)可以應(yīng)用于所有上述3個(gè)層次的安全技術(shù)之一,在網(wǎng)絡(luò)安全防范體系中具有獨(dú)特的作用,具有很高的應(yīng)用價(jià)值.
現(xiàn)有的相關(guān)研究工作和成果大都面向研究型蜜罐.研究型蜜罐的設(shè)計(jì)初衷主要是面向安全研究人員和機(jī)構(gòu),缺少一些必要的特性,無(wú)法像防火墻等技術(shù)一樣作為產(chǎn)品直接應(yīng)用.本文在研究型蜜罐技術(shù)的基礎(chǔ)上,對(duì)產(chǎn)品型蜜罐所必須滿(mǎn)足的特性進(jìn)行分析,提出產(chǎn)品型蜜罐的概念,設(shè)計(jì)并實(shí)現(xiàn)了一種具備產(chǎn)品特征的蜜罐系統(tǒng).系統(tǒng)利用了公鑰、密鑰協(xié)商等相關(guān)技術(shù),具有較高的安全性和實(shí)用性.
蜜罐是一種安全資源,它的價(jià)值就在于可被探測(cè)、攻擊和攻陷[2].蜜罐可以是一臺(tái)單獨(dú)的計(jì)算機(jī),或是由多臺(tái)主機(jī)和網(wǎng)絡(luò)設(shè)備構(gòu)成的整個(gè)子網(wǎng),后者有時(shí)也稱(chēng)為蜜網(wǎng).相對(duì)于其他網(wǎng)絡(luò)安全技術(shù)而言,蜜罐技術(shù)主要有2大優(yōu)勢(shì):一是數(shù)據(jù)收集.蜜罐主機(jī)并不是一個(gè)運(yùn)營(yíng)系統(tǒng),因此在蜜罐上采集到的信息很可能是攻擊者所產(chǎn)生的,從而很好地解決了區(qū)分惡意行為和正常行為的問(wèn)題.二是資源占用.安全資源總是有限的,因此在數(shù)據(jù)量過(guò)大時(shí),很多安全工具都存在無(wú)法及時(shí)處理的問(wèn)題.而對(duì)于蜜罐來(lái)說(shuō),接收到的基本上都是異常流量,對(duì)資源的要求很低.
隨著蜜罐技術(shù)的發(fā)展,蜜罐的功能也不再局限于信息的采集,也可用于攻擊的預(yù)防、檢測(cè)和反應(yīng).例如, LaBreaTarpit蜜罐[3]可以用于延緩自動(dòng)化的TCP攻擊(典型的如蠕蟲(chóng)).
按照部署目的可以將蜜罐分為研究型和產(chǎn)品型2類(lèi)[4].研究型蜜罐的使用者是安全研究人員和機(jī)構(gòu),目的是搜集攻擊者的信息,從而改進(jìn)防御手段和方法;產(chǎn)品型蜜罐則面向普通用戶(hù),目的則是部署于實(shí)際業(yè)務(wù)網(wǎng)絡(luò)中,用于降低安全風(fēng)險(xiǎn)、保護(hù)信息資產(chǎn).由于目的不同,導(dǎo)致2種蜜罐在很多方面都具有不同的特點(diǎn).
對(duì)于研究型蜜罐,為了引誘到攻擊者、不被攻擊者識(shí)破及得到有用的信息,研究型蜜罐從部署到信息采集和信息分析的整個(gè)過(guò)程都需要經(jīng)過(guò)精心設(shè)計(jì)、人工干預(yù).因此研究型蜜罐的使用者往往具有很高的專(zhuān)業(yè)素質(zhì),能夠熟練使用各種安全系統(tǒng)、工具、手段,并且往往會(huì)自行開(kāi)發(fā)一些特殊的工具.而對(duì)于產(chǎn)品型蜜罐,則希望它能像防護(hù)墻一樣即裝即用,盡量不需人工干預(yù),實(shí)現(xiàn)傻瓜化、智能化.
研究型蜜罐往往需要使用高交互蜜罐.因?yàn)楦呓换ッ酃蘧哂姓鎸?shí)的操作系統(tǒng),攻擊者難以根據(jù)系統(tǒng)的行為識(shí)破其偽裝,但同時(shí)也帶來(lái)了被攻擊者利用作為攻擊跳板的風(fēng)險(xiǎn).而產(chǎn)品型蜜罐則多采用低交換蜜罐,它們只模擬系統(tǒng)或服務(wù)的某些方面的行為,因此較容易被識(shí)破,但由于其并不具有表現(xiàn)出來(lái)的漏洞,難以被攻陷,因此不會(huì)為系統(tǒng)帶來(lái)額外的風(fēng)險(xiǎn).
總體而言,產(chǎn)品型蜜罐是要在整個(gè)安全防護(hù)體系中發(fā)揮一定的作用,而研究型蜜罐解決的是前沿的、未知的安全問(wèn)題.
近年來(lái),研究型蜜罐領(lǐng)域取得了長(zhǎng)足的進(jìn)展,出現(xiàn)了很多成熟的工具和系統(tǒng),其中大部分是開(kāi)源的.典型的有用于在網(wǎng)絡(luò)層虛擬網(wǎng)絡(luò)及主機(jī)的Honeyd[5]、用于收集惡意軟件的Nepenthes[6]、用于采集攻擊者行為的Sebek[7]等.作為研究型蜜罐,這些工具和系統(tǒng)在功能上已經(jīng)比較全面,但是要成為供一般用戶(hù)所使用的產(chǎn)品,還應(yīng)具備以下特性:
1)部署的簡(jiǎn)單性.研究型蜜罐一般安裝部署較復(fù)雜.大部分研究型蜜罐都是基于Linux,并且只提供源代碼,用戶(hù)往往需要下載源代碼,然后編譯安裝.有時(shí)蜜罐代碼本身又依賴(lài)于很多其他的庫(kù),則整個(gè)過(guò)程更加復(fù)雜.雖然有些Linux發(fā)行包(distribution)已經(jīng)提供了安裝包,但仍然存在安裝包版本更新不及時(shí),大量部署較麻煩的問(wèn)題.
2)配置的方便性.蜜罐系統(tǒng)運(yùn)行往往都有很多的參數(shù)需要配置.在研究型蜜罐系統(tǒng)中,這些配置信息基本上都是以文本的形式存儲(chǔ)在一個(gè)或多個(gè)配置文件中,需要使用者手工編輯這些配置文件.當(dāng)配置數(shù)據(jù)量很大時(shí),這個(gè)工作很耗時(shí),同時(shí)也很容易出錯(cuò).另外,不同的蜜罐系統(tǒng)使用的不同的配置文件格式也大大增加了用戶(hù)的工作量.特別是當(dāng)需要混合使用不同的工具和系統(tǒng)時(shí),配置的復(fù)雜性大大增加,往往超出了一般網(wǎng)絡(luò)管理人員的能力.
3)支持遠(yuǎn)程管理.研究型蜜罐一般沒(méi)有遠(yuǎn)程管理接口,操作員通過(guò)SSH遠(yuǎn)程登錄來(lái)實(shí)現(xiàn)對(duì)蜜罐系統(tǒng)的管理.普通用戶(hù)顯然無(wú)法做到這一點(diǎn),要求產(chǎn)品型蜜罐必須提供遠(yuǎn)程管理接口,并且需要采取有效的安全手段來(lái)保證不會(huì)被攻擊者所利用,成為新的安全隱患.
4)可進(jìn)行模塊管理、更新和升級(jí).安全技術(shù)是不斷發(fā)展的,每天都會(huì)發(fā)現(xiàn)新的漏洞和新的攻擊方法.為了適應(yīng)攻擊方法的不斷變化,蜜罐系統(tǒng)往往是模塊化的,通過(guò)模塊的增加和更新來(lái)實(shí)現(xiàn)新的功能,模擬新的系統(tǒng)特征,應(yīng)對(duì)新的攻擊手段.研究型蜜罐一般通過(guò)不同的腳本程序來(lái)模擬各種服務(wù)器軟件,通過(guò)增加、修改這些腳本程序就可以實(shí)現(xiàn)對(duì)新的服務(wù)器的模擬或者是模擬新的系統(tǒng)漏洞,研究人員可自行維護(hù)、管理和開(kāi)發(fā)腳本.一般用戶(hù)不可能去編寫(xiě)這些模塊/腳本,這就要求產(chǎn)品型蜜罐系統(tǒng)升級(jí)只能由開(kāi)發(fā)者進(jìn)行,用戶(hù)要做的就是像升級(jí)殺毒軟件一樣,通過(guò)簡(jiǎn)單的操作就可進(jìn)行定期的更新和升級(jí).
5)強(qiáng)大的日志分析和處理能力.所有的蜜罐系統(tǒng)都會(huì)在運(yùn)行中產(chǎn)生大量的日志信息.對(duì)于大部分研究型蜜罐系統(tǒng),這些日志信息只是簡(jiǎn)單地寫(xiě)入日志文件或者通過(guò)網(wǎng)絡(luò)發(fā)送給目的主機(jī).而對(duì)于日志的分析處理(如過(guò)濾、查詢(xún)、分析、報(bào)警等)工作,則由用戶(hù)通過(guò)其他的日志分析軟件或者自行開(kāi)發(fā)程序完成.這種方式的優(yōu)點(diǎn)是具有高度的靈活性,使用者可以任意選擇適合的分析工具和手段.但這對(duì)普通使用者來(lái)說(shuō)反而是種負(fù)擔(dān),他們需要的是一個(gè)完整的即裝即用的系統(tǒng),具有完善的日志分析和處理能力.
6)支持與其他系統(tǒng)的集成.產(chǎn)品型蜜罐作為防御體系的一部分,需要與其他安全產(chǎn)品(如防火墻、IDS)部署在一起.這就要求產(chǎn)品型蜜罐不僅僅作為一個(gè)系統(tǒng)獨(dú)立運(yùn)行和管理,還需要與其他系統(tǒng)集成,更好地發(fā)揮協(xié)同效應(yīng).另外,采用不同技術(shù)路線(xiàn)的蜜罐系統(tǒng)之間也需要集成,來(lái)形成一個(gè)綜合性的蜜罐系統(tǒng).這些對(duì)于研究型蜜罐來(lái)說(shuō)并不是重點(diǎn),研究還不夠深入.
在研究開(kāi)源蜜罐系統(tǒng)Honeyd的基礎(chǔ)之上,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基本滿(mǎn)足產(chǎn)品型蜜罐特性的系統(tǒng).系統(tǒng)的主要特性包括:①可以對(duì)分布的多個(gè)蜜罐主機(jī)進(jìn)行遠(yuǎn)程管理和配置;②可以對(duì)蜜罐進(jìn)行實(shí)時(shí)監(jiān)控;③可以對(duì)蜜罐主機(jī)上的腳本程序進(jìn)行統(tǒng)一的維護(hù)管理,包括腳本程序的安裝、卸載、升級(jí)等;④蜜罐的配置、管理和監(jiān)控都采用可視化的方式.
系統(tǒng)主要由蜜罐主機(jī)、管理監(jiān)控子系統(tǒng)兩部分構(gòu)成,系統(tǒng)結(jié)構(gòu)見(jiàn)圖1.
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 System architecture
蜜罐主機(jī)以Honeyd為核心,完成低交互蜜罐的模擬工作.為了實(shí)現(xiàn)對(duì)蜜罐主機(jī)的遠(yuǎn)程管理,蜜罐主機(jī)還包括一個(gè)管控代理進(jìn)程.管控代理接收并執(zhí)行來(lái)自管理監(jiān)控子系統(tǒng)的管理操作,同時(shí)它還將Honeyd產(chǎn)生的事件日志發(fā)送給管理監(jiān)控子系統(tǒng).
管理監(jiān)控子系統(tǒng)負(fù)責(zé)對(duì)系統(tǒng)內(nèi)各個(gè)蜜罐主機(jī)的配置、管理和監(jiān)控,主要由蜜罐管理配置工具、蜜罐實(shí)時(shí)監(jiān)控程序兩部分構(gòu)成;另外還包括用于存放所有配置信息的蜜罐配置庫(kù)和存放事件信息的運(yùn)行日志庫(kù).
4.2.1 對(duì)蜜罐的遠(yuǎn)程管理和配置 對(duì)蜜罐的遠(yuǎn)程管理和配置使用C/S模式,位于蜜罐主機(jī)上的管控代理作為服務(wù)器端,蜜罐管理配置工具作為客戶(hù)端.一個(gè)蜜罐管理配置工具可以連接并管理多個(gè)蜜罐主機(jī).
兩者之間的通信采用SOAP協(xié)議,通信安全主要通過(guò)防火墻和SSL加密技術(shù)保證.蜜罐主機(jī)上的防火墻配置為只允許來(lái)自指定管理終端的連接,客戶(hù)端與服務(wù)器之間的所有通信都通過(guò)SSL傳輸.使用這2種措施后,攻擊者即使控制了網(wǎng)絡(luò)中其他主機(jī),也無(wú)法對(duì)蜜罐主機(jī)進(jìn)行控制.
Honeyd用于虛擬一個(gè)低交互的蜜網(wǎng),蜜網(wǎng)的配置信息包括蜜網(wǎng)的拓?fù)?、蜜網(wǎng)中每臺(tái)虛擬主機(jī)的操作系統(tǒng)特征、虛擬主機(jī)上模擬的網(wǎng)絡(luò)服務(wù).Honeyd以文本文件的方式存儲(chǔ)這些信息.當(dāng)蜜網(wǎng)規(guī)模較大時(shí),由人工編寫(xiě)這樣一個(gè)文件工作量很大,而且很容易出錯(cuò).為了給用戶(hù)提供直觀的操作界面,系統(tǒng)實(shí)現(xiàn)了一個(gè)圖形化的蜜網(wǎng)設(shè)計(jì)工具,蜜網(wǎng)的拓?fù)洹⒅鳈C(jī)配置等以直觀的方式呈現(xiàn)給用戶(hù),此工具同時(shí)實(shí)現(xiàn)對(duì)用戶(hù)配制的正確性、合理性和檢查.
4.2.2 對(duì)蜜罐的實(shí)時(shí)監(jiān)控 管控代理截獲Honeyd的日志數(shù)據(jù),解析后發(fā)送給蜜網(wǎng)實(shí)時(shí)監(jiān)控程序.實(shí)時(shí)監(jiān)控程序一方面在GU I上實(shí)時(shí)顯示攻擊信息,同時(shí)將所有信息寫(xiě)入日志庫(kù),以便日后的查詢(xún)與分析.實(shí)時(shí)監(jiān)控程序與蜜網(wǎng)配置工具共享配置庫(kù),因此能夠以用戶(hù)設(shè)計(jì)的蜜網(wǎng)結(jié)構(gòu)來(lái)展示整個(gè)蜜罐受探測(cè)和攻擊的情況.
在蜜網(wǎng)遭受探測(cè)或攻擊過(guò)程中,Honeyd會(huì)產(chǎn)生大量事件日志,特別是網(wǎng)絡(luò)包級(jí)事件幾乎對(duì)于每個(gè)收到的IP包都會(huì)產(chǎn)生一個(gè),如果將所有事件不做處理都轉(zhuǎn)發(fā)給管理監(jiān)控子系統(tǒng)將消耗較多的網(wǎng)絡(luò)和處理資源,從而可能影響系統(tǒng)和實(shí)際網(wǎng)絡(luò)的運(yùn)行.管控代理內(nèi)部包含一個(gè)日志過(guò)濾模塊,根據(jù)管理人員設(shè)定的規(guī)則來(lái)對(duì)事件信息進(jìn)行過(guò)濾.
4.2.3 腳本程序的維護(hù)管理 Honeyd使用腳本程序來(lái)模擬虛擬主機(jī)上運(yùn)行的各種網(wǎng)絡(luò)服務(wù).在配置文件中,通過(guò)add命令指定虛擬主機(jī)的端口所對(duì)應(yīng)的腳本程序.例如,命令add vhost1 p roto tcp port 22"./ scrip ts/ssh-emul.py",表示對(duì)于虛擬主機(jī)vhost1,目的端口為22的TCP連接,使用/scrip ts/ssh-em ul.py腳本處理.
對(duì)于腳本程序的組織、存放和管理,Honeyd并沒(méi)有任何規(guī)定,完全由管理人員手工維護(hù),從而導(dǎo)致容易發(fā)生各種配置錯(cuò)誤的情況,例如,將模擬IISW EB服務(wù)的腳本錯(cuò)誤地配置到操作系統(tǒng)為L(zhǎng)inux的虛擬主機(jī).
為了實(shí)施對(duì)腳本程序的管理,系統(tǒng)為腳本程序維護(hù)一組元信息,其中主要包括:
1)名稱(chēng),此名稱(chēng)用于在系統(tǒng)內(nèi)唯一標(biāo)識(shí)一個(gè)腳本程序;
2)模擬的服務(wù)類(lèi)型,如WEB、FTP等;
3)模擬的軟件名稱(chēng)和版本,如IIS 6.0、Apache 2.0;
4)支持的操作系統(tǒng),如Window s、Linux等.
配置工具根據(jù)這些元信息來(lái)對(duì)用戶(hù)配置進(jìn)行檢查,防止錯(cuò)誤的配置.同時(shí)管理配置工具還可以將新的腳本程序分發(fā)到各個(gè)蜜罐主機(jī),或者對(duì)已有的腳本程序進(jìn)行升級(jí).
本文比較了研究型和產(chǎn)品型蜜罐的區(qū)別,分析并提出了產(chǎn)品型蜜罐所應(yīng)具備的特性,設(shè)計(jì)了一個(gè)基于Honeyd的產(chǎn)品型蜜罐系統(tǒng),通過(guò)應(yīng)用公鑰加密、圖形化操作等技術(shù),使得系統(tǒng)具有較高的安全性和實(shí)用性.下一步考慮在系統(tǒng)中采用多樣的蜜罐技術(shù),完善數(shù)據(jù)分析處理,并實(shí)現(xiàn)與IDS的集成.
[1] Schneier B.Secrets&Lies:Digital Security in a Networked World[M].New Yo rk:John Wiley&Sons,2000.
[2] Spitzner L.The value of honeypots[EB/OL].[2010-03-20].http://www.net-security.org/dl/review s/spitznerch04.pdf.
[3] Liston T.LaBrea:sticky honeypot and IDS[EB/OL].[2010-03-20].http://labrea.sourceforge.net/labrea-info.htm l.
[4] Spitzner L.Honeypo ts,definitions and value of honeypots[EB/OL].[2010-03-20].http://www.enteract.com/~lspitz/honeypot.htm l.
[5] Provos N,Holz T.Virtual Honeypots:from Botnet Tracking to Intrusion Detection[M].San Francisco:Addison-Wesley,2007.
[6] Nepenthes Developers.Nepenthes readme[EB/OL].[2010-04-15].http://nepenthes.carnivo re.it.
[7] Sebek Project M em bers.Sebek documentation[EB/OL].[2010-04-15].http://www.honeynet.o rg/p roject/sebek.
[8] 楊宏宇,謝麗霞.網(wǎng)絡(luò)入侵誘騙技術(shù):蜜罐系統(tǒng)的應(yīng)用[J].計(jì)算機(jī)工程,2006,32(13):176-181.
[9] 馮朝輝.Honeynet技術(shù)研究與實(shí)例配置[J].計(jì)算機(jī)工程,2007,33(5):132-134.
A Honeyd Based on the Production Honeypot
ZENG Xiao-guang, ZHENG Cheng-hui, LA IHai-guang, ZHAO Chen
(Institute of Comm and A utom ation,PLA University of Science and Technology,N anjing 210007,China)
Based on the technology of the research honeypot the necessary features of p roduction honeypot are analyzed.A p roduction honeypot based on Honeyd is designed and imp lemented. The system emp loys public key cryp tography and visualization technology,and has good security and usability.
honeypot;honeynet;p roduction honeypo t;Honeyd
TP 393.08
A
1671-6841(2010)03-0063-04
2010-03-01
曾曉光(1977-),男,講師,碩士,主要從事計(jì)算機(jī)軟件及網(wǎng)絡(luò)安全研究,E-mail:xgzeng@gmail.com;通訊聯(lián)系人:鄭成輝(1977 -),男,講師,碩士,主要從事網(wǎng)絡(luò)安全研究,E-mail:chh.zheng@163.com.