...
首页> 外文期刊>ACM transactions on information and system security >Cryptanalysis of the Random Number Generator of the Windows Operating System
【24h】

Cryptanalysis of the Random Number Generator of the Windows Operating System

机译:Windows操作系统随机数生成器的密码分析

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

The PseudoRandom Number Generator (PRNG) used by the Windows operating system is the most commonly used PRNG. The pseudorandomness of the output of this generator is crucial for the security of almost any application running in Windows. Nevertheless, its exact algorithm was never published.rnWe examined the binary code of a distribution of Windows 2000. This investigation was done without any help from Microsoft. We reconstructed the algorithm used by the pseudorandom number generator (namely, the function CryptGenRandom). We analyzed the security of the algorithm and found a nontrivial attack: Given the internal state of the generator, the previous state can be computed in 223 steps. This attack on forward security demonstrates that the design of the generator is flawed, since it is well known how to prevent such attacks. After our analysis was published, Microsoft acknowledged that Windows XP is vulnerable to the same attack.rnWe also analyzed the way in which the generator is used by the operating system and found that it amplifies the effect of the attack: The generator is run in user mode rather than in kernel mode; therefore, it is easy to access its state even without administrator privileges. The initial values of part of the state of the generator are not set explicitly, but rather are defined by whatever values are present on the stack when the generator is called. Furthermore, each process runs a different copy of the generator, and the state of the generator is refreshed with system-generated entropy only after generating 128KB of output for the process running it. The result of combining this observation with our attack is that learning a single state may reveal 128KB of the past and future output of the generator.rnThe implication of these findings is that a buffer overflow attack or a similar attack can be used to learn a single state of the generator, which can then be used to predict all random values, such as SSL keys, used by a process in all its past and future operations. This attack is more severe and more efficient than known attacks in which an attacker can only learn SSL keys if it is controlling the attacked machine at the time the keys are used.
机译:Windows操作系统使用的伪随机数生成器(PRNG)是最常用的PRNG。该生成器的输出的伪随机性对于Windows中运行的几乎所有应用程序的安全性都至关重要。但是,它的确切算法从未发布过。我们检查了Windows 2000发行版的二进制代码。在没有Microsoft任何帮助的情况下进行了此项调查。我们重建了伪随机数生成器(即函数CryptGenRandom)使用的算法。我们分析了该算法的安全性,发现了一个不小的攻击:给定生成器的内部状态,可以用223个步骤计算先前的状态。这种对前向安全性的攻击表明生成器的设计存在缺陷,因为众所周知,如何防止此类攻击。在发布我们的分析之后,Microsoft承认Windows XP容易受到相同的攻击。rn我们还分析了操作系统使用生成器的方式,并发现它放大了攻击的效果:生成器在用户中运行模式而不是内核模式;因此,即使没有管理员权限也很容易访问其状态。生成器的部分状态的初始值不是显式设置的,而是由调用生成器时堆栈上存在的任何值定义的。此外,每个进程都运行生成器的不同副本,并且仅在为运行它的进程生成128KB的输出之后,才使用系统生成的熵刷新生成器的状态。将这种观察结果与我们的攻击相结合的结果是,学习单个状态可以揭示生成器的过去和将来的输出128KB。rn这些发现的含义是,可以使用缓冲区溢出攻击或类似的攻击来学习单个状态。生成器的状态,然后可用于预测进程在其过去和将来的所有操作中使用的所有随机值,例如SSL密钥。这种攻击比已知的攻击更为严重和有效,在已知的攻击中,如果攻击者在使用密钥时控制着被攻击的机器,则攻击者只能学习SSL密钥。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号