薄 楊
(安徽國防科技職業(yè)學(xué)院信息技術(shù)學(xué)院,安徽 六安 237011)
開放的互聯(lián)網(wǎng)在為個(gè)人用戶和企業(yè)用戶提供服務(wù)的同時(shí),不可避免地面臨著各種直接或間接安全威脅。各種端口攻擊、惡意代碼和垃圾郵件等攻擊形式層出不窮,這些攻擊如今更加關(guān)注用戶應(yīng)用,以用戶應(yīng)用為突破口對個(gè)人和企業(yè)網(wǎng)絡(luò)造成安全威脅[1]。對個(gè)人用戶而言,這些安全威脅可能造成系統(tǒng)崩潰、賬號(hào)泄露;對于企業(yè)用戶而言,可能造成網(wǎng)絡(luò)癱瘓、業(yè)務(wù)延遲,甚至企業(yè)核心數(shù)據(jù)泄露。
隨著各類應(yīng)用層安全問題的不斷涌現(xiàn),個(gè)人和企業(yè)逐漸意識(shí)到應(yīng)用層安全的重要性,市場上應(yīng)用層安全產(chǎn)品的研發(fā)比重不斷增加。應(yīng)用層安全防護(hù)已經(jīng)成為當(dāng)前安全防護(hù)領(lǐng)域研究的主要方向[2],基于DPI和DFI的應(yīng)用監(jiān)測技術(shù)也已成為安全領(lǐng)域的熱門技術(shù)。
DPI為深度包檢測, 該技術(shù)在對數(shù)據(jù)包頭封裝信息進(jìn)行分析的基礎(chǔ)上,結(jié)合應(yīng)用協(xié)議的特征對流量進(jìn)行檢測和控制。當(dāng)三層數(shù)據(jù)包和四層數(shù)據(jù)流經(jīng)過基于DPI技術(shù)的網(wǎng)絡(luò)設(shè)備或系統(tǒng)時(shí),DPI會(huì)分析數(shù)據(jù)內(nèi)容,并對應(yīng)用層信息進(jìn)行信息提取,以提取的內(nèi)容為依據(jù),按定義的策略對流量進(jìn)行預(yù)設(shè)的操作和管理[3]。
根據(jù)協(xié)議類型,DPI主要分為以下三類:
所有應(yīng)用都依賴一定的協(xié)議工作,協(xié)議都有其各自的數(shù)據(jù)封裝特點(diǎn),DPI可以根據(jù)協(xié)議的不同端口或序列號(hào)對數(shù)據(jù)進(jìn)行識(shí)別。
針對某些業(yè)務(wù)控制與轉(zhuǎn)發(fā)功能分離的特點(diǎn),只分析控制流協(xié)議的特征對只分析控制流協(xié)議的特征,并對應(yīng)用層網(wǎng)關(guān)進(jìn)行解析,從協(xié)議內(nèi)容中檢測和識(shí)別業(yè)務(wù)流。
對終端的行為進(jìn)行分析,檢測并判斷出正在執(zhí)行或預(yù)執(zhí)行的動(dòng)作行為特征。
DFI為動(dòng)態(tài)流檢測,與DPI對應(yīng)用層載荷進(jìn)行分析檢測,并實(shí)現(xiàn)匹配不同。DFI采用的是基于流量行為特征的應(yīng)用識(shí)別技術(shù),根據(jù)不同應(yīng)用在運(yùn)行過程中體現(xiàn)出的狀態(tài)進(jìn)行判斷。
DFI基于流量的行為特征建立特征模型,通過分析會(huì)話連接或數(shù)據(jù)流上的狀態(tài),比如數(shù)據(jù)包的大小、數(shù)據(jù)傳輸量、傳輸間隔、轉(zhuǎn)發(fā)速率等信息與特征模型進(jìn)行比較,最終實(shí)現(xiàn)對應(yīng)用類型的檢測。
由于DPI技術(shù)與DFI技術(shù)實(shí)現(xiàn)機(jī)制不同,在檢測效果和實(shí)際應(yīng)用中也各有特點(diǎn),主要表現(xiàn)在如下幾個(gè)方面:
DPI可以準(zhǔn)確識(shí)別具體的應(yīng)用,但是有時(shí)不同的應(yīng)用可能具有相似的特征,或者有些應(yīng)用特征非常不明顯,DPI可能無法進(jìn)行檢測[4];DFI無法準(zhǔn)確識(shí)別具體應(yīng)用,只能識(shí)別應(yīng)用類別,不同應(yīng)用類別的流量也可能存在相似特征,檢測過程中也可能會(huì)出現(xiàn)無法檢測的情況。
由于DPI需要對協(xié)議進(jìn)行深度分析,要逐包進(jìn)行拆包檢測,并與數(shù)據(jù)庫進(jìn)行對比,因此要求設(shè)備和系統(tǒng)性能較高,而DFI是對流量特征的檢測,僅需將流量特征與后臺(tái)流量模型比較,對設(shè)備和系統(tǒng)要求較低。
DPI技術(shù)總是需要緊跟新協(xié)議的產(chǎn)生而升級應(yīng)用數(shù)據(jù)庫,否則就不能有效識(shí)別,而基于DFI技術(shù)由于同一類型的應(yīng)用在流量特征方面不會(huì)出現(xiàn)大幅度的變化,因此不需要對流量行為模型進(jìn)行頻繁升級,維護(hù)成本較低。
結(jié)合DPI和DFI兩種檢測技術(shù)的特點(diǎn),在應(yīng)用層流量識(shí)別過程中,可采用DPI與DFI相結(jié)合的檢測方式,檢測模型分為設(shè)備狀態(tài)分析模塊、DPI檢測模塊和DFI檢測模塊。
設(shè)備狀態(tài)分析模塊對安全檢測系統(tǒng)進(jìn)行系統(tǒng)運(yùn)行狀態(tài)檢測,在該模塊中設(shè)置系統(tǒng)運(yùn)行引導(dǎo)模型,綜合分析系統(tǒng)的軟硬件開銷情況,在不同的開銷狀態(tài)下,可以將數(shù)據(jù)包或數(shù)據(jù)流分別引導(dǎo)到DPI檢測模塊或DFI檢測模塊進(jìn)行檢測。簡單的說,由于DPI和DFI對系統(tǒng)開銷的要求不同,設(shè)備狀態(tài)分析模塊可以判斷設(shè)備當(dāng)前運(yùn)行狀態(tài)的好與壞,并根據(jù)設(shè)備的實(shí)時(shí)運(yùn)行情況選擇首先激活DPI或DFI模塊進(jìn)行深度檢測[5]。
在檢測設(shè)備的軟硬件條件較好的檢測環(huán)境下檢測。當(dāng)數(shù)據(jù)包入站時(shí),首先將數(shù)據(jù)包送往DPI檢測模塊的檢測引擎,檢測引擎根據(jù)收到的數(shù)據(jù)包進(jìn)行逐層深入的協(xié)議特征分析,總結(jié)提取各層協(xié)議的特征信息,并按一定的規(guī)則對特征進(jìn)行排序和匯總。將提取到的特征信息與DPI識(shí)別模塊中的的協(xié)議識(shí)別特征庫進(jìn)行比對匹配,對匹配到特征的數(shù)據(jù)包按照匹配后的規(guī)則執(zhí)行相應(yīng)的動(dòng)作。對沒有匹配到特征的數(shù)據(jù)包,會(huì)將數(shù)據(jù)包提交給DFI檢測模塊,由DFI檢測引擎對流量進(jìn)行流特征識(shí)別,進(jìn)而判斷出該數(shù)據(jù)流的應(yīng)用類型。反之,在檢測設(shè)備的軟硬件條件較差的檢測環(huán)境下檢測。先將數(shù)據(jù)流提交給DFI檢測模塊,由DFI檢測引擎進(jìn)行檢測。對無法明確應(yīng)用的數(shù)據(jù)流再提交給DPI檢測模塊進(jìn)行檢測。
圖1 DPI+DFI深度檢測模型
該模型融合了DPI和DFI兩種深度檢測技術(shù),具體優(yōu)勢如下:
1)增加了狀態(tài)識(shí)別模塊,檢測設(shè)備的實(shí)時(shí)運(yùn)行狀態(tài),根據(jù)不同的狀態(tài)選擇不同的檢測引擎對數(shù)據(jù)進(jìn)行檢測分析。
2)避免了單一檢測方式的不足,充分考慮了DPI和DFI兩種檢測技術(shù)的特點(diǎn),有針對性地對不同的數(shù)據(jù)進(jìn)行深度檢測,能夠滿足所有檢測需求[6]。
3)在DPI檢測模塊中,通過提取和匯總協(xié)議特征信息的方式對協(xié)議進(jìn)行分析,可以提高特征識(shí)別效率,進(jìn)而提升安全防護(hù)系統(tǒng)的敏感度和可靠性。
目前網(wǎng)絡(luò)廠商都推出了自己的DPI+DFI檢測技術(shù),H3C公司的ACG行為管理設(shè)備中便采用了該技術(shù),在企業(yè)網(wǎng)網(wǎng)絡(luò)部署過程中能夠很好的基于該技術(shù)實(shí)現(xiàn)對數(shù)據(jù)流和數(shù)據(jù)包的行為審計(jì)、URL過濾和QoS等。
圖2 審計(jì)接入用戶示意圖
如圖2所示,在企業(yè)網(wǎng)中對無線接入用戶數(shù)據(jù)進(jìn)行行為審計(jì),對ACG設(shè)備配置后得到如下配置文件:
!
address 研發(fā)網(wǎng)段
ip subnet 192.168.3.0/24
!
address 財(cái)務(wù)網(wǎng)段
ip subnet 172.16.2.0/24
!
policy any any 研發(fā)網(wǎng)段 any any any any always audit 1
app-policy 1 category Search-Engine any any keyword include any accept info FilterIMLoginAction
app-policy enable 1
app-policy 2 category IM-Software any any keyword include any accept info FilterIMLoginAction
app-policy enable 2
app-policy 3 application Sina-Weibo any any keyword include any accept info FilterIMLoginAction
app-policy enable 3
app-policy 4 application Sina-Weibo-iPhone any any keyword include any accept info FilterIMLoginAction
app-policy enable 4
app-policy 5 application Sina-Weibo-Android any any keyword include any accept info FilterIMLoginAction
app-policy enable 5
website-policy malware disable
policy any any 財(cái)務(wù)網(wǎng)段 any any any any always audit 2
app-policy 1 application any any any keyword include any accept info FilterIMLoginAction
app-policy enable 1
website-policy malware disable
policy default-action permit
policy white-list enable
!
通過模擬接入用戶訪問得到如下結(jié)果:
圖3 基于深度檢測的行為審計(jì)
如圖3所示,ACG對數(shù)據(jù)進(jìn)行了正確識(shí)別,并執(zhí)行了相應(yīng)的放行操作。
基于DPI的深度檢測能夠匹配數(shù)據(jù)包封裝協(xié)議的特征信息,在檢測中需要消耗較多的系統(tǒng)資源,而基于DFI的深度檢測可以通過對鏈接建立過程和數(shù)據(jù)轉(zhuǎn)發(fā)過程中的應(yīng)用特征進(jìn)行匹配檢測,兩種檢測方式各有優(yōu)勢可以實(shí)現(xiàn)互補(bǔ)。
本文提出的基于DPI和DFI融合的深度檢測策略可以根據(jù)狀態(tài)檢測模塊判斷安全設(shè)備的實(shí)時(shí)運(yùn)轉(zhuǎn)狀態(tài),進(jìn)而選擇檢測策略。在系統(tǒng)運(yùn)行狀態(tài)較好時(shí),啟動(dòng)DPI檢測模塊對數(shù)據(jù)包進(jìn)行特征提取和檢測匹配;在系統(tǒng)運(yùn)行較差時(shí),啟動(dòng)DFI檢測模塊對數(shù)據(jù)流進(jìn)行應(yīng)用類型的檢測匹配。