惡意軟件圖像自動分析
桌面圖標和其他各種各樣的圖形圖像經常被惡意軟件制造者們用來引誘用戶。最經典的案例就是PDF圖標被利用來誘使用戶誤以為是無害文檔而放心打開惡意可執行程序。
作為美國國防部高級研究計劃局(DARPA)新型惡意軟件分析項目的一部分,Invincea的研究人員演示了用于分析惡意軟件內置圖像的一套自動化系統,證明其能夠提高威脅檢出率,幫助研究人員弄清新型惡意軟件是怎樣誘騙用戶的,以及幫助確定具體威脅背后的敵人到底是誰。
Invincea實驗室研究工程師阿歷克斯·朗在2015黑帽大會上展示了他們研究的成果。
“利用惡意軟件的內置圖像來分析樣本領惡意軟件作者陷入了‘第二十二條軍規’的窘境,因為圖像就是他們借以玩弄用戶的一大法寶?;旧?,我們就是向惡意軟件作者宣告:‘你可以繼續使用圖標圖像增加誘使用戶中招的幾率,但我們也會使用圖像來更加容易地檢測并弄懂你的惡意軟件。’”朗說。
他補充道:“基于對惡意軟件檢測方法的大量研究,以及我們的工作展現出的可喜初期成果,我們相信:這一相對簡單的思路具有非常有效地補足其他方法的潛力,應當作為惡意軟件分析的新信號得到進一步深化發展。”
據朗所說,DARPA提供的200萬份惡意軟件樣本中,超過半數的樣本至少包含一個內置圖像。
這一自動化惡意軟件圖像分析分為兩個主要階段:用視覺相似圖像集識別惡意軟件樣本,以及對圖像分類(例如:假冒反病毒軟件,安裝程序,游戲相關威脅)。
對于***個部分,Invincea依靠一種名為“平均散列”的技巧。這一技巧涉及將圖像削減成灰度圖,拉伸或縮小到某一特定大小,調高對比度,并轉換成二進制向量(位向量)等一系列操作。當得到了平均像素值,就可以通過對比每個像素和平均像素的差異產生出一個散列。
這就使得分析系統可以極有效率地將惡意軟件圖像與給定圖像集進行比較而無須考慮它們的對比度、大小或配色。
而惡意軟件圖像分類則依賴于谷歌圖片搜索API(應用程序編程接口)和用戶定義查詢。
朗解釋道:“圖像分類上,我們采用了谷歌圖片搜索結果來得到代表不同語義類別的圖像。比如說,如果你想要IE圖標的訓練數據,只需使用一些高級搜索設置來限制‘internet explore’這個關鍵詞的搜索范圍到僅有圖標就好。”
對某些測試類別,比如假冒字處理軟件,研究人員獲得了相當好的結果,但在其他類別中,惡意軟件圖像被誤分類的概率高到令人無法接受。
“我們這個研究的目的是讓分析過程完全自動化。惡意軟件作者采用自動化流程依靠單一惡意軟件樣本基本上就能源源不斷地產出大量惡意軟件變種,那么,惡意軟件分析師也就必須開始更多地依靠自動化的方法。” 朗說道。
“采用我們的方法,提取、比較和可視化匹配圖像都是全自動完成,因而,分析師可以輕輕一擊,就從全無所知的20萬份新鮮惡意軟件樣本中得到它們之間共享圖像的‘社會網絡’圖譜。圖像分類過程也是完全自動的,所以,選擇想要怎樣分類惡意軟件圖像就跟新添搜索關鍵詞一樣簡單,在我們系統的搜索列表里添上就行。”
圖像處理通常需要占用大量系統資源,但Invincea開發了一套相當高效的分析系統。
“考慮到可擴展性,我們把注意力放在了計算成本低的方法上。平均散列是個好辦法,因為整個算法用python寫的話只有20-30行,且幾乎是瞬時運行。為了在百萬幅圖像對比時還保持良好運行效率,我們采用了開源庫FLANN,也就是‘快速輕量級最近鄰逼近搜索函數庫’。這個庫采用了比k最近鄰(kNN)算法復雜得多的技術來逼近kNN的結果而又不用執行極消耗計算資源的可能圖像對間的兩兩比較。從而,我們得以在數秒內就對成千上萬的圖像進行最近鄰計算,對計算機性能的影響幾乎可以忽略不計。”
研究人員表示,在圖像分析能被集成進商業解決方案之前,此系統的整體準確度還需進一步提升。
朗說:“這一工作是在一項4年期DARPA項目的尾端進行的,因此,我們的主要目標僅僅是向社區公開這一創意。我們想表明這一概念是有潛力的,也相信我們已經做到了這一點。”