美國 John Hopsking 大學的兩位資安研究人員,近來在今(2022)年度的 Usenix Security Symposium 資安研討會上發表論文,指出該研究團隊利用全新開發的圖像式分析工具 ODGen 進行分析,發現廣為網頁開發人員使用的 JavaScript 開發框架 Node.js 開源程式庫內的程式碼,存有 100 個以上的 0-day 漏洞。
這類圖像分析工具的運作原理,是分析程式碼,建立一個圖像架構,反映某應用程式中各種不同的單元及其執行分支,可以用來找出程式碼中的漏洞。這種分析工具能夠有效找出以某些程式語言撰寫程式碼內含的漏洞,例如 Code Property Graph (CPG) 即可有效運用於 C/C++ 與 PHP 程式碼的漏洞分析。
有鑑於 CPG 的運用成功,John Hopkins 大學的研究團隊也運用該原理,開發出運用於 JavaScript 程式語言的漏洞分析工具 ODGen,並且以此工具掃瞄 Node.js 這個廣受全球數百萬名開發人員歡迎,其程式庫已有數百萬種不同套件的開源程式開發框架,結果發現了 180 個 0-day 漏洞。
該團隊提報這些 0-day 漏洞後,已經有 70 個漏洞取得 CVE 編號。
據研究團隊表示,ODGen 可以準確發現 13 種不同的漏洞類型,包括 XSS、SSRF/CSRD、SQL 指令注入、原型污染(Prototype Pollution)、指令注入等等。該團隊也利用此工具分析廣受使用的 30 萬種 NPM 開發套件,結果發現超過 3,000 種資安漏洞,其中有 264 種存於每周下載次數超過 1,000 次的熱門套件。
研究團隊表示,接下來將延伸 ODGen 支援的程式語言種類,以便支援其他經常用於網站開發的程式語言,包括 PHP 與 Java 在內。
由於近年來在開源程式庫中發現的惡意與非惡意漏洞逐漸增加,開發人員在下載開源程式套件使用前,必須先確認該套件為最新版本,且未遭駭侵者修改並注入惡意程式碼。
- 參考連結
Mining Node.js Vulnerabilities via Object Dependence Graph and Query
https://www.usenix.org/conference/usenixsecurity22/presentation/li-song
Graph-based JavaScript bug scanner discovers more than 100 zero-day vulnerabilities in Node.js libraries
留言列表