• <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>
  • 陳海明團隊在ReDoS漏洞檢測與修復技術上取得重要進展

    文章來源:計算機科學國家重點實驗室  |  發布時間:2021-06-21  |  【打印】 【關閉

      

      近日,中國科學院軟件研究所陳海明團隊在正則表達式拒絕服務攻擊(ReDoS)漏洞檢測與修復技術上取得重要進展,設計研發當前最先進ReDoS漏洞檢測工具——ReDoSHunter,提出首個抗ReDoS漏洞正則表達式修復工具——FlashRegex,不僅解決了靜態與動態ReDoS檢測工具的局限性,實現了正則表達式修復結果無ReDoS漏洞的突破,而且在性能上大幅提升并全面超越了現有最先進ReDoS漏洞檢測及修復工具,對ReDoS漏洞挖掘、利用、修復及防御工作提供了便捷、高效、性能優越的重要工具。 

      ReDoS漏洞檢測工具——ReDoSHunter 

      正則表達式在計算機科學領域中被廣泛使用,但正則表達式拒絕服務攻擊(ReDoS)漏洞是一種常見且嚴重的算法復雜度攻擊漏洞,并在近幾年呈增長趨勢。但現有的ReDoS漏洞檢測工具都存在準確率較低(誤報多)或召回率較低(漏報多)的缺陷,產生這一缺陷的根本原因在于,給出全面的、形式化的ReDoS漏洞檢測條件這一挑戰性問題未得到解決。 

      針對該問題,陳海明團隊經過長期深入研究,通過對海量易受ReDoS漏洞攻擊的正則表達式的分析,創新性地系統提出了ReDoS漏洞檢測條件,即ReDoS漏洞模式,并形式化地給出了觸發這些模式的必要條件。基于上述工作,進一步提出了動靜態結合的ReDoS漏洞檢測算法,并設計實現了ReDoS漏洞檢測工具——ReDoSHunter  

      ReDoSHunter能夠高效檢測ReDoS漏洞,實現診斷漏洞根本原因、分析漏洞嚴重程度、追蹤漏洞位置并生成觸發攻擊的字符串等功能。在檢測ReDoS漏洞數量方面,ReDoSHunter超越現有最先進工具,在Corpus, RegExLib, Snort三個大型數據集(共計37651個正則表達式)上實現了100%的準確率和召回率。在檢測ReDoS漏洞相關的CVEsCommon Vulnerabilities and Exposures通用漏洞披露)方面,現有最先進的檢測算法只能檢測出60%ReDoS相關的CVEsReDoSHunter能成功檢測出100%CVEs。由于ReDoSHunter的卓越性能,目前軟件所在ReDoS相關的CVEs披露數量排名中位居國際首位。 

      此外,ReDoSHunter 的應用對于尋找、糾正廣大的開源社區的ReDoS漏洞發揮了重大作用。該工具已應用在Python源碼、CKEditorprismjs等開源項目的ReDoS漏洞檢測中。同時,該團隊與知名安全公司Snyk建立了長期的合作關系,共同致力于高效披露ReDoS漏洞。在已發現的200多個尚未被披露的漏洞中,截至目前已獲批了27CVEs, 并收到多個項目的官方致謝。 

      相關研究成果以ReDoSHunter: a combined static and dynamic approach for regular expression DoS detection為題被USENIX Security 2021會議錄用。論文第一作者為博士生李頁霆,論文通訊作者為陳海明研究員。 

      ReDoSHunter工具檢測流程實例 

    ReDoS漏洞檢測工具在三大數據集上的識別效果比較

      抗ReDoS漏洞正則表達式修復工具——FlashRegex   

      正則表達式以難以掌握著稱,其現有的自動化合成與修復工作均忽略了ReDoS漏洞,使其結果可能受到該漏洞的攻擊。 

      針對該問題,陳海明團隊提出了首個抗ReDoS漏洞正則表達式的合成與修復算法,其通過去除正則表達式的歧義來生成或修復出無ReDoS漏洞的正則表達式。為加速合成和修復過程,團隊使用了確定性自動機和局部約束加強啟發式策略,并且設計實現了相應的工具——FlashRegex 

      與傳統的人工修復相比,采用維護人員的修復方案得到的結果仍然經常有ReDoS漏洞,而FlashRegex能夠高效地生成或修復出無ReDoS漏洞的正則表達式,修復的所有正則表達式中發現的ReDoS漏洞數量為0 

      該工具已應用到實際開源項目中修復ReDoS漏洞,得到postccsnltkPython源碼等十多個項目維護者及知名安全公司Snyk的一致認可或致謝。 

      相關研究成果以FlashRegex: deducing anti-ReDoS regexes from examples為題在ASE 2020會議上發表。論文第一作者為博士生李頁霆,論文通訊作者為陳海明研究員。 

      FlashRegex工具修復流程 

  • <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>
  • 久久久综合香蕉尹人综合网