三星KNOX中Trustzone内核完整性动态度量方案(TIMA架构)解析

三星TIMA方案利用Trustzone安全模块对普通世界操作系统内核提供运行时完整性保护,即使操作系统被攻击者控制,也无法(1)修改原有合法内核代码(2)注入新的内核恶意代码(3)实施return-to-user攻击,将用户空间恶意代码在内核层运行。

这种设计思路的最大挑战在于正常世界对自己的系统资源具有完全的控制权,如物理内存,页表及相应的控制寄存器,一旦操作系统被敌手攻破,完全可以通过修改页表配置改变原有内存访问权限,将只读内核代码段修改为可写,或将位于数据或堆栈区域插入的恶意代码修改为可执行。因此TIMA方案的核心思路是:通过安全的初始化过程使内核代码段在系统初始化后映射为只读,并移除操作系统对自身虚拟内存管理(MMU)相关配置的修改权限(包括页表entry,TTBR寄存器等),页表更新操作只能由安全世界验证并代为执行。


为修改现有的页表映射属性配置,攻击者必须执行以下操作之一来绕过安全世界的监控功能.

1)直接修改当前页表内容,修改监控代码对应页表表项的映射属性为可写;

2) 禁用MMU,直接修改监控代码的物理页面;

3) 篡改页表基址寄存器TTBR的值,使其指向敌手伪造的页表,破坏监控代码页的写保护;

4)将包含监控代码的物理页面映射到可写的虚拟地址,即双重映射攻击;

5)禁用WXN保护,注入重写的系统功能;

6)取消进程用户地址空间的PXN映射属性.


其中,WXN,MMU,TTBR通过CP15安全协处理器的相关控制寄存器设置.由此可见,敌手需要通过修改相应页表表项和相关控制寄

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值