前言
最近几个月的谷歌Android安全公告中,第三方驱动的漏洞占据了相当大的比例。由于驱动运行在内核空间,如果它出现问题,将导致非常大的影响。
所以,Android驱动漏洞值得我们去关注,但是这方面的资料缺比较少。本文分析了一个存在于Nexus 9摄像头驱动中的信息泄漏漏洞,首先描述了驱动的加载过程,其次讲解了漏洞的攻击向量,最后结合poc分析了漏洞的成因。
驱动的加载
摄像头驱动的源码位于参考文献[1]。
不同于普通的驱动,摄像头驱动是一个platform driver。它使用module_platform_driver宏作为指定名称的平台设备驱动注册函数和平台设备驱动注销函数。
module_platform_driver最终会调用 platform_driver 结构元素 probe 函数指针,如果想详细了解其过程,请参考文献[2]。