跳至主要內容
耀通科技

我們的平台如何在已編譯的二進制檔案中找出漏洞

四個階段:反匯編、中間表示、模擬執行、特徵比對。不需要原始碼,也不靠版本元數據。

輸入已編譯的二進制檔案
比對基準本公司漏洞資料庫
判定未修補、已修補、不受影響
四個階段

方法

版本號是聲稱,指令流才是證據

引擎首先把目標二進制檔案反匯編,將當中可執行的指令轉換成結構化的中間表示,讓我們分析程式的行為,而不是版本字串或檔案指紋。

在這個中間表示之上,引擎模擬主要的執行路徑,抽取穩定的行為特徵與結構特徵,再與本公司漏洞資料庫中的參考特徵碼比對,資料庫同時收錄有漏洞的形態與已修補的形態。平台由此判斷眼前這個二進制檔案,較接近未修補、已修補,還是本來就不受影響。

版本元數據不齊全、遭改動或不可靠的時候,這一點最見功用:廠商韌體、靜態連結的函式庫、回溯移植的修補程式都屬這一類。從二進制檔案本身含有甚麼、行為如何入手,準確度就會提高,誤報與漏報同時下降。

我們的平台 · 有漏洞與已修補對照
有漏洞的二進制碼與已修補版本並列對比,顯示比對到的代碼區域

佐證

有漏洞與已修補,並列對照

配對到的代碼段兩種狀態一同呈現:工程師可以自行核實,亦可以向供應商清楚指出還有甚麼未修好。