Marvin攻击25 年之久的RSA解密漏洞重现

news2024/11/20 11:26:58

在这里插入图片描述
1998 年发现的与 SSL 服务器中的 PKCS #1 v1.5 填充相关的缺陷(据信已得到解决)至今仍然影响着多个广泛使用的项目。

经过衡量端到端操作的广泛测试后,红帽研究人员发现了原始定时攻击的几种变体,统称为“马文攻击”,它可以有效地绕过修复和缓解措施。

该问题使攻击者能够解密 RSA 密文、伪造签名,甚至解密易受攻击的 TLS 服务器上记录的会话。

研究人员使用标准硬件证明了在短短几个小时内执行马文攻击是可能的,证明了其实用性。

红帽警告称,该漏洞不仅限于 RSA,还扩展到大多数非对称加密算法,使它们容易受到旁道攻击。

“虽然攻击的主要场所是 TLS 服务器,但导致其广泛传播的核心问题适用于大多数非对称加密算法(Diffie-Hellman、ECDSA 等),而不仅仅是 RSA。” -红帽。

根据所进行的测试,以下实现容易受到 Marvin 攻击:

  • OpenSSL(TLS 级别):RSA 解密中的计时 Oracle – CVE-2022-4304
  • OpenSSL(API 级别):使 RSA 解密 API 可以安全地与 PKCS#1 v1.5 填充一起使用 – 无 CVE
  • GnuTLS (TLS 级别):ClientKeyExchange 中对格式错误的 RSA 密文的响应时间与具有正确 - PKCS#1 v1.5 填充的密文的响应时间不同。- CVE-2023-0361
  • NSS(TLS 级别):提高 RSA 操作的恒定时间性。- CVE-2023-4421
  • pyca/cryptography:尝试减轻对 RSA 解密的 Bleichenbacher 攻击;发现无效;需要 OpenSSL 级别修复。- CVE-2020-25659
  • M2Crypto:缓解 RSA 解密 API 中的 Bleichenbacher 定时攻击;发现无效;需要 OpenSSL 级别修复。- CVE-2020-25657
  • OpenSSL-ibmca:2.4.0 版本中 RSA PKCS#1 v1.5 和 OAEP 填充的恒定时间修复 – 无 CVE
  • Go:crypto/rsa DecryptPKCS1v15SessionKey 泄漏有限 – 无 CVE
  • GNU MP:mpz_powm_sec 在结果中泄漏零高位 - 无 CVE

尽管马文攻击强调了 RSA 解密中的一个基本缺陷,但由于各个实现的多样性和复杂性,主要是如何管理填充错误,但马文攻击没有相应的 CVE。

因此,虽然 Marvin 攻击是一个概念性缺陷,但没有一个可以普遍应用的单一修复或补丁,并且由于每个项目独特的代码库和 RSA 解密实现,问题的表现有所不同。

研究人员建议不要使用 RSA PKCS#1 v1.5 加密,并敦促受影响的用户寻求或要求供应商提供替代的向后兼容性途径。

Marvin Attack 页面的 问答部分警告说,仅仅禁用 RSA 并不意味着您就安全了 。

如果 RSA 密钥或证书在支持它的服务器(SMTP、IMAP、POP 邮件服务器和辅助 HTTPS 服务器)上的其他位置使用,则风险是相同的。

最后,红帽警告说,FIPS 认证并不能保证防止 Marvin 攻击,除了 4 级认证之外,该认证可确保良好地抵御旁路攻击。

尽管没有明显迹象表明黑客在野外使用马文攻击,但披露测试和模糊代码的细节和部分会增加短期内发生这种情况的风险。

参考

https://www.bleepingcomputer.com/news/security/new-marvin-attack-revives-25-year-old-decryption-flaw-in-rsa/?fbclid=IwAR03IyQh7Z4Piw3v7cUi2yRmzuEJ2wJ4iCq_A7_r99RuxykGbSm5_ZKCN8o

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

343. 整数拆分 96.不同的二叉搜索树

343. 整数拆分 设dp[i]表示拆分 数字i 出来的正整数相乘值最大的值 (i - j) * j,和dp[i - j] * j是获得dp[i]的两种乘法,在里面求最大值可以得到当前dp[i]的最大值,但是这一次的得出的最大值如果赋值给dp[i],可能没有没赋值的dp[i]大&#…

springboot aop详解

springboot aop的实现方式有哪些 在 Spring Boot 中,AOP(面向切面编程)是通过 Spring Framework 提供的 AOP 模块来实现的。Spring AOP 提供了几种实现方式来应用切面编程,包括以下几种: 基于代理的 AOP: …

CSS变量 var()的用法

写在前面 这里介绍一下开发中常用的css变量var(),它可以实现样式的动态设置,使用方法主要分为全局使用和局部使用两种。 如何定义CSS变量var() 在CSS文件中,变量需要使用 – 作为前缀来定义,后面跟上变量名和值,如&a…

基于人工电场优化的BP神经网络(分类应用) - 附代码

