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