introduction
使用的工具:nailgun(钻孔机)
normal mode和secure mode之间就有这种isolation,nailgun打破了这种isolationi.
这样在normal mode也可以使用secure mode中的memoryii.
a.
基于硬件的debugging feature
现代的处理器配有一些基于硬件的debug方式i.
如:hardware breakpoints 和 hardware-based traceii.
它们通常要求 cable connectioniii.
b.
传统的硬件debugging
使用另一台电脑作为HOST来debugi.
通过JTAG Interface来连接debug host和debug targetii.
这样的话,host就对target有很高的privilege了,有可能存在恶意debug
ARM中的debug authentication机制,要target同意才能进行debug1)
iii.
人们很少研究这其中的安全问题,因为物理连接不能像网络病毒那样大面积传染iv.
c.
2.
approach
有两个obstacle
物理连接
解决方式:inter-processor debug
可以使用CPU的一个core 来debug另一个 core,因为它们是直接相连的,所以不用JTAG了
i.
具体方式:memory-mapped debugging registers
使用软件可以控制一部分的寄存器,而不只是靠汇编指令来控制
1)
introduced since ARMv7
2)
ii.
1)
i.
debug authentication mechanism(鉴权机制)
ARM处理器的模式
Normal state:target执行program counter的指令i.
non-invasive debugging
monitoring without controli)
ii.
invasive debugging
control and change statei)
iii.
1)
debug authentication signal
决定了是否允许别的设备来给他debugi.
有四种状态
secure/non-secure * invasive/non-invasive i)
ii.
2)
ARM生态3)
ARM 定义(define)这些架构(比如 debug authentication signal 要有四种模式)i.
高通等SoC(System-On-Chip) vendor 实现(implement)了这个架构ii.
ii.
a.
3.