三星上亿部手机曝出严重加密漏洞
据估计,三星累积出货了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实现。
论文链接: