◆鄒亞君 呂沂倫 何天晴
(曲阜師范大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院 山東 273100)
自互聯(lián)網(wǎng)進(jìn)入大眾視野以來,網(wǎng)絡(luò)安全已進(jìn)入發(fā)展快車道,傳統(tǒng)的防火墻策略已經(jīng)無法滿足人們對網(wǎng)絡(luò)安全的要求。入侵檢測技術(shù)是一種有效策略,但是在這條道路上還面臨著挑戰(zhàn)。因此必須對入侵檢測技術(shù)有全方位多角度的了解,才能更好的應(yīng)用于網(wǎng)絡(luò)安全管理,為人民解決網(wǎng)絡(luò)安全隱患,在網(wǎng)絡(luò)安全防護(hù)市場中發(fā)揮關(guān)鍵性的作用。
入侵檢測是對用戶上網(wǎng)行為實時監(jiān)測和安全管理的一種手段,是對網(wǎng)絡(luò)防火墻的加強(qiáng)。它提供了用于發(fā)現(xiàn)非法行為和惡意入侵跡象的一種檢測方法。入侵檢測系統(tǒng)是一種硬件和軟件交叉結(jié)合的檢測設(shè)備,能夠?qū)θ肭中袨榘l(fā)出入侵警報。
(1)根據(jù)入侵?jǐn)?shù)據(jù)源的不同可以細(xì)分為基于主機(jī)的入侵檢測和基于網(wǎng)絡(luò)的入侵檢測。前者主要功能是監(jiān)測主機(jī)內(nèi)部行為,監(jiān)視主機(jī)系統(tǒng)的異常操作或運行狀態(tài);后者主要功能是以網(wǎng)絡(luò)數(shù)據(jù)包為數(shù)據(jù)源,分析數(shù)據(jù)包的特征。
(2)根據(jù)對網(wǎng)絡(luò)信息源分析方法的不同又可以分為兩種:基于誤用的入侵檢測和基于異常的入侵檢測。
圖1 入侵檢測的分類
基于主機(jī)的入侵檢測系統(tǒng)(Host-based Intrusion Detection System,HIDS)是一種能夠關(guān)注計算機(jī)系統(tǒng)內(nèi)部狀態(tài),對審計日志記錄進(jìn)行分析的一種入侵檢測機(jī)制。
HIDS 具有更高的辨識度,對特殊主機(jī)關(guān)注性較強(qiáng),可以檢測到行為特征不明顯的入侵。HIDS 針對不同的操作系統(tǒng)具有不同的操作,適用于加密與交換環(huán)境,并且HIDS 的成本低,性能也不會受到網(wǎng)絡(luò)流量的影響,具有普適性。但是HIDS 也具有以下缺點:實時性較差,不能及時對入侵行為做出反應(yīng);只能檢測到局部數(shù)據(jù)包,入侵檢測范圍不夠全面;利用HIDS 會導(dǎo)致主機(jī)資源被占用,并且具有較差的隱蔽性和主動性,不能在沒有用戶的參與下對攻擊行為展開調(diào)查。
基于網(wǎng)絡(luò)的入侵檢測系統(tǒng)(Network-based Intrusion Detection System,NIDS)是一種能夠?qū)W(wǎng)段數(shù)據(jù)包內(nèi)容進(jìn)行分析,實時監(jiān)聽網(wǎng)段流量的入侵檢測機(jī)制,當(dāng)某一數(shù)據(jù)包與內(nèi)置規(guī)則相匹配時,則發(fā)出入侵警報或者自動切斷網(wǎng)絡(luò)連接。
NIDS 會對整個網(wǎng)段的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行檢測,而不僅局限于一臺主機(jī),NIDS 與HIDS 相比實時性較好,可以及時對一般入侵行為做出反應(yīng),同時具有良好的隱蔽性,不易被發(fā)現(xiàn)也不需要任何特殊的審計和登錄管理機(jī)制,配置好網(wǎng)站的接口即可。而且NIDS 不占用主機(jī)資源,能夠節(jié)省空間。但是NIDS 還具有以下缺點,處理范圍并不全面,雖然可以檢測一般入侵行為,但是不能有效檢測到帶有偽裝的攻擊行為,當(dāng)主機(jī)要實現(xiàn)監(jiān)聽功能時,NIDS 會增加沖突的可能性,導(dǎo)致監(jiān)聽效果變差。此外,NIDS 規(guī)則的更新總是慢于攻擊手段的出現(xiàn),即使用戶可以自定義規(guī)則,但這也為入侵者提供了方便,入侵者可以故意規(guī)避已有規(guī)則,從而使攻擊行為不被NIDS 發(fā)現(xiàn)。
NIDS 能夠管理網(wǎng)絡(luò)引擎,用戶角色以及數(shù)據(jù)庫,對數(shù)據(jù)進(jìn)行收集,將網(wǎng)卡設(shè)為混雜模式來抓取網(wǎng)段中的流量數(shù)據(jù)包,在檢測到攻擊入侵時能及時對FTP、DNS、HTTP 等事件進(jìn)行分析并做出響應(yīng)。
NIDS 發(fā)現(xiàn)入侵攻擊行為主要有以下三個特征:端口特征,即對目的IP 地址的端口號進(jìn)行檢查,如有一些非法程序的端口號出現(xiàn)則可判定為入侵行為。串特征看似是普通的字符串,實則為危險信號,代表攻擊,某些字符串的含義為不經(jīng)過身份認(rèn)證就可以使用該主機(jī),危害非常大;數(shù)據(jù)包頭特征即數(shù)據(jù)包的碼位含有非法組合,具有代表性的就是WinNuke 攻擊,通過TCP/IP 協(xié)議傳輸緊急數(shù)據(jù)包,當(dāng)主機(jī)收到此數(shù)據(jù)包就會死機(jī)或者藍(lán)屏。
Snort 的三種模式。嗅探器:其主要用途是探測網(wǎng)絡(luò)數(shù)據(jù)包,并將其顯示在界面上,常用命令snort -dev。網(wǎng)絡(luò)入侵檢測系統(tǒng):對網(wǎng)絡(luò)數(shù)據(jù)流協(xié)議進(jìn)行分析,并與自定義規(guī)則相比較,對有入侵特征的行為采取相應(yīng)措施。數(shù)據(jù)包記錄器:將數(shù)據(jù)包打包存儲到主機(jī),常用命令snort -b。
Snort 的四大組成模塊。數(shù)據(jù)包嗅探模塊:監(jiān)聽網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包,并進(jìn)行協(xié)議解析。預(yù)處理模塊:對傳入的數(shù)據(jù)包進(jìn)行整合,利用注冊,初始化和調(diào)用等插件進(jìn)行端口掃描等操作。檢測模塊:數(shù)據(jù)包被發(fā)送到此核心模塊,檢測引擎根據(jù)用戶自己設(shè)置的規(guī)則,對該數(shù)據(jù)包內(nèi)容進(jìn)行檢測和匹配,當(dāng)用戶發(fā)現(xiàn)數(shù)據(jù)包的內(nèi)容與規(guī)則中content 的字符串相匹配時,就發(fā)出警報。報警/日志模塊:當(dāng)數(shù)據(jù)包與檢測模塊中的某條規(guī)則相匹配,則會觸發(fā)報警,報警信息被記錄到日志文件或者數(shù)據(jù)庫中。
Snort 規(guī)則由規(guī)則頭和規(guī)則體兩部分組成。規(guī)則頭又由四部分組成:協(xié)議、源IP 地址和目的IP 地址、規(guī)則動作、源端口信息和目的端口信息。規(guī)則體可以在規(guī)則頭的基礎(chǔ)上進(jìn)一步對數(shù)據(jù)包進(jìn)行分析,包含報警信息和需要檢查的包的具體部分。
規(guī)則一:
alert any any -> any any[2000;2021](msg:””;content:””)
解釋:“alert”表示規(guī)則動作為報警,any 代表任意,“->”表示發(fā)送方向,因為端口號之間用分號連接,則目的端口為2000—2021,如果是冒號則是獨立的兩個數(shù)值,括號里的內(nèi)容是規(guī)則體,msg 對應(yīng)的是報警信息,content 對應(yīng)的是匹配的字符串。
(1)規(guī)則動作
規(guī)則動作規(guī)定了Snort 在發(fā)現(xiàn)匹配的數(shù)據(jù)包時應(yīng)該作何反應(yīng)。Snort 預(yù)置的規(guī)則動作有五種:log 是按照自定義格式對數(shù)據(jù)包進(jìn)行記錄。activate 是當(dāng)數(shù)據(jù)包與規(guī)則相匹配時,會生成警報并啟動相關(guān)的dynamic 類型的規(guī)則。pass 是跳過對當(dāng)前數(shù)據(jù)包的分析,繼續(xù)對下一個數(shù)據(jù)包進(jìn)行分析。alert 是按照自定義格式對包進(jìn)行記錄并發(fā)出警報。dynamic 是等待activate 規(guī)則激活,激活后類似于log。
(2)協(xié)議
當(dāng)前Snort 分析的IP 協(xié)議有四種分別是TCP,UDP,ICMP 和IP。
(3)IP 地址
規(guī)則中會給定規(guī)則的IP 地址和端口信息,any 代表任意(任意IP 地址和任意端口號),地址由數(shù)字型IP 地址和CIDR 所表示。在這個區(qū)域內(nèi)的所有IP 地址都對應(yīng)使用此規(guī)則。此部分可能會用到“!”否定運算符,表示除給定的IP 地址外對其他的流都會報警?!?11”表示端口映射器,想要測試主機(jī)必須先開放111 端口。
規(guī)則二:
alert tcp !192.168.15.0/24 any -> 192.168.15.0/24 111(content:””;msg:””)
(4)端口號
any 可以表示任何端口,靜態(tài)端口號表示單獨的一個端口號。例如ftp 端口號為21,telnet 端口號為23,http 端口號為80,smtp 端口號為25 等。
(5)方向操作符
“->”表示規(guī)則所施加的流的方向。方向操作符左邊的IP 地址和端口號是源主機(jī),方向操作符右邊的IP 地址和端口號是目的主機(jī);“<>”雙向操作符表示IP 地址和端口號又作為源又作為目的主機(jī),記錄數(shù)據(jù)的雙向傳輸。
規(guī)則三:
log 192.168.15.0/24 any <> 192.168.15.0/24 23
圖2 數(shù)據(jù)包部分解析示例
圖3 TCP 數(shù)據(jù)包部分內(nèi)容示例
面對著如今防火墻產(chǎn)品充斥著市場的現(xiàn)狀,入侵檢測系統(tǒng)作為防火墻的加強(qiáng)手段有著強(qiáng)勁的上升勢頭,但是入侵檢測系統(tǒng)還有許多問題亟待解決,一方面是虛假警報率和漏報率過高,究其原因還是匹配技術(shù)與檢測技術(shù)不精確,這還有待加強(qiáng)改善;另一方面是檢測速度太慢無法跟上當(dāng)前大數(shù)據(jù)時代越來越快的網(wǎng)絡(luò)增長速度,和越來越復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的步伐。目前大多數(shù)的入侵檢測系統(tǒng)在檢測質(zhì)量和數(shù)據(jù)負(fù)荷量方面不能兼得??梢娙肭謾z測技術(shù)還未成熟,仍然是一個具有研究潛力的課題。
網(wǎng)絡(luò)安全技術(shù)是一個復(fù)雜的課題,而入侵檢測是保證網(wǎng)絡(luò)信息安全的一個必要手段,是網(wǎng)絡(luò)安全中新興的有效技術(shù)。本文針對入侵檢測技術(shù)在信息源上的分類,分別進(jìn)行了簡要的敘述,并且提到了Snort入侵檢測技術(shù),但是Snort 沒有圖形界面,總體來說比較抽象。入侵檢測技術(shù)與防火墻技術(shù)的結(jié)合,將會廣泛應(yīng)用于安全防護(hù)技術(shù)當(dāng)中。如何進(jìn)一步提高入侵檢測力度,更好迎接兩大方面的挑戰(zhàn),保障網(wǎng)絡(luò)信息安全,是以后入侵檢測方面需要著重研究的新方向。