研究人员:Intel 的 VISA 漏洞可访问计算机中所有数据

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://csdnnews.blog.csdn.net/article/details/88968352

640?wx_fmt=gif

去年自波及 Intel、ARM、AMD 等主流芯片的 Meltdown(熔断)与 Spectre(幽灵)两大 CPU 漏洞被曝光后,上至 PC、服务器、云计算机服务器,下到智能手机设备均受到了不同程度的影响。虽然随后各大设备厂商以及程序员们加班加点发布了修复程序,但因芯片漏洞带来的被扼住设备命门的感觉已为用户敲响了警钟。

而近日在 Black Hat Asia 2019 安全会议上,来自 Positive Technologies 的 Maxim Goryachy 和 Mark Ermolov 两位安全研究人员在英特尔芯片组中发现了一个以前未知和未被记录的功能——内部信号的可视化架构(VISA),且该功能可能允许黑客拦截来自计算机内存的所有数据,窥探 CPU 芯片组隐藏的工作机制。

640?wx_fmt=jpeg

 

640?wx_fmt=png

VISA 可以暴露计算机的整个数据

 

据进一步了解,Intel VISA 是现代英特尔芯片组中的一项新工具,可帮助英特尔在生产线上的测试和调试。VISA 包含在平台控制器集线器(PCH)芯片组中,是现代英特尔 CPU 的一部分,也被称为 Trace Hub 的调试接口之一,其工作原理就像一个成熟的逻辑信号分析仪。反而言之,平台控制器集成线将 CPU 核心连接到外围设备和其他 I/O 硬件中,而其中包含了 Trace 和 VISA。

640?wx_fmt=png

需要说明的是,VISA 本身没有安全漏洞。

对此,Maxim Goryachy 和 Mark Ermolov 解释道,VISA 允许访问用于读写内存的内部 CPU,使用它,任何人现在都可以查看硬件安全的各个方面,如访问控制、内部寻址和私有配置等等。

这意味着,黑客如果未经授权访问 VISA,然后将其与其它提权漏洞组合,可以拦截来自计算机内存的数据并在尽可能低的层级中创建恶意软件。

不过也不用太过担心,因为尽管它具有极强的侵入性,但当前外界对这项新技术知之甚少。Goryachy 和 Ermolov 表示,VISA 的文件须遵守保密协议,并不向公众开放。通常,这种保密和安全默认的组合应该使英特尔用户免受可能的攻击和滥用。

 

640?wx_fmt=png

英特尔:VISA 是安全的

研究人员:VISA 还是不安全

 

然而,两位研究人员表示他们发现了几种启用 VISA 并滥用它来嗅探通过 CPU 的数据方法,甚至通过隐秘的英特尔管理引擎(ME)(自从 Nehalem 和 5 系列以来,它一直存放在 PCH 中)。

英特尔认为它是安全的,但研究人员持不同意见。Goryachy 和 Ermolov 表示,他们的技术不需要对计算机主板进行硬件修改,也无需特定设备。最简单的方法是使用英特尔的 Intel-SA-00086 安全建议中详述的漏洞来控制英特尔管理引擎并以此方式启用 VISA。

对此,据外媒 ZDNet 报道,英特尔发言人表示,“BlackHat Asia 讨论的英特尔 VISA 问题依赖于物理访问和 2017 年 11 月 20 日 INTEL-SA-00086 中解决的先前缓解的漏洞。 已经应用这些缓解措施的客户受到保护,不受已知问题的的影响。”

不过,两位研究人员表示 INTEL-SA-00086 修复程序还不够,因为英特尔固件可以降级为易受攻击的版本,攻击者可以接管英特尔 ME,然后启用 VISA。

此外,研究人员表示还有其他三种方法可以使英特尔 VISA 不依赖于这些漏洞,这些方法将在未来几天内黑帽组织者发布二人组合的演示幻灯片时公开。

“这些漏洞只是启用英特尔 VISA 的一种方式,在我们的演讲中我们提供了其他几种方法来完成这项任务,”两位研究人员在一封电子邮件表示道。 “正如我们一再表示的那样,这些修复都是虚拟的,它们没有做任何事情,因为数字签名的固件可以降级到任何以前的版本。”

正如 Ermolov 所说,VISA 并不是英特尔芯片组中的一个漏洞,而只是另一种有用的功能可能被滥用并转向用户的方式。 VISA 滥用的可能性很低。这是因为如果有人在利用 Intel-SA-00086 漏洞来接管 Intel ME 时遇到麻烦,那么他们可能会使用该组件来进行攻击,而不是依靠 VISA。然而,这项研究指出了英特尔芯片组中另一种潜在的威胁。

 

640?wx_fmt=png

最后

 

