李娟, 崔甲, 施蕾
(中國信息安全測評中心,北京 100085)
中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)第43次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截至2018年12月,我國網(wǎng)民規(guī)模為8.29億,互聯(lián)網(wǎng)普及率達(dá)59.6%. 而Web服務(wù)平臺憑借其便捷性、可擴(kuò)展性和成本低廉等優(yōu)勢,在關(guān)鍵信息基礎(chǔ)設(shè)施的Web應(yīng)用上得到了快速發(fā)展. 因此,在政府、金融、電信、教育、醫(yī)療等[1]關(guān)鍵信息基礎(chǔ)設(shè)施的信息門戶和業(yè)務(wù)平臺上,Web應(yīng)用已經(jīng)得到了廣泛的普及,如電子政務(wù)、電子商務(wù)等. 調(diào)查發(fā)現(xiàn),政府機(jī)關(guān)與企業(yè)單位都已經(jīng)將業(yè)務(wù)應(yīng)用架設(shè)在Web平臺上.
目前,隨著Web2.0、社交網(wǎng)絡(luò)、微博等一系列基于Web環(huán)境的新型互聯(lián)網(wǎng)產(chǎn)品的廣泛應(yīng)用,與此同時(shí),Web業(yè)務(wù)的迅速發(fā)展也引起了惡意攻擊者的強(qiáng)烈關(guān)注. 根據(jù)Gartner的最新調(diào)查顯示,信息安全攻擊有75%都是發(fā)生在Web應(yīng)用而非網(wǎng)絡(luò)層面上. 同時(shí),數(shù)據(jù)也顯示,2/3的Web站點(diǎn)都相當(dāng)脆弱易受攻擊[2]. 實(shí)際上,絕大多數(shù)企業(yè)將絕大部分的投資花費(fèi)在網(wǎng)絡(luò)和服務(wù)器的安全上,沒有從真正意義上保障脆弱的Web應(yīng)用業(yè)務(wù),尤其對于國家關(guān)鍵信息基礎(chǔ)設(shè)施,給攻擊者以可乘之機(jī)[3].
隨著關(guān)鍵信息基礎(chǔ)設(shè)施互聯(lián)互通的發(fā)展,針對關(guān)鍵信息基礎(chǔ)設(shè)施的新型應(yīng)用攻擊技術(shù)手段層出不窮. 面對如此嚴(yán)峻的網(wǎng)絡(luò)安全形勢,現(xiàn)有檢測技術(shù)與防護(hù)技術(shù)針對大量的Web應(yīng)用攻擊,往往顯得力不從心.
因此,結(jié)合傳統(tǒng)的網(wǎng)絡(luò)入侵檢測技術(shù)與Web應(yīng)用防護(hù)技術(shù),本文提出了一種基于記憶的安全檢測技術(shù),Web入侵檢測系統(tǒng)(Web intrusion detection systems,WebIDS). 在新的網(wǎng)絡(luò)安全形勢下,提供對關(guān)鍵信息基礎(chǔ)設(shè)施的一種更加有效的檢測技術(shù).
傳統(tǒng)IDS主要面向于網(wǎng)絡(luò)層,針對發(fā)生在Web應(yīng)用的75%的信息安全攻擊,檢測效率與檢測質(zhì)量比較低下. WebIDS與傳統(tǒng)IDS運(yùn)用的區(qū)域不同, WebIDS專門用于應(yīng)用層. 其具體區(qū)別如下.
① 在檢測方式上:傳統(tǒng)的基于網(wǎng)絡(luò)型IDS,根據(jù)IDS規(guī)則庫實(shí)時(shí)檢測單個(gè)方向數(shù)據(jù)包,難以發(fā)現(xiàn)碎片化的、持續(xù)性的攻擊. 其缺點(diǎn)有以檢測單向數(shù)據(jù)包為主;對延遲性較高的應(yīng)用層會(huì)話檢測效果不佳,如HTTP會(huì)話等.
而新型的基于Web的IDS,一則實(shí)時(shí)分析應(yīng)用層中的雙向數(shù)據(jù)包,對于應(yīng)用層的數(shù)據(jù)進(jìn)行影響判定攻擊的威脅級別;而且采用關(guān)聯(lián)分析技術(shù),對磁盤陣列中的全流量鏡像歷史數(shù)據(jù)做大數(shù)據(jù)分析,可以對單個(gè)數(shù)據(jù)源進(jìn)行縱向分析.
② 在規(guī)則復(fù)雜度上:傳統(tǒng)的基于網(wǎng)絡(luò)型IDS,應(yīng)用基于特征的上千種規(guī)則,規(guī)則較簡單,匹配速度快;而新型的基于Web的IDS,采用大量復(fù)雜的正則表達(dá)式規(guī)則和多會(huì)話關(guān)聯(lián)分析分析算法,規(guī)則數(shù)量極少,便于匹配.
③ 在攻擊比例上:傳統(tǒng)的基于網(wǎng)絡(luò)型IDS,主要基于整個(gè)信息安全攻擊的25%以下 (針對網(wǎng)絡(luò)及操作系統(tǒng));而新型的基于Web的IDS,是面向于整個(gè)信息安全攻擊的75%以上(針對Web).
WAF是傳統(tǒng)IPS在Web細(xì)分領(lǐng)域的替代品,屬于防御型技術(shù)范疇,針對海量的Web應(yīng)用數(shù)據(jù),難以達(dá)到精確的攻擊檢測. 而WebIDS是傳統(tǒng)的IDS在Web細(xì)分領(lǐng)域的替代品,屬于檢測性技術(shù)范疇. 總體區(qū)別如下.
① 在部署模式上:WAF主要采用串聯(lián)方式,容易成為整個(gè)鏈路瓶頸,出現(xiàn)單點(diǎn)故障;而WebIDS采用旁路方式,不會(huì)改變網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu).
② 在檢測方式上:WAF與防火墻類似,以屏蔽端口、屏蔽包含特定的攻擊特征字符串的連接為技術(shù)目標(biāo). 而WebIDS與IDS類似,以識別復(fù)雜攻擊為技術(shù)目標(biāo),對各種Web攻擊事件按影響范圍進(jìn)行分類統(tǒng)計(jì).
③ 在規(guī)則復(fù)雜度上:WAF要求數(shù)據(jù)延遲不能超過0.1 s,因此檢測策略很少;而且一般只檢測單向數(shù)據(jù)包,難以緩存持續(xù)時(shí)間長的復(fù)雜的應(yīng)用層會(huì)話;此外,WAF較少使用復(fù)雜的檢測邏輯及耗費(fèi)大量性能的正則表達(dá)式及語法規(guī)則集.
而WebIDS由于采用旁路部署方式,數(shù)據(jù)分析時(shí)間、報(bào)警延遲可以超過3 s,甚至10 s,可以設(shè)置檢測策略更多,并且可緩存幾十兆的應(yīng)用層會(huì)話;此外,WebIDS采用多核并發(fā)檢測技術(shù),可檢測雙向數(shù)據(jù)包,不受檢測邏輯復(fù)雜的影響.
頻繁發(fā)生的網(wǎng)絡(luò)安全事件,不僅對廣大互聯(lián)網(wǎng)用戶造成財(cái)產(chǎn)損失和心理傷害,而且嚴(yán)重危害我國關(guān)鍵信息基礎(chǔ)設(shè)施健康發(fā)展. 在當(dāng)前的大數(shù)據(jù)時(shí)代,應(yīng)用攻擊特點(diǎn)如下:
① 在大數(shù)據(jù)時(shí)代,可以獲得和某現(xiàn)象相關(guān)的所有數(shù)據(jù),而不只是少量樣本;
② 由于掌握非常多的數(shù)據(jù),可以處理更多的混雜、不突出的攻擊;
③ 利用大數(shù)據(jù),不僅可以分析攻擊是什么,而且可以預(yù)測攻擊為什么.
基于記憶的WebIDS檢測模型中的記憶主要體現(xiàn)在:基于攻擊鏈的全周期檢測技術(shù),把特定攻擊針分步驟、分階段的關(guān)聯(lián)檢測;通過對雙向數(shù)據(jù)與歷史數(shù)據(jù),做大數(shù)據(jù)的攻擊關(guān)聯(lián)檢測.
Web應(yīng)用攻擊周期指的是攻擊者實(shí)現(xiàn)入侵過程的3個(gè)階段. 攻擊者對Web應(yīng)用系統(tǒng)進(jìn)行攻擊時(shí):首先需要通過漏洞掃描等探測手段發(fā)現(xiàn)漏洞;再根據(jù)漏洞探測結(jié)果開展網(wǎng)絡(luò)攻擊;最終獲得目標(biāo)系統(tǒng)控制權(quán)限.
基于記憶的WebIDS檢測模型由漏洞掃描識別引擎、漏洞觸發(fā)識別引擎、系統(tǒng)受控識別引擎3個(gè)模塊組成,用于對應(yīng)Web應(yīng)用攻擊周期的3個(gè)過程.
① 單向分析過程:漏洞掃描識別引擎通過特征匹配、行為匹配等方法,對漏洞掃描行為進(jìn)行識別,檢測到攻擊者的掃描行為后,系統(tǒng)將該掃描事件記錄到日志中,以供后期攻擊行為建模;
② 雙向分析過程:漏洞觸發(fā)識別引擎通過流量異常檢測、攻擊行為分析、漏洞庫特征匹配、攻擊特征匹配等方法,判斷漏洞是否存在并是否正在被攻擊者利用,并將記錄攻擊者漏洞利用事件;
③ 關(guān)聯(lián)分析過程:系統(tǒng)受控識別引擎通過多會(huì)話關(guān)聯(lián)分析、數(shù)據(jù)泄漏規(guī)則、攻擊行為建模等方法[5],對系統(tǒng)受控事件進(jìn)行檢測,向安全管理人員發(fā)送緊急報(bào)警信息.
① 基于旁路監(jiān)聽及全流量鏡像技術(shù).
基于記憶的WebIDS檢測模型利用旁路監(jiān)聽及全流量鏡像技術(shù),即可實(shí)時(shí)獲取并保存所有HTTP請求及響應(yīng)的數(shù)據(jù)包,供攻擊檢測模塊進(jìn)行應(yīng)用攻擊的分析處理.
② 采用全流量數(shù)據(jù)壓縮技術(shù).
基于記憶的WebIDS檢測模型采用了網(wǎng)站增量去重和差異壓縮備份算法,可保存長時(shí)間的完整的Web雙向數(shù)據(jù). 當(dāng)發(fā)現(xiàn)攻擊行為時(shí),不僅可以進(jìn)行攻擊回溯,還可以利用自定義檢測策略對歷史數(shù)據(jù)重新檢測及篩選.
③ 攻擊行為判定算法.
據(jù)調(diào)查,傳統(tǒng)的IDS存在大量的誤報(bào)日志,導(dǎo)致管理員對攻擊預(yù)警麻木懈怠,當(dāng)遇到真正的攻擊威脅時(shí),常常不能第一時(shí)間著手解決問題.
基于記憶的WebIDS檢測模型采用了攻擊影響判定技術(shù),對各種Web攻擊事件按影響范圍進(jìn)行了分類統(tǒng)計(jì)[6]. 通過對HTTP請求的分析,將其中可疑的攻擊行為記入可疑攻擊事件(提示級別). 通過對HTTP會(huì)話雙向數(shù)據(jù)流的追蹤和分析,將確認(rèn)Web攻擊成功的攻擊行為記入確認(rèn)攻擊事件(高危級別). 系統(tǒng)可以靈活配置報(bào)警級別及頻次. 對于確認(rèn)攻擊日志,可做到實(shí)時(shí)報(bào)警,使得報(bào)警準(zhǔn)確率超過90%.
① 模型編程應(yīng)用框架.
基于記憶的WebIDS檢測模型在檢測過程中,實(shí)時(shí)的檢測數(shù)據(jù),及時(shí)發(fā)現(xiàn)攻擊,是一個(gè)流(streaming)計(jì)算過程. 使用kafka作為消息總線,Storm進(jìn)行實(shí)時(shí)計(jì)算,Hadoop存儲數(shù)據(jù)和批量計(jì)算. 考慮到學(xué)習(xí)成本,使用Spark作為統(tǒng)一的數(shù)據(jù)處理引擎,既可以實(shí)現(xiàn)批處理,也可以使用spark streaming實(shí)現(xiàn)近實(shí)時(shí)的計(jì)算.
② 模型檢測實(shí)踐.
基于記憶的WebIDS檢測模型,在攻擊路徑上不同層面的數(shù)據(jù)來建立聯(lián)系[7-8]. 可以采用很簡單的二步驗(yàn)證,如一個(gè)Http層出現(xiàn)的SQLi payload,相同的payload同時(shí)出現(xiàn)在SQL層的異常,即形成一個(gè)確認(rèn)的SQLi攻擊;同理,一個(gè)Http層的異常相同的payload出現(xiàn)在了命令日志層面的異常中,即形成一個(gè)確認(rèn)的RCE(遠(yuǎn)程命令執(zhí)行).
基于記憶的關(guān)鍵信息基礎(chǔ)設(shè)施安全檢測技術(shù),結(jié)合基于旁路監(jiān)聽及全流量鏡像技術(shù)、采用全流量數(shù)據(jù)壓縮技術(shù)、攻擊行為判定算法與多種編碼還原與抗混淆技術(shù),通過漏洞掃描識別引擎、漏洞觸發(fā)識別引擎、系統(tǒng)受控識別引擎3個(gè)模塊組成,用于對應(yīng)Web應(yīng)用攻擊周期的3個(gè)過程. 可以對Web數(shù)據(jù)進(jìn)行雙向分析即時(shí)數(shù)據(jù)及歷史數(shù)據(jù),檢測各種碎片化、持續(xù)性的攻擊手段,提高系統(tǒng)的檢出率和準(zhǔn)確度,從而快速發(fā)現(xiàn)和定位潛伏的安全威脅;能在黑客利用攻擊時(shí),同步感知各種漏洞;提供威脅可視化展示,實(shí)時(shí)了解和掌握網(wǎng)絡(luò)風(fēng)險(xiǎn)狀況.