G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

admin 2024年1月9日10:34:11评论13 views字数 2486阅读8分17秒阅读模式

思科安全研究人员调查了某网络公司在12年时间内生产的2.26亿部设备,发现其中暗藏着不可告人的后门?!

通常在安全学术会议并不常见到工业界的人,有时候见到了还挺尬尴(参见我们在《ACM CCS 2017 会议每日报道:Day 3 & 4》 https://zhuanlan.zhihu.com/p/30751150 中提到的英飞凌公司的参会人员的趣事)。可是在2023年的ACSAC会议上,思科公司的研究人员重拳出击,给了某网络设备生产商沉重一击(等等,这家网络设备生产商好像是C打头的?),揭示了其在某一段时间(持续长达12年)内生产的设备中使用的RSA密钥均存在安全隐患——由于随机数发生器的问题导致密钥的强度可能被削弱。这就是我们今天要介绍的研究论文–Detecting Weak Keys in Manufacturing Certificates: A Case Study

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

首先复习一下密码学教科书,回忆一下RSA的公钥和私钥是怎么生成的?如果你还只停留在两个大素数pq乘起来等于n,那么好了,赶紧回去补课。即使是理论的教材,在这里可能也要提到一个向现实妥协的操作——在生成大素数的阶段,其实只是使用了概率算法来判定一个随机挑选的数有“很大”可能是一个素数。此外,这里还涉及到“随机挑选”是否真的随机——如果随机数发生器出了问题,RSA密码体系的安全性一样也会被破坏。

在过去的10年中关于RSA密钥的生成安全问题,有很多论文已经进行了讨论,我们前面介绍的《ACM CCS 2017 会议每日报道:Day 3 & 4》中提到的趣事之所以发生,正是因为研究人员的论文中提到了英飞凌公司生成了不安全的RSA密钥这一背景事件。今天这篇论文中,思科公司的公关部门决定主动出击——与其等着被人披露问题,还不如把宣发的主动权控制在自己手中。

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

让我们看看整个研究论文的研究脉络。首先,作者从随机数发生器出问题的源头开始分析起,指出随机数发生器中的熵池(entropy pool)中的随机性不够,本质上是因为在整个系统(特别是嵌入式系统)还没完全初始化好的阶段就开始从熵池里面涸泽而渔/竭泽而渔了(如下图所示,另外据说“竭泽而渔”有反动派剥削人民的意思,是否更适合这里的语境😂):

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

但是作者也指出,如果要想发现那些在随机性不够的情况下生成的weak RSA key,光靠分析一台设备是不够的,得要通过对比多台设备中生成的key,特别是那些在启动初期生成的key,观察它们之间的共性:

  • Testing many keys successively generated by a single device will not detect this problem

  • Testing the initial keys generated by many devices will detect this problem

你有没有想清楚,怎么去通过对这些有问题的key进行比较,进而发现安全风险呢?作者指出了两种典型的问题:

  1. 由于随机性不够,有多个RSA key在生成的时候用了一样的素数因子(也就导致选择了一样的p或者q);

  2. 由于随机性不够,不同设备生成并使用了一样的RSA key;

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

要想找到上述第二种情况并不难,难的是找到第一种情况。为了确认第一种情况的存在(如果存在,影响范围有多大),作者开展了针对2.26亿个证书的测试(这些证书都是思科自家的CA也就是Cisco Certificate Authority签发的),使用的算法又是我们推崇备至的密码学大拿——Nadia Heninger作为一作的2012年论文(Nadia Heninger, Zakir Durumeric, Eric Wustrow, and J. Alex Halderman. 2012.
Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network De-
vices
. In 21th USENIX Security Symposium. https://www.usenix.org/conference/
usenixsecurity12/technical-sessions/presentation/heninger 可下载)中提到的Batch GCD算法:

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

如果考虑到用来测试的机器的内存大小,还要进行一些优化,这部分其实很有工程师的范儿~

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

然后就是爆料环节了:论文里披露了正在发售的思科产品(包括IP电话、VPN路由器和无线控制器)中存在此类问题,同时还有一大批售后服务生命周期已经结束的思科设备也受到影响(还包括旗下的Linksys和Aironet子品牌的设备)。据作者统计,大约有500万设备(主要是Cisco IP Phone)存在安全风险(https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-cp6901-dup-cert-82jdJGe4 CVE-2022-20817)!

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

但是你以为这个问题只会出现在思科一家的设备上吗? 作者还从Project Sonar(https://www.rapid7.com/research/project-sonar/ 项目主页)那里搞到了2021年春季在全网抓取到的3770万张TLS证书,然后对里面的RSA公钥也进行了风险评估,结果如下图所示:

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

最后,我们要感谢“遥遥落后”的网络生产设备商——思科公司的自我批评精神和亡羊补牢的态度!

G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?


论文:https://dl.acm.org/doi/10.1145/3627106.3627120
slides:https://www.acsac.org/2023/files/web/slides/chi-111-weakrsakeys.pdf
数据集:https://github.com/cisco/mercury/blob/main/doc/batch-gcd.md

原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月9日10:34:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2024-01-08 某家厂商暗藏的弱RSA Key?http://cn-sec.com/archives/2377053.html

发表评论

匿名网友 填写信息