三星上億部手機曝出嚴重加密漏洞
據估計,三星累積出貨了1億部存在嚴重加密漏洞的智能手機,包括從2017年的Galaxy S8到去年的Galaxy S21的各種型號。
近日,特拉維夫大學的研究人員發現三星手機的數據加密存在“嚴重”設計缺陷,可能讓攻擊者竊取三星手機的硬件加密密鑰,并提取三星智能手機中最敏感的數據。
更重要的是,網絡攻擊者甚至可以利用三星的加密漏洞——已分配三個CVE編號——來降級設備的安全協議。這將使三星手機更容易受到一種稱為IV(初始化向量)重用的攻擊。IV重用攻擊可破解加密隨機化,后者可確保相同明文的多條消息被加密后,生成的相應密文不同。
信任在黑暗中喪失:
TrustZone的不可信實現
在由Alon Shakevsky、Eyal Ronen和Avishai Wool撰寫的題為“Trust Dies in Darkness:Shedding Light on Samsung’s TrustZone Keymaster Design”的論文(鏈接在文末)中,學者們解釋說,如今,智能手機控制的數據包括敏感信息、圖像和文件;加密密鑰管理;FIDO2網絡認證;數字版權管理(DRM)數據;三星支付等移動支付服務數據;和企業身份管理。
據悉,作者將在即將于8月舉行的2022年USENIX安全研討會上詳細介紹這些漏洞。
TrustZone主密鑰的設計缺陷主要影響使用ARM架構的TrustZone技術的設備:基于ARM的Android智能手機(占大多數)為可信執行環境(TEE)提供硬件支持,以實現安全功能。
TrustZone將手機系統分為兩部分,正常世界(用于運行常規任務,例如Android操作系統)和安全世界,后者用于處理安全子系統和所有敏感資源。只有用于安全敏感功能(包括加密)的受信任應用程序才能訪問安全世界。
約翰霍普金斯信息安全研究所計算機科學副教授Matthew Green在Twitter上解釋說,三星TrustZone加密密鑰材料的方式存在“嚴重缺陷”,稱其“非常糟糕”。
“他們使用單一密鑰并允許IV重復使用。”Green說。
“所以他們可以為受保護的每個密鑰派生一個不同的包裝密鑰。”他繼續說道。“但三星沒有這么做,他們允許應用層代碼選擇加密IV。”這種設計決策導致可以被“簡單的解密”。
Sophos的首席研究科學家Paul Ducklin指責三星編碼人員犯下了“重大的密碼罪行”。也就是說,“他們沒能正確使用加密算法(AES-GCM)。”他周四通過電子郵件向Threatpost解釋道。
“簡單地說,AES-GCM需要為每次新的加密操作提供新鮮的隨機數,這不僅僅是一個‘不錯的’功能,而是一個強制性的算法要求,這是必須的,而不是應該的。”Ducklin強調說:“這種隨機性被稱為‘nonce’,是Number Used Once的縮寫——每個加密程序員應該將其視為*命令*,而不僅僅是一個名詞。”
Ducklin解釋說,不幸的是,三星所謂的安全加密代碼并沒有強制執行該要求。“事實上,它允許在安全加密硬件組件之外運行的應用程序不僅影響其中使用的隨機數,甚至可以準確、惡意地選擇這些隨機數,并按照應用程序的創建者想要的頻率重復它們。”
通過利用這個漏洞,研究人員能夠完成一項“被認為是不可能的,或者盡可能接近不可能”的任務:從安全硬件中提取加密信息。
缺陷使安全標準繞過
這些安全漏洞不僅允許網絡犯罪分子能夠竊取存儲在三星設備上的加密密鑰,還能讓攻擊者繞過安全標準,例如FIDO2。
據The Register報道,截至2021年5月,研究人員向三星披露這些漏洞時,已有近1億部三星Galaxy手機受到威脅。
三星通過發布針對受影響設備的補丁來回應學者的披露,該補丁解決了CVE-2021-25444:在TrustZone中運行的Keymaster可信應用程序(TA)中的IV重用漏洞。Keymaster TA通過硬件(包括加密引擎)在安全世界中執行加密操作。Keymaster TA使用blob,一種通過AES-GCM“包裝”(加密)的密鑰。該漏洞允許解密自定義密鑰blob。
然后,在2021年7月,研究人員披露了一種降級攻擊——一種允許攻擊者通過特權進程觸發IV重用漏洞的攻擊。三星發布了另一個補丁——CVE-2021-25490,從包括三星Galaxy S10、S20和S21手機在內的設備中移除舊的blob實現。
論文鏈接:
https://eprint.iacr.org/2022/208.pdf
(來源:@GoUpSec)