盡快從你的網站移除Polyfill.io

如果你的網站正在使用Polyfill.io,我們建議應該盡快移除,因為該服務被發現對訪客傳送惡意代碼,以下將會講解繼續使用的危險,以及正在使用的話應該採取的行動。

甚麼是polyfills和Polyfill.io

Polyfill是一段用於實行某些瀏覽器版本不支援功能的程式碼,通常是JavaScript編碼增加對HTML5、CSS3、JavaScript API和其他標準和技術的支援,使網頁開發人員不用因為支援奇怪或過時的瀏覽器而煩惱,隨著HTML5和CSS3逐漸成為網絡的主流,polyfills在2010年代最為盛行。而Polyfill.io則是協助自動傳達瀏覽器需求,以顯示特定網站的服務,服務因為能提高效率以及定期更新使用的技術和標準而廣受歡迎,部署簡單直接也是另一個原因,開發者只需要加一小段字串到網站代碼,就能啟動服務腳本使用Polyfill.io。

Polyfill.io原本由Financial Times網頁開發團隊所創作,在今年2月該服務以及相關網域及GitHub帳號被出售予中國CDN提供者Funnull,但不到六個月麻煩便開始了。

從cdn.polyfill.io的惡意代碼

在今年的6月25日,研究人員發現cdn.polyfill.io開始向使用Polyfill.io的網站用戶傳送惡意代碼,代碼使用一個錯字的域名假裝是Google Analytics (www.googie-anaiytics[.]com),並重新導引用戶到越南運動賭博網站,據報這次並非Polyfill.io首次被發現散佈惡意代碼,發現者嘗試透過GitHub的評論進行投訴,但Polyfill.io的新持有人瞬間移除所有批評,暫時潛在惡意腳本存在於超過10萬個網站,部份具有一定規模。

Google Ads:另一個原因移除Polyfill.io

如果訪客收到惡意腳本聽起來不算太過需要憂慮,Google Ads則給予網站營運商一個正當的理由盡快修復問題,因為該廣告服務已經暫停連繫到散播惡意腳本的網站廣告,除了Polyfill.io以外,還包括Bootcss.com、Bootcdn.net和Staticfile.org同樣被列入暫停廣告行列,如果不停用上述有問題的服務,網站將會失去Google Ads的推薦而損失流量。

防範Polyfill.io攻擊

應對攻擊有以下幾個步驟:

  • 把Polyfill.io腳本從網站中盡快移除,此外還包括Bootcss.com、Bootcdn.net和Staticfile.org。
  • 考慮放棄使用Polyfill,Polyfill.io的開發者也如此建議,並表示與polyfills再無關係。
  • 如果有原而不能遵循以上建議,使用CloudflareFastly的替代方案。
  • 盡量滅少網站使用外部腳本的數量,多一條就多一個潛在安全漏洞。

資料來源:Kaspersky Blog