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