朱平哲
(三門峽職業(yè)技術(shù)學(xué)院 信息傳媒學(xué)院,河南 三門峽 472000)
信息安全[1,2]業(yè)已成為信息和通信技術(shù)領(lǐng)域的熱點問題。近年來,網(wǎng)絡(luò)安全威脅的數(shù)量不斷增加,而現(xiàn)有的數(shù)據(jù)傳輸保護工具由于基于線性反應(yīng)邏輯,無法提供可靠的網(wǎng)絡(luò)安全服務(wù),例如Internet中被廣泛使用的邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol, BGP),該協(xié)議既不包含保護路由數(shù)據(jù)完整性和可靠性的機制,也不提供數(shù)據(jù)交換中涉及的身份驗證,而缺少這種保護手段必將導(dǎo)致BGP協(xié)議的敏感性,致使傳輸數(shù)據(jù)的保密性遭到破壞或拒絕服務(wù)(Denial of Service, DoS)攻擊的風(fēng)險[3,4]。因此,網(wǎng)絡(luò)資源消耗殆盡、過載和其他故障均可成為遭受上述攻擊的因素,局域網(wǎng)(Local Area Networks, LAN)安全控制算法的開發(fā)和基于其的入侵檢測[5,6]和防護系統(tǒng)(Intrusion Detection and Prevention System, IDS/IPS)模塊的實現(xiàn)成為一項亟需完成的任務(wù),而使用非標準的信息系統(tǒng)保護方法可以消除現(xiàn)有方法產(chǎn)生的故障,從而顯著提高企業(yè)網(wǎng)絡(luò)的安全性[7]。
基于此,本文提出一種新方法,擬通過懸掛模擬、提供虛假信息以及實現(xiàn)攻擊者信息流隱藏重定向的方式,以保護信息系統(tǒng)免受主動和被動流量分析工具的影響。該方法的主要目的是實現(xiàn)一個入侵檢測和防護系統(tǒng)模塊,從而偽造系統(tǒng)參數(shù)及其對外部干擾的響應(yīng)。該方法包含一系列任務(wù),例如針對現(xiàn)有網(wǎng)絡(luò)威脅及其實現(xiàn)方法的研究,針對LAN的保護手段,以及開發(fā)相應(yīng)模塊進行系統(tǒng)對入侵企圖響應(yīng)的偽造,使用該模塊實現(xiàn)集成局域網(wǎng)安全控制系統(tǒng),并測試系統(tǒng)的性能。
為了獲取網(wǎng)絡(luò)信息并對潛在攻擊目標進行定義,攻擊者可以使用各種漏洞檢查方法,包括被動和主動流量分析機制,即:嗅探、掃描和探測[8]。嗅探用于監(jiān)聽網(wǎng)絡(luò),其無論數(shù)據(jù)包的目的地,通過接受所有傳輸數(shù)據(jù)包的專門程序而進行;掃描的目的是收集有關(guān)連接到網(wǎng)絡(luò)的計算機的信息,并識別其正在運行的服務(wù);探測是一種基于模擬攻擊的主動脆弱性分析技術(shù),是根據(jù)初步掃描過程中獲得的信息而進行的。這些過程可以獲取信息系統(tǒng)的漏洞,并確定可能的攻擊序列。
本文所提出的方法可以通過偽造攻擊者信息以實現(xiàn)信息系統(tǒng)和資源免受上述方法攻擊的目的。該方法是已開發(fā)的LAN安全控制算法的基礎(chǔ),包括使用非標準方法應(yīng)對網(wǎng)絡(luò)威脅,例如修改系統(tǒng)參數(shù)、掛起模擬和攻擊者數(shù)據(jù)報隱藏重定向等,以便進一步對入侵者加以識別。
算法框圖如圖1所示。
安全系統(tǒng)執(zhí)行的操作順序取決于該系統(tǒng)中已識別出可疑活動的組件:安全信息和事件管理系統(tǒng)(Security Information and Event Management System, SIEM)或IDS/IPS。根據(jù)提出的算法,會產(chǎn)生關(guān)于所使用的服務(wù)和操作系統(tǒng)的錯誤信息。若已識別出潛在的安全威脅,則惡意流量將被重定向。因此,可以創(chuàng)建對連接掛起的模擬,使得攻擊者花費更多的時間和計算資源。該算法的一大特點是能夠通過洋蔥路由器(The Onion Router, Tor)覆蓋網(wǎng)絡(luò)實現(xiàn)所有類型的響應(yīng)操作,包括到攻擊者主機的連接跟蹤、響應(yīng)掃描和探測以確保匿名性。通過覆蓋網(wǎng)絡(luò)的信息流重定向可以避免啟動此活動的主機被識別。然而,需要注意的是,該種措施在部分國家是違法的,因此在具體使用中其是可選的。
圖1 算法流程圖
本文算法的一個重要特征在于連接跟蹤,可以通過將訪問它的IP地址與代理服務(wù)器和VPN服務(wù)的已知IP地址進行關(guān)聯(lián),以識別匿名連接嘗試。此外,使用python編寫的腳本可以測試來自Tor exit節(jié)點的連接嘗試。
由于本文算法可以及時收集、分析和關(guān)聯(lián)網(wǎng)絡(luò)事件、過濾傳入、傳出和傳輸流量并記錄現(xiàn)有的網(wǎng)絡(luò)威脅,因此顯著提高了LAN的安全級別?;谠撍惴?,本文還開發(fā)了一個IDS/IPS系統(tǒng)模塊,該模塊將被集成到局域網(wǎng)安全控制系統(tǒng)中。
基于LAN安全控制算法可以構(gòu)建入侵檢測和防護系統(tǒng)模塊,該模塊將被引入到復(fù)雜的安全系統(tǒng)中,該系統(tǒng)具有多層C/S架構(gòu),允許高度的靈活性、可擴展性和性能。在比較研究過程中,選用Linux CentOS 6.5作為服務(wù)器操作系統(tǒng)以保證可靠性、容錯性和安全性,此外,還配備有其他若干組件:
(1) 入侵檢測和防護系統(tǒng)Bro;
(2) 基于Netfilter的集成防火墻;
(3) 作為日志系統(tǒng)的Rsyslog服務(wù)器;
(4) SIEM系統(tǒng);
(5) 對網(wǎng)絡(luò)攻擊者的響應(yīng)系統(tǒng)。
這些軟件產(chǎn)品均為開源產(chǎn)品,且由于突出的性能而被作為組件。防護系統(tǒng)的實施方案如圖2所示。
圖2 防護系統(tǒng)執(zhí)行流程
IDS/IPS使用不同的方法以保障事件分析的安全,其中代表性的方法有基于異常的檢測方法、基于行為的檢測方法、基于簽名的檢測方法,以及自相似性的識別方法等。然而,上述每一種方法均有一定的局限性,無法獨立使用。例如,基于異常的方法在檢測過程中提供針對攻擊的詳細信息,但在使用加密手段和覆蓋技術(shù)時無法獲取明確的結(jié)果。由于采用了嚴格定義的簽名,誤用檢測器的應(yīng)用不允許識別復(fù)雜的分布式攻擊,因此該方法僅適用于檢測已知類型的攻擊[9-11]。監(jiān)測和分析事件的最佳方法是將所描述的方法與智能自適應(yīng)方法加以結(jié)合。
Bro是1998年問世的一種網(wǎng)絡(luò)IDS/IPS,它結(jié)合了多種方法用于確定攻擊類型。該種IDS/IPS綜合采用了基于特征的檢測和基于異常的檢測兩種方案。此外,Bro允許定義用于檢測惡意流量的自定義安全策略。該系統(tǒng)由多個交互模塊組成,主要包括包捕獲引擎、事件引擎和策略腳本解釋器。包捕獲引擎使用libcap庫讀取網(wǎng)絡(luò)流量,然后將接收到的包流發(fā)送到事件引擎以生成主網(wǎng)絡(luò)活動數(shù)據(jù)。此外,腳本解釋器按照FIFO順序為發(fā)生的每個事件注冊處理程序。之后,與處理程序?qū)?yīng)的腳本將確定檢測惡意活動所需的操作,以及檢測惡意活動時使用的規(guī)則。
為了完全覆蓋整個局域網(wǎng)并監(jiān)視內(nèi)部威脅,有必要在網(wǎng)絡(luò)的每個部分放置IDS/IPS傳感器。對于每個傳感器,建議在交換機上選擇端口,然后使用端口鏡像功能從其他端口鏡像流量。此外,來自傳感器連接端口的流量需要重定向到IDS/IPS系統(tǒng)進行分析。
本文提出的系統(tǒng)使用了一個基于Netfilter的集成防火墻,它包含一個IPtables包過濾器和一個patch-o-matic (POM)腳本以及一個conntrack連接跟蹤程序。目前,POM是一個基于Linux的防火墻功能的擴展性術(shù)語,因此該系統(tǒng)采用了Xtables插件,而不必對Linux內(nèi)核進行更改。FirewallD中也有類似的擴展,它取代了CentOS 7和更高版本中的IPtables。需要注意的是,拒絕使用FirewallD不會對所提出的系統(tǒng)產(chǎn)生不利影響,因為IPtables的功能和能力允許對傳入、傳出和傳輸流量進行同樣定性的過濾。
IPtables包過濾器是內(nèi)置在Linux內(nèi)核中的Netfilter防火墻的一部分,它允許根據(jù)預(yù)先定義的規(guī)則進行流量過濾。IPtables體系結(jié)構(gòu)包括三個通用術(shù)語:鏈、表和規(guī)則。鏈可以是基本的類型(默認情況下創(chuàng)建的PREROUTING, INPUT, FORWARD,OUTPUT和POSTROUTING),也可以是用戶定義的鏈。PREROUTING是一個設(shè)計用于初始處理傳入數(shù)據(jù)包的鏈;INPUT處理發(fā)往此主機的傳入數(shù)據(jù)包;FORWARD處理通過防火墻的所有數(shù)據(jù)包;OUTPUT處理出站數(shù)據(jù)包;POSTROUTING提供出站數(shù)據(jù)包的最終處理。對于鏈的獨立創(chuàng)建、配置或銷毀,提供了用戶空間實用工具iptables。
考慮中的鏈包含以下標準表:raw, mangle, nat和filter。raw表用于在數(shù)據(jù)包發(fā)送到連接跟蹤程序之前傳遞數(shù)據(jù)包。它可以通過標記為“notrack”來指定不需要由狀態(tài)檢測機制處理的數(shù)據(jù)包。此表包含在PREROUTING鏈和OUTPUT鏈中。mangle表用于修改IP數(shù)據(jù)包的頭,例如服務(wù)類型和生存時間,并且包含在所有基本鏈中。Nat是執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, NAT)所需的表,包含目標網(wǎng)絡(luò)地址轉(zhuǎn)換DNAT、源網(wǎng)絡(luò)地址轉(zhuǎn)換SNAT等。只有鏈中的第一個數(shù)據(jù)包通過NAT表;地址轉(zhuǎn)換或屏蔽將自動應(yīng)用于其余的數(shù)據(jù)包。NAT存在于PREROUTING, OUTPUT和POSTROUTING鏈中。
數(shù)據(jù)包到達防火墻后進入網(wǎng)絡(luò)設(shè)備并通過一些內(nèi)核檢查。接下來,IP數(shù)據(jù)報通過PREROUTING鏈,并根據(jù)用途傳遞到FORWARD或INPUT鏈。通過INPUT鏈后,包被傳送到本地應(yīng)用程序,如果需要,將形成響應(yīng)包并發(fā)送到OUTPUT鏈。通過OUTPUT鏈后,該數(shù)據(jù)包將被發(fā)送到POSTROUTING鏈。
conntrack狀態(tài)檢測機制是一個Netfilter組件,它根據(jù)數(shù)據(jù)包間的連接對其進行分類。該模塊的功能包括跟蹤單個連接和已連接的連接狀態(tài)。
傳輸?shù)陌梢员环峙渌姆N狀態(tài):新的、相關(guān)的、已建立的和無效的。新狀態(tài)表示數(shù)據(jù)包屬于新連接。如果連接已經(jīng)存在,則設(shè)置為已建立狀態(tài);要獲得此狀態(tài),網(wǎng)絡(luò)主機傳輸數(shù)據(jù)包并從另一個主機接收響應(yīng)。屬于子連接(已建立狀態(tài))的包被標記為相關(guān),而那些無法明確標識的包將接收無效狀態(tài)。
為了管理conntrack模塊,提供了conntrack工具包,其中包括一個conntrack工具,用于跟蹤新連接的建立和監(jiān)控對現(xiàn)有連接的更改。它還允許編輯連接表和過濾輸出。此外,conntrack工具包括conntrackd守護進程,可使狀態(tài)表與其他節(jié)點同步。
使用連接狀態(tài)檢測機制,可以創(chuàng)建可靠的規(guī)則集,并對流量執(zhí)行狀態(tài)過濾,通過使用“保持狀態(tài)”選項,可以在不搜索規(guī)則集的情況下進行管理。
擴展IPtables功能需要安裝額外的模塊以應(yīng)對網(wǎng)絡(luò)威脅。Xtables插件與先前的補丁不同,由于不需要重新構(gòu)建Linux內(nèi)核和IPtables,因此安裝和維護更為簡單。
本文提出的系統(tǒng)使用了三個Xtables插件工具:tarpit, delude和chaos。tarpit工具用于為攻擊者創(chuàng)建陷阱,打開傳入的TCP連接后,TCP窗口大小設(shè)置為零,這會阻止攻擊者正確關(guān)閉連接,直到超時結(jié)束。這些操作會模擬連接掛起,并導(dǎo)致攻擊者花費時間和計算資源,而不會對受保護的系統(tǒng)產(chǎn)生不良影響。delude工具用于模擬開放端口,響應(yīng)通過發(fā)送SYN數(shù)據(jù)包(序列號)建立連接的請求,發(fā)送SYN/ACK數(shù)據(jù)包(確認號),從而模擬接收連接的開放端口,響應(yīng)其他數(shù)據(jù)包,發(fā)送RST數(shù)據(jù)包(重置)以終止連接。該種欺騙工具的應(yīng)用通過誤導(dǎo)攻擊者能夠有效抵消端口掃描。chaos工具執(zhí)行以下操作之一:tarpit、delude、reject(重置連接并發(fā)送節(jié)點不可用的通知)和drop(重置連接而不發(fā)送節(jié)點不可用的通知),并以指定的概率執(zhí)行所有新的TCP連接。
系統(tǒng)事件注冊是通過使用一個集中式的Rsyslog服務(wù)器加以實現(xiàn)的,該服務(wù)器將來自不同網(wǎng)絡(luò)設(shè)備的事件重定向到該服務(wù)器。Rsyslog的主要配置文件是rsyslog.conf,它是由一系列模塊、配置指令、模板和規(guī)則集所組成。其中,模塊可以劃分為若干個功能組,包括負責(zé)接收來自不同來源消息的輸入模塊、用于寫入消息的輸出模塊、解析器模塊、字符串生成器模塊和消息修改模塊;配置指令定義Rsyslogd守護進程的常規(guī)參數(shù),例如模塊加載($ModLoad)或隊列的最大尺寸($MainMessageQueueSize);模板允許定義輸出消息的格式并使用動態(tài)日志文件名,模板是在規(guī)則中使用前加以設(shè)置的;規(guī)則由選擇器和一系列操作所構(gòu)成,并用制表符或空格分隔。選擇器是作為facility.priority格式的記錄。設(shè)備可以表示為 authpriv、cron、守護進程、kern、lpr、mail、news、syslog、user、uucp和 local0-local7。優(yōu)先級可以設(shè)置為emerg、alert、crit、err、warn、notice、info和debug。在記錄每條消息前,將對照選擇器檢查每條消息。消息適用于與選擇器中指定設(shè)備相同的設(shè)備,優(yōu)先級等于或高于指定的優(yōu)先級。如果建立了匹配,則執(zhí)行規(guī)則中指定的操作;Rsyslog允許使用變量值作為選擇器,該選擇器提供基于Rainerscript語言的事件篩選器和基于消息屬性的篩選器。Rainerscript語言的基礎(chǔ)是“if then else”結(jié)構(gòu)。
因此,在消息通過某個輸入模塊到達Rsyslog系統(tǒng)后,它將通過對規(guī)則中指定的選擇器的檢查。如果與選擇器相匹配,在執(zhí)行操作之前,將使用適當?shù)哪0鍖ο⑦M行轉(zhuǎn)換。如果未指定模板,則應(yīng)用全局參數(shù)或默認模板中指示的模板。應(yīng)用規(guī)則定義的操作后,消息將發(fā)送到指定的位置。
安全信息和事件管理系統(tǒng)(SIEM)是網(wǎng)絡(luò)安全控制系統(tǒng)中IDS/IPS的一項輔助性工具,無法有效應(yīng)對滲透網(wǎng)絡(luò)和其他類型的網(wǎng)絡(luò)威脅。這些系統(tǒng)對來自不同來源的事件進行分析和關(guān)聯(lián),并允許根據(jù)累積的統(tǒng)計信息識別復(fù)雜的分布式攻擊。本文提出的系統(tǒng)中采用Prelude OSS作為SIEM系統(tǒng),該系統(tǒng)具有寫入日志的源靈活性、可伸縮性和連接性。
Prelude的體系結(jié)構(gòu)包括一個管理器、一個日志監(jiān)控代理(Log Monitoring Lackey, LML)、存儲系統(tǒng)處理事件的數(shù)據(jù)庫以及接口子系統(tǒng)等。管理器是系統(tǒng)的主要組件,它接受來自LML代理和外部系統(tǒng)的規(guī)范化事件,并將接收到的信息寫入數(shù)據(jù)庫。安全事件管理代理負責(zé)接收來自不同系統(tǒng)的日志,并將其轉(zhuǎn)換為單個標準視圖(規(guī)范化)。相關(guān)模塊根據(jù)系統(tǒng)管理員編譯的規(guī)則集將到達管理器的事件關(guān)聯(lián)起來。由于python腳本與此模塊的連接,系統(tǒng)管理員可以描述任何相關(guān)規(guī)則。
事件通過SNMP陷阱發(fā)送到Prelude系統(tǒng)。為了處理來自源端的數(shù)據(jù),本系統(tǒng)采用入侵檢測消息交換格式。Prelude系統(tǒng)功能示意圖如圖3所示。
圖3 Prelude系統(tǒng)工作流程圖
(1) IDS/IPS檢測到攻擊并發(fā)送SNMP陷阱;
(2) 將SNMP陷阱傳輸?shù)较到y(tǒng)日志;
(3) Rsyslogd將接收到的消息寫入文件;
(4) 安全事件管理代理規(guī)范化日志,并將所需值映射到標準IDMEF字段;
(5) 將規(guī)范化事件傳遞給管理器,管理器將事件寫入數(shù)據(jù)庫,之后顯示該事件;
(6) 從IDS/IPS接收到的事件也可以發(fā)送到相關(guān)模塊。
在本文系統(tǒng)中,Prelude OSS系統(tǒng)從Rsyslog服務(wù)器和Bro系統(tǒng)收集信息。Prelude提供識別違反網(wǎng)絡(luò)安全策略并創(chuàng)建事件報告的可能性。如果檢測到可疑活動,Prelude將會把入侵者的信息發(fā)送到IDS/IPS。
本文提出了一種新的方法,該方法可以保護信息系統(tǒng)免受主動和被動流量分析工具的攻擊,并基于所設(shè)計的算法對IDS/IPS模塊的工作進行了描述。本文所提出的解決方案涉及企業(yè)網(wǎng)絡(luò)信息安全的非標準方法,這些方法可以防止針對安全系統(tǒng)響應(yīng)的預(yù)測,從而可以讓攻擊者花費更多的時間和計算資源來準確分析系統(tǒng)的漏洞。這些結(jié)果可以通過模擬連接掛起、提供被攻擊系統(tǒng)的錯誤信息以及執(zhí)行攻擊者信息流的隱藏重定向加以實現(xiàn)。此外,本文開發(fā)的系統(tǒng)可以保護網(wǎng)絡(luò)免受常見網(wǎng)絡(luò)威脅或以前未知的網(wǎng)絡(luò)攻擊。本文所提出的系統(tǒng)模塊可以通過執(zhí)行一系列響應(yīng)操作來主動保護信息資源,這些操作允許識別攻擊者并強制其停止攻擊,結(jié)合保護數(shù)據(jù)傳輸過程的已知方法,顯著減少數(shù)據(jù)截取和節(jié)點從可用性狀態(tài)移除的威脅。