联系我们联系我们
电子邮箱电子邮箱

PortSmash超线程漏洞可能导致私钥被盗

[复制链接]
  • TA的每日心情
    奋斗
    昨天 08:40
  • 签到天数: 67 天

    [LV.6]常住居民II

    知秋一叶 发表于 5 天前
    142 0


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

    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 /超线程的硬件上投入了大量资金,以便为企业应用程序提供更好的性能,从这些环境中完全删除超线程的代价太大。

    文章来源:黑客视界
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    发表新帖

    小黑屋|手机版|Archiver|华盟论坛 ( 京ICP证070028号 )

    Powered by 华盟网 X 8.0  © 2001-2013 Comsenz Inc.  华夏黑客同盟