随着互联网技术的高速发展,网络安全问题变得日益突出,尤其是浏览器作为用户接入互联网的主要工具,其安全防护水平尤为重要。谷歌Chrome浏览器作为全球市场占有率最高的浏览器,其安全保障方案的更新直接关系到亿万用户的数据安全。2024年7月,谷歌推出了一项名为AppBound Cookie加密的新功能,旨在强化Chrome中Cookie的保护,抵御信息窃取恶意软件的攻击。然而,安全研究者在该机制上发现并利用了被称为C4的攻击方式,揭露了这项新机制的漏洞,令业界震惊,也为网络安全提供了宝贵警示。 AppBound Cookie加密的诞生背景及其工作原理 在AppBound Cookie加密机制出现之前,传统的浏览器Cookie保护主要依赖于Windows数据保护API(DPAPI)进行加密。Chrome浏览器将Cookie存储在SQLite数据库文件中,Cookie的加密密钥则存储于一个名为Local State的json文件内。
该密钥经过用户身份的DPAPI加密,只有以相同用户身份运行的进程才能解密。但由于Chrome进程的权限只属普通用户级别,这导致任何运行在同一用户权限下的恶意软件都能够调用DPAPI解密密钥,进而获取Cookie数据。这些Cookie信息中包含的登录凭据和会话身份等极易成为攻击者的目标。 为了解决普通用户权限下恶意软件轻易获取Cookie密钥的问题,谷歌引入了AppBound Cookie加密方案。该机制在原有用户DPAPI加密层外,增加了系统级别(SYSTEM账户)DPAPI加密,从而形成双重加密。具体来说,Chrome首先使用用户DPAPI对Cookie密钥进行加密,然后再次由系统级别DPAPI进行加密,只有系统账户的进程才能执行第二层解密。
为解决Chrome无法以普通用户身份自行完成双重解密的问题,谷歌设计了一个运行于SYSTEM权限的COM服务——“elevation service”,专门负责解密请求。Chrome进程会通过COM接口向elevation service请求解密,服务在校验请求进程的路径合法后,执行双层解密并返回明文密钥给Chrome,再由Chrome解密Cookie数据。 AppBound Cookie加密有效提升了恶意软件通过普通权限直接读取和解密Cookie的难度,迫使攻击者必须获得系统级权限或从Chrome内存中提取Cookie,极大增加了攻击成本。 C4攻击的发现与原理解析 尽管AppBound设计初衷在于强化Chrome的Cookie保护,但安全研究员Ari Novick及其团队在深入分析后发现,其中设计存在安全隐患,使得低权限用户依旧可以绕过保护措施,进行Cookie解密。该攻击被命名为C4,即Chrome Cookie Cipher Cracker,揭示了谷歌双层DPAPI加密中的关键弱点。 关键的漏洞存在于elevation service的COM服务实现和Windows DPAPI的加密模式中。
AppBound机制信任elevation service严格校验请求者的进程路径,但实际验证逻辑存在缺陷,路径验证只能部分匹配而非严格匹配,恶意软件可利用该弱点伪装成Chrome路径的一部分,成功向elevation service请求并获得用户DPAPI加密的Cookie密钥。 此外,DPAPI使用了AES-CBC加密模式,理论上安全,但CBC模式存在著名的“位翻转攻击”和“填充Oracle攻击”问题。研究团队利用Windows事件查看器中DPAPI解密错误信息作为填充Oracle,实施针对加密Blob的逐字节攻击,得以暴力破解最外层系统账户的DPAPI加密,从而恢复出用户DPAPI加密的密钥Blob。 通过对用户DPAPI Blob执行常规的CryptUnprotectData解密,攻击者即可获得Chrome Cookie密钥,进一步读取并解密Cookie信息。该攻击不依赖系统权限,令安全防御大受挑战。 两种攻击路径:COM劫持与填充Oracle 除了利用填充Oracle攻击解密加密数据,研究者还发现elevation service易受COM劫持影响。
攻击者可以通过注册表篡改,将Chrome加密服务对应的COM组件重定向至恶意COM服务器,接管解密请求,从而伪造有效密钥或干扰正常解密流程。虽然该方法需攻击者具备一定权限修改注册表,但结合漏洞攻击,使得逃避检测变得更为容易。 综合来看,C4攻击揭示了AppBound机制设计上的根本矛盾:为保证安全而增加系统级加密和服务,却也因增加复杂交互带来了路径验证误差和加密机制漏洞,反而为低权限攻击留下可乘之机。 影响与后续应对措施 该研究不仅暴露了Chrome浏览器安全的新漏洞,也对整个Chromium生态系统及其浏览器派生产品产生了广泛影响。由于Chrome占据浏览器市场主导地位,其他基于Chromium的浏览器(如微软Edge、Opera)同样受影响。与此同时,利用Windows DPAPI实现的复杂加密无法完全阻止填充Oracle攻击,对Windows自身加密安全性提出了质疑。
谷歌安全团队已在研究报告发布前获得漏洞信息,并对C4攻击表现出高度重视。部分补丁和缓解措施已在Chrome测试版本中实施,计划在未来稳定版本中全面修复。此外,谷歌还鼓励用户及时更新浏览器,并监控COM组件注册表的安全,防止潜在的COM劫持行为。 微软对此漏洞的态度较为谨慎,未将填充Oracle问题认定为紧急安全风险,原因在于实际攻击受限于环境因素,如攻击者需有权限执行特定操作,并且攻击速度较慢,隐蔽性较差。但安全专家认为,利用这些漏洞实施长期渗透攻击的可能性仍不可忽视。 未来浏览器安全的发展方向 C4攻击提醒安全业界,传统加密模式尤其是AES-CBC,虽广泛应用却存在潜在安全风险。
随着加密攻击技术演进,未来浏览器及软件安全设计需探索更安全的加密模式,比如基于块密码的Galois/Counter Mode (GCM)或其他现代认证加密方法,避免填充和位翻转攻击的隐患。 同时,浏览器应加强对关键权限服务交互的校验机制,采用更严格的身份验证及路径验证逻辑,限制任意进程接口调用,减少攻击面。沙箱技术、硬件安全模块(HSM)等辅助手段也将在下一代浏览器安全架构中扮演更加重要的角色。 此外,动态行为检测和异常监控将帮助识别COM劫持及恶意进程伪装,结合人工智能与机器学习技术,提升防护的智能化水平。安全研究者和开发者需要共同推动安全生态的完善,不断完善漏洞响应和补救机制,保护用户隐私和数据安全。 结语 谷歌Chrome引入AppBound Cookie加密无疑是浏览器安全发展中的重要一步,旨在用更复杂的加密和权限隔离策略保护用户隐私。
然而技术设计之复杂带来的漏洞,使得机智的攻击手法如C4炸弹浮出水面,暴露了复杂安全体系中潜藏的薄弱环节。 网络安全是一场没有终点的竞赛,正如此次C4攻击所展示,任何安全机制都可能被不断挑战和攻破。唯有持续优化设计,加强社区合作,实现快速响应,才能最终构筑更为坚固的防线,保障全球用户的网络安全。未来研究者和工程师仍需以此为鉴,推动浏览器和操作系统安全技术迈向更高境界。