宣曉帥 胡秋雨 宋洋洋 翟繼強
摘要:Honeyd是在誘騙黑客攻擊和采集信息方面應用廣泛的低交互蜜罐框架。針對Honeyd只能進行手工繁瑣配置的問題,使用Delphi可視化編程語言并借助SSH遠程登錄客戶端工具putty和pscp,設計和實現(xiàn)了一個通用的Windows圖形界面的配置程序,方便用戶完成Windows,Linux兩種平臺下Honeyd虛擬蜜罐和虛擬網(wǎng)絡的創(chuàng)建、編輯、啟動和關閉。
關鍵詞:蜜罐;Honeyd;Honeyd模板;SSH
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2019)19-56-4
0引言
蜜罐是應用于信息安全領域的信息系統(tǒng)資源,價值在于被探測、攻擊或者損害[1]。蜜罐技術可以用來主動吸引攻擊、迷惑和擾亂引攻擊者,從而保護有價值的網(wǎng)絡系統(tǒng)[2]。Honeyd是美國密歇根大學Niels Provos研發(fā)的低交互虛擬蜜罐框架,可以在一臺物理主機上模擬大量虛擬主機,通過配置一個文件為虛擬主機,定制各種服務,實現(xiàn)TCP/IP堆棧層模擬操作系統(tǒng)指紋,支持大型虛擬網(wǎng)絡拓撲和代理Proxy功能,同時,還可以實現(xiàn)連接請求轉發(fā)給其他機器。因其功能強大已經(jīng)成為低交互蜜罐的代表,應用非常廣泛[3]。
但是Honeyd只能通過手工逐行編寫配置文件實現(xiàn)虛擬蜜罐和虛擬網(wǎng)絡的配置,一旦需要配置的蜜罐數(shù)量和種類較多,手動配置的工作量就會比較大,非常繁瑣,而且容易出錯。Honeyd對配置文件沒有容錯性,只要有一個配置錯誤,Honeyd便無法運行,使用起來非常不方便。因此本文設計和實現(xiàn)一個Windows平臺上運行的Honeyd配置程序,可以方便地實現(xiàn)Windows,Linux兩種平臺下Honeyd的圖形化配置,用戶可以利用本程序構建模板、創(chuàng)建和編輯蜜罐、動態(tài)啟動和關閉蜜罐。
1系統(tǒng)設計
Honeyd配置的核心在于2個方面:蜜罐模板的定制及基于模板創(chuàng)建蜜罐和蜜罐網(wǎng)絡。本軟件的主體界面和功能設計也基于此,如圖1所示,分為模板管理及網(wǎng)絡和主機設置2個主要模塊。
1.1模板管理模塊
模板是Honeyd虛擬蜜罐的主機配置信息集合[4],只有準確地配置了模板,才能使虛擬主機更接近真實主機的特征,更具欺騙性和交互性,包括創(chuàng)建和編輯模板、刪除模板兩部分。
(1)創(chuàng)建和編輯模板
模板設置包括模板名稱、操作系統(tǒng)指紋、使用的協(xié)議和相應開放的端口,每個開放的端口可以指定虛擬腳本來模擬相應的服務,如圖2所示。
操作系統(tǒng)指紋設置一定要準確,因為Honeyd將根據(jù)具體操作系統(tǒng)的協(xié)議棧特征對在虛擬蜜罐發(fā)出的每個數(shù)據(jù)包傳進行個性化引擎處理,調整它的內容,使其看起來像產生于虛擬操作系統(tǒng)的網(wǎng)絡堆棧。本系統(tǒng)中已經(jīng)提煉了近200個常用操作系統(tǒng)和路由器等協(xié)議棧的指紋特征供用戶選擇。
設置開放的端口一定要注意和相應的操作系統(tǒng)匹配,如果配置錯誤,虛擬蜜罐將不再具有欺騙性。
(2)刪除模板
不再使用的模板可以從系統(tǒng)中刪除。
1.2網(wǎng)絡和主機設置模塊
創(chuàng)建好模板后,就可以使用現(xiàn)有模板創(chuàng)建多個虛擬蜜罐和復雜拓撲的虛擬網(wǎng)絡。
(1)創(chuàng)建虛擬主機
綁定IP地址,創(chuàng)建獨立的虛擬主機和虛擬網(wǎng)絡中的虛擬主機,如圖3所示。
(2)創(chuàng)建虛擬網(wǎng)絡
如圖4所示,可以設置各級路由器參數(shù),如IP地址、父路由、可達網(wǎng)絡、延遲時間、丟失率和帶寬等信息,并將這些路由器組合成大型網(wǎng)絡拓撲,用于增大地址空間、吸引來自外部的真實攻擊、迷惑攻擊者、消耗攻擊者的資源及保護實際網(wǎng)絡。
2通信模塊的實現(xiàn)
本系統(tǒng)使用Delphi語言開發(fā),界面交互良好,可移植性強,可以在目前所有主流Windows平臺運行。針對Windows和Linux平臺的Honeyd配置的主界面基本相同,總計由9個Delphi窗體共同完成。
當配置Windows平臺上運行的Honeyd時,因為Honeyd和本程序一般在同一臺機器上運行,所以不需要主機間的通信環(huán)節(jié),只要將配置文件正常生成,就可以直接運行Honeyd。配置Linux平臺運行的Honeyd與Windows平臺不同,Windows主機必須實現(xiàn)與Linux主機的通信傳輸。
本程序基于SSH22端口[5]實現(xiàn)文件傳輸和命令發(fā)送,借助第三方工具putty, pscp。
(1)網(wǎng)絡連接和文件傳輸
使用pscp將編輯完成的配置文件傳輸?shù)絃inux主機的相應目錄中:
3測試
測試中,本程序運行與一臺Windows 10_64位主機上,IP地址為192.168.179.6,Linux主機為Tiny_OS_For_Honeyd_10.x,IP地址為192.168. 179.129。
(1)模板和主機測試
首先創(chuàng)建好一個Windows_xp模板,然后使用已經(jīng)創(chuàng)建好的Windows_xp模板創(chuàng)建一個Honeyd虛擬主機,綁定IP地址192.168.179.10,創(chuàng)建完畢后可以在[檢查修改配置]中查看生成的配置文件,如圖5所示。
運行Honeyd,如圖6所示,對虛擬蜜罐進行ping操作可以看到echo reply回應,連接蜜罐的虛擬開放端口FTP 21,可以看到虛擬蜜罐在利用指定的FTP腳本文件和用戶進行交互。
(2)虛擬網(wǎng)絡測試
創(chuàng)建一個虛擬網(wǎng)絡,包括2個虛擬路由器,IP地址為10.0.0.100和10.0.1.100,分別對應C類子網(wǎng)10.0.1.0/24和10.0.2.0/24,每個網(wǎng)段內均勻綁定一些Windows_xp模板的虛擬蜜罐,設定路由器模板為Router_Cisco。
使用tracert命令對虛擬網(wǎng)絡和虛擬路由器測試,如圖7所示,可以清晰地看到所創(chuàng)建的虛擬網(wǎng)絡的路由拓撲。
4結束語
本文針對Honeyd只能進行手工繁瑣配置的問題,使用Delphi語言設計和實現(xiàn)了一個通用的Windows圖形程序。測試結果表明,可以方便地實現(xiàn)Windows, Linux兩種平臺下Honeyd虛擬蜜罐和虛擬網(wǎng)絡的創(chuàng)建、配置、編輯、啟動和關閉,更好地發(fā)揮Honeyd蜜罐框架的作用。
參考文獻
[1]史偉奇,程杰仁,唐湘滟,等.蜜罐技術及其應用綜述[J].計算機工程與設計,2008,29(22):5725-5728.
[2] Zhai Jiqiang, Wang Keqi. Research on Applications of Honeypot in Campus Network Security[C]//Proceedings of 2012 International Conference on Measurement, Information and Control, MIC 2012,2012:26-32.
[3] Niels Provos.A Virtual Honeypot Framework[C]// Proceedings of the 13th USENIX Security Symposium 2004,2004:1-14.
[4] Jun Wang, Jing Zeng. Construction of Large-Scale Honeynet Based on Honeyd[J].Procedia Engineering,2011,15: 3260-3264.
[5]閆梅.基于Linux平臺下SSH安全遠程登錄的研究.網(wǎng)絡安全技術與應用[J].2018(9):17-19.