薛永大
中國(guó)民航大學(xué)電子信息工程學(xué)院 天津 300300
隨著國(guó)民經(jīng)濟(jì)和網(wǎng)絡(luò)基礎(chǔ)設(shè)施的進(jìn)一步發(fā)展和完善,網(wǎng)民數(shù)量大幅增加,互聯(lián)網(wǎng)絡(luò)已經(jīng)深入到我國(guó)社會(huì)生活的各個(gè)層面。根據(jù)國(guó)家互聯(lián)網(wǎng)應(yīng)急中心(CNCERT/CC)2011年9月發(fā)布的《CNCERT互聯(lián)網(wǎng)安全威脅報(bào)告》,僅2011年9月,境內(nèi)感染網(wǎng)絡(luò)病毒的終端數(shù)約為626萬(wàn)個(gè),境內(nèi)被篡改網(wǎng)站數(shù)量為2227個(gè),其中被篡改的政府網(wǎng)站數(shù)量為181個(gè)。另?yè)?jù)中國(guó)反釣魚(yú)網(wǎng)站聯(lián)盟(APAC)發(fā)布的消息,聯(lián)盟累計(jì)認(rèn)定并處理釣魚(yú)網(wǎng)站66360個(gè)。各種網(wǎng)頁(yè)木馬和網(wǎng)絡(luò)釣魚(yú)詐騙行為嚴(yán)重危害了網(wǎng)絡(luò)用戶的個(gè)人隱私和財(cái)產(chǎn)安全。
為了保證互聯(lián)網(wǎng)服務(wù)的安全,迫切需要對(duì)網(wǎng)絡(luò)中的網(wǎng)頁(yè)木馬和釣魚(yú)網(wǎng)頁(yè)進(jìn)行實(shí)時(shí)的檢測(cè)和防御。這可以通過(guò)在網(wǎng)絡(luò)運(yùn)營(yíng)商的服務(wù)端對(duì)惡意網(wǎng)頁(yè)的訪問(wèn)進(jìn)行阻斷來(lái)實(shí)現(xiàn)。通過(guò)在運(yùn)營(yíng)商網(wǎng)絡(luò)接口處部署檢測(cè)引擎,獲得網(wǎng)頁(yè)的信譽(yù)信息,當(dāng)用戶訪問(wèn)惡意網(wǎng)頁(yè)時(shí),業(yè)務(wù)監(jiān)控網(wǎng)關(guān)可以根據(jù)網(wǎng)頁(yè)的信譽(yù)信息攔截惡意網(wǎng)頁(yè),從而保障用戶的安全?;诖耍疚脑O(shè)計(jì)了一個(gè)網(wǎng)頁(yè)信譽(yù)引擎,可以實(shí)現(xiàn)對(duì)掛馬網(wǎng)頁(yè)和釣魚(yú)網(wǎng)頁(yè)的檢測(cè),輸出網(wǎng)頁(yè)的信譽(yù)信息。
木馬程序是指表面上有某種有用的功能,實(shí)際上隱含惡意代碼的計(jì)算機(jī)程序,通常依附在其它有傳播能力的病毒上或者通過(guò)人工植入的方式傳播,進(jìn)駐宿主機(jī)器,接受植入者的指令,搜集用戶隱私信息,進(jìn)行盜號(hào)等危險(xiǎn)操作。
網(wǎng)頁(yè)掛馬是指攻擊者在竊取獲取網(wǎng)站或者網(wǎng)站服務(wù)器的部分或者全部權(quán)限后,在網(wǎng)頁(yè)文件中插入木馬程序,這些木馬主要是利用系統(tǒng)漏洞及第三方軟件漏洞,用戶訪問(wèn)被掛馬的頁(yè)面時(shí),如果系統(tǒng)沒(méi)有更新木馬中利用的漏洞補(bǔ)丁,則會(huì)執(zhí)行木馬程序。
網(wǎng)絡(luò)釣魚(yú)主要是指利用互聯(lián)網(wǎng)進(jìn)行的一種欺詐行為。它通過(guò)社會(huì)工程學(xué)或欺騙技術(shù)誘騙用戶提供其個(gè)人賬戶和密碼等個(gè)人隱私資料,獲得用戶的某種身份信息,進(jìn)而竊取用戶的個(gè)人財(cái)產(chǎn)。
網(wǎng)絡(luò)釣魚(yú)的種類多種多樣,但是就其攻擊手法而言,可以將其實(shí)施過(guò)程分為誘騙階段和信息獲取階段,在誘騙階段,攻擊者通常使用郵件或即時(shí)通訊軟件向用戶發(fā)送中獎(jiǎng)等虛假信息誘導(dǎo)用戶點(diǎn)擊鏈接,這個(gè)鏈接通常指向攻擊者精心設(shè)計(jì)的一個(gè)仿冒品牌網(wǎng)站,當(dāng)用戶輸入個(gè)人賬戶密碼等信息時(shí),就會(huì)導(dǎo)致信息泄露。
系統(tǒng)目標(biāo)是實(shí)現(xiàn)對(duì)互聯(lián)網(wǎng)上網(wǎng)頁(yè)的檢測(cè),檢測(cè)網(wǎng)頁(yè)是否掛馬,是否是釣魚(yú)網(wǎng)頁(yè),輸出網(wǎng)頁(yè)的信譽(yù)結(jié)果,以提供給網(wǎng)關(guān)設(shè)備對(duì)惡意網(wǎng)頁(yè)實(shí)時(shí)阻斷,保障互聯(lián)網(wǎng)用戶的安全。
系統(tǒng)的輸入是來(lái)自互聯(lián)網(wǎng)的鏡像流量,檢測(cè)的網(wǎng)頁(yè)主要針對(duì)HTTP訪問(wèn)業(yè)務(wù),由于基于HTTP協(xié)議傳輸?shù)奈募赡苡卸喾N格式,網(wǎng)馬和釣魚(yú)檢測(cè)模塊可以根據(jù)其主要針對(duì)的文件類型進(jìn)行任務(wù)分流,實(shí)現(xiàn)對(duì)分析任務(wù)的檢測(cè),并且將檢測(cè)結(jié)果輸出到數(shù)據(jù)庫(kù),具體來(lái)說(shuō)要完成以下功能需求:
(1) 對(duì)鏡像網(wǎng)絡(luò)流量中的 HTTP數(shù)據(jù)流還原出文件及其對(duì)應(yīng)信息。
(2) 深度識(shí)別還原出的文件類型,根據(jù)檢測(cè)模塊配置的檢測(cè)類型調(diào)取相關(guān)模塊檢測(cè)。
(3) 檢測(cè)模塊實(shí)現(xiàn)對(duì)任務(wù)的檢測(cè)功能,并返回檢測(cè)結(jié)果。
(4) 檢測(cè)結(jié)果按照需要反饋至數(shù)據(jù)庫(kù)。
針對(duì)上一節(jié)的功能需求,把系統(tǒng)按照功能需求劃分為流量還原模塊、任務(wù)識(shí)別分發(fā)模塊、檢測(cè)模塊、結(jié)果接收反饋模塊和數(shù)據(jù)庫(kù)這五部分,整個(gè)系統(tǒng)的流程框圖如圖1所示。
現(xiàn)網(wǎng)的鏡像流量經(jīng)流量還原模塊還原出使用HTTP協(xié)議傳輸?shù)奈募推鋵?duì)應(yīng)的信息,經(jīng)由任務(wù)識(shí)別分發(fā)模塊識(shí)別任務(wù)類型并調(diào)用合適的檢測(cè)模塊進(jìn)行分析,檢測(cè)模塊把任務(wù)的分析結(jié)果發(fā)送給結(jié)果接收和反饋模塊,該模塊連接數(shù)據(jù)庫(kù)并把結(jié)果更新到數(shù)據(jù)庫(kù)中。
圖1 系統(tǒng)流程框圖
還原模塊由數(shù)據(jù)包獲取子模塊抓取鏡像來(lái)的 TCP流量數(shù)據(jù)包,識(shí)別承載在TCP流量上的應(yīng)用層數(shù)據(jù),提取出HTTP協(xié)議傳輸?shù)奈募推鋵?duì)應(yīng)信息。
基于HTTP協(xié)議可以傳輸多種類型和大小的文件,還原后的文件中可能包含許多無(wú)效的文件,例如,訪問(wèn)網(wǎng)站錯(cuò)誤時(shí)的響應(yīng)碼頁(yè)面、word文檔和大小為幾百字節(jié)的文件,這些網(wǎng)頁(yè)沒(méi)有實(shí)際的檢測(cè)意義,并且頻繁的文件讀寫工作加大還原模塊的負(fù)荷,影響其處理性能。因此,在還原模塊采用了根據(jù)文件類型、后綴名和文件大小的過(guò)濾機(jī)制,只有同時(shí)滿足這三種過(guò)濾條件,才會(huì)保存。用戶可以根據(jù)自身的網(wǎng)絡(luò)模型,配置適合自身環(huán)境的過(guò)濾區(qū)間,通過(guò)這種處理方式,減少還原模塊的壓力。
任務(wù)識(shí)別分發(fā)模塊是一個(gè)調(diào)度模塊,此模塊主要進(jìn)行檢測(cè)任務(wù)的分配,每個(gè)檢測(cè)模塊的檢測(cè)類型用戶可以通過(guò)配置文件配置。
模塊首先遍歷還原所保存文件的信息,根據(jù)信息將文件加載到內(nèi)存,放入到緩存隊(duì)列里面,然后刪除信息文件,打開(kāi)樣本任務(wù),判斷其類型,根據(jù)配置文件的內(nèi)容,調(diào)用合適的分析模塊掃描。
調(diào)度規(guī)則為:如果一個(gè)檢測(cè)任務(wù)只是一個(gè)分析模塊的檢測(cè)類型,則調(diào)用該模塊進(jìn)行掃描;如果同時(shí)是兩個(gè)分析模塊的檢測(cè)類型,先調(diào)用網(wǎng)馬檢測(cè)模塊掃描,如果掃描結(jié)果不是正常網(wǎng)頁(yè),則返回結(jié)果,掃描流程結(jié)束;如果掃描結(jié)果是正常網(wǎng)頁(yè),再調(diào)用釣魚(yú)檢測(cè)模塊掃描。
此模塊設(shè)計(jì)使用黑名單庫(kù)和網(wǎng)馬特征庫(kù)相結(jié)合的方式檢測(cè)網(wǎng)頁(yè)木馬,黑名單庫(kù)中包含確知的掛馬網(wǎng)頁(yè)對(duì)應(yīng)URL。系統(tǒng)采用的黑名單匹配基于這樣一個(gè)思想:對(duì)于一個(gè)網(wǎng)頁(yè),如果其對(duì)應(yīng)的URL或網(wǎng)頁(yè)內(nèi)鏈接的URL在黑名單庫(kù)中,就判定其為掛馬網(wǎng)頁(yè)。網(wǎng)馬特征庫(kù)由木馬的特征規(guī)則構(gòu)成,每一條特征對(duì)應(yīng)一個(gè)威脅值。
網(wǎng)馬檢測(cè)模塊的處理,首先從任務(wù)分發(fā)模塊獲得檢測(cè)任務(wù),再對(duì)輸入文件進(jìn)行HTML解析,提取JS腳本及URL鏈接,解密經(jīng)過(guò)加密的JS腳本。然后進(jìn)行黑名單匹配,如果匹配上黑名單就返回結(jié)果,流程處理結(jié)束;如果沒(méi)有匹配上,就進(jìn)行子鏈接的匹配,如果此次匹配上,也返回處理結(jié)果,流程結(jié)束;沒(méi)有匹配上,就進(jìn)行特征碼匹配檢測(cè),匹配上多條特征規(guī)則,就把相應(yīng)的威脅值相加,整個(gè)流程處理完畢,返回檢測(cè)結(jié)果。
釣魚(yú)模塊從任務(wù)識(shí)別分發(fā)模塊獲取任務(wù)后,首先進(jìn)行域名的白名單匹配,如果匹配上白名單就返回檢測(cè)結(jié)果,如果沒(méi)有匹配上域名白名單,再進(jìn)行域名黑名單過(guò)濾,如果匹配上黑名單,反饋檢測(cè)結(jié)果,如果沒(méi)有匹配上域名黑名單,再進(jìn)行釣魚(yú)模板庫(kù)匹配,將匹配結(jié)果反饋給結(jié)果發(fā)送模塊。
此模塊主要負(fù)責(zé)緩存檢測(cè)模塊上報(bào)來(lái)的結(jié)果信息,連接數(shù)據(jù)庫(kù),把結(jié)果信息更新到數(shù)據(jù)庫(kù)中的相關(guān)表項(xiàng)中。
當(dāng)接收線程收到檢測(cè)結(jié)果后,把結(jié)果插入接收隊(duì)列,查找緩存中是否有該結(jié)果中 URL的信息,如果沒(méi)有就加入緩存,同時(shí)發(fā)送結(jié)果至數(shù)據(jù)庫(kù)中;如果緩存中已有該 URL的結(jié)果,就比較 URL狀態(tài)是否改變,如果有變化就更新本地緩存信息,同時(shí)更新數(shù)據(jù)庫(kù)中URL的狀態(tài),如果URL狀態(tài)沒(méi)有變化,則不做更新。
針對(duì)日益嚴(yán)峻的網(wǎng)絡(luò)安全形勢(shì),本文研究和設(shè)計(jì)了一個(gè)基于HTTP協(xié)議還原的網(wǎng)頁(yè)信譽(yù)的檢測(cè)系統(tǒng),在對(duì)功能需求分析的基礎(chǔ)上,把整個(gè)系統(tǒng)分解為流量還原、任務(wù)識(shí)別分發(fā)、分析檢測(cè)和結(jié)果接受反饋這幾個(gè)功能相對(duì)獨(dú)立的子模塊,并對(duì)各子模塊的關(guān)鍵數(shù)據(jù)處理流程進(jìn)行了詳細(xì)設(shè)計(jì),并對(duì)方案的可行性進(jìn)行了分析。
在研究設(shè)計(jì)的過(guò)程中,有一些問(wèn)題值得進(jìn)一步研究:1)木馬特征庫(kù)和釣魚(yú)模板庫(kù)是靜態(tài)特征碼匹配檢測(cè)中的關(guān)鍵部分,面對(duì)新的攻擊手段和偽裝技術(shù),不斷更新、積累更多的木馬檢測(cè)特征和釣魚(yú)模板是提高檢測(cè)準(zhǔn)確率、減少漏報(bào)和誤報(bào)的基礎(chǔ);2)流量還原模塊為檢測(cè)系統(tǒng)提供輸入,在網(wǎng)絡(luò)傳輸中由于網(wǎng)絡(luò)的延遲或路由器的限制,有大量的超時(shí)重傳報(bào)文、多線程下載和高并發(fā)連接的數(shù)據(jù)傳輸,這些都對(duì)還原模塊提出了更高的要求,需要持續(xù)的關(guān)注研究。
[1]國(guó)家互聯(lián)網(wǎng)應(yīng)急中心CNCERT互聯(lián)網(wǎng)安全威脅報(bào)告[R].2011.
[2]羅守山,陳萍,皺永忠.密碼學(xué)與信息安全技術(shù)[M].北京:北京郵電大學(xué)出版社.2009.
[3]李順東,覃征,賈曉琳等.一種特洛伊木馬的檢測(cè)算法[J].小型微型計(jì)算機(jī)系統(tǒng).2003.
[4]戴敏,黃亞樓,王維.基于文件靜態(tài)信息的木馬檢測(cè)模型[J].計(jì)算機(jī)工程.2006.
[5]張慧琳,諸葛建偉,宋程昱等.基于網(wǎng)頁(yè)動(dòng)態(tài)視圖的網(wǎng)頁(yè)木馬檢測(cè)算法[J].清華大學(xué)學(xué)報(bào).2009.
[6]杜躍進(jìn).在線身份竊取攻擊[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用.2005.
[7]倪天華,朱程榮.網(wǎng)絡(luò)釣魚(yú)防御方法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展.2008.
[8]張衛(wèi)豐,周毓明,許蕾,徐寶文.基于匈牙利匹配算法的釣魚(yú)網(wǎng)頁(yè)檢測(cè)方法[J].計(jì)算機(jī)學(xué)報(bào). 2010.
[9]成都市華為賽門鐵克科技有限公司.釣魚(yú)網(wǎng)頁(yè)檢測(cè)方法及設(shè)備.中國(guó).CN201010620647.6[P].2011.