• <u id="saeeq"><wbr id="saeeq"></wbr></u>
  • <s id="saeeq"><div id="saeeq"></div></s>
  • <u id="saeeq"></u>
  • <u id="saeeq"><noscript id="saeeq"></noscript></u>
  • <s id="saeeq"></s>
  • 軟件所在二進制軟件漏洞機理分析方面取得進展

    文章來源:可信計算與信息保障實驗室  |  發布時間:2022-01-05  |  【打印】 【關閉

      

      近日,中國科學院軟件研究所可信計算與信息保障實驗室在二進制軟件漏洞機理的自動化分析方面取得研究進展。該研究提出了基于錯誤引用計數檢測的釋放后重用漏洞根因分析與定位方法,不僅可以幫助軟件開發人員快速定位漏洞位置,還可以提供有效的補丁建議,為提高大規模軟件漏洞的修復能力起到重要支撐作用 

      開發人員在進行大規模軟件開發時,經常使用引用計數機制來自動管理內存對象的生命周期。同時,在實際開發過程中,開發人員會進行大量的引用計數優化操作,即通過忽略對某些引用的計數,從而提高軟件的整體性能。但這些優化操作往往會帶來內存安全問題,即不正確的優化會導致某些對象的引用成為懸空指針,從而引發釋放后重用內存安全漏洞。更為嚴重的是,這些釋放后重用漏洞最終會導致系統崩潰或者任意代碼執行。 

      針對該問題,團隊首先提出了一種引用計數優化模型,并給出了多種合理的優化策略。在此基礎上,通過完整重現并監控釋放后重用漏洞的整個觸發過程,自動識別出釋放后重用對象,并借助啟發式規則篩選出所有通過引用計數來進行內存管理的對象;隨后,將對象引用的創建、銷毀行為和實際的引用計數行為進行關聯,并將關聯結果和引用計數優化模型進行匹配;最終,通過檢測不匹配的優化操作,將其作為導致釋放后重用漏洞的根本成因。 

      基于上述方法,團隊實現了FreeWill:面向大規模二進制軟件中的釋放后重用漏洞根因自動分析原型系統。團隊利用該系統已經對2種操作系統內核(LinuxMacOS)、3種瀏覽器(ChromeFirefoxIE)以及2種腳本解析引擎(PythonPHP)中的76個釋放后重用漏洞進行了實驗。實驗結果表明,FreeWill不僅可以在較短時間內準確定位各類釋放后重用漏洞發生的位置,同時還自動給出了56個有效的補丁修補建議。 

      相關成果以“FreeWill: Automatically Diagnosing Use-after-free Bugs via Reference Miscounting Detection on Binaries”為題被網絡安全領域頂級學術會議USENIX Security 2022接收。該論文第一作者為和亮副研究員,通訊作者為蘇璞睿研究員。該研究獲國家重點研發計劃等項目支持。 

    FreeWill:二進制軟件中的釋放后重用漏洞自動化分析框架

  • <u id="saeeq"><wbr id="saeeq"></wbr></u>
  • <s id="saeeq"><div id="saeeq"></div></s>
  • <u id="saeeq"></u>
  • <u id="saeeq"><noscript id="saeeq"></noscript></u>
  • <s id="saeeq"></s>
  • 久久久综合香蕉尹人综合网