李圣良 王城華
九江職業(yè)技術(shù)學(xué)院 江西 332007
面對越來越嚴峻的網(wǎng)絡(luò)安全問題,出現(xiàn)了種類繁多的安全產(chǎn)品,如防火墻、IDS、蜜罐、漏洞掃描軟件等,它們各自功能獨立,僅僅在不同的側(cè)面保護著網(wǎng)絡(luò)系統(tǒng)的安全,不能從整體上防范網(wǎng)絡(luò)攻擊。面對各種威脅,尤其是分布式、協(xié)作式攻擊,只有各安全組件實現(xiàn)有效聯(lián)動,才能進行充分而有效的防護。
基于蜜網(wǎng)的主動協(xié)同防御系統(tǒng)結(jié)構(gòu)如圖1所示,主要由防火墻、入侵檢測系統(tǒng)、日志服務(wù)器、蜜網(wǎng)網(wǎng)關(guān)和蜜罐主機組成。
(1) 外部防火墻安裝在網(wǎng)絡(luò)以外主要作用是把外部的入侵行為隔離,最大限度的保障校園網(wǎng)絡(luò)安全,對于外部流入的數(shù)據(jù)嚴格控制。
(2) 內(nèi)部防火墻安裝在安全系統(tǒng)內(nèi),為蜜網(wǎng)系統(tǒng)提供數(shù)據(jù)控制功能,任何流入系統(tǒng)的數(shù)據(jù)都被認為是可疑的。內(nèi)部防火墻實行寬進嚴出,寬進即對流入數(shù)據(jù)控制程度較低,這樣是為了給非法入侵者一定的自由,給非法入侵者造成假象來迷惑非法入侵者,以便獲取更多的非法入侵者的信息;嚴出即對于從系統(tǒng)流出的數(shù)據(jù)進行嚴格的數(shù)據(jù)控制,以防止非法入侵者利用該系統(tǒng)為跳板危害其他系統(tǒng),當(dāng)然嚴出也勢必要允許必要的數(shù)據(jù)流出,否則容易被非法入侵者識破。
(3) 入侵檢測系統(tǒng)(IDS)用于實時監(jiān)視系統(tǒng)的運行情況,對出入的數(shù)據(jù)包檢測,發(fā)現(xiàn)是異常就拋棄或者訂正這個數(shù)據(jù)包。
(4) 蜜罐網(wǎng)絡(luò)的各個主機是由VMware虛擬出來的,在這些客戶機系統(tǒng)上提供各種真實服務(wù)和一些虛假信息,并在每個主機上運行數(shù)據(jù)捕獲工具Sebek客戶端,將非法入侵者在主機上的活動進行記錄,并向日志服務(wù)器提交所記錄數(shù)據(jù)信息。
(5) 日志服務(wù)器主要是收集各種日志數(shù)據(jù)以供分析使用,所收集的日志主要是防火墻日志、入侵檢測日志,蜜罐主機記錄日志等。
(6) 蜜網(wǎng)網(wǎng)關(guān):在虛擬蜜網(wǎng)網(wǎng)關(guān)中,有 3個網(wǎng)絡(luò)接口。Eth0 是面向業(yè)務(wù)網(wǎng)絡(luò)的外部接口;Eth1是面向多虛擬蜜罐系統(tǒng)的內(nèi)部接口,Eth0和Eth1在網(wǎng)橋模式,均無IP地址,數(shù)據(jù)包經(jīng)過網(wǎng)關(guān)時 TTL值也不會變化, 也不會提供自身的MAC地址,因此蜜網(wǎng)網(wǎng)關(guān)對于攻擊者是透明不可見的,入侵者不會識別出其所攻擊的網(wǎng)絡(luò)是一個蜜網(wǎng)系統(tǒng);Eth2是用作遠程管理,具有IP地址,作秘密通道,可把出入虛擬蜜罐系統(tǒng)的數(shù)據(jù)包及蜜網(wǎng)系統(tǒng)日志轉(zhuǎn)發(fā)給一臺作遠程管理主機。
圖1 主動協(xié)同防御系統(tǒng)結(jié)構(gòu)圖
蜜網(wǎng)有三個核心模塊,分別為數(shù)據(jù)控制、數(shù)據(jù)捕獲和數(shù)據(jù)分析。網(wǎng)絡(luò)管理員通過數(shù)據(jù)控制確保黑客不能利用蜜網(wǎng)危害第三方網(wǎng)絡(luò)的安全,通過數(shù)據(jù)捕獲技術(shù)檢測并審計黑客攻擊的所有行為數(shù)據(jù),通過數(shù)據(jù)分析從捕獲的數(shù)據(jù)中分析黑客的具體活動、使用工具及其意圖。系統(tǒng)各模塊之間的關(guān)系如圖2所示。
圖2 各模塊之間的關(guān)系
(1) 數(shù)據(jù)控制模塊
數(shù)據(jù)控制的主要目的就是阻止攻擊者以蜜網(wǎng)為跳板去攻擊業(yè)務(wù)網(wǎng)絡(luò),以防 蜜網(wǎng)成為攻擊者的幫兇。系統(tǒng)對于任何進入蜜網(wǎng)的行為都允許,但對于從蜜網(wǎng)發(fā)出的掃描、探測、連接等活動都實施嚴密監(jiān)控。系統(tǒng)在蜜網(wǎng)網(wǎng)關(guān)上使用多層次的機制加以數(shù)據(jù)控制,具體手段主要包括對外連接數(shù)限制和攻擊包抑制(圖3)。
圖3 數(shù)據(jù)控制機制模型
對外連接數(shù)限制是由構(gòu)架在蜜網(wǎng)網(wǎng)關(guān)上的 Iptables來實現(xiàn)的。Iptables可以有效限制單位時間內(nèi)通過其向外發(fā)起的連接數(shù)。一旦攻擊者攻破某個蜜罐并試圖向外發(fā)起拒絕服務(wù)、掃描等攻擊,Iptables將丟棄超過閥值上限的外出連接的數(shù)據(jù)包,并將其記錄到日志,阻斷其后繼連接,同時發(fā)出警告通知網(wǎng)絡(luò)安全人員。
攻擊包抑制是阻止異常行為的數(shù)據(jù)包通過蜜網(wǎng)網(wǎng)關(guān)向外發(fā)出連接,用以控制攻擊者利用少量連接即能奏效的攻擊。為適應(yīng)蜜網(wǎng)網(wǎng)關(guān)的二層橋接模式并利用 Iptables獲取數(shù)據(jù)包,系統(tǒng)利用 Snort_inline 工具實現(xiàn)該功能。從蜜網(wǎng)向外發(fā)出的所有數(shù)據(jù)包都要經(jīng)過 Snort_inline 檢測,只有不包含攻擊特征的數(shù)據(jù)包才能通行。因 Snort_inline 不具備數(shù)據(jù)包路由能力,所以系統(tǒng)利用Iptables 獲取數(shù)據(jù)包,并將數(shù)據(jù)包發(fā)送給Snort_inline進行檢測。Snort_inline對數(shù)據(jù)包的處理方式包括直接丟棄、修改、回拒等方式。
(2) 數(shù)據(jù)捕獲模塊
設(shè)計蜜網(wǎng)的主要目標是捕獲攻擊信息,為了全面的獲取攻擊信息,系統(tǒng)從網(wǎng)絡(luò)連接、網(wǎng)絡(luò)行為及系統(tǒng)行為三層面上分別進行了數(shù)據(jù)捕獲(圖4)。
網(wǎng)絡(luò)連接方面,系統(tǒng)利用Iptables 捕獲進出蜜網(wǎng)網(wǎng)關(guān)連接行為,并記錄攻擊者攻陷蜜網(wǎng)后向外發(fā)起的網(wǎng)絡(luò)連接以及超過連接數(shù)的報警。對于 Iptables我們可以通過設(shè)置rc.firewall 腳本來記錄所有向內(nèi)和向外的連接,并將日志信息保存到/var/log/messages中,我們也可通過修改/etc/syslog.conf的配置來重新指定一個日志的輸出,以便于重新記錄網(wǎng)絡(luò)攻擊信息。
腳本rc.firewall中對外出連接的限制如下所示:
### Set the connection outbound limits for different protocols
SCALE="day"
TCPRATE="20"
UDPRE="20"
ICMPRATE="50"
OTHERRATE="20"
以上腳本代碼說明了IPTables對各類外出連接數(shù)目的限制,如TCP連接數(shù)每天最多20個。
網(wǎng)絡(luò)行為層面上,要記錄每一個進出蜜網(wǎng)網(wǎng)關(guān)的數(shù)據(jù)包。系統(tǒng)通過配置一個標準的Snort實現(xiàn)該功能,使用Snort捕獲所有 IP通信,并將其轉(zhuǎn)儲到日志文件 tcpdump中以待分析。配置 Snort 時將嗅探器與蜜網(wǎng)網(wǎng)關(guān)內(nèi)部網(wǎng)口 eth1 綁定,這樣只會捕獲進出蜜網(wǎng)的通信。此外,我們還使用了p0f工具,p0f工具是一個監(jiān)控器,它是基于pcap的,主要功能是實現(xiàn)操作系統(tǒng)的指紋識別。通過它們判斷源主機和目標主機的操作系統(tǒng)類型。
在系統(tǒng)行為方面,主要是借助Sebek軟件完成。Sebek 軟件分為客戶端和服務(wù)器端,可用來記錄攻擊者讀取的數(shù)據(jù)、擊鍵和運行程序的情況,可用來分析攻擊者的活動,再現(xiàn)攻擊者的行為。Sebek 客戶端被安裝到蜜罐主機上,被用于蜜罐捕獲數(shù)據(jù)并發(fā)送到網(wǎng)關(guān)的Sebek服務(wù)器端的數(shù)據(jù)庫中。網(wǎng)絡(luò)安全人員可利用 Sebek Web來瀏覽、查詢、分析這些數(shù)據(jù)。
圖4 數(shù)據(jù)捕獲機制模型
(3) 數(shù)據(jù)分析模塊
蜜網(wǎng)數(shù)據(jù)分析的數(shù)據(jù)來源于系統(tǒng)的“四重數(shù)據(jù)捕獲”,即來自防火墻、IDS、異常檢測和蜜罐的日志。數(shù)據(jù)分析工作的目的是發(fā)現(xiàn)未知攻擊并提取攻擊的特征串作為IDS的攻擊特征碼和防火墻的規(guī)則。
在本系統(tǒng)中,利用Walleye軟件和Swatch工具,可非常方便的實現(xiàn)這一功能。Walleye軟件提供了一個基Web的蜜網(wǎng)數(shù)據(jù)分析接口,它被安裝在蜜網(wǎng)網(wǎng)關(guān)上,可處理多個數(shù)據(jù)源,并精確高效分析蜜網(wǎng)所收集的數(shù)據(jù),如Sebek 捕獲的數(shù)據(jù)、IDS報警信息、p0f系統(tǒng)識別結(jié)果、Argus的分析結(jié)果等,以便安全人員快速識別蜜網(wǎng)中所發(fā)生的入侵事件。Swatch工具被用來監(jiān)視日志文件,利用它的自動報警功能,一旦入侵者攻擊蜜罐主機,攻擊標識信息符合配置文件的相關(guān)特征時,Swatch自動發(fā)送E-mail報警通知,并向外發(fā)送連接的目標 IP、端口號以及連接時間等關(guān)鍵信息,安全技術(shù)人員通過Walleye的輔助分析功能,即可獲知入侵者的攻擊方法和動機。
(1) 測試數(shù)據(jù)控制功能
首先測試蜜網(wǎng)對于進出連接的控制功能。從系統(tǒng)中發(fā)起一個連接到蜜網(wǎng)中任意一個虛擬蜜罐的FTP連接,然后查看/var/log/message日志文件。接下來測試向外連接數(shù)的控制,在一臺虛擬蜜罐上初始化多個連接到測試系統(tǒng),查看/var/log/message日志文件,當(dāng)向外連接數(shù)超過限制時,日志中會出現(xiàn)“Drop Tcp”。
(2) 測試數(shù)據(jù)捕獲功能
Snort可以使用工具集附帶的測試規(guī)則進行測試。在虛擬蜜罐上發(fā)起一次向外的Telnet連接,Snort會捕獲到這次外出連接并進行丟棄,然后記錄下此次的連接。
接下來查看Sebek的工作情況,運行命令sbk_extract –i eth0 –p 1101|sbk_ks_log.pl,該命令運行在Sebek的服務(wù)器端網(wǎng)關(guān)上。任意地選擇一臺蜜罐主機輸入命令,在網(wǎng)關(guān)上就可以立即看到輸出。
蜜網(wǎng)技術(shù)已經(jīng)發(fā)展成為主動防御、誘捕攻擊者的一種非常有效的、實用的、成熟的方法。它通過精心布置的誘騙環(huán)境來吸引黑客,捕獲黑客的攻擊工具、攻擊方法和攻擊目的,它最大的價值在于能夠發(fā)現(xiàn)網(wǎng)絡(luò)中新的攻擊方式,進而更新完善網(wǎng)絡(luò)的防御體系。
[1]鄭艷君.分布式蜜罐技術(shù)分析及系統(tǒng)設(shè)計研究[J].制造業(yè)自動化.2012.
[2]馬彥武,董淑福等.一種網(wǎng)絡(luò)安全聯(lián)動防御模型的設(shè)計與實現(xiàn)[J].火力與指揮控制.2011.
[3]趙會峰,李麗娟.一種基于蜜網(wǎng)的網(wǎng)絡(luò)安全聯(lián)動模型[J].計算機系統(tǒng)應(yīng)用.2011.
[4]黃芳,劉淵.虛擬蜜網(wǎng)系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息.2010.