隨著Internet的高速發展,個人、企業以及政府部門越來越多地依靠網絡傳遞信息,然而網絡的開放性與共享性使它正遭受著來自黑客、腳本編輯者所帶來的巨大的安全威脅,分布式拒絕服務攻擊、被控主機敏感信息的竊取,嚴重地影響了網路的正常工作,一個安全可靠的防御網絡成為現在安全領域的一個熱點。究其根源,是攻擊者與防御者之間在進行著一場不對稱的博弈,特別是信息上的不對稱,攻擊者可以利用掃描、探測等一系列技術手段全面獲取攻擊目標的信息,而防御者對他所受到的安全威脅一無所知,即使在被攻陷后還很難了解攻擊者的來源、攻擊方法和攻擊目標,蜜網技術就是為了扭轉這種不對稱局面而提出的。
1 蜜網技術原理
蜜網技術實質上仍是一種蜜罐技術,是一種對攻擊者進行欺騙的技術,通過布置一些作為誘餌的主機、網絡服務以及信息誘使攻擊者對他們進行攻擊,減少對實際系統所造成的安全威脅。但蜜網有其自身特點:首先,蜜網是由多個蜜罐以及防火墻、入侵防御系統、系統行為記錄、自動報警、輔助分析等一系列系統和工具所組成的一整套體系結構,這種體系結構創建了一個高度可控的網絡,使得安全研究人員可以控制和監視其中的所有攻擊活動,從而去了解攻擊者的攻擊工具、方法和動機。其次,蜜網是一種高交互型的用來獲取廣泛的安全信息的蜜罐,高交互意味著蜜網是用真實的系統,應用程序以及服務來與攻擊者進行交互。
蜜網體系結構具有三大關鍵需求:即數據控制、數據捕獲和數據分析。數據控制是對攻擊者在蜜網中對第三方發起的攻擊行為進行限制的機制,用以降低部署蜜網所帶來的安全風險。最大的挑戰在于對攻擊數據流進行控制而不能讓攻擊者懷疑:我們必須要給攻擊者一定的自由度,允許他們做大部分“合法”的事情,比如從網絡上下載入侵工具包等,這樣才能獲取信息,學習他們的攻擊方法,但是要拒絕所有攻擊其它機器的行為,這就需要一個自由度和安全性的權衡。數據捕獲,即監控和記錄攻擊者在蜜網內的所有行為,最大的挑戰在于要搜集盡可能多的數據,而又不被攻擊者所察覺。數據分析則是對捕獲到的攻擊數據進行整理和融合,以輔助安全專家從中分析出這些數據背后蘊涵的攻擊工具、方法、技術和動機,在分布式部署的蜜網體系中,還存在著將多個蜜網中捕獲數據進行安全地傳輸到一臺中央服務器,并進行集中化分析的分布式數據收集需求。
2 基于LINUX蜜網的防御系統的實現
本系統中使用IP分布如下:
|
本honeynet沒有故意留下了漏洞,但可以通過Apache能夠給用戶一個nobodyshell,再使用EOE防止普通用戶成為root,這樣限制了攻擊者所能做的事。在此基礎上增加策略:
(1)有主機都可以通過ssh或MYSQL連通/firewall;
(2)有主機都可以連接到honeynet這個組;
(3)honeynet允許連接到任意主機;
(4)除了以上之外,所有的通信都被攔截;
(5)所有防火墻允許通過的數據都記錄。
因此策略可以有下面四條:
|
進行日志服務器配置
日志服務器數據庫采用MYSQL,首先在MYSQL中建立snort和ssyslog的用戶并分別給他們對各自數據庫的INSERT,DELETE,USAGE,SELECT權限方法如下:
|
入侵檢測系統配置
作為一個Honeynet,有大量的數據需要手工分析,IDS在這里可以起到很大的幫助。主機型入侵檢測系統往往以系統日志、應用程序日志等作為數據源,它保護的一般是所在的系統。網絡型入侵檢測系統的數據源則是網絡上的數據包。往往將一臺主機的網卡設于混雜模式(promiscmode),監聽所有本網段內的數據包并進行判斷。一般網絡型入侵檢測系統擔負著保護整個網段的任務。作為Honeynet,從目的考慮,我們需要捕獲網絡及主機上的所有信息。這時主機IDS的必要性不是非常明顯,所以主機只要能夠阻止用戶執行shell或者成為超級用戶就可以了。網絡層使用snort作為入侵檢測的記錄工具。
主機IDS:EyeonExec如我們上面所說的,EyeonExec就是一個阻止用戶執行shell或者成為超級用戶的微型HIDS,它可以在發現這樣的企圖后報警,并且發送mail給系統管理員。
網絡IDS:Snort
把snort配置為記錄所有連接情況,HoneynetProject提供了一份snort.conf文件,在此snort一是充當了嗅探器的作用,不用再加載一個sniffer,這樣可以減輕系統負載;二是一旦snort沒有發現攻擊特征,我們還可以通過連接記錄的情況來發現入侵企圖。
配置VirtualHoneynet
虛擬Honeynet通常依靠某些模擬軟件,在一個操作系統上同時運行幾個虛擬的系統,User-Mode-Linux來實現在Linux中運行Linux的功能,創建內核通常加上“ARCH=um”,比如你用makex config,現在就需要用make xfocus ARCH= um,然后“make dep ARCH=um”、“make linux ARCH=um”,編譯完成后你會得到一個名為“linux”的可執行文件。
創建root file system文件,并以此作為UML的啟動參數。可以在一臺真實的機器上用不同的root file system來啟動UML。
虛擬系統啟動
用命令啟動虛擬系統
Linux ubd0=rootfs.rh72.pristine.bz2ubd1=swap eth0= mcast umn=10.10.10.50
以root登陸系統,密碼為空,然后對虛擬系統進行配置。同時可以將日志記錄等級設為最高。
陷阱Ssyslog
前面我們提到過將syslog更改并且將日志發送到MYSQL中,現在我們再做一次同樣的工作,只是這次我們是在虛擬的機器中這么做,日志仍然發送到真實(物理的)機器上的MYSQL數據庫中。
日志服務器配置:你也可以配置Snare將日志存放于遠程服務器上,這里可以存放在我們的真實(物理的)機器上,或者我們可以設置嚴格的ACL來管理日志,或者只允許日志以appen only形式存在。
3 防御系統的應用實例
我們所部署的防御系統中的虛擬Linux蜜罐主機被黑客所攻陷,并被用以進一步對外發起掃描和攻擊,此攻擊的整個捕獲和分析過程如下:
(1)自動告警工具發出告警郵件,顯示虛擬Linux蜜罐主機有向外HTTP端口的網絡連接。 (2)通過查看HoneyWall上的snort報警信息,發現黑客通過攻擊Linux蜜罐主機的smbd服務的漏洞攻陷主機,并獲得一個root權限的shell。
(3)進一步查看黑客攻陷蜜罐主機后的行為,發現黑客連續下載后門工具以替換系統文件如sshd和login等,同時也下載了一些批量掃描和攻擊(autorooter)工具如SCAN,TD等,并不斷地對外部主機的137端口進行掃描,由于Honeywall上的IPTables對外發出連接數進行了限制,結果黑客并沒有利用我們的蜜罐主機攻陷任何其他主機。
4 防御系統實現的主要問題的分析
在防御系統中設置蜜網的目的就是要誘人攻擊,以便了解和研究黑客所采用的技術,提升網絡防御能力。所以系統務必提供真實有效的服務,以便迷惑入侵者,而且要能對所有進出的數據能夠進行監控,以避免無法控制局面的出現。
在防御系統中我們主要針對3個方面的問題:
(1)如何誘惑入侵。為了吸引入侵者,需要構建一個具有網絡流量仿真能力的模擬網作為Honeynet,然后利用端口映射和重定向技術,將它轉向到一個Honeynet的lP地址中,對其行為進行監控。得到入侵者使用的主要技術,同時牽制他們的主要攻擊精力,保證正常網絡的安全。
(2)如何控制信息。信息控制是一種規則。必須保證一旦Honeynet被攻陷,不會出現無法控制的局面,避免對所保護網絡的安全造成危害。難點在于如何在控制住數據流量的同時又不引起入侵者的懷疑。當入侵者突破Honeynet后,他們將進行網絡連接,以便從網絡上獲取攻擊力量等,我們必須允許他們做大部分的“合法”事情。但應防止對其他系統的攻擊,可以使用多層次控制避免單點失效,同時使用人工實時監控,一旦入侵者的活躍范圍超越了受控制的范圍,馬上終止所有連接。
(3)如何實現數據捕獲。數據捕獲主要是指IDS日志和蜜網中主機的系統日志,即“多重捕獲”。對于高明入侵者在攻入系統后,會試圖更改甚至銷毀目標主機上易于暴露入侵行為的各種記錄。蜜網的“多重捕獲”措施就是在確保不被入侵者發現的前提下捕獲攻擊行為信息,IDS在數據鏈路層對蜜網中的網絡數據流進行監控!分析和抓取以便將來能夠重現攻擊行為。蜜網中主機除了使用操作系統自身提供的日志功能外,還可以利用第三方軟件加強日志功能,并且傳輸到安全級別更高的服務器上進行備份。
5 結束語
蜜網是一個很有價值的資源,通過研究運用蜜網技術深入了解已知攻擊!發現未知攻擊,進而根據攻擊深度更新完善網絡防御系統。隨著各種新的觀點和技術還在不斷出現,相信它會開辟出網絡安全主動防御領域的一個新方向,并具有廣闊的應用前景。
責任編輯 趙毅 zhaoyi#51cto.com TEL:(010)68476636-8001


