(資料圖片僅供參考)
日前,奇安信代碼安全實驗室研究員張之義以共同一作身份與天津大學王俊杰教授團隊完成學術論文《FuzzJIT: Oracle-Enhanced Fuzzing for JavaScript Engine JIT Compiler》,被信息安全領域四大頂級會議之一USENIX Security 2023錄用。
該論文提出了一種尋找主流JavaScript引擎JIT (Just In Time) 編譯器編譯優化缺陷的思路,并通過模糊測試的方式進行了實現。
近些年在國內外的頂級破解大賽中,使用JavaScript引擎JIT編譯器的漏洞成功攻破瀏覽器的案例越來越多。針對JIT編譯器優化的研究也變得越來越重要。JavaScript引擎是用于執行網站中的JavaScript代碼,其中JIT編譯器引擎主要是加快引擎的執行速度,但同時也要確保執行結果是正確的。目前主流引擎的JIT編譯優化均采用多級優化的機制層層優化IR中間代碼,進而動態生成native代碼。但在層層優化的過程中可能會一些未考慮到的情況。為了挖掘此類缺陷我們從觸發JIT編譯器優化,到針對優化策略變異,最后捕獲JIT編譯器bug這三個主要方面進行實現。截至論文成稿之前,成功在主流瀏覽器 Chrome (Edge-based Chromium) 瀏覽器的V8引擎,Safari瀏覽器的JavaScriptCore引擎,Firefox瀏覽器的SpiderMonkey以及Edge瀏覽器ChakraCore引擎中發現30多個和JIT編譯器優化相關bug。