薛永大
中國民航大學電子信息工程學院 天津 300300
隨著國民經濟和網絡基礎設施的進一步發展和完善,網民數量大幅增加,互聯網絡已經深入到我國社會生活的各個層面。根據國家互聯網應急中心(CNCERT/CC)2011年9月發布的《CNCERT互聯網安全威脅報告》,僅2011年9月,境內感染網絡病毒的終端數約為626萬個,境內被篡改網站數量為2227個,其中被篡改的政府網站數量為181個。另據中國反釣魚網站聯盟(APAC)發布的消息,聯盟累計認定并處理釣魚網站66360個。各種網頁木馬和網絡釣魚詐騙行為嚴重危害了網絡用戶的個人隱私和財產安全。
為了保證互聯網服務的安全,迫切需要對網絡中的網頁木馬和釣魚網頁進行實時的檢測和防御。這可以通過在網絡運營商的服務端對惡意網頁的訪問進行阻斷來實現。通過在運營商網絡接口處部署檢測引擎,獲得網頁的信譽信息,當用戶訪問惡意網頁時,業務監控網關可以根據網頁的信譽信息攔截惡意網頁,從而保障用戶的安全。基于此,本文設計了一個網頁信譽引擎,可以實現對掛馬網頁和釣魚網頁的檢測,輸出網頁的信譽信息。
木馬程序是指表面上有某種有用的功能,實際上隱含惡意代碼的計算機程序,通常依附在其它有傳播能力的病毒上或者通過人工植入的方式傳播,進駐宿主機器,接受植入者的指令,搜集用戶隱私信息,進行盜號等危險操作。
網頁掛馬是指攻擊者在竊取獲取網站或者網站服務器的部分或者全部權限后,在網頁文件中插入木馬程序,這些木馬主要是利用系統漏洞及第三方軟件漏洞,用戶訪問被掛馬的頁面時,如果系統沒有更新木馬中利用的漏洞補丁,則會執行木馬程序。
網絡釣魚主要是指利用互聯網進行的一種欺詐行為。它通過社會工程學或欺騙技術誘騙用戶提供其個人賬戶和密碼等個人隱私資料,獲得用戶的某種身份信息,進而竊取用戶的個人財產。
網絡釣魚的種類多種多樣,但是就其攻擊手法而言,可以將其實施過程分為誘騙階段和信息獲取階段,在誘騙階段,攻擊者通常使用郵件或即時通訊軟件向用戶發送中獎等虛假信息誘導用戶點擊鏈接,這個鏈接通常指向攻擊者精心設計的一個仿冒品牌網站,當用戶輸入個人賬戶密碼等信息時,就會導致信息泄露。
系統目標是實現對互聯網上網頁的檢測,檢測網頁是否掛馬,是否是釣魚網頁,輸出網頁的信譽結果,以提供給網關設備對惡意網頁實時阻斷,保障互聯網用戶的安全。
系統的輸入是來自互聯網的鏡像流量,檢測的網頁主要針對HTTP訪問業務,由于基于HTTP協議傳輸的文件可能有多種格式,網馬和釣魚檢測模塊可以根據其主要針對的文件類型進行任務分流,實現對分析任務的檢測,并且將檢測結果輸出到數據庫,具體來說要完成以下功能需求:
(1) 對鏡像網絡流量中的 HTTP數據流還原出文件及其對應信息。
(2) 深度識別還原出的文件類型,根據檢測模塊配置的檢測類型調取相關模塊檢測。
(3) 檢測模塊實現對任務的檢測功能,并返回檢測結果。
(4) 檢測結果按照需要反饋至數據庫。
針對上一節的功能需求,把系統按照功能需求劃分為流量還原模塊、任務識別分發模塊、檢測模塊、結果接收反饋模塊和數據庫這五部分,整個系統的流程框圖如圖1所示。
現網的鏡像流量經流量還原模塊還原出使用HTTP協議傳輸的文件和其對應的信息,經由任務識別分發模塊識別任務類型并調用合適的檢測模塊進行分析,檢測模塊把任務的分析結果發送給結果接收和反饋模塊,該模塊連接數據庫并把結果更新到數據庫中。

