/*
本文章由 莫灰灰 编写,转载请注明出处。
作者:莫灰灰 邮箱: minzhenfei@163.com
*/
通过mmap直接操作物理内存的漏洞应该算是比较常见的一类漏洞了,在2012年、2013年的这段时间里,爆出了好几个物理内存读写相关的漏洞。主要是因为某些设备本身具有mmap物理内存的功能,但是其权限又是全局可读写的,最后,黑客通过精心构造的参数,patch相关函数或者数据结构达到权限提升的目的。
这样的设备主要有以下几个
/dev/exynos-mem CVE-2012-6422 http://blog.csdn.net/hu3167343/article/details/34425995
/dev/msm_camera/config0 CVE-2013-2595 http://blog.csdn.net/hu3167343/article/details/34434235
/dev/dhcp
/dev/graphics/fb0
(后面两个没有搜索到cve编号,但是利用代码网上都有)
此类漏洞的形成主要还是编写驱动设备的程序员在驱动中实现了mmap方法但是却没有校验参数,例如对调用者,map的地址做校验等等。
还有就是/dev/msm_camera/config0的设备,本身并不需要mmap的方法,程序员在编写驱动的时候套用模板,最后埋了个坑。