根据变更日志,OpenSSH 9.0 曾遭遇一次“险些被利用”的事件——一个潜在漏洞在任何人尝试利用之前就被发现并修复了:
“ sshd(8)中存在一个险些被利用的漏洞:修复了用户身份验证路径中的一个整数溢出漏洞。该漏洞与其他逻辑错误结合使用,可能在难以利用的情况下导致未经身份验证的访问。由于权限分离监视器中的独立检查,这种情况无法被利用。权限分离自OpenBSD 3.2 (2002 年发布)起默认启用,并自OpenBSD 6.1 (2017 年发布)起强制启用。”
这之所以有趣,原因有以下几点:
- 发现并修复潜在漏洞是基本的开发工作(实际上,安全漏洞总是编码错误),但有趣的是,它是世界上部署最广泛、遭受攻击最严重的软件之一。
- OpenBSD 持续进行代码审计的过程(就像粉刷金门大桥一样——完成之后再重新开始)再次取得了成功。
- 该项目采用的权限分离理念发挥了应有的作用。这一屏障有效阻止了漏洞被利用。
OpenBSD 发现并修复了这个问题,而且始终保持透明,值得称赞。
OpenSSH 项目也一直致力于保护用户免受复杂的窥探攻击。
从 9.0 版本开始,OpenSSH 默认使用 NTRU Prime 算法,该算法被认为是抗量子攻击的。根据维基百科:
与RSA和 椭圆曲线密码学不同,NTRU目前尚未发现易受量子计算机攻击。 美国国家标准与技术研究院在2009年的一份调查报告中指出,“对于公钥加密和签名,存在一些可行的替代方案,这些方案不易受到Shor算法的攻击”,并且“在已开发的各种基于格的密码方案中,NTRU系列密码算法似乎是最实用的”。欧盟的 PQCRYPTO 项目( Horizon 2020 ICT-645622)正在评估可证明安全的 Stehle-Steinfeld 版本的 NTRU(不是原始的 NTRU 算法本身),作为潜在的欧洲标准。然而,Stehle-Steinfeld 版本的 NTRU “效率远低于原始方案”。
旧技术仍然可用,但我怀疑一旦 OpenSSH 9+ 普及,它们就会逐步被淘汰。