2018年,,谷歌發(fā)布了名為“Titan”的硬件產(chǎn)品,,是基于FIDO技術(shù)規(guī)范打造的,用來保護(hù)支持該硬件的所有平臺賬號,。Google Titan 這樣的硬件安全密鑰被認(rèn)為是保護(hù)用戶賬戶預(yù)防釣魚和接管攻擊的最安全的方式,。NinjaLab最新研究表明,,擁有此類雙因子認(rèn)證設(shè)備的攻擊者可以利用嵌入在Titan中芯片的電磁側(cè)信道可以對其進(jìn)行克隆。
漏洞概述
該漏洞CVE編號為CVE-2021-3011,,攻擊者利用該漏洞可以從Google Titan Key 或YubiKey這樣的FIDO U2F設(shè)備中提取與受害者賬號相關(guān)的加密密鑰或ECDSA私鑰,,完全破壞雙因子認(rèn)證的保護(hù)。換句話說,,攻擊者可以在無需U2F設(shè)備或在受害者完全沒有察覺的情況下登入受害者應(yīng)用賬號,。
在攻擊中,攻擊者克隆了受害者應(yīng)用賬號的U2F設(shè)備,??寺∈谟枇似湓L問應(yīng)用賬號的權(quán)限,除非合法用戶取消或廢除其雙因子認(rèn)證憑證,。
攻擊概述
整個(gè)克?。荑€恢復(fù)攻擊)需要滿足一些先決條件。首先,,攻擊者需要獲取目標(biāo)賬號的登陸用戶名和密碼,,然后獲取Titan Security Key的訪問權(quán)限,通過定制的軟件從中提取與賬號相關(guān)的密鑰,。
要克隆U2F密鑰,,研究人員需要將設(shè)備的塑料保障移除,將其中的2個(gè)微控制器暴露出來——一個(gè)用來執(zhí)行加密操作的安全enclave (NXP A700X 芯片)和作為USB/NFC接口和認(rèn)證微控制器之間路由器的通用芯片,。然后通過ECDSA前面過程中NXP芯片散發(fā)的電磁輻射來利用側(cè)信道攻擊提取出ECDSA加密密鑰,。
該側(cè)信道攻擊是利用了計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)過程中泄露的信息,而非利用軟件漏洞,。一般來說,,側(cè)信道攻擊利用的信息有時(shí)序信息、電量消耗,、電磁泄露,、聲音信號等。
通過從6小時(shí)的U2F認(rèn)證請求命令中獲取的6000條側(cè)信道信息,,研究人員稱其利用機(jī)器學(xué)習(xí)模型成功恢復(fù)出了與FIDO U2F賬號相關(guān)聯(lián)的ECDSA私鑰,。
漏洞影響
該漏洞影響以下產(chǎn)品:
· 谷歌Titan Security Key (所有版本);
· Yubico Yubikey Neo;
· Feitian FIDO NFC USB-A / K9,;
· Feitian MultiPass FIDO / K13,;
· Feitian ePass FIDO USB-C / K21;
· Feitian FIDO NFC USB-C / K40,。
· 除了安全密鑰外,,攻擊還可以在NXP JavaCard芯片上執(zhí)行,包括:
· NXP J3D081_M59_DF,;
· NXP J3A081,;
· NXP J2E081_M64;
· NXP J3D145_M59,;
· NXP J3D081_M59,;
· NXP J3E145_M64;
· NXP J3E081_M64_DF等,。
總結(jié)
雖然研究人員從谷歌Titan Security Key中竊取了ECDSA私鑰,但使用Google Titan Security Key和其他的FIDO U2F雙因子認(rèn)證token仍然是很安全的,,因此雙因子認(rèn)證比單一認(rèn)證更加安全,,而且此類側(cè)信道攻擊的成本和難度都非常高。用戶也可以選擇其他沒有發(fā)現(xiàn)漏洞的硬件安全密鑰產(chǎn)品,。
完整技術(shù)報(bào)告參見:
https://ninjalab.io/wp-content/uploads/2021/01/a_side_journey_to_titan.pdf