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