两个漏洞萌萌哒图 一场由英特尔芯片漏洞衍生出的安全问题,波及了全球所有桌面系统、电脑、智能手机及云计算服务器。 1月4日,国外安全研究机构公布了两组CPU漏洞:Meltdown(熔断)和Spectre(幽灵)。 虽然目前全球还没有发现利用漏洞进行的真实攻击,但理论上,这次曝出的漏洞让所有能访问虚拟内存的CPU都可能被人恶意访问,理应受保护的密码、应用程序密匙等重要信息因此面临风险。 从目前了解情况来看,1995年以来大部分量产的处理器均有可能受上述漏洞的影响,且涉及大部分通用操作系统。虽然是英特尔为主,但ARM、AMD等大部分主流处理器芯片也受到漏洞影响。相应的,采用这些芯片的Windows、Linux、macOS、Android等主流操作系统和电脑、平板电脑、手机、云服务器等终端设备都受上述漏洞的影响。 糟糕的是,英特尔公司本身无法采用固件升级的方式解决这一漏洞,导致微软、苹果等操作系统开发商各自寻求修补方法。 1月4日,中国国家信息安全漏洞共享平台(China National Vulnerability Database)收录了这两个漏洞,并对该漏洞的综合评级为“高危”。 随后各地网络安全部门发出安全提醒。1月5日,上海市网信办向本市各关键信息基础设施主管和运营单位发出预警通报,要求各单位启动网络安全应急预案,并采取应对措施。 网络安全专家表示,虽然漏洞影响范围广泛,并引起全球关注,但受影响最大的主要是云服务厂商,对于普通用户来说,大可不必过于恐慌。 Q:漏洞是如何展开攻击的? 通常情况下,正常程序无法读取其他程序存储的数据,但恶意程序可以利用Meltdown和Spectre来获取存储在其他运行程序内存中的私密信息。 具体而言,据腾讯电脑管家安全团队的专家向澎湃新闻记者介绍:利用Meltdown漏洞,低权限用户可以访问内核的内容,获取本地操作系统底层的信息;当用户通过浏览器访问了包含Spectre恶意利用程序的网站时,用户的如账号、密码、邮箱等个人隐私信息可能会被泄漏;在云服务场景中,利用Spectre可以突破用户间的隔离,窃取其他用户的数据。 目前漏洞的验证代码(PoC)已经公布,技术细节在此不作赘述。腾讯安全团队经过实际验证,漏洞可在Windows、Linux、Mac OS等操作系统下,成功读取任意指定内存地址的内容。 Q:漏洞的原理是什么? 这两组漏洞来源于芯片厂商为了提高CPU性能而引入的新特性。 现代CPU为了提高处理性能,会采用乱序执行(Out-of-Order Execution)和预测执行(Speculative Prediction)。乱序执行是指CPU并不是严格按照指令的顺序串行执行,而是根据相关性对指令进行分组并行执行,最后汇总处理各组指令执行的结果。预测执行是CPU根据当前掌握的信息预测某个条件判断的结果,然后选择对应的分支提前执行。 乱序执行和预测执行在遇到异常或发现分支预测错误时,CPU会丢弃之前执行的结果,将CPU的状态恢复到乱序执行或预测执行前的正确状态,然后选择对应正确的指令继续执行。这种异常处理机制保证了程序能够正确的执行,但是问题在于,CPU恢复状态时并不会恢复CPU缓存的内容,而这两组漏洞正是利用了这一设计上的缺陷进行测信道攻击。 |