在今年的IEEE研討會上,來自以色列管理學術研究學院的研究人員展示了一種新的攻擊方法。這種攻擊方法被命名為PRMitM,意為「密碼重置中間人攻擊(Password Reset MitM Attack)」。黑客可以利用這種攻擊手法對受害者的帳號進行密碼修改。
研究人員稱,Google極易受到攻擊,而Facebook, Yahoo, LinkedIn, Yandex和其他郵箱服務、手機應用(包括Whatsapp、Snapchat、Telegram)也比較容易受到攻擊。
攻擊流程首先攻擊者需要搭建一個網站,並且需要訪客進行註冊。網站可能提供某些免費服務或者免費軟體,但是需要登錄才能使用,藉此吸引訪客進行註冊。當訪客在註冊表單中填寫信息時,攻擊開始。
接下來攻擊者會跑到訪客填寫的郵件服務商(或者其他服務)那裡選擇「忘記密碼」,如果出現驗證碼,攻擊者就會把它再轉發到網站讓用戶填寫。當然,黑客會用一套自動化程序完成這些操作。
全球Top 10網站在密碼重置時採用的驗證方式
與處理驗證碼的方法相同,之後密碼重置過程中遇到的安全問題,攻擊者也會返回給註冊用戶進行填寫。
用戶需要下載文件時,網站要求用戶填寫郵箱,填寫後,攻擊者會找到郵箱服務商,選擇忘記密碼,此時有些郵件服務商會返回驗證碼,攻擊者再將驗證碼返回給用戶填寫,用戶填寫完成再提交給郵件服務商。同理,對於那些安全問題攻擊者也可以要求用戶進行填寫,這在註冊流程中是非常正常的事。獲取了用戶所有信息,攻擊者便可進行密碼重置。
有一些網站只使用安全問題就可以進行密碼重置。在研究人員的實驗中,77%的實驗者把那些安全問題的答案提交給了非常不重要的網站。在研究人員看來這是非常危險的,諸如父母的姓名這類的網站應該只提供給非常重要的網站比如網銀網站。研究人員提供的另外一條建議是,不要在那些不重要的網站提供這些問題的真實答案。
PRMitM攻擊方法的優勢
可以用來對付雙因素認證PRMitM可以用來對付雙因素認證。很多雙因素認證需要驗證用戶手機,而使用PRMitM攻擊者無需對受害者手機進行控制,也無需轉發簡訊。攻擊者只需要要求訪客驗證手機號就可以進行認證。攻擊者會聲稱發送了簡訊驗證碼,而實際上發送簡訊驗證碼的是攻擊者正在進行密碼重置的網站。
之所以能夠矇混過關,還有一個比較重要的因素是發送簡訊的服務沒有標明自己的服務,有時用戶也沒有注意驗證碼的發送方,在收到驗證碼時用戶往往不會完整地閱讀整條簡訊。
上圖中的Yandex就沒有註明用於Yandex服務
研究人員發現,Google在發送驗證碼時不會提示驗證碼用於密碼重置。Netfix不會提示驗證碼來自Netflix,eBay不會提簡訊來自eBay。而微軟、Facebook和Twitter的簡訊則會註明用於密碼重置。
Whatsapp、Snapchat、Telegram中的PRMitM研究人員發現對於那些手機應用同樣存在被攻擊的可能。Whatsapp、Snapchat、Telegram會提供撥打電話進行密碼重置的方法,但是同樣地在這些電話中,這些服務不會聲明具體的服務。
針對中國的簡訊驗證服務實際上研究人員所說的提示驗證碼來自Google,指的是在手機簡訊應用中直接顯示來自Google,而非來自特定的號碼。這樣的服務在中國比較少,我們的簡訊驗證碼普遍來自1065開頭的號碼。
不過據小編觀察,大多數的簡訊在開頭會註明來源:
不過有些手機廠商提供了自動複製簡訊驗證碼的功能,這也可能造成用戶直接忽略簡訊內容填寫驗證碼。
攻擊的局限性實際上PRMitM這樣的攻擊方式只有在攻擊郵件服務商時才足夠有效,因為很多服務在密碼重置時往往會先發送一份密碼重置郵件,這樣就暴露了攻擊者的意圖。
而研究人員提出的解決方案就是讓廠商在簡訊中發送密碼重置連結(因為對於忘記密碼無法登陸的用戶,郵件服務商無法發送重置郵件),或者更好的辦法則是同時發送驗證簡訊和驗證郵件。
漏洞已通報廠商研究人員稱已經把這些「漏洞」匯報給了各個廠商。
那些極易被PRMitM攻擊的廠商有的已經修復了漏洞(Snapchat, Yahoo!),有的回覆我們稱將修復漏洞(Google, LinkedIn, Yandex)。對於那些不容易攻擊的網站,致謝了我們,並且稱可能在將來採用我們的發現,但目前暫不會進行修復。
*參考來源:BleepingComputer,本文作者:Sphinx,轉載請註明來自FreeBuf.COM