(中國電力科學研究院,北京,100192)
一種基于沙箱技術的網頁掛馬檢測系統
劉 賀, 郝增帥,趙 婷
(中國電力科學研究院,北京,100192)
隨著互聯網的迅猛發展,網頁已經成為人們日常發布和獲取信息的重要途徑,給人們帶來了極大的便利。然而,安全挑戰也隨之而來,層出不窮的網頁入侵手段嚴重影響著互聯網的長遠應用和發展,尤其是網頁掛馬是一個十分泛濫的攻擊方式,嚴重威脅著用戶安全。針對此問題,本文提出了一種基于沙箱技術的檢測系統,能夠動態地檢測和抵御網頁木馬攻擊。在安全性上,所提系統通過高交互蜜罐中多個沙箱技術,動態地模擬網頁木馬攻擊過程,進而能夠分析和抵御應用層、系統層和內核層的惡意行為,實現了多層檢測。在效率上,所提系統采用了輕量級的沙箱技術,在內核層涉及較少調用,著重在應用層HOOK相關API實現檢測,提高了效率表現。實驗評估分析表明,所提系統能夠獲得較好的性能。
網頁木馬;蜜罐;沙箱;動態檢測
隨著計算機網絡的普及與廣泛應用,網頁應用已經成為了網絡信息交互的中心,為人們日常發布和獲取信息的重要渠道。與此同時,網頁應用的安全問題日益突出,相關的安全事件層出不窮,尤其是網頁掛馬由于傳播速度快、病毒載體多樣、破壞力等特點給網絡用戶帶來嚴重的安全威脅。一個典型的網頁掛馬是指攻擊者在網頁文件中植入一段漏洞利用代碼,在隨后訪問網馬頁面時,植入的惡意代碼會對指定軟件進行攻擊,導致系統隱蔽的下載并執行指定的病毒木馬程序。本文主要研究了網頁掛馬的安全檢測問題,并考慮了輕量級調用問題。
目前,已經有很多有關網頁掛馬檢測的研究,主要方法可以分為兩類:(1)基于特征匹配的靜態檢測;(2)基于蜜罐或其它的動態行為監測。前者主要根據木馬程序本身特征(如代碼特征、臺結構等),匹配腳本代碼是否為惡意木馬,做出相應的處理。這種方法簡單可性,成本較低,但是其存在固有的缺陷:“特征庫”是前提,必須提前獲知某段程序是木馬,才能從中提取特征供檢測使用,而龐大的木馬數量使得特征庫很難完全搜集,且木馬的大量增加增加了搜集難度;加密腳本需要解釋成明文才能進行特征匹配,而正常網頁一般使用加密技術用以保護知識產權;瀏覽器插件普及帶來的漏洞導致零日攻擊增多,使得基于代碼特征匹配的檢測方法失效。基于蜜罐或其它的動態行為檢測主要通過監視可疑的系統調用或修改系統進注冊表等異常操作,從而能夠實時地判斷網頁是否受到攻擊點和存在安全漏洞。由于動態檢測的諸多優點,已經出現了很多相關產品和研究,但仍然面臨一些問題:一些產品存在準確性問題,尤其是在面對傳播特殊化、變種多樣化等的網頁木馬時,依然存在漏洞和缺陷;一些產品存在效率問題,由于檢測過程需要在驅動層HOOK相關大量內核調用,并與應用層通訊,降低了系統效率。
在本文中,我們提出了一個基于沙箱技術的網站掛馬檢測系統。通過雇傭沙箱技術,所提系統能夠動態地判斷網站是否被惡意掛馬,并且多個沙箱程序的并發執行不相互影響。所提系統考慮了多層的檢測實現,具體涉及應用層、系統層和內核層,跨層的設計能夠更好地提供檢測服務。此外,為了提高檢測效率,所提系統采用了輕量級技術,著重采用瀏覽器應用層HOOK,從而避免昂貴的內核層調用。
本文剩余部分組織如下:第二節介紹一些基礎知識;第三節給提出新的木馬檢測系統,提供詳細設計模塊和檢測流程,設計了輕量級檢測;第四節對所提系統進行評估;第五節總結全文。
1.1 掛馬常見形式
目前,網頁掛馬存在多種攻擊形式,這里給出一些常見的網頁掛馬技術:
1)JS掛馬
通過將JS代碼寫在網頁上或者注入網頁中,黑客能夠讓網站遠程調取異地JS腳本,并上傳到自己指定的網址,其通常代碼如下:
document.write("網頁木馬地址")
2)iframe掛馬
通過利用iframe語句,攻擊者能夠在網頁中插入隱藏框架,這也是最早最常見的一種網頁掛馬技術,其代碼通常如下: