在以前的帖子中 我們知道芯片 Broadcom容易受到攻擊s,現在這一次是公司的研究人員 NCC Group披露了該漏洞的詳細信息 (CVE-2018,11976 ) 在高通芯片上 這 允許確定私有加密密鑰的內容 位於基於ARZ TrustZone技術的隔離的Qualcomm QSEE(高通安全執行環境)飛地中。
該問題在大多數Snapdragon SoC中均已顯現在基於Android的智能手機上。 該問題的修復程序已包含在XNUMX月的Android更新和高通芯片的新固件版本中。
高通用了一年多的時間來準備解決方案: 最初,有關此漏洞的信息於19年2018月XNUMX日發送給Qualcomm。
ARM TrustZone技術使您能夠創建與主系統完全獨立的受保護的硬件隔離環境,並使用單獨的專用操作系統在單獨的虛擬處理器上運行。
TrustZone的主要目的是提供加密密鑰處理程序,生物特徵認證,計費數據和其他機密信息的隔離執行。
與主操作系統的交互通過調度接口間接發生。
專用加密密鑰放置在硬件隔離的密鑰存儲區中,如果正確實現,則可以防止基礎系統受到破壞時將其洩露。
關於問題
該漏洞與實施失敗相關 該算法用於處理橢圓曲線,從而導致有關數據處理的信息洩漏。
研究人員已經發展 一種第三方攻擊技術,基於間接洩漏,r檢索私鑰的內容位於硬件隔離的Android Keystore中。
基於對預測塊轉換的活動以及對存儲器中數據的訪問時間的變化的分析來確定洩漏。
在實驗期間 研究人員成功演示瞭如何從隔離的密鑰庫中恢復224位和256位ECDSA密鑰 Nexus 5X智能手機中使用的硬件上。
要恢復密鑰,需要大約12個數字簽名來生成,並且花費了14個多小時才能完成。 Cachegrab工具包用於進行攻擊。
造成此問題的主要原因是在TrustZone和主機系統中共享用於計算的公用緩存和硬件組件:隔離是在邏輯分離級別完成的,但是要使用公用的計算塊並設置計算軌跡和有關跳轉的信息處理器通用緩存中的地址。
使用Prime + Probe方法,根據對緩存信息的訪問時間變化的估計,您可以檢查緩存中某些模式的可用性,並獲得足夠高的數據流精度和與數字簽名相關的代碼執行標誌TrustZone中的計算。
在高通芯片上用ECDSA密鑰生成數字簽名的大部分時間都花在一個週期內,對每個簽名使用不變的初始化矢量(一次)執行乘法操作。
Si 攻擊者可以利用該向量的信息至少恢復幾位, 有可能對整個私鑰的順序恢復發起攻擊。
在高通的情況下,在乘法算法中發現了該信息的兩點洩漏:執行表查找時和基於“ nonce”向量中最後一位的值的條件數據提取代碼中。
儘管高通代碼包含一些措施來抵消第三方通道中的信息洩漏,但是開發的攻擊方法使您可以繞過這些措施並定義“ nonce”值的某些位,足以恢復256個ECDSA密鑰位。
28月XNUMX日,我仍在等待補丁,那在GNU / Linux中不會發生