您的Adblocker擴展程序可以執行惡意代碼嗎?是的,它可以

Adblock Plus Vulnerability

這是一個有爭議的話題 - 廣告和互聯網。我們每天使用的許多在線服務和網站都是完全免費的。但是,運營這些服務絕不是免費的。事實上,管理它們的人投入了大量的金錢和精力,而且他們在頁面上顯示的廣告往往是投資回報的唯一途徑。另一方面,廣告在很大程度上非常煩人,甚至可能很危險,因此安全專家會建議您考慮在所有瀏覽器上使用廣告攔截擴展程序。

廣告攔截器如何運作?

從表面上看,adblockers似乎是相當輕巧,不顯眼的插件,可以在後台安靜地工作,為您提供更愉快的在線體驗。他們的內心運作也不是特別複雜。

當您嘗試查看網頁時,廣告攔截擴展會查看其源代碼並阻止所有已知的與廣告相關的腳本和網址。為了識別它們,它使用了定期更新的黑名單。

最終結果是你被剝奪了參加個性測驗的機會,這個測驗可以告訴你你是什麼類型的鱷梨醬。您還可以避免煩人且具有潛在危險的廣告。

但並不是每個人都很開心。您沒有看到任何廣告的事實意味著某些人的薪水受到威脅,他們會盡一切努力確保他們的廣告能夠找到適合您廣告攔截器的廣告。他們不時地設法做到這一點,這意味著廣告攔截器必須適應。

例如,去年Adblock Plus是最受歡迎的adblocking擴展程序之一,它採用了新的$ rewrite過濾器選項,旨在阻止某些網站上出現的巧妙定位的視頻廣告和跟踪機制。不久之後,AdBlock和uBlock(不要與uBlock Origin混淆),另外兩個基於Adblock Plus的擴展,實現了相同的過濾選項。直到上週,一位名叫Armin Sebastian的獨立安全研究員在$ rewrite功能中發現了一個漏洞 ,一切都很好。

Adblockers的$ rewrite函數中的代碼執行漏洞

$ rewrite過濾器選項的核心功能是通過重定向請求來阻止廣告和跟踪數據。這本身就可以提出一些問題,這就是為什麼出於安全原因,擴展程序的開發人員設計了允許有限類型的重定向的選項。然而,Armin Sebastian發現,在某些情況下,由於$ rewrite選項,某些Web服務可以被利用來運行任意代碼。

有一些條件,必須說。有問題的Web服務必須使用XMLHttpRequest或Fetch來執行代碼,並且必須以某種方式配置代碼的來源。在執行代碼之前缺少內容安全策略(CSP)或請求URL的驗證也是先決條件。

基於這一切,你可能會爭辯說,有相當多的明星需要完美地協調攻擊才能發揮作用,但根據Armin Sebastian的說法,成功利用這個bug是“微不足道的”。

有兩個因素導致漏洞特別可怕。第一個是使用易受攻擊的廣告攔截器的人數. 正如我們已經提到的,Adblock Plus是此類型中最受歡迎的擴展之一,當您將其用戶群添加到已安裝其他兩個插件的人數時,您會看到我們正在查看數億個潛在目標。

更重要的是,一些非常受歡迎的網絡服務符合開發利用的要求,包括谷歌的地圖和Gmail,而且由於我們談論代碼執行,可能的攻擊範圍基本上是無限的。該錯誤可以配置為僅適用於特定的IP地址,這意味著它可以用於高度針對性的攻擊以及大規模的噴霧和祈禱活動。

Adblock Plus:“這不是什麼大問題,但無論如何我們正在修復它”。

Google地圖和Gmail可以被利用的事實促使Armin Sebastian在發布他的研究之前聯繫了搜索引擎巨頭。然而,谷歌的安全團隊告訴他,他們不願意審查這個問題,因為根據他們的說法,它的根源在於廣告攔截擴展,而不是網絡服務。

Adblock Plus的開發人員也有點懷疑。在最初的回復中 ,他們表示該場景“非常不可能”,因為他們會定期檢查過濾器列表並審核添加到這些列表的所有貢獻者。儘管如此,他們表示他們會嘗試制定解決方案,並在周六宣布該漏洞已在擴展程序的最新版本中進行了修補。

AdBlock的社交媒體團隊告訴有關用戶 ,他們正在努力修復,但他們尚未正式宣布發布。另一方面,uBlock的開發人員根本沒有討論過這個問題。

我們都知道許多用戶不喜歡更新,但我們也看到安全研究人員每天都會在最簡單的應用程序和插件中發現漏洞。這就是為什麼,儘管煩惱和痛苦,但必須始終打開所有軟件的自動更新。

May 23, 2019

發表評論

重要!若要繼續到下一步,請完成以下簡單的數學問題。
Please leave these two fields as is:
9 + 2是什麼?