圖1 系統流程框圖
還原模塊由數據包獲取子模塊抓取鏡像來的 TCP流量數據包,識別承載在TCP流量上的應用層數據,提取出HTTP協議傳輸的文件和其對應信息。
基于HTTP協議可以傳輸多種類型和大小的文件,還原后的文件中可能包含許多無效的文件,例如,訪問網站錯誤時的響應碼頁面、word文檔和大小為幾百字節的文件,這些網頁沒有實際的檢測意義,并且頻繁的文件讀寫工作加大還原模塊的負荷,影響其處理性能。因此,在還原模塊采用了根據文件類型、后綴名和文件大小的過濾機制,只有同時滿足這三種過濾條件,才會保存。用戶可以根據自身的網絡模型,配置適合自身環境的過濾區間,通過這種處理方式,減少還原模塊的壓力。
任務識別分發模塊是一個調度模塊,此模塊主要進行檢測任務的分配,每個檢測模塊的檢測類型用戶可以通過配置文件配置。
模塊首先遍歷還原所保存文件的信息,根據信息將文件加載到內存,放入到緩存隊列里面,然后刪除信息文件,打開樣本任務,判斷其類型,根據配置文件的內容,調用合適的分析模塊掃描。
調度規則為:如果一個檢測任務只是一個分析模塊的檢測類型,則調用該模塊進行掃描;如果同時是兩個分析模塊的檢測類型,先調用網馬檢測模塊掃描,如果掃描結果不是正常網頁,則返回結果,掃描流程結束;如果掃描結果是正常網頁,再調用釣魚檢測模塊掃描。
此模塊設計使用黑名單庫和網馬特征庫相結合的方式檢測網頁木馬,黑名單庫中包含確知的掛馬網頁對應URL。系統采用的黑名單匹配基于這樣一個思想:對于一個網頁,如果其對應的URL或網頁內鏈接的URL在黑名單庫中,就判定其為掛馬網頁。網馬特征庫由木馬的特征規則構成,每一條特征對應一個威脅值。
網馬檢測模塊的處理,首先從任務分發模塊獲得檢測任務,再對輸入文件進行HTML解析,提取JS腳本及URL鏈接,解密經過加密的JS腳本。然后進行黑名單匹配,如果匹配上黑名單就返回結果,流程處理結束;如果沒有匹配上,就進行子鏈接的匹配,如果此次匹配上,也返回處理結果,流程結束;沒有匹配上,就進行特征碼匹配檢測,匹配上多條特征規則,就把相應的威脅值相加,整個流程處理完畢,返回檢測結果。
釣魚模塊從任務識別分發模塊獲取任務后,首先進行域名的白名單匹配,如果匹配上白名單就返回檢測結果,如果沒有匹配上域名白名單,再進行域名黑名單過濾,如果匹配上黑名單,反饋檢測結果,如果沒有匹配上域名黑名單,再進行釣魚模板庫匹配,將匹配結果反饋給結果發送模塊。
此模塊主要負責緩存檢測模塊上報來的結果信息,連接數據庫,把結果信息更新到數據庫中的相關表項中。
當接收線程收到檢測結果后,把結果插入接收隊列,查找緩存中是否有該結果中 URL的信息,如果沒有就加入緩存,同時發送結果至數據庫中;如果緩存中已有該 URL的結果,就比較 URL狀態是否改變,如果有變化就更新本地緩存信息,同時更新數據庫中URL的狀態,如果URL狀態沒有變化,則不做更新。
針對日益嚴峻的網絡安全形勢,本文研究和設計了一個基于HTTP協議還原的網頁信譽的檢測系統,在對功能需求分析的基礎上,把整個系統分解為流量還原、任務識別分發、分析檢測和結果接受反饋這幾個功能相對獨立的子模塊,并對各子模塊的關鍵數據處理流程進行了詳細設計,并對方案的可行性進行了分析。
在研究設計的過程中,有一些問題值得進一步研究:1)木馬特征庫和釣魚模板庫是靜態特征碼匹配檢測中的關鍵部分,面對新的攻擊手段和偽裝技術,不斷更新、積累更多的木馬檢測特征和釣魚模板是提高檢測準確率、減少漏報和誤報的基礎;2)流量還原模塊為檢測系統提供輸入,在網絡傳輸中由于網絡的延遲或路由器的限制,有大量的超時重傳報文、多線程下載和高并發連接的數據傳輸,這些都對還原模塊提出了更高的要求,需要持續的關注研究。
[1]國家互聯網應急中心CNCERT互聯網安全威脅報告[R].2011.
[2]羅守山,陳萍,皺永忠.密碼學與信息安全技術[M].北京:北京郵電大學出版社.2009.
[3]李順東,覃征,賈曉琳等.一種特洛伊木馬的檢測算法[J].小型微型計算機系統.2003.
[4]戴敏,黃亞樓,王維.基于文件靜態信息的木馬檢測模型[J].計算機工程.2006.
[5]張慧琳,諸葛建偉,宋程昱等.基于網頁動態視圖的網頁木馬檢測算法[J].清華大學學報.2009.
[6]杜躍進.在線身份竊取攻擊[J].網絡安全技術與應用.2005.
[7]倪天華,朱程榮.網絡釣魚防御方法研究[J].計算機技術與發展.2008.
[8]張衛豐,周毓明,許蕾,徐寶文.基于匈牙利匹配算法的釣魚網頁檢測方法[J].計算機學報. 2010.
[9]成都市華為賽門鐵克科技有限公司.釣魚網頁檢測方法及設備.中國.CN201010620647.6[P].2011.