文/楊陽(yáng)
網(wǎng)絡(luò)安全涉及領(lǐng)域廣泛,包括網(wǎng)絡(luò)與基礎(chǔ)設(shè)施安全、平臺(tái)安全、數(shù)據(jù)安全、Web 安全、終端安全、移動(dòng)安全等方面。通過(guò)對(duì)計(jì)算機(jī)、通信、網(wǎng)絡(luò)安全技術(shù)的綜合運(yùn)用,達(dá)到對(duì)網(wǎng)絡(luò)、數(shù)據(jù)、系統(tǒng)、平臺(tái)、資源的保護(hù),解決網(wǎng)絡(luò)堵塞、網(wǎng)絡(luò)服務(wù)質(zhì)量?jī)?yōu)化、消息異常、信息丟失、系統(tǒng)不穩(wěn)定等問(wèn)題。
網(wǎng)站集群平臺(tái)一般是高校面向公眾進(jìn)行信息發(fā)布的通道,是公眾獲取信息的重要途徑,它是學(xué)校對(duì)外宣傳的主窗口和主陣地。一個(gè)成熟的網(wǎng)站集群平臺(tái)往往由以下三個(gè)部分組成:內(nèi)容管理平臺(tái)、站群點(diǎn)管理平臺(tái)和門(mén)戶(hù)管理平臺(tái),分別負(fù)責(zé)內(nèi)容信息的發(fā)布、主站子站的統(tǒng)一管理以及門(mén)戶(hù)首頁(yè)的管理。在網(wǎng)站集群平臺(tái)中,有一類(lèi)突出的安全問(wèn)題,即暗鏈和非法外鏈問(wèn)題。這些暗鏈或非法外鏈嵌入正常網(wǎng)頁(yè)之中,誘使用戶(hù)點(diǎn)擊并跳轉(zhuǎn)到非法頁(yè)面,極大程度降低了高校網(wǎng)站的公信力和安全性。由于隱蔽性強(qiáng),其可能出現(xiàn)在網(wǎng)頁(yè)段落中,也可能出現(xiàn)在網(wǎng)站源代碼中,且分散性廣,使人工檢測(cè)耗時(shí)長(zhǎng)、難度高。為了解決這個(gè)問(wèn)題,本文提出一種關(guān)于暗鏈主動(dòng)檢測(cè)的安全模型,并給出了相應(yīng)的算法實(shí)現(xiàn),以爬蟲(chóng)搜索的形式深入探測(cè)出隱藏在網(wǎng)站集群平臺(tái)中的暗鏈,極大提高了平臺(tái)的安全性。
針對(duì)網(wǎng)絡(luò)中存在的各類(lèi)安全問(wèn)題,各個(gè)安全機(jī)構(gòu)都在通過(guò)建立特定安全模型的方式,從宏觀上定義安全問(wèn)題,綜合施策,找到最佳安全解決方案。常見(jiàn)的網(wǎng)絡(luò)安全模型包括[1]靜態(tài)網(wǎng)絡(luò)安全模型、PDR 模型、P2DR 模型、WPDRR 模型等。
靜態(tài)網(wǎng)絡(luò)安全模型根據(jù)自定制的規(guī)則和策略,對(duì)入侵訪(fǎng)問(wèn)進(jìn)行判斷和攔截。這類(lèi)安全模型能夠有效地識(shí)別部分已知類(lèi)型的網(wǎng)絡(luò)攻擊,但是在復(fù)雜網(wǎng)絡(luò)環(huán)境中,對(duì)于種類(lèi)多樣的攻擊模式,特別是分布式、泛洪式攻擊,缺乏相應(yīng)的安全策略和足夠的防御能力[2]。
針對(duì)靜態(tài)安全模型存在的防御能力不全面、無(wú)法適應(yīng)網(wǎng)絡(luò)攻擊的動(dòng)態(tài)變化、無(wú)法實(shí)施網(wǎng)絡(luò)安全防護(hù)體系構(gòu)建等問(wèn)題,一種新型的、動(dòng)態(tài)的、對(duì)時(shí)間敏感的安全模型逐漸發(fā)展起來(lái),即PDR 模型。與傳統(tǒng)的靜態(tài)安全模型不同,PDR 模型是一種動(dòng)態(tài)安全模型策略,它包括三個(gè)重要的部分,即防護(hù)P(Protection)、檢測(cè)D(Detection)和響應(yīng)R(Response)。在該模型理論下[3],安全問(wèn)題是無(wú)法避免的,任何強(qiáng)攻擊形式和攻擊方法都有可能導(dǎo)致系統(tǒng)的坍塌,沒(méi)有絕對(duì)的安全和永久的、全生命周期的保護(hù)。該模型認(rèn)為,所有的網(wǎng)絡(luò)攻擊都是與時(shí)間相關(guān)的,能夠在有效時(shí)間內(nèi)抵御網(wǎng)絡(luò)攻擊事件即可認(rèn)定系統(tǒng)是安全的。
防護(hù)P(Protection)[4]包括綜合運(yùn)用一系列安全措施,如殺毒軟件、木馬查殺、防火墻、訪(fǎng)問(wèn)控制、身份認(rèn)證、權(quán)限授權(quán)、數(shù)據(jù)加密、內(nèi)外隔離等,保障系統(tǒng)的安全性、完整性、可控制性、加密性,確保系統(tǒng)的數(shù)據(jù)安全和行為安全。
檢測(cè)D(Detection)[5]是指采用一系列技術(shù)手段和各種安全工具,如入侵檢測(cè)、端口掃描、磁盤(pán)掃描、漏洞掃描、日志審計(jì)、網(wǎng)絡(luò)數(shù)據(jù)包分析來(lái)查找和發(fā)現(xiàn)系統(tǒng)中潛在的安全問(wèn)題,定位系統(tǒng)的薄弱環(huán)節(jié)。
響應(yīng)R(Response)[6]是指對(duì)各類(lèi)潛在問(wèn)題和已發(fā)生安全事件的及時(shí)處理,避免事態(tài)的進(jìn)一步擴(kuò)展,最大程度地恢復(fù)系統(tǒng)和降低損失。
PDR 模型可以使用如下數(shù)學(xué)公式(1)(2)體現(xiàn)其時(shí)間相關(guān)性:
Pt>Dt+Rt(1)
Et=(Dt+Rt)-Pt(2)
其中,Pt表示系統(tǒng)防護(hù)時(shí)間,Dt表示系統(tǒng)檢測(cè)時(shí)間,Rt表示系統(tǒng)響應(yīng)時(shí)間,Et表示系統(tǒng)暴露時(shí)間。若Pt大于Dt+Rt,即防護(hù)時(shí)間大于檢測(cè)時(shí)間加上響應(yīng)時(shí)間,則安全問(wèn)題在可控的時(shí)間范圍之內(nèi),系統(tǒng)整體是安全可信的;若Pt小于Dt+Rt,則Et大于0,系統(tǒng)存在安全暴露的問(wèn)題。
PDR 模型是一種動(dòng)態(tài)風(fēng)險(xiǎn)模型,結(jié)合時(shí)間范圍界定和各種安全技術(shù)手段,對(duì)系統(tǒng)安全進(jìn)行評(píng)估和判斷。這種基于時(shí)間的快速診斷模型強(qiáng)調(diào)對(duì)抗能力,但缺乏自我學(xué)習(xí)、自動(dòng)更新的機(jī)制。
在PDR 模型的基礎(chǔ)之上,為進(jìn)一步增強(qiáng)安全防護(hù)的可適應(yīng)性,美國(guó)國(guó)際互聯(lián)網(wǎng)安全系統(tǒng)公司(ISS)提出了P2DR(Policy Protection Detection Response)模型。相對(duì)于PDR 模型,P2DR模型增加了策略P(Policy)部分,即通過(guò)策略制定、管理、擴(kuò)展、修復(fù)、完善等步驟加強(qiáng)對(duì)系統(tǒng)安全的調(diào)控等級(jí)和保障等級(jí)。P2DR 模型以策略為中心,綜合防護(hù)P(Protection)、檢測(cè)D(Detection)、響應(yīng)R(Response)等各類(lèi)防御手段,不斷偵測(cè)系統(tǒng)的安全狀態(tài),達(dá)到自適應(yīng)調(diào)整和網(wǎng)絡(luò)風(fēng)險(xiǎn)的平衡,使系統(tǒng)處于“最安全”和“最低風(fēng)險(xiǎn)”的狀態(tài)[7]。同時(shí),根據(jù)不同的安全策略級(jí)別,防御系統(tǒng)有不同的處理能力和響應(yīng)能力。P2DR模型如圖1 所示。
圖1 P2DR 模型
P2DR 模型是動(dòng)態(tài)的,其安全策略以及相應(yīng)的防護(hù)、檢測(cè)、響應(yīng)手段不是固定不變的,而是隨著安全周期的迭代以及攻擊強(qiáng)度的變化進(jìn)行及時(shí)更新,從而提升針對(duì)突發(fā)網(wǎng)絡(luò)問(wèn)題的處理能力。
P2DR 模型雖然能夠發(fā)現(xiàn)系統(tǒng)存在的薄弱環(huán)節(jié),找到潛在的目標(biāo)攻擊點(diǎn)和攻擊行為,但缺乏必要的預(yù)警機(jī)制,無(wú)法向管理員反饋當(dāng)前的預(yù)警級(jí)別以及相應(yīng)的預(yù)警措施。一般情況下,在完成P2DR 模型給定的修復(fù)建議后,還需要根據(jù)相應(yīng)的預(yù)警目標(biāo)和預(yù)警等級(jí),結(jié)合歷史安全事件和當(dāng)前的安全趨勢(shì),促使管理員進(jìn)一步做好防御工作。
針對(duì)這個(gè)問(wèn)題,WPDRR 模型在PDR 模型的基礎(chǔ)上,增加了預(yù)警W(Warning)、恢復(fù)R(Recover)兩個(gè)環(huán)節(jié),如圖2 所示。
圖2 WPDRR 模型
預(yù)警W(Warning)[8]是指根據(jù)當(dāng)前對(duì)網(wǎng)絡(luò)狀況的安全分析和綜合判斷,以及曾經(jīng)發(fā)生的攻擊記錄、場(chǎng)景相似性分析、互聯(lián)網(wǎng)流行病毒的發(fā)展趨勢(shì),預(yù)測(cè)出安全問(wèn)題可能發(fā)生的位置并給出防御意見(jiàn)。
恢復(fù)R(Recover)[9]突出了人的因素,單純的技術(shù)手段已無(wú)法完全保證系統(tǒng)的安全。當(dāng)系統(tǒng)出現(xiàn)故障后,如何在最短時(shí)間內(nèi)、最有效地恢復(fù)系統(tǒng),需要安全管理人員采取進(jìn)一步措施,常見(jiàn)的操作手段包括系統(tǒng)備份、系統(tǒng)還原等。
WPDRR 模型是一種綜合預(yù)警目標(biāo)、安全策略、防護(hù)手段和能力、恢復(fù)管理于一體的安全理論模型。該模型的一個(gè)重要特征是增加了攻擊前的預(yù)警機(jī)制和攻擊后的恢復(fù)措施,將安全管理人員的機(jī)動(dòng)能力融入模型的構(gòu)建當(dāng)中。
針對(duì)高校網(wǎng)站集群平臺(tái)中存在的暗鏈問(wèn)題,本文提出一種面向暗鏈檢測(cè)的安全模型,從暗鏈預(yù)警、源頭發(fā)現(xiàn)、網(wǎng)頁(yè)內(nèi)容保護(hù)、暗鏈檢測(cè)、暗鏈響應(yīng)處理等多個(gè)方面降低網(wǎng)站集群平臺(tái)中的暗鏈存在率,提升系統(tǒng)的安全性和可信性。
“掛馬”一般是指黑客利用網(wǎng)站及系統(tǒng)漏洞,在網(wǎng)頁(yè)中掛載一組腳本或鏈接,當(dāng)用戶(hù)訪(fǎng)問(wèn)該頁(yè)面時(shí),會(huì)過(guò)路式下載[10](Drive-by Download)木馬程序,進(jìn)而使黑客擁有非法控制目標(biāo)機(jī)器的權(quán)限。隨著國(guó)家以法律的形式對(duì)“掛馬”違法行為進(jìn)行了量刑,網(wǎng)民大眾也增強(qiáng)了對(duì)移植木馬的防范,“掛馬”問(wèn)題有所緩解。但隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,一種新型的“侵入”手段——暗鏈,在互聯(lián)網(wǎng)中蔓延。所謂暗鏈[11],即是在網(wǎng)頁(yè)中植入一段隱蔽的鏈接代碼,這些鏈接一方面可以跳轉(zhuǎn)到非法網(wǎng)站,如廣告網(wǎng)站、偽造網(wǎng)站等;另一方面可以增加所鏈接、所指向的網(wǎng)站的權(quán)重,從而達(dá)到提升搜索排名的目的。
暗鏈的本質(zhì)是超鏈接,由于其隱蔽、不易被察覺(jué)性,成本低,能夠進(jìn)行大片范圍的植入傳播。當(dāng)某個(gè)網(wǎng)站能夠被大量暗鏈指向,搜索引擎會(huì)誤認(rèn)為這個(gè)網(wǎng)站的價(jià)值較高,從而賦予高權(quán)重并置于搜索結(jié)果的前列。這種欺騙搜索引擎的作弊行為,由于能產(chǎn)生實(shí)際的效果,逐漸演化成牟利的黑色產(chǎn)業(yè)鏈。
教育類(lèi)網(wǎng)站是暗鏈發(fā)生的重災(zāi)區(qū)。高校的網(wǎng)站集群平臺(tái)承載了學(xué)校各個(gè)部門(mén)、院系的網(wǎng)站頁(yè)面,各子網(wǎng)站與子網(wǎng)站之間,子網(wǎng)站與外網(wǎng)站之間存在大量的鏈接關(guān)系,網(wǎng)站內(nèi)容也包含對(duì)外部頁(yè)面的引用,這都給清除暗鏈帶來(lái)困難。其中,對(duì)暗鏈的檢測(cè)和識(shí)別是一個(gè)重要問(wèn)題。
為了能更加全面地防范暗鏈問(wèn)題,本文在P2DR 模型的基礎(chǔ)上增加了管理M(Management)環(huán)節(jié),構(gòu)建了一種MP2DR 模型。該管理M 體現(xiàn)在可以根據(jù)策略P(Policy)目標(biāo),在Web 信息管理系統(tǒng)中,靈活地設(shè)定暗鏈檢測(cè)與防護(hù)的各類(lèi)配置參數(shù),包括爬蟲(chóng)數(shù)量、每只爬蟲(chóng)的線(xiàn)程數(shù)、暗鏈探測(cè)深度等。圖3 展示了MP2DR 模型。
圖3 MP2DR 模型
策略P 定義防護(hù)類(lèi)型,是核心關(guān)鍵點(diǎn)防護(hù)還是某個(gè)時(shí)間段防護(hù);定義集群平臺(tái)的掃描策略,是全站掃描還是局部掃描;定義響應(yīng)方式,是整張網(wǎng)頁(yè)關(guān)閉還是單個(gè)暗鏈清除等。
防護(hù)P 包括使用一系列過(guò)濾、攔截機(jī)制,當(dāng)用戶(hù)點(diǎn)擊某一個(gè)鏈接時(shí),檢測(cè)該鏈接的合法性,提示用戶(hù)即將進(jìn)入外部網(wǎng)站或下載某一個(gè)文件。定義相應(yīng)的防護(hù)級(jí)別,對(duì)于中高級(jí)別,將以日志的形式記錄用戶(hù)的每一次鏈接點(diǎn)擊和相應(yīng)的檢測(cè)結(jié)果,供安全人員查詢(xún)分析。
檢測(cè)D 是指采用一系列技術(shù)手段按時(shí)段、按量、按站點(diǎn)掃描網(wǎng)站集群平臺(tái),將掃描結(jié)果計(jì)入日志平臺(tái)和分析平臺(tái)。
響應(yīng)R 是指發(fā)現(xiàn)暗鏈所在位置后,自動(dòng)清除或通知安全管理人員手動(dòng)清除,并將清除的暗鏈進(jìn)行特征提取和分析,以便進(jìn)行大數(shù)據(jù)分析。
管理M 包括暗鏈管理機(jī)制和規(guī)章制度的建立,從而引入人為干預(yù)的因素。同時(shí),將建立Web 信息管理系統(tǒng)統(tǒng)籌策略P、防護(hù)P、檢測(cè)D、響應(yīng)R 這幾個(gè)部分的配置參數(shù)設(shè)置。
暗鏈檢測(cè)算法的一個(gè)核心部件即是網(wǎng)站鏈接URL 的爬取。本文采用多線(xiàn)程的方式對(duì)指定的鏈接進(jìn)行深度遍歷。算法維護(hù)一張URL 存儲(chǔ)表,新掃描到的URL 不斷添加到URL 存儲(chǔ)表的末端。對(duì)于每一個(gè)URL,算法都將啟用一條新的線(xiàn)程來(lái)處理該URL 對(duì)應(yīng)的網(wǎng)頁(yè)內(nèi)容,抓取網(wǎng)頁(yè)內(nèi)容中新的URL 并添加到存儲(chǔ)表中。線(xiàn)程采用線(xiàn)程池的方式進(jìn)行管理,保證系統(tǒng)資源使用量在一個(gè)有效的范圍內(nèi)波動(dòng)。
如圖4 所示,存儲(chǔ)表維護(hù)兩個(gè)指針指向,一個(gè)是待掃描的URL 位置,另一個(gè)是存儲(chǔ)表中添加新的URL 的位置。通過(guò)如圖的“獲取”指針,主線(xiàn)程每次找到待掃描的URL,交給子線(xiàn)程處理;通過(guò)如圖的“添加”指針,子線(xiàn)程將新掃描到的URL 添加到存儲(chǔ)表的指定位置。整個(gè)過(guò)程類(lèi)似于生產(chǎn)者消費(fèi)者模式。
圖4 URL 掃描示意
暗鏈檢測(cè)算法的第二個(gè)核心部件是暗鏈識(shí)別,即如何判定一條URL 是暗鏈。一種適用的方法是采用機(jī)器學(xué)習(xí)的方式,通過(guò)特征提取、模型訓(xùn)練、建立分類(lèi)器[12]途徑來(lái)識(shí)別網(wǎng)頁(yè)中的暗鏈,這種方式適用于海量網(wǎng)頁(yè)數(shù)據(jù)。本文基于網(wǎng)站集群平臺(tái)的實(shí)際情況,采用的是數(shù)據(jù)庫(kù)匹配的方法,即將掃描到的鏈接按類(lèi)別(CSS網(wǎng)址、JS 網(wǎng)址、圖片網(wǎng)址、文件網(wǎng)址、普通網(wǎng)址等)存入數(shù)據(jù)庫(kù)中,每一個(gè)記錄對(duì)應(yīng)一條鏈接。對(duì)于已發(fā)現(xiàn)問(wèn)題的鏈接,有專(zhuān)門(mén)的數(shù)據(jù)庫(kù)字段進(jìn)行標(biāo)識(shí)。數(shù)據(jù)庫(kù)表設(shè)計(jì)見(jiàn)表1。
對(duì)于網(wǎng)頁(yè)中每一條掃描到的URL,獲取表1 中各項(xiàng)字段的相關(guān)信息,并存入數(shù)據(jù)庫(kù)中。初次建庫(kù)采用人工標(biāo)注的方式判斷每條URL 的crack 字段是0 還是1。初始庫(kù)建立完畢后,對(duì)于每一條新增的URL,通過(guò)相似檢測(cè)算法[13][14]判斷該URL 與數(shù)據(jù)庫(kù)中所有URL 記錄的相似度,并將相似度結(jié)果的TopK( 本實(shí)驗(yàn)中K=10),即由最相似的K 條記錄打分,判定該新增URL 是否是暗鏈。例如,如果TopK 中超過(guò)一半是暗鏈,那么該URL 也被自動(dòng)判定為暗鏈。系統(tǒng)每運(yùn)行一段時(shí)間后,對(duì)于所有新增的URL,通過(guò)數(shù)據(jù)庫(kù)查詢(xún)選擇出來(lái)并進(jìn)行人工復(fù)核,最終確定每條URL 的crack 值是0 還是1,從而確保數(shù)據(jù)庫(kù)表中信息的正確性。在實(shí)際算法實(shí)現(xiàn)中,可以建立多個(gè)數(shù)據(jù)倉(cāng)庫(kù),包括暗鏈庫(kù)、正常鏈接庫(kù)、待定庫(kù)、新增庫(kù)等。
表1 URL 表的數(shù)據(jù)庫(kù)設(shè)計(jì)
在Web 信息管理系統(tǒng)中,根據(jù)當(dāng)前的安全策略和目標(biāo),設(shè)置掃描范圍(整站掃描/局部子網(wǎng)站掃描)、啟用爬蟲(chóng)的個(gè)數(shù)、設(shè)置爬蟲(chóng)的類(lèi)型(臨時(shí)爬蟲(chóng)/守候爬蟲(chóng))、清除方式(自動(dòng)清除/手動(dòng)清除)、日志文件位置、防護(hù)掃描時(shí)間段等相關(guān)參數(shù),然后執(zhí)行檢測(cè)流程。執(zhí)行流程如圖5 所示。
圖5 MP2DR 模型的系統(tǒng)實(shí)現(xiàn)
在圖5 中,“暗鏈檢測(cè)信息管理系統(tǒng)M”根據(jù)防御目標(biāo)和相應(yīng)的安全策略,在Web 后臺(tái)設(shè)置、調(diào)整、更新各模塊參數(shù),從頂層規(guī)劃暗鏈檢測(cè)任務(wù)。配置項(xiàng)目包括防護(hù)(P,Protection)的級(jí)別和范圍、安全策略(P,Policy)、檢測(cè)內(nèi)容(D,Detection)等?!鞍垫湙z測(cè)模塊D”包括兩部分:URL 爬取和暗鏈識(shí)別。在“暗鏈識(shí)別算法模塊”中,建立關(guān)于鏈接的各個(gè)倉(cāng)庫(kù),包括新增庫(kù)(新掃描到的鏈接)、待定庫(kù)(暫無(wú)法確定是否是暗鏈,需進(jìn)一步人工標(biāo)注)、正常庫(kù)(正常的站內(nèi)鏈接)、暗鏈庫(kù)(已確定為暗鏈)。在“響應(yīng)展示模塊R”,對(duì)檢測(cè)的結(jié)果以報(bào)表和文件的形式輸出,并將掃描步驟記錄在日志當(dāng)中;結(jié)合檢測(cè)目標(biāo)和策略,給出風(fēng)險(xiǎn)預(yù)警。
針對(duì)當(dāng)前的網(wǎng)絡(luò)安全情況,結(jié)合高校網(wǎng)站集群平臺(tái)存在的暗鏈問(wèn)題,本文首先介紹了幾種網(wǎng)絡(luò)安全模型,包括靜態(tài)網(wǎng)絡(luò)安全模型、PDR 模型、P2DR 模型、WPDRR 模型。這些安全模型是隨著安全技術(shù)的發(fā)展逐漸演化而來(lái),各自具有不同的特點(diǎn)和優(yōu)勢(shì),且具有自身的適用范圍和用途。在這些模型基礎(chǔ)之上,本文提出了一種MP2DR 網(wǎng)絡(luò)安全模型,它引入了管理M(Management)模塊。這既包括信息管理系統(tǒng)的應(yīng)用,也包括安全技術(shù)手段之外專(zhuān)家、人員的參與和干預(yù),以及規(guī)章制度的建立。最后,給出MP2DR 模型的核心算法實(shí)現(xiàn)和系統(tǒng)構(gòu)建路徑。實(shí)現(xiàn)結(jié)果表明,本文提出的安全模型MP2DR 及構(gòu)建的信息管理系統(tǒng)能夠有效運(yùn)用在高校網(wǎng)站集群平臺(tái)的暗鏈檢測(cè)中,較大程度降低了網(wǎng)站中暗鏈存在率。