密码管理器安全问题集
2021-07-10 19:47:06 阿炯

本站赞助商链接,请多关照。 卡巴斯基密码管理器生成的密码极易被破解
Linux随机数生成器(LRNG)再度修正
量子计算冲击原有密码体系


卡巴斯基密码管理器生成的密码极易被破解


安全咨询公司 Donjon 于2021年7月初发现,在 2019 年 3 月至 2020 年 10 月期间,卡巴斯基密码管理器(Kaspersky Password Manager,KPM)生成的密码可以在几秒钟内被破解。原因在于该工具使用的伪随机数生成器(PRNG)非常不适合加密用途。

Donjon 研究人员称,卡巴斯基密码管理器中包含的密码生成器存在有几个问题。其中最重要的是,PRNG 仅使用单一的熵源——当前时间。这意味着,它创建的每个密码都可已在几秒内被暴力破解。例如,在 2010 年和 2021 年之间有 315619200 秒,所以 KPM 对于一个给定的字符集最多可以生成 315619200 个密码;而攻破它们需要几分钟的时间。

网站或论坛显示一般都会显示账户的创建时间。在知道了账户的创建日期后,攻击者就可以尝试用小范围的密码(约 100 个)来暴力破解账户密码,并获得访问权。此外,如果使用卡巴斯基密码管理器生成的密码,也可以很容易地从泄漏的数据库中检索到包含散列密码、加密档案的密码、TrueCrypt/Veracrypt 卷等。该问题被标记为 CVE-2020-27020,其中旧版本的密码管理器被描述为"不完全具有密码学强度,在某些情况下可能允许攻击者预测生成的密码"。虽然"攻击者需要知道一些额外的信息(例如,密码生成的时间)"的警告是有效的,但事实是,卡巴斯基密码的安全性明显低于人们的期待。

Donjon 的研究人员得出结论称:卡巴斯基密码管理器使用了一种复杂的方法来生成其密码。这种方法的目的是创建标准密码破解器难以破解的密码。然而,这种方法降低了生成的密码对专用工具的强度。我们以 KeePass 为例,展示了如何生成安全的密码:只要你在给定的字符范围内偷看一个字母时,摆脱了"modulo bias",那么像随机抽签这样的简单方法就很安全。

我们还研究了卡巴斯基的 PRNG,结果发现它非常弱。它的内部结构是一个来自 Boost 库的 Mersenne twister,并不适合生成加密材料。但主要的缺陷是,这个 PRNG 是以当前时间为种子的,单位是秒。这意味着由脆弱版本的 KPM 生成的每个密码都可以在几分钟内被破解(如果你知道大概的生成时间,也可以在一秒钟内破解)。最后提供了一个概念证明,详细说明了 KPM 使用的完整生成方法。它可以用来验证卡巴斯基密码管理器<9.0.2 Patch F 的 Windows 版本中确实存在这个缺陷。顺便说一下,编写这个 PoC 使我们在计算密码字符出现频率时发现了一个越界读取,这使得密码的强度比它们应该有的要强一些。

目前该产品已更新,其最新版本不受此问题的影响。


Linux随机数生成器(LRNG)再度修正

2021年7月中旬消息,作为/dev/random的新替代品,"Linux随机数生成器"(LRNG)的工作现在已经进行到第41次修订,并且已经开发了超过5年。Stephan Müller今天发布了他对LRNG的最新补丁系列,作为他提出的处理/dev/random的新方法,同时也是对现有随机数生成器的API/ABI兼容的替代品。与目前的/dev/random相比,LRNG的目标是要快 "达130%",还有其他各种性能优化,各种加密处理的改进,可测试能力的提高,选项的更多可配置性,以及更现代的设计。

LRNG的v41补丁对初始播种代码进行了清理,将种子缓冲区归零,在熵值不足的情况下初始化熵值,加强了熵源配置,并对该随机数生成器代码进行了其他各种低级别的改进。LRNG是否/何时最终被认为可以用于主线内核还有待观察,但那些对围绕新的Linux随机数发生器实现的这一漫长旅程感到好奇的人可以在内核邮件列表中找到今天的13个补丁系列。


量子计算冲击原有密码体系

2022年1月上旬消息,支撑互联网通信安全的加密方式将首次发生重大变化。原因是随着新一代高速计算机——量子计算机的发展,密码有可能遭到破解。美国国家标准技术研究所(NIST)最早在1月内就将选定新的方式,在2024年之前确定具体规格。候选方式有日本NTT等参与制订的4种。全球企业将会面临进行软件更新等。


面对日本经济新闻的采访,负责制定美国政府安全标准的NIST进行了说明,称选择新标准加密方式的目的是“(保护信息)免受来自量子计算机的攻击”。选定时间定为2022年的“很早时期”。防范量子计算机还有名为“量子加密”的技术,但对象范围和所处领域均不同于此次被应用于普通网络的密码。

互联网领域的标准化团体——互联网工程任务组(IETF)也宣布了将会遵从NIST决定的方针,从而成为事实上的世界标准。支持现行“RSA密码”的通信规格在网络普及的1990年代后期被广泛应用于全世界。此次改变将是世界标准的通信规格首次发生重大变化。

加密就是把想要发送的信息转换成为第三方无法解读的形式,确保通信的隐秘性。随着网络的普及,已经成为支撑企业活动和民众生活安全的基础。量子计算机将会对其构成威胁。目前即使是速度最快的超级计算机,想把密码破解出来也要运行好多年。而量子计算机虽然现在还不能破解,但如果再进一步发展下去,就有可能具备破解能力。

NIST向全世界公开征集了量子计算机难以破解的新加密技术。目前剩下4种候选方式,NTT参与开发的密码也位列其中。如果多种方式并存,会导致软件复杂,成本加大,因此最终将缩减为1到2种。

如果新密码确定下来,IT(信息技术)企业等将被迫做出应对。NIST的方针是呼吁在量子计算机可望投入实用的2031年以后不再使用现行密码。东京大学教授高木刚指出,“需要在此之前进行软件更替等”。根据美国调查公司Inside Quantum Technology的预测,使用新密码的软件和设备的全球市场到2028年将增加到39亿美元。其影响波及到电子邮件和网购活动等各种网上操作,相关企业正在开展使用新密码的软件研发等。