论文部分内容阅读
敏感应用和普通应用都在操作系统平台上运行,而现有的操作系统大都采用集成性很强的内核来管理系统所有资源。由此导致内核设计复杂,代码量大,攻击面广,不可避免的存在一些漏洞。利用内核漏洞,攻击者便可借用内核高权限来攻击敏感应用。以内核为可信根的传统保护机制自身安全性便无法保证,现有的针对不可信内核的敏感应用保护机制则存在各种不足,如忽略所执行内核代码完整性和依赖于特定编译器等。 针对上述问题,本文提出了一个基于安全隔离技术ARM TrustZone的敏感应用保护机制。为了能在系统运行中给敏感应用提供一个安全可执行环境,本保护机制设计了四个模块来保护敏感应用的所有代码和数据。第一个是敏感应用保护模块,该模块利用内核已有的页表管理机制来保证敏感应用所执行代码的完整性和数据的机密性及完整性。第二个是安全增强模块,该模块替代系统内核来更新所有进程页表及页表基地址寄存器,从而保障敏感应用保护模块安全执行。第三个是页表更新模块,该模块拦截系统更新页表操作,并依据制定的安全策略检测其合法性。最后一个是安全策略模块,该模块定义页表更新和进程调度时相关合法性操作,抵制任何恶意行为,从而防止攻击者利用漏洞执行一些非法操作。 本文最后在ARM模拟器Fast Model模拟的支持TrustZone安全扩展的Cortex-A15处理器硬件环境上进行了相关测试,实验结果表明,即使内核有漏洞会被攻击的情况下,本保护机制仍能保证敏感应用按其预期执行,并且其隐私数据不会被攻击者窃取。相对之前相关保护机制而言,本设计主要创新点是整个保护机制只需利用内核已有页表管理机制便可为敏感应用提供安全可执行环境,而且结合现有的ARM TrustZone安全扩展技术将保护机制存放在隔离区,与操作系统完全安全隔离,极大地提高了其安全性。