Chrome擴(kuò)展可從網(wǎng)站竊取明文密碼
研究人員發(fā)現(xiàn)谷歌、Cloudflare等知名網(wǎng)站的網(wǎng)頁HTML源碼中都以明文形式保存密碼,惡意擴(kuò)展可從中提取明文密碼。威斯康星大學(xué)麥迪遜分校研究人員在Chrome應(yīng)用商店上傳了惡意擴(kuò)展PoC,成功從網(wǎng)站源碼中竊取明文密碼。
問題產(chǎn)生的根源
由于Chrome擴(kuò)展和網(wǎng)站元素之間缺乏安全邊界,瀏覽器擴(kuò)展對網(wǎng)站源碼中的數(shù)據(jù)具有無限制的訪問權(quán)限,因此有機(jī)會(huì)從中提取任意內(nèi)容。此外,Chrome瀏覽器擴(kuò)展可能濫用DOM API直接提取用戶輸入的值,繞過網(wǎng)站使用的混淆技術(shù)來保護(hù)用戶敏感輸入。
谷歌Chrome引入的Manifest V3協(xié)議被許多瀏覽器采用,限制了API濫用,防止瀏覽器擴(kuò)展提取遠(yuǎn)程保存的代碼,防止使用eval來實(shí)現(xiàn)任意代碼執(zhí)行。研究人員分析發(fā)現(xiàn)Manifest V3并未在擴(kuò)展和web頁面之間引入安全邊界。
圖 擴(kuò)展和網(wǎng)站之間的安全邊界
上傳PoC到Chrome擴(kuò)展商店
為測試谷歌的Chrome擴(kuò)展商店審查過程,研究人員創(chuàng)建了一個(gè)可以發(fā)起密碼竊取攻擊的Chrome擴(kuò)展,并將該擴(kuò)展上傳到平臺(tái)。該擴(kuò)展的功能是一個(gè)基于GPT的助手,可以:
· 獲取用戶登錄頁面的HTML源碼;
· 濫用CSS選擇器來選擇目標(biāo)輸入字段,使用.value函數(shù)提取用戶輸入;
· 通過元素替換使用不安全的密碼字段來替換基于JS的混淆字段;
圖 提取字段內(nèi)的代碼(左)和執(zhí)行元素替換(右)
該擴(kuò)展并不包含明顯的惡意代碼,因此可以繞過靜態(tài)檢測,并且不會(huì)從外部源提取代碼,所以是支持Manifest V3的。因此,該擴(kuò)展通過了審查,并被應(yīng)用商店上架。
漏洞利用
隨后的實(shí)驗(yàn)數(shù)據(jù)發(fā)現(xiàn),前1萬個(gè)網(wǎng)站中有1100個(gè)在HTML DOM中明文保存了用戶密碼。其他7300個(gè)網(wǎng)站也易受到DOM API訪問和用戶數(shù)據(jù)直接提取攻擊。
圖 受影響的網(wǎng)站
一些知名網(wǎng)站缺乏安全保護(hù)的網(wǎng)站包括:
- gmail.com – HTML源碼中明文保存密碼
- cloudflare.com –HTML源碼中明文保存密碼
- facebook.com – 通過DOM API提取用戶輸入
- citibank.com –通過DOM API提取用戶輸入
- irs.gov – 網(wǎng)頁源碼中明文保存SSNs
- capitalone.com –網(wǎng)頁源碼中明文保存SSNs
- usenix.org –網(wǎng)頁源碼中明文保存SSNs
- amazon.com – 頁面源碼明文保存信用卡信息和郵政編碼
圖 Gmail和Facebook也受到用戶輸入提取攻擊影響
研究發(fā)現(xiàn)有190個(gè)擴(kuò)展可以直接訪問密碼字段,并保存了字段的內(nèi)容,表明有開發(fā)者可能已經(jīng)利用了該安全漏洞。
廠商回應(yīng)
Amazon稱,客戶安全非常重要,將采取措施對用戶輸入進(jìn)行保護(hù),輸入亞馬遜網(wǎng)站的用戶信息是安全的。此外,鼓勵(lì)瀏覽器和擴(kuò)展開發(fā)者使用亞馬遜提供的服務(wù)采用安全最佳實(shí)踐來保護(hù)用戶數(shù)據(jù)。谷歌發(fā)言人稱將開始調(diào)查這一問題。但Chrome擴(kuò)展的安全問答并不認(rèn)為訪問密碼字段是安全問題。
論文下載地址:https://arxiv.org/abs/2308.16321
本文翻譯自:https://www.bleepingcomputer.com/news/security/chrome-extensions-can-steal-plaintext-passwords-from-websites/如若轉(zhuǎn)載,請注明原文地址