基于人工电场优化的BP神经网络(分类应用) - 附代码 文章目录 基于人工电场优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.人工电场优化BP神经网络3.1 BP神经网络参数设置3.2 人工电场算法应用 4.测试结果…

ARM +FPGA GPIB IP核实现

目前在数据发生其技术上居领先的是美国的 Tektronix 公司和 Agilent 公司。 Agilent 公司的台式脉冲 / 数据发生器家族的最高时钟频率达 3GHz (定 时发生器),数据发生器 E81200 在通道数为 8CH 时数据速率为 660Mb/s, 即可以产…

22python生命周期的一种案例

第一个问题,什么叫生命周期? 生命周期就是一个对象从产生到消亡的一个周期过程,总体来说是一个这样的 展示一下生命周期的一点点的小案例吧~ 1、利用全局变量 #以下是一个python展示生命周期的方法过程 personCount 0 class Person:def _…

月薪过二万的Java面试

文章目录 📕我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文创造者、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五…

创新YOLOv5改进:结合全新可变形大核注意力(D-LKA Attention)实现多尺度目标涨点

🔥🔥🔥 提升多尺度目标检测,创新提升 🔥🔥🔥 🔥🔥🔥 捕捉图像特征和处理复杂图像特征 🔥🔥🔥 👉👉👉: 本专栏包含大量的新设计的创新想法,包含详细的代码和说明,具备有效的创新组合,可以有效应用到改进创新当中 👉👉👉: 🐤🐤�…

Java并发面试题:(一)线程的5种状态及转换

线程的状态转换 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位 于可运行线程池中,变得可运…

设计模式(1)-设计模式前置基础知识

1,设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大(Christopher Alexand…

三大方法快速发现商业规律

文章目录 三大方法快速发现商业规律一、市场调研二、数据分析三、案例分析 📕我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文创造者、技术文章评审老师、问卷调查…

新时代高效记账:自动化智能如何进行财务管理

随着科技的不断发展,自动化智能已经逐渐渗透到我们生活的各个领域。在财务管理中,自动化智能的应用显得尤为重要。它不仅可以提高财务管理的效率和精度,还能帮助我们更好地规划和掌控公司的财务状况 晨曦记账本提供了多种高效财务管理工具。…

【linux kernel】对linux内核设备的注册机制和查找机制分析

文章目录 1、简介2、device_initialize分析3、device_add分析4、总结 🔺【linux内核系列文章】 👉对一些文章内容进行了勘误,本系列文章长期不定时更新,希望能分享出优质的文章! 1、《linux内核数据结构分析之哈希表》…

冲刺十五届蓝桥杯P0006平面切分

文章目录 题目思路代码总结 题目 平面切分 思路 这道题是一个思维题把,之前没有接触过平面几何的知识,做起来感觉还是比较难的,用到的set集合和自己创建一个类 首先我们知道,一根直线A是可以将平面切分成两块的,如…

如何能优化网站开展速度

随着互联网技术的飞速发展,网站加载速度已经成为一个不可忽视的关键要素。 当您的网站速度缓慢,不仅会影响用户的访问体验,还可能导致用户的流失。以下是一些创新的技巧和策略,帮助您提升网站打开速度。 一、在图像压缩上做文章 …

ArcGIS JS API 演示Demo

ArcGIS JS API Demo演示地址 https://ralucanicola.github.io/JSAPI_demos/ ArcGIS JS API Demo下载地址 https://github.com/RalucaNicola/JSAPI_demos

PyTorch入门教学——使用PyCharm创建一个PyTorch项目

首先需要创建好PyTorch的虚拟环境,步骤:PyTorch入门教学——简介与环境配置-CSDN博客打开PyCharm,新建项目,选择项目的存放位置。选择先前配置的解释器,也就是虚拟环境中的解释器。(记住创建的虚拟环境所在…

1、资源包下载

1 、百度云盘永久下载地址 : 链接: https://pan.baidu.com/s/13pBco75qXU6bLxlTtZ29TQ 提取码: ixkg 2 、官方下载地址: https://dev.mysql.com/downloads/mysql/ 3 、注意:下载时候要选择自己的系统和对应的电脑 CPU 位数&a…

Multisim14 逻辑分析仪的使用教程(打开关闭+详细具体)

一、打开逻辑分析仪 总结:根据自身的分析需要选择分析的参数,保存并允许结果。然后根据参数的设置,看运行结果是否满足项目分析需要。 二、 关闭逻辑分析仪 最后,再次运行即可关闭逻辑分析仪了! 总结:如果…

LLM 系列 | 21 : Code Llama实战(上篇) : 模型简介与评测

引言 小伙伴们好,我是《小窗幽记机器学习》的小编:卖热干面的小女孩。 个人CSDN首页:JasonLiu1919_面向对象的程序设计,深度学习,C-CSDN博客 今天开始以2篇小作文介绍代码大语言模型Code Llama。上篇主要介绍Code Llama的基本情况并基于Hug…