微软披露了一个突破证书验证机制的漏洞。不到24小时后,研究人员展示了这次攻击。NSA官方网站已被欺骗,使用Windows10上的Chrome。在微软披露其有史以来最严重的Windows漏洞之一后不到一天,安全研究人员已经证明攻击者如何利用它以加密方式冒充互联网上的任何网站或服务器。周三,研究员萨利姆·拉希德(SaleemRashid)在推特上发布了里克·阿斯特利(RickAstley)在Github.com和NSA.gov上播放的视频《Never Gonna Give You Up》。这种被称为Rickrolling的数字技巧通常被用作一种讽刺、无伤大雅的方式来表示严重的安全漏洞。在这里,Rashid的攻击程序导致Edge和Chrome欺骗Github和国家安全局(NSA)HTTPS验证网站。Brave和其他Chrome衍生的浏览器,以及InternetExplorer,可能会落入同样的陷阱。(没有迹象表明Firefox受此影响。)Rashid模拟了漏洞:CVE-2020-0601,微软在收到美国国家安全局的私人提示后于周二修补了一个严重漏洞。正如外媒此前报道的那样,该漏洞可以完全突破许多网站、软件更新、VPN和其他安全关键计算机使用所使用的证书验证机制。它影响Windows10系统,包括服务器版本:WindowsServer2016和WindowsServer2019。其他版本的Windows不受影响。Rashid告诉我,他的攻击使用了大约100行代码,但如果他想删除他的攻击所具有的“几个有用的技巧”,可以压缩到10行代码。虽然在现实情况下利用该漏洞存在一些限制和一些要求可能难以满足,但周三的概念验证攻击证明了为什么美国国家安全局将该漏洞评为“严重”,称狡猾的黑客会了解如何“快”钻空子。“这很可怕”其他研究人员与美国国家安全局有着同样的紧迫感。“Saleem刚刚演示的内容表明,使用[简短]脚本,您可以为任何网站生成证书,并且该证书在IE和Edge上完全受信任,仅使用Windows,”MongoDB的研究员兼安全负责人KennWhite说.默认值。太可怕了。它会影响VPN网关、VoIP以及几乎所有使用网络通信的系统。”(在Rashid演示他对Chrome的攻击之前,我与White进行了交谈。)椭圆曲线密码术(ECC)是一种验证证书有效性的方法。虽然有漏洞的Windows版本检查了三个ECC参数,它没有检查第四个关键参数:基点生成器,在算法中通常表示为G'。这归咎于微软实现ECC的方法,而不是任何错误或缺陷ECC算法本身。攻击者只需提取Windows默认附带的根证书的公钥即可利用此漏洞。这些证书称为根证书,因为它们属于证书颁发机构(CA),它们要么颁发自己的TLS证书,要么验证代表根CA出售证书的中间CA。只要使用ECC算法签名,任何根证书都可以使用,也马尔地。Rashid的攻击始于互联网最大的CA:Sectigo的根证书,该证书之前使用的名称是Comodo。然后研究人员修改了攻击以使用GlobalSign根证书。他的代码使开关自动。攻击者分析了用于生成根证书公钥的具体ECC算法,随后生成私钥,复制该算法的所有证书参数(基点生成器除外)。由于易受攻击的Windows版本无法验证此参数,因此它们认为私钥有效。在这样做时,攻击者欺骗了Windows信任的根证书,这反过来会生成用于验证网站、软件和其他敏感内容的任何证书。这相当于执法人员检查某人的身份证,确保上面准确描述了此人的身高、地址、出生日期和面孔,而没有注意到该人体重不到一半时列出的体重是250磅。“这个漏洞很奇怪,因为它就像对整个信任系统的基础进行了半检查,这是整个信任链的核心部分,”怀特说。注意事项如前所述,有几个要求和限制大大增加了Rashid的攻击在现实世界中取得成功的难度。首先是它可能需要主动的中间人攻击。这种类型的攻击会篡改网络中传输的数据,并且难以实施。主动中间人攻击的替代方法是说服受害者点击虚假URL。这种方法要容易得多,但它也需要一些特异性。(它不适用于针对需要连接客户端以出示证书的网站或其他服务器的攻击。)该漏洞还要求目标最近访问过一个站点,该站点使用链接到ECC签名根证书的传输层安全证书。那是因为根证书必须已经被目标系统缓存。Rashid表示,如果目标系统没有缓存根证书,攻击者仍然可以通过添加可以访问链接到根证书的网站的JavaScript来成功利用它。另一个限制:Chrome为google.com和许多其他敏感网站使用了一种称为证书固定的机制。证书固定要求对网站进行身份验证的证书包含特定的加密哈希,即使提供的证书在其他方面有效。此措施可防止攻击在欺骗受保护的网站后得逞。谷歌代表表示,虽然安装微软的周二补丁是防止攻击的唯一合理方法,但Chrome的开发人员已经发布了一个beta修复程序,该修复程序将很快被纳入稳定版本。提醒一句:即使有了修复,高风险Windows版本的用户仍将面临来自其他攻击场景的重大风险。时间问题尽管存在一些要求和限制,但此漏洞非常严重。正如NSA官员在公告中所说:此漏洞使Windows端点暴露于众多攻击媒介。美国国家安全局将该漏洞评估为严重漏洞,狡猾的网络攻击者会很快了解潜在的漏洞;如果被利用,它将使上述平台面临风险。未能修补漏洞可能会产生严重而广泛的后果。远程攻击工具很可能会快速开发并随时可用。快速修补是目前唯一已知的缓解措施,应该成为所有网络所有者关注的焦点。该缺陷可能不像2014年的Heartbleed漏洞那样严重,该漏洞允许攻击者从数千个易受攻击的网站窃取私钥、密码和其他高度敏感的数据。但由于微软的漏洞阻碍了广泛的安全措施,它比苹果的严重GoToFail漏洞更危险,后者阻止iOS和macOS系统检测网站提供的无效TLS证书。这使得CVE-2020-0601成为近年来最严重的漏洞之一。Windows的自动更新机制可能已经修补了易受攻击的系统。此处附有各种高风险版本的修复程序(https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-0601#ID0EGB)。还没有打补丁的读者现在应该打补丁了。
