SSH 客户端 OpenSSH 和 PuTTY 中的漏洞

在 SSH 客户端 OpenSSH 和 PuTTY 中 已确定 漏洞 (CVE-2020-14002 在 PuTTY 和 CVE-2020-14145 在OpenSSH中),导致连接协商算法中的信息泄露。 该漏洞允许攻击者拦截客户端流量(例如,当用户通过攻击者控制的无线接入点进行连接时),以检测在客户端尚未缓存主机密钥时最初将客户端连接到主机的尝试。

知道客户端是第一次尝试连接并且还没有主机密钥,攻击者可以通过自身广播连接 (MITM) 并向客户端提供他的主机密钥,SSH 客户端将考虑使用该主机密钥如果目标主机未验证密钥指纹,则为目标主机的密钥。 因此,攻击者可以在不引起用户怀疑的情况下组织 MITM,并忽略客户端已缓存主机密钥的会话,尝试替换将导致有关主机密钥更改的警告。 该攻击是基于用户的粗心,他们在第一次连接时没有手动检查主机密钥的指纹。 检查密钥指纹的人可以免受此类攻击。

作为确定第一次连接尝试的标志,使用了列出支持的主机密钥算法的顺序的更改。 如果发生第一次连接,客户端会传输默认算法列表,如果主机密钥已在缓存中,则将关联的算法放在第一位(算法按优先顺序排序)。

该问题出现在 OpenSSH 版本 5.7 至 8.3 和 PuTTY 0.68 至 0.73 中。 问题 被淘汰 在问题 腻子 0.74 通过添加一个选项来禁用主机密钥处理算法列表的动态构建,有利于以恒定顺序列出算法。

OpenSSH 项目不打算更改 SSH 客户端的行为,因为如果您一开始不指定现有密钥的算法,则会尝试使用与缓存密钥不对应的算法,并且将显示有关未知密钥的警告。 那些。 出现一个选择 - 要么信息泄漏(OpenSSH 和 PuTTY),要么如果保存的密钥与默认列表中的第一个算法不对应,则发出有关更改密钥的警告(Dropbear SSH)。

为了提供安全性,OpenSSH 提供了使用 DNSSEC 中的 SSHFP 条目和主机证书 (PKI) 进行主机密钥验证的替代方法。 您还可以通过 HostKeyAlgorithms 选项禁用主机密钥算法的自适应选择,并使用 UpdateHostKeys 选项允许客户端在身份验证后获取其他主机密钥。

来源: opennet.ru

添加评论