聖塔非研究所

摘要 漏洞的定位和修復具有挑戰性,特別是當原始程式碼不可用且需要二進位修補時

2026-03-12 · 已發表論文 · 更新 2026/03/18 下午12:09

摘要 漏洞的定位和修復具有挑戰性,特別是當原始程式碼不可用且需要二進位修補時。手動方法非常耗時,需要大量專業知識,並且無法適應新漏洞的發現速度。自動化方法是一種有吸引力的替代方案,我們提出部分可重新編譯反編譯(PRD)來幫助自動化流程。 PRD 將可疑的二進位函數提升到原始程式碼,可用於分析、修訂或審查,並使用原始程式碼和二進位層級的技術建立修補的二進位檔案。儘管反編譯和重新編…

本頁只刊出中文翻譯與中文說明;英文原文請見下方原文連結。

原文連結

論文資訊

  • 類型:已發表論文
  • 日期:2026-03-12

摘要

漏洞的定位和修復具有挑戰性,特別是當原始程式碼不可用且需要二進位修補時。手動方法非常耗時,需要大量專業知識,並且無法適應新漏洞的發現速度。自動化方法是一種有吸引力的替代方案,我們提出部分可重新編譯反編譯(PRD)來幫助自動化流程。 PRD 將可疑的二進位函數提升到原始程式碼,可用於分析、修訂或審查,並使用原始程式碼和二進位層級的技術建立修補的二進位檔案。儘管反編譯和重新編譯通常不會在整個二進位檔案上成功,但我們的方法可以成功,因為它僅限於少數函數,例如由我們的二進位錯誤定位識別的函數。我們評估了我們方法的假設,發現在沒有任何語法或編譯限制的情況下,高達 79% 的單一函數可以成功反編譯和重新編譯。相比之下,只有 1.7% 的完整 C 二進位檔案成功。當重新編譯成功時,PRD 在 93.0% 的情況下會產生測試等效的二進位。我們在兩種情況下評估 PRD:一個包含原始碼級自動程式修復(APR)方法的完全自動化流程;以及手動編輯的源代碼級修復。在對 DARPA Cyber​​ Grand Challenge (CGC) 二進位檔案進行評估時,我們發現僅在二進位檔案上運行的支援 PRD 的 APR 工具的性能與全源工具一樣好,有時甚至比全源工具更好,共同緩解了 148 個場景中的 85 個場景一致,成功率與訪問整個源代碼的相同工具一致。 PRD 取得了與獲勝 CGC 參賽作品相似的成功率,有時發現比頂級 CGC 團隊製作的緩解措施更高品質。出於一般性考慮,評估包括兩個獨立開發的 APR 工具和 C++、Rode0day 和實際二進位。