标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2025-2164]   作者: 对不起 发表于: [2018-11-06]

本文共 [392] 位读者顶过

研究者发现了一个名为PortSmash的新的侧道漏洞,它使用定时攻击来窃取同一CPU核心中运行SMT /超线程的其他进程的信息。利用这种攻击,研究人员能够从与其利用相同的核心运行的OpenSSL线程窃取私人密钥。 [出自:jiwo.org]

SMT/Hyper-threading是指一个物理CPU内核被分割为两个虚拟逻辑内核,可以同时使用两个运行两个独立进程线程的虚拟逻辑内核。这种方法可以提高性能,因为两个线程将更有效地利用空闲CPU资源,以更快地执行指令。侧通道定时攻击是指攻击者分析线程迅速执行特定指令,并利用这些信息逆向查找输入数据。

PortSmash漏洞由研究人员Billy Bob Brumley,Cesar Pereida Garcia,Sohaib ul Hassan和来自芬兰坦佩雷理工大学的Nicola Tuveri和古巴哈瓦那大学的Alejandro Cabrera Aldaya发现。 他们向OSS-Sec邮件列表提供了一份报告,他们的研究报告已经作为一份题为“娱乐和利润的端口争用”的论文提交,IACR eprint目前正在等待审核。

Tuveri向媒体解释,端口争用被用于衡量OpenSSL执行操作所需的时间。通过这些测量数据,研究人员能够逆向查找以恢复私钥。

在一个线程上运行的进程会拥有自己的指令和数据,但它将与在并行线程上运行的进程共享一些硬件资源。

指令将在更简单的操作中独立解码,并在CPU中流水线化到相应的执行单元。每个核心都有一个完整的一组执行单元支持整个指令集,同一核心的线程共享访问执行单元。执行单元被捆绑在一起,每个单元都可以通过一个端口访问:来自两个线程的微型组件被分配到(一个)可用端口,而另一个微组件,即核心调度器,当相同的微型组件被分配到不同的等效执行单元时,可以优化公平性和性能端口。

这些端口是就争用的对象。例如,假设在特定加密操作期间受害者进程使用端口5:当受害者进程未使用端口5时,在另一个线程上运行的间谍进程将具有在端口5上重复执行的访问; 一旦受害者进程在端口5上进行操作,调度程序就会将操作从间谍进程中延迟以确保公平。因此,间谍过程可以测量端口5的操作执行的延迟,并确定受害者进程何时使用相同的端口。这象征着输入信息可被处理,恢复私钥。

虽然研究人员只在英特尔Skylake和KabyLake处理器测试了此漏洞,但他们预计它也可以在AMD Ryzen处理器上运行,将PoC移植到其他应用程序中窃取信息只是时间问题

目前针对攻击的修复程序已经被添加到OpenSSL 1.1.1中,对于那些需要旧版本的人,>= 1.1.0i版本可以使用补丁。

缓解此攻击的唯一方法是在计算机上禁用SMT /超线程。但是超线程不会就此消失,因为许多组织已经在支持SMT /超线程的硬件上投入了大量资金,以便为企业应用程序提供更好的性能,从这些环境中完全删除超线程的代价太大。

评论

暂无
发表评论
 返回顶部 
热度(392)
 关注微信