本文原作者是趨勢的一個朋友,在征得他同意的基礎上,拿來轉載 |
Web安全innovation
由于最近參加了病毒和 Web Threat 的基礎培訓,對一些常規的惡意軟件或者網頁的原理和行為有了粗淺的認識。經過這次培訓,心里有個想法就是:惡意軟件和網頁的作者是進攻者,安全廠商是被動防護者,而且一暗一明,攻守之勢一直沒有太大的改變,結果就是無盡的病毒,無窮的 pattern , “ 無力 ” 的防御。張總有言:策略是致勝的關鍵。我覺得我們安全廠商是不是應該在策略上作出些根本的改變呢?我冥思苦想,夜不能寐,心里隱隱約約形成了一個大致的想法,可能非常的幼稚,以致貽笑大方,也可能 “ 英雄 ” 所見略同,引君莞爾一笑。我是個行外人士,不過東坡居士有詩云:不識廬山真面目,只緣身在此山中。這就是說:外行真的有可能解決內行不能解決的問題,因為金錘子類的反模式會干擾人的創新能力。在此聲明沒有參考已有的解決方案,閑話少說,下面我就開門見山,直搗黃龍了。
我總的解決思路就是孔夫子的一句話稍微變一下:忽其言而察其行。就是說我先忽視你網頁的 “ 言 ” :源代碼,而是重點觀察你的行,給網頁放肆執行的機會,然后詳細的觀察它造成的后果。
假設有個大型企業,里面有個用戶想訪問一個網頁,企業本地 IWSVA 會到本地緩存查詢,如果在黑名單里,馬上拒絕,否則去趨勢的云端查詢,如果得知是不安全的, IWSVA 馬上拒絕。如果到這里還沒有被拒絕, IWSVA 會根絕用戶的操作系統的類型從虛擬機或者就是實體機陣列中(因為有些病毒會監測是否為虛擬機,若安全等級要求高,則建議采取實體機)動態選取一個空閑的而且 OS 類型跟用戶一樣的機器,而且這些機器的 OS 沒有安裝任何的 patch ,安全策略選擇最低,所有瀏覽器的安全等級也選擇最低,沒有安裝任何 AV ,反正就是人見人欺的那種,而且一些系統本身的 routine , prefetch 能關的都給關掉。但是這些操作系統的內核是被修改過的,分為虛模式和實模式 2 種。虛模式狀態下,文件或者注冊表新增,修改,刪除,讀取看起來是正常返回的,但是其實會被導向到一個遠端的文件系統( NAS , Hadoop 等)的。 具體操作如下:
● 新增: 遠端文件系統上會新增文件或者注冊表條目,而且記錄創建發起的進程信息,時間戳。在本地文件和遠端文件映射表中記錄一個條目,映射表也存在遠端。
● 修改:遠端文件系統上會遠端文件系統上會新增文件記錄原文件或原注冊表項,修改后的文件,修改發起的進程信息,時間戳
● 刪除: 遠端文件系統上的文件或者注冊表項不會被真正刪除,會記錄刪除標志,刪除發起進程信息,時間戳
● 讀取: 先查看映射表,如果讀取的文件或注冊表項在映射表中存在的并且沒有刪除標志,則讀取遠端的文件,如果讀取的文件或注冊表項在映射表中存在的并且如果讀取的文件或注冊表項在映射表中存在的并且有刪除標志,則報告 IO 錯誤,否則讀取本地文件或者注冊表。
在實模式下,則上述操作都操作本地文件。
在簡要描敘了模擬運行機器 OS 的 2 種模式后,下面輪到網頁真正運行了。 IWSVAI 會根據用戶的 OS 類型和 Agent 類型,選擇一臺模擬機并且打開相應的瀏覽器在虛模式下運行,所以這時候網頁運行產生的結果都會在遠端的文件系統中被記錄。同時這臺模擬機通過網關發送或者接受數據的記錄也會被攔截記錄。 IWSVAI 會通過 RPC 或者固定端口向模擬機請求進程信息和 service 信息,模擬機處理這些請求時是以實模式運行的。網頁運行觸發的行為類型:比如說下載 PE 文件,創建新進程,創建 service ,新增 autorun 項,發送本機系統信息等,每項行為都有加權分,加權分相加的總分越高,說明網頁越危險。網頁執行觸發的行為分析模塊會分析網頁的行為,會計算出一個加權總分。根據加權總分,給出安全,可疑,危險,致命等警告等級,危險和致命的網頁將直接拒絕用戶訪問,同時更新客戶本地的黑名單 cache 并將可疑,危險,致命的網頁 URL 以及模擬運行中生成文件和網絡活動信息報告給云端。當然行為加權分會根據云端的統計數據會作出相應的調整。云端的 Crawler 會馬上爬取這些惡意的網頁,并結合客戶端傳送過來的模擬執行過程中產生的資料,工程師分析惡意代碼的原理,找出系統漏洞并給 OS 廠商或者瀏覽器軟件廠商 patch 建議。
當然惡意網頁可能會在頁面的 script 中故意推遲惡意行為,對于這種情況,如果頁面加載完成后,瀏覽器的 javascript 引擎中還有活動或者掛起的 javascript 線程存在時,這時候 SA 模塊就要對 Script 進行分析給出判定。
如果判定了一個網頁是惡意網頁,則先切斷模擬機跟遠端文件系統的連接,然后 reboot 系統 。
主要的 Concern :
性能:由于模擬機執行惡意網頁后需要 reboot 這點比較影響效率,但是由于惡意網頁會首先在本地 cache 和云端查詢被過濾,惡意網頁被任意客戶僅模擬執行一次,整個趨勢的用戶都能得到防護。
流程圖如下:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
