-
1.背景
因Android12后GKI发展趋势,且后续内核定制都以内核模块挂载,但CONFIG_MODULE_SIG不能在后续版本延用[1],内核模块的安全性不仅没有提升,反而被迫下降。现对内核模块另外一项安全策略CONFIG_SECURITY_LOADPIN(后续简称LOADPIN)进行调研分析,探讨是否能够开启以便弥补安全性缺口。由于LOADPIN在国内论坛和博客中没有详细的中文文献,本次特地将调研总结分享给论坛。
[1]:GKI商用后,后续上市的终端均使用Google的boot.img,而MODULE_SIG对.ko的签名在boot.img构建时,这里的私钥Google公开(验证形同虚设)、不公开(OEM厂商无法挂载.ko)都会存在问题。
2.功能情况
-
CONFIG_SECURITY_LOADPIN
LOADPIN作为一个轻量级的LSM功能,在kernel 4.7版本合入Linux主线。其主要目的为:确保内核加载文件(内核模块,固件,kexec映像,安全策略)来自只读的、同一文件系统。这旨在简化嵌入式系统文件检查(相对于复杂的签名机制)。
3.当前功能情况
当前Android厂商均为开启此功能。
OPPO |
CONFIG_SECURITY_LOADPIN is not set |
三星 |
CONFIG_ |