Facebook公開馬里亞納海溝靜態分析器代碼

Facebook 推出了一款新的開放式靜態分析器 Mariana Trench,旨在識別 Android 平台應用程式和 Java 程式中的漏洞。可以在沒有原始程式碼的情況下分析項目,因為只有 Dalvik 虛擬機器的字節碼可用。另一個優點是它非常高的執行速度(分析幾百萬行程式碼大約需要 10 秒),這允許您使用馬裡亞納海溝在所有建議的變更到達時進行檢查。該專案程式碼是用 C++ 編寫的,並根據 MIT 許可證分發。

該分析器是作為 Facebook、Instagram 和 Whatsapp 行動應用程式來源文字審查流程自動化專案的一部分而開發的。 2021 年上半年,Facebook 行動應用程式中的所有漏洞中有一半是使用自動分析工具識別的。馬裡亞納海溝程式碼與 Facebook 的其他專案緊密相連;例如,使用 Redex 字節碼優化器來解析字節碼,使用 SPARTA 庫對靜態分析結果進行可視化解釋和研究。

透過分析應用程式執行期間​​的資料流來識別潛在的漏洞和隱私問題,以識別以危險結構處理原始外部資料的情況,例如 SQL 查詢、檔案操作和觸發外部程式的呼叫。

分析器的工作歸結為識別資料來源和不應使用來源資料的危險呼叫 - 分析器透過函數呼叫鏈追蹤資料通道,並將來源資料與程式碼中潛在危險的位置連接起來。例如,透過呼叫 Intent.getData 接收的資料被認為需要來源跟踪,而對 Log.w 和 Runtime.exec 的呼叫被認為是危險用途。

Facebook公開馬里亞納海溝靜態分析器代碼


來源: opennet.ru

添加評論