【发布时间】:2014-05-23 06:38:56
【问题描述】:
对于最近的 OpenSSL 错误,用户空间应用程序是否可以通过 mmap 读取其他进程的内存?这是参考http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html中的错误描述
我想,上面文章中关于通过 memcpy 读取内存的担忧(因为它根据数据包长度中提供的内容复制内存)是有效的,因为如果你碰巧在那个位置有信用卡信息,它可以发回给生成数据包的用户。
【问题讨论】:
-
这不太可能。 ssl 代码中的 ->payload 字段是动态分配的,将由 linux 通过 /dev/zeroo 的异常 mmap 获得。 (以几 MB 为单位,IIRC)不同映射在同一个 64 K 窗口中的机会非常小。此外,内存映射会以“堆”可以线性扩展的方式排列,因此文件映射将被放置在不同的区域。
标签: linux security ssl openssl heartbleed-bug