本文轉載自【微信公眾號:MicroPest,ID:gh_696c36c5382b】,經微信公眾號授權轉載,如需轉載與原文作者聯繫
幾個月前,寫了這個「二進位文件靜態快速分析工具」,框架已經搭建完成,一直在添磚加瓦之中,加入了一些功能,讓一鍵式成為靜態分析的「傻瓜式」自動化操作,還是給大家一睹為快吧。
「目前按照可擴充式進行搭建,一直以來都有將python納入其中的想法,但考慮到python的庫非常討厭,在不同人的機器上部署程度不同,安裝下載吧有時出現下載不下來的情況,處理起來受環境因素影響較大,所以遲遲沒有動手將python加入其中。這也制約了這個工具的構建程度。」,這是當時寫下的一段設想,到目前為止,依然沒有形成一個成熟的想法,因為python實在是太麻煩了,對環境的依賴太大,還是沒能想到一個好的方法。
現在這塊的做法我認為有兩類,「一是公司應該是做成沙箱的樣式,底層直接各種Hook、監控網絡行為、註冊表之類的吧;二是基於二進位惡意樣本的深度學習(這個非常感興趣),將正負樣本按1:1的比例轉換為圖像。將訓練好的圖像分類模型作為遷移學習的輸入,在GPU集群中進行訓練。我們同時訓練了標準模型和壓縮模型,對應不同的客戶需求(有無GPU環境)。基於二進位文件的深度學習無需沙箱環境,深度學習模型記住的是病毒二進位文件中的有效特徵,而不是特徵碼,所以具有更好的通用性。在實際測試中,即使一個月不更新模型,對新衍生的病毒樣本也有較高的識別能力。」
我的理念是,將這個靜態分析工具做成Docker,可以嗎?
1、最初時的雛形:
萌生想法那一刻到搭建完框架,並有了最初的三個功能;
2、現在的模樣:
已經形成了幾大模塊,主要是對二進位文件進行「靜態分析、文件頭、資源節、可疑串、編譯器、安全區鏈、惡意軟體軟體」等檢測工作。
3、實例效果:
選取一個實驗材料中的例子,
截圖很長,內容很多,要慢慢放大了看,才能看到其中的內容。通過對樣本的分析結果來看,分析提取出來的數據較為精準。抽取出的內容,可直接查看,也可供導出,可以說基本達到了預期的效果,給我的分析工作省了不少力氣。
靜態分析其實在惡意軟體的分析過程中還是非常重要的一個環節,但一直以來都是簡單化的處理,散兵作戰,沒有形成自動化,一方面是加殼的存在讓靜態分析成為了鏡中月水中花;二是還是不太重視靜態分析的發展,草草了事。總體來說,靜態分析的缺點還是比較明顯的,至多也是利弊各半吧,在實際工作中還是要綜合把握為好。
基於深度學習的這種檢測,我還是不具備條件的,以後碰到這方面的人再請教吧。
對於要做成Docker的想法,慢慢醞釀吧,軟體的功能還在增加中,讓靜態分析成為一鍵式分析。