NCC集團研究人員
讓我們回想一下,ARM TrustZone 技術可讓您建立與主系統完全分離的硬體隔離的受保護環境,並使用單獨的專用作業系統在單獨的虛擬處理器上運行。 TrustZone 的主要目的是為加密金鑰、生物識別身份驗證、支付資料和其他機密資訊提供處理器的隔離執行。 與主作業系統的互動是透過調度介面間接進行的。 私有加密金鑰儲存在硬體隔離的金鑰儲存內,如果實施得當,可以在底層系統受到損害時防止其洩漏。
此漏洞是由於橢圓曲線處理演算法的實作有缺陷,導致資料處理進度資訊外洩。 研究人員開發了一種側通道攻擊技術,允許使用現有的間接洩漏來恢復位於硬體隔離的私鑰的內容
問題的主要原因是 TrustZone 和主系統中共享通用硬體組件和計算緩存 - 隔離是在邏輯分離級別執行的,但使用通用計算單元並帶有計算痕跡和分支信息地址被存放在公共處理器高速緩存中。 使用 Prime+Probe 方法,基於評估快取資訊的存取時間的變化,透過檢查快取中是否存在某些模式,可以監視與數位簽章計算相關的資料流和程式碼執行跡象。 TrustZone 具有相當高的準確度。
在高通晶片中使用 ECDSA 密鑰產生數位簽名的大部分時間都花在使用每個簽名不變的初始化向量在循環中執行乘法運算上(
就高通公司而言,在乘法演算法中確定了此類資訊外洩的兩個地方:在表中執行查找操作時以及在基於「nonce」向量中最後一位的值的條件資料擷取程式碼中。 儘管高通代碼包含阻止透過第三方管道洩露資訊的措施,但開發的攻擊方法可讓您繞過這些措施並確定「隨機數」值的幾個位,這足以恢復 256 位 ECDSA 金鑰。
來源: opennet.ru