而针对这一具有风险的功能,网友于日前在 Hacker News(https://news.ycombinator.com/item?id=19535059)上展开了激烈的讨论:

@amluto:

这并没有讨论何时会受到攻击。但是,从中我至少看到了三种方式:

  1. 如果可以完全通过 USB 进行攻击,那么黑客可以通过 USB 完全接管一台机器,并可能添加一个非常强大的固件 rootkit。JTAG 密码似乎与此相关。

  2. 如果你执行了根代码,则可以安装更好的 rootkit。这可能能够提取所谓的硬件安全加密密钥。

  3. “确定性 RNG”或 RNG 信号模式的检查可能是对 SGX 攻击。SGX 期望 RDRAND 是安全的。(如果你可以接管 ME,那么我认为你可以监控 SGX 的一些功能,但我认为你不会破坏核心安全保障。)

从中,我认为 JTAG 密码是最糟糕的一点。

@jeroenhd:

对于普通用户而言,这个事件可能会更令人担忧。某些形式的 DRM 将密钥保存在处理器的特殊区域中,倘若这些密钥泄漏就可以允许黑客记录或盗取非常严格控制的内容。我怀疑这种情况很快就会发生,但这种无关紧要的数据泄漏可能会产生不同的间接后果。

对此,你怎么看?

参考:

https://www.theregister.co.uk/2019/03/29/intel_visa_hack/

https://www.zdnet.com/article/researchers-discover-and-abuse-new-undocumented-feature-in-intel-chipsets/

这四个Python项目,让你瞬间读懂Python!

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

 

【End】

640?wx_fmt=jpeg

 热 文 推 荐 

 程序员不过愚人节???

 5G 还未商用,6G 研究已开始?!

俄罗斯想要脱离全球互联网?

程序媛报告:调查了 12,000 名女性开发者发现,女性比男性更懂 Java!

☞ 姚期智提出的"百万富翁"难题被破解? 多方安全计算MPC到底是个什么鬼?

深度 | 人工智能究竟能否实现?

 全民 AI !教育部宣布 35 所高校新增 AI 本科专业

趣挨踢 | 用大数据扒一扒蔡徐坤的真假流量粉


 

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

展开阅读全文

关于visa

08-01

报的错误为:0xBFFF0072 (VI_ERROR_RSRC_BUSY)资源有效,但VISA当前无法访问该资源。rnrn完全找不到其他有可能占用串口的软件rnrn数据如下rn1. viOpenDefaultRM (0x037D6580)rn进程ID: 0x000017D0 线程ID: 0x000015BCrn起始时间: 11:13:47.620 调用持续时间 00:00:00.047rn状态:0 (VI_SUCCESS)rnrn2. viFindRsrc (0x037D6580, "?*", 0x037FF090, 1, "ASRL1::INSTR")rn进程ID: 0x000017D0 线程ID: 0x000015BCrn起始时间: 11:13:47.667 调用持续时间 00:00:00.125rn状态:0 (VI_SUCCESS)rnrn> 3. viOpen (0x037D6580, "ASRL1::INSTR", 0, 0, 0x00000000)rn> 进程ID: 0x000017D0 线程ID: 0x000015BCrn> 起始时间: 11:13:47.792 调用持续时间 00:00:00.000rn> 状态:0xBFFF0072 (VI_ERROR_RSRC_BUSY)rnrn> 4. viSetAttribute (0x00000000, ASRL_BAUD, 38400)rn> 进程ID: 0x000017D0 线程ID: 0x000015BCrn> 起始时间: 11:13:47.792 调用持续时间 00:00:00.000rn> 状态:0xBFFF000E (VI_ERROR_INV_OBJECT)rnrn> 5. viSetAttribute (0x00000000, TMO_VALUE, 100)rn> 进程ID: 0x000017D0 线程ID: 0x000015BCrn> 起始时间: 11:13:47.792 调用持续时间 00:00:00.000rn> 状态:0xBFFF000E (VI_ERROR_INV_OBJECT)rnrn> 6. viWrite (0x00000000, ":SYSTem:AS:STATe?..", 19, 0)rn> 进程ID: 0x000017D0 线程ID: 0x000015BCrn> 起始时间: 11:13:53.526 调用持续时间 00:00:00.000rn> 状态:0xBFFF000E (VI_ERROR_INV_OBJECT)rnrn> 7. viWrite (0x00000000, ":SYSTem:AS:STATe?..", 19, 0)rn> 进程ID: 0x000017D0 线程ID: 0x000015BCrn> 起始时间: 11:13:53.526 调用持续时间 00:00:00.000rn> 状态:0xBFFF000E (VI_ERROR_INV_OBJECT)rnrn> 8. viWrite (0x00000000, ":SYSTem:AS:STATe?..", 19, 0)rn> 进程ID: 0x000017D0 线程ID: 0x000015BCrn> 起始时间: 11:13:53.526 调用持续时间 00:00:00.000rn> 状态:0xBFFF000E (VI_ERROR_INV_OBJECT)rnrn9. viClose (0x00000000)rn进程ID: 0x000017D0 线程ID: 0x000015BCrn起始时间: 11:13:53.526 调用持续时间 00:00:00.000rn状态:0x3FFF0082 (VI_WARN_NULL_OBJECT)rnrn10. viClose (0x037D6580)rn进程ID: 0x000017D0 线程ID: 0x000015BCrn起始时间: 11:13:53.526 调用持续时间 00:00:00.000rn状态:0 (VI_SUCCESS)rn 论坛

没有更多推荐了,返回首页