苹果iOS7伪随机数生成器威胁内核安全

ios7

苹果公司最近安全漏洞层出不穷,麻烦不断,2月底爆出的iOS和OSX系统的SSL/TLS连接验证安全漏洞,引发业界热议苹果公司是否NSA合作人为设置安全漏洞方便监控,一波未平一波又起,近日安全公司爆出iOS7“升级”的存在缺陷的随机数生成器是“人为消弱了iOS设备的安全性”。

为了提升iOS设备的安全性,苹果在iOS6向iOS7升级时更换了内部的随机数生成器,但是安全专家认为苹果公司的做法其实是人为降低了苹果系统的安全性。

近日安全公司Azimuth Security发布调查指出,iOS7系统升级的伪随机数生成器(PRNG)安全性“差得要命”,“在暴力破解面前不堪一击”。

PRNG在系统启动时运行,调用线性同余生成器(LCG)为PRNG生成信息熵。Azimuth在公司的白皮书中对LCG是这样解释的:

LCG是一种算法,通过线性方程计算生成一系列随机数。LCG是历史最久的也是最知名的伪随机数生成算法,通常被应用于标准程序库和软件中,以便快速部署。此类算法在资源有限的计算环境表现良好,但是对于能够监控输出值的攻击者来说,这个算法存在严重缺陷,很容易被攻破。

专家指出以上缺陷可以让攻击者无需借助其他漏洞,也无需了解内核地址空间就能恢复PRNG输出结果。

iOS7使用的PRNG只能生成最多219个不同结果,但在输出217个结果之后,最长的单个PRNG输出值序列长度仅为131072.

Azimuth专家在演示稿中指出:如果19bits低位状态值已知,攻击者可以恢复任意输出值,当系统丢弃三个低位状态值,就很容易恢复两个连续的PRNG状态值。

这意味着苹果iOS设备启动时的PRNG源是可以恢复的,任何非授权的攻击者,即使是受限于最严格的沙箱,依然能够恢复随机数生成器生成的任意结果,从而绕过PRNG的安全机制。


redbulleye
数据泄露、安全漏洞第一时间通报

0 评

忘记密码