美國東北大學(Northeastern University)電腦暨資訊科學學院的研究人員近日公布了一項關乎網路上使用JavaScript函式庫的分析報告,在所調查的13.3萬個網站中,有37%的網站使用了至少1個含有漏洞的JavaScript函式庫,這些過時的函式庫有的還是好幾年前的版本。
JavaScript函式庫為高階的動態程式語言,與HTML及CSS並列為全球資訊網(WWW)的三大核心技術。(JavaScript library)則是為了方便開發JavaScript應用而事先寫好的子程式集合,全球已出現近10萬種函式庫。
該報告所測量的並非JavaScript函式庫的安全狀態,而是網站使用及維護這些函式庫的情況,並以最常見的72種開放源碼的JavaScript函式庫為基準,包括jQuery、jQuery-UI、Modernizr、Bootstrap、Yepnope、jQuery-Migrate及SWFObject等。
研究人員建立了72種函式庫之各種版本的漏洞資料庫,然後掃描Alexa排行榜上前7.5萬個網站以及隨機選取的另外7.5萬個.com網站,以偵測這13.3萬個網站是否安裝這些函式庫及其版本。
結果發現有37%的網站使用1個含有漏洞的JavaScript函式庫版本,有10%的網站使用2個以上含有漏洞的JavaScript函式庫版本。而在Alexa排行榜上的7.5萬個網站所使用的函式庫中,有87.3%的YUI3、86.6%的Handlebars、40.1%的Angular、36.7%的jQuery,以及33.7%的jQ-UI都是有漏洞的版本。
其實37%這個比例還可能被低估了,因為研究人員只測量了72個JavaScript函式庫。
報告指出,儘管各種JavaScript函式庫已有更新版,但仍有不少網站繼續使用含有漏洞的版本,對於網站開發人員而言,他們必須先知道網站使用了哪些函式庫,採用更系統化的管理,而非直接手動把函式庫檔案或CDN連結複製到代碼庫中。
此外,研究人員也發現,絕大多數的函式庫都未建立專用的安全更新郵件論壇(mailing list),也多缺乏詳細的漏洞報告,還有許多修補程式無法相容於更舊的函式庫版本,快速的生命周期也讓開發人員疲於更新。