大多數(shù)Passkey容易受到AitM攻擊
Passkey(通行密鑰)是一種流行的無密碼技術(shù),多用于驗證用戶對云托管應(yīng)用程序的訪問。盡管Passkey被寄予厚望,號稱密碼終結(jié)者,但卻容易受到中間對手(AitM)攻擊。根據(jù)eSentire的一項研究,如果Passkey未能正確實施,例如提供不太安全的備份身份驗證方法,容易遭受AitM攻擊,攻擊者通過修改向用戶顯示的提示來繞過身份驗證流程。
大多數(shù)Passkey實現(xiàn)可被繞過
“在Passkey僅用作第一因素身份驗證方法時,其備份身份驗證容易受到AitM攻擊,”eSentire威脅響應(yīng)部門(TRU)的首席安全研究員Joe Stewart在博客文章中指出:“由于AitM可以通過修改登錄頁面中的HTML、CSS和圖像或JavaScript來操縱呈現(xiàn)給用戶的視圖,當(dāng)它被代理到最終用戶時,他攻擊者可以控制身份驗證流程并刪除對密鑰身份驗證的所有引用。
這一發(fā)現(xiàn)意味著,在無密碼密鑰身份驗證之后被認為更安全的帳戶(例如銀行、電子商務(wù)、社交媒體、云帳戶和軟件開發(fā)平臺等在線平臺上的帳戶)仍然可以被入侵。
Stewart在博客中發(fā)布了POC并指出,開源AitM軟件(如Evilginx)可用于欺騙GitHub,Microsoft和Google等流行IT服務(wù)的用戶。
在Evilginx中,可以通過一些編輯(編輯顯示文本)來部署特定的Phishlet,即通過從真實登錄頁面捕獲身份驗證令牌和會話cookie來啟用AitM攻擊的腳本,以誘騙用戶進行密鑰身份驗證。
“我們使用了標(biāo)準的GitHub網(wǎng)絡(luò)釣魚進行測試,”Stewart說道:“當(dāng)目標(biāo)用戶訪問誘餌URL時,除了URL欄中的主機名之外,他們看到的釣魚頁面與普通的GitHub登錄頁面一樣,因為它就是真實的GitHub登錄頁面,只是通過Evilginx代理。”
然而,通過稍微修改網(wǎng)絡(luò)釣魚配置,攻擊者可以刪除“使用Passkey登錄”的文本,Stewart補充說,這意味著攻擊者可以很容易地誘騙用戶選擇基于密碼的備份身份驗證。
該研究指出,對于使用Passkey作為第一因素和第二因素身份驗證方法的情況,都可實施此類攻擊。除非用戶安全意識極強,能夠記得界面中(應(yīng)該有)Passkey選項,否則很可能會直接輸入用戶名和密碼,這些用戶名和密碼將與身份驗證令牌/cookie一起被發(fā)送給攻擊者,后者可以使用這些令牌/cookie來保持對帳戶的持續(xù)訪問。
根據(jù)Stewart的說法,passkeys.directory上列出的大多數(shù)Passkey實現(xiàn)都容易受到此類身份驗證方法編輯攻擊。
最安全的備份身份驗證方法
該研究進一步強調(diào),幾乎所有的Passkey備份身份驗證方法都容易受到AitM攻擊,包括密碼、安全問題、向受信任設(shè)備推送通知、社交受信任聯(lián)系人恢復(fù)、短信代碼、電子郵件、電話、KYC/文件驗證或預(yù)定義電子郵件或短信號碼上的魔術(shù)鏈接。
其中,只有社交可信聯(lián)系人恢復(fù)、KYC驗證和魔術(shù)鏈接等選項才能通過繁瑣的設(shè)置來阻止AitM。
研究者指出,第二密鑰或FIDO2硬件密鑰是最安全的方法。“顯然,擁有多個密鑰才是最安全的方法,最好是至少有一個密鑰是由PIN安全存儲和保護的硬件密鑰,”Stewart指出:“Passkey的采用仍處于早期階段,在密鑰/安全密鑰丟失或AitM身份驗證流程被操縱的情況下,魔術(shù)鏈接可能是目前恢復(fù)用戶帳戶最安全的方法。”