孫統(tǒng)計
(中國聯(lián)合網(wǎng)絡(luò)通信有限公司上海市分公司 上海市 200082)
人們在使用互聯(lián)網(wǎng)的同時,也會被惡意程序所傷害。惡意程序會在用戶使用網(wǎng)絡(luò)的同時,對目標(biāo)用戶的系統(tǒng)進(jìn)行破壞、竊取隱私信息、惡意扣取費(fèi)用、耗占設(shè)備資源,這一系列的惡劣行為對用戶的隱私安全構(gòu)成了嚴(yán)重威脅,為不法分子提供了可趁之機(jī)。在過去,惡意程序大多會偽裝成.exe 文件,但是當(dāng)用戶對此類文件已經(jīng)有所防范時,惡意程序轉(zhuǎn)而利用普通用戶不會懷疑的其他文件繼續(xù)潛伏,其中偽裝成Word 文檔的惡意軟件高達(dá)38%。國內(nèi)針對此類應(yīng)用程序的審核機(jī)制并不嚴(yán)格,在相關(guān)方面的技術(shù)也參差不齊,再加上惡意程序形式變化多樣,這些問題都給監(jiān)管方面造成了巨大的難度。目前,惡意程序給用戶和企業(yè)造成的危害主要有惡意扣費(fèi)、泄露隱私數(shù)據(jù)、耗占資源、惡意篡改數(shù)據(jù)、實(shí)施破壞攻擊、進(jìn)行網(wǎng)絡(luò)欺詐等惡意行為。因此,搭建一套多平臺的安全檢測系統(tǒng)已是勢在必行。
惡意程式是一種指令集合,它會在用戶不知情的情況下,潛伏在用戶的計算機(jī)或其它終端上自行安裝,并攻擊終端和程序獲取用戶的個人隱私數(shù)據(jù)等惡意操作,對用戶的合法權(quán)益造成侵害。根據(jù)惡意程序的攻擊方式可以將它分為木馬、蠕蟲、細(xì)菌、病毒等。如今,惡意軟件及插件已經(jīng)成為一種新的網(wǎng)絡(luò)問題,惡意插件及軟件的整體表現(xiàn)為清除困難,強(qiáng)制安裝,甚至干攏安全軟件的運(yùn)行。
惡意程序的攻擊形式變化多樣,但是也有一定的規(guī)律可循,惡意程序完成一次攻擊會經(jīng)歷圖1所示的四個階段。
(1)入侵終端:惡意程序通常依賴于固件存儲介質(zhì)或者網(wǎng)絡(luò)介質(zhì)傳播到目標(biāo)終端中,根據(jù)目標(biāo)系統(tǒng)的安全等級,逐步獲取權(quán)限進(jìn)行入侵。
(2)獲取權(quán)限:惡意程序開始實(shí)施入侵目標(biāo)終端后,會自動獲取終端系統(tǒng)的一些權(quán)限,這時惡意程序自動運(yùn)行惡意攻擊的代碼,在系統(tǒng)運(yùn)行進(jìn)程中竊取目標(biāo)終端的用戶名和密碼,從而不斷提升惡意程序的權(quán)限,以便于為后續(xù)的攻擊和破壞行為做好準(zhǔn)備工作。
(3)實(shí)施隱蔽策略:惡意程序在成功侵入目標(biāo)終端后,會立刻偽裝自己,它不會立刻展開破壞工作。惡意程序首先將自己修改成.exe、.doc 等常用文件格式,并在獲取足夠權(quán)限后進(jìn)行惡意攻擊。惡意程序會在目標(biāo)終端中一直隱藏很長時間,在這個時候惡意程序會不斷地嘗試獲取更高級的系統(tǒng)權(quán)限,當(dāng)它獲取到足夠高的權(quán)限時,展開實(shí)施破壞的時機(jī)就已經(jīng)成熟了。
(4)實(shí)施破壞:破壞時機(jī)成熟的時候,惡意程序開始肆意篡改數(shù)據(jù)、破壞程序和系統(tǒng),以達(dá)到獲取隱私數(shù)據(jù)、遠(yuǎn)程控制、惡意攻擊等惡意行為。
惡意程序常見的攻擊方式有DDoS 攻擊、獲取賬號和密碼、SQL 注入、惡意小程序和木馬植入。其中DDos 攻擊和木馬植入攻擊的對象是服務(wù)器,SQL 注入和惡意小程序攻擊的對象是程序。
沙盒技術(shù)是由GreenBorder 公司設(shè)計出的一種硬盤過濾文件驅(qū)動,用于保護(hù)瀏覽器和程序的安全運(yùn)行?,F(xiàn)在沙盒技術(shù)已經(jīng)被谷歌公司收購,谷歌公司運(yùn)用此技術(shù)防止用戶在用谷歌瀏覽器的時候泄露個人隱私。
沙盒是一款運(yùn)用重定向技術(shù),將使用瀏覽器和程序產(chǎn)生的文件(注冊表、信息修改等系統(tǒng)核心數(shù)據(jù)),放入自己攜帶的一個快捷文件夾當(dāng)中,在加載驅(qū)動的時候建立起隔離環(huán)境,降低被攻擊的風(fēng)險,保護(hù)用戶個人數(shù)據(jù)的安全。在系統(tǒng)部署方面具有輕量便捷、成本低等優(yōu)勢。
對于政府及重要單位的文件流轉(zhuǎn)更加需要注重文件傳遞安全,在政務(wù)辦公系統(tǒng)流程流轉(zhuǎn)時,迫切需要將文件進(jìn)行安全分析和檢測后再進(jìn)入流轉(zhuǎn)流程。
系統(tǒng)采用B/S 架構(gòu),支持web 訪問和移動H5 應(yīng)用場景下的安全檢測分析。根據(jù)設(shè)計要求,基于沙盒技術(shù)的惡意程序檢測系統(tǒng)的主要功能設(shè)計為:文件上傳功能、任務(wù)調(diào)度功能、沙盒控制功能、沙盒分析功能、日志輸出功能以及異常處理功能六大功能模塊。
2.2.1 設(shè)計要求
為了實(shí)現(xiàn)基于沙盒技術(shù)的安全檢測系統(tǒng),需要通過服務(wù)器的服務(wù)框架來接受PC 端和移動設(shè)備所產(chǎn)生的文件。本系統(tǒng)針對這一目的做出以下幾點(diǎn)設(shè)計要求:
(1)可以接收PC 端(Windows 7/10)和移動端(Android/IOS)的文件;
(2)對接收到的文件進(jìn)行檢測,能夠辨別目標(biāo)文件是否為惡意程序的偽裝;
(3)能夠快速、準(zhǔn)確的辨別目標(biāo)文件,所用的時間應(yīng)與程序本身運(yùn)行的時間相近;
(4)用戶可以通過客戶端的可視化界面將需要檢測的文件提交;
(5)將分析出來的結(jié)果通過可視化界面及時反饋給用戶,并支持用戶以郵箱或短信的方式獲取分析結(jié)果。
2.2.2 主要功能概要設(shè)計
(1)文件上傳功能:文件上傳功能采用Webservice 的服務(wù)模型,它具有優(yōu)越的服務(wù)性能,使用HTTP 傳輸協(xié)議,支持Windows 7/10系統(tǒng)和Android/IOS 平臺的文件檢測。
(2)任務(wù)調(diào)度功能:當(dāng)多個用戶同時上傳檢測文件時,需要任務(wù)調(diào)度功能對此情況進(jìn)行管理。任務(wù)調(diào)度功能會將待檢測的目標(biāo)文件復(fù)制到樣本目錄中,分配優(yōu)先級并根據(jù)文件類型選擇不同的沙盒進(jìn)行檢測,最后刪除檢測完成的目標(biāo)文件。
(3)沙盒控制功能:沙盒控制功能是整個系統(tǒng)的核心,它可以完成數(shù)據(jù)參數(shù)的配置,決定檢測時長、結(jié)果存儲路徑等參數(shù),創(chuàng)建分析任務(wù)并根據(jù)優(yōu)先級進(jìn)行排序,對目標(biāo)文件進(jìn)行分析,產(chǎn)生分析結(jié)果和日志,對版本更新進(jìn)行管理,并對系統(tǒng)異常進(jìn)行自我修復(fù)。
(4)沙盒分析功能:沙盒分析功能根據(jù)目標(biāo)文件類型和相應(yīng)的沙盒進(jìn)行匹配,對被檢測文件的流轉(zhuǎn)軌跡進(jìn)行監(jiān)控并記錄。
(5)日志輸出功能:目標(biāo)文件檢測分析的結(jié)果由日志輸出模塊產(chǎn)生日志記錄并輸出。在日志中可以看到一次分析任務(wù)從開始到結(jié)束的情況,如果分析任務(wù)異常時,管理員可以通過日志查找錯誤并及時處理。該模塊還負(fù)責(zé)將分析結(jié)果信息返回給上傳者。
(6)異常處理功能:異常處理功能是一個成熟、穩(wěn)定的系統(tǒng)必要模塊。本次設(shè)計異常處理的情況包括文件上傳異常、數(shù)據(jù)庫操作異常、虛擬機(jī)啟動異常、任務(wù)提交異常和分析處理異常。
本系統(tǒng)整體運(yùn)行流程如圖2所示。
2.2.3 系統(tǒng)設(shè)計與實(shí)現(xiàn)
服務(wù)端主要接收客戶端發(fā)來的文件和用戶信息,經(jīng)過一次分析任務(wù)完成之后,將分析結(jié)果返回給客戶端。使用主流的Tomcat 發(fā)布系統(tǒng)服務(wù),使用Mysql 作為本次系統(tǒng)設(shè)計數(shù)據(jù)庫,使用Axis2 的服務(wù)框架創(chuàng)建服務(wù)端的Webservice 服務(wù),通過HTTP 通訊協(xié)議實(shí)現(xiàn)應(yīng)用層客戶端和服務(wù)端的交互。本次選擇的框架、數(shù)據(jù)庫服務(wù)器均為開源項目(開發(fā)成本低),而且已經(jīng)被穩(wěn)定地、廣泛地運(yùn)用到互聯(lián)網(wǎng)當(dāng)中。Tomcat 服務(wù)器還具有強(qiáng)大的可移植性,可以直接封裝到項目中。
本次測試的目標(biāo)文件選擇.exe、.doc、.apk 三種格式,以保證系統(tǒng)可以針對不同文件做出檢測。選擇Windows 7/10 系統(tǒng)和Android/IOS 平臺分別測試,保證系統(tǒng)具有跨平臺的特性。本次測試記錄系統(tǒng)對上傳目標(biāo)文件完成一次檢測的步驟如下所示:
(1)用戶上傳需要檢測的文件。藍(lán)色方框提供目標(biāo)文件的路徑,紅色方框代表文件上傳成功。
(2)創(chuàng)建文件分析任務(wù)并返回結(jié)果。當(dāng)服務(wù)器接收到目標(biāo)文件時,會對目標(biāo)文件進(jìn)行分析。沙盒分析模塊會將不同類型的目標(biāo)文件與沙盒進(jìn)行匹配,由控制模塊創(chuàng)建出分析任務(wù)并根據(jù)算法得到文件惡意性的評測結(jié)果。如果有檢測出惡意程序,系統(tǒng)界面上會進(jìn)行提示。
經(jīng)過系統(tǒng)分析測試,發(fā)現(xiàn)了本次系統(tǒng)設(shè)計的一些不足之處:
(1)系統(tǒng)可以正常分析.exe 和部分.apk 文件,但不能正常分析某些游戲的.apk 文件;
(2)系統(tǒng)運(yùn)行產(chǎn)生的日志文件可讀性不高,有許多日志內(nèi)容和文件運(yùn)行情況沒有關(guān)系,影響操作人員對文件的分析和判斷。
(3)系統(tǒng)在Android/IOS 平臺和Windows 平臺進(jìn)行測試時,只能輸出部分目標(biāo)文件運(yùn)行時調(diào)用的接口信息。
通過進(jìn)一步研究系統(tǒng)存在的技術(shù)難題,可以用以下方案來解決:
(1)對部分.apk 文件不能正常解析,可能是因為系統(tǒng)對文件進(jìn)行反編譯需要重新打包引起的,打包后的.apk 文件不能在模擬器中正常運(yùn)行。通過優(yōu)化反編譯和文件注入可以解決此問題;
(2)日志的可讀性較差,可以通過優(yōu)化文本過濾代碼或者引入更優(yōu)秀的日志框架來解決;
(3)本系所統(tǒng)檢測API 種類和數(shù)量較少,導(dǎo)致不能全面監(jiān)控文件運(yùn)行情況,需要對多平臺的API 函數(shù)進(jìn)行擴(kuò)充。
基于智能沙盒技術(shù)的安全檢測系統(tǒng)已被廣泛應(yīng)用在互聯(lián)網(wǎng)中,我國比較有名的火眼相比國外其他系統(tǒng),還存在著一些差距。
2.4.1 火眼
火眼由金山公司開發(fā),是我國的一個在線對文件解析服務(wù)的網(wǎng)站。在文件上傳后,可以給定目標(biāo)文件的安全等級和分析結(jié)果報告。最大支持文件大小為30MB,支持的文件格式包括但不限于:DLL、BAT、EXE、DLL、APK、MSI、VBS、JS、HTML 等類型,也支持上傳特定格式的壓縮包。對目標(biāo)文件分析后的結(jié)果報告包含文件名,大小,類型,時間,MD5,SHA-1 等基本信息,并對目標(biāo)文件進(jìn)行安全評測,分析其危險性,包括可能影響系統(tǒng)安全的操作。
2.4.2 Virus Total
Virus Total 是一個對可疑文件提供分析服務(wù)的網(wǎng)站,在全世界的知名度較高,而且可以免費(fèi)試用。從技術(shù)上來說,Virus Total 比我國的火眼更加高效、專業(yè),最大支持文件大小為64M。文件上傳后系統(tǒng)同樣會先計算文件哈希值,然后與已檢測的文件數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行對比和分析,如果對應(yīng)文件的哈希值已經(jīng)存在,則會提示重新分析或者查看最近一次分析結(jié)果,分析結(jié)果以報告形式發(fā)布。分析報告中,包括病毒檢出率(51 個殺毒引擎查殺),文件詳細(xì)信息(文件頭,字符串,環(huán)境變量,運(yùn)行時庫),文件操作,網(wǎng)絡(luò)操作(HTTP,DNS,TCP,UDP),進(jìn)程操作,互斥體,HOOK,窗口操作等。從而對可疑文件進(jìn)行高效的檢出,避免惡意事件發(fā)生。
基于沙盒技術(shù)的安全檢測系統(tǒng)可以快速高效地分析文件安全,保障用戶的安全隱私。本次基于沙盒技術(shù)的安全檢測系統(tǒng)經(jīng)過測試,可以達(dá)到預(yù)期目標(biāo),但是仍然存在著一些問題。相信隨著技術(shù)的完善,這些問題會一一解決,日后人們不會受到隱私泄露帶來的困擾。