美國威斯康辛大學麥迪遜分校(University of Wisconsin–Madison)的資安研究人員團隊,近期發現一種攻擊方式,可以透過 Chrome 瀏覽器的擴充功能,竊取網站程式碼中儲存的使用者輸入密碼,且有不少擁有數百萬以上使用者的大型網站,將密碼以明文方式存在網頁 HTML 程式碼中。
該研究團隊已將其攻擊概念驗證程式編譯打包為 Google Chrome 擴充功能的格式,並上傳到 Chrome Web Store 中。
研究人員說,問題的根源在於開發人員在撰寫 Chrome 瀏覽器的擴充功能時,往往有個習慣性的做法,就是讓擴充功能能夠存取所有網頁會載入的 DOM 樹狀架構,而不會受到存取範圍的限制,因此導致擴充功能有機會存取到一些像是使用者輸入欄位之類的機敏資訊。
另外,擴充功能也可以濫用 DOM API 來跳過套用者網站上,用以保護機敏輸入資訊的各種資訊混淆機制,直接取得使用者輸入的值並加以竊取。
研究人員指出,雖然 Google 在 Manifest V3 協定已經針對 API 的取用加上限制,禁止擴充套件透過遠端取得程式碼的方式,來逃避資安偵測,並且避免以此方式遠端執行任意程式碼,但 Manifest V3 並未限制擴充套件存取網頁內容的範圍,所以仍存有上述可竊得使用者輸入資訊的問題。
研究人員進一步指出,許多使用者眾多的大型網站,都會把使用者密碼以明文存在HTML 源碼中,造成這類惡意擴充套件有可能竊得密碼;這些大型網站包括 gmail.com、cloudflare.com、facebook.com、citibank.com、irs.gov、capitalone.com、usenix.org、amazon.com 等。
建議網站開發人員應注意此問題,在撰寫程式碼時應嚴守資安最佳實務作法;使用者也應在各網站使用不同的強式密碼,並使用二階段登入驗證。
- 參考連結
Exposing and Addressing Security Vulnerabilities in Browser Text Input Fields
https://arxiv.org/pdf/2308.16321.pdf
Chrome extensions can steal plaintext passwords from websites
留言列表