Ninja: Towards Transparent Tracing and Debugging on ARM
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 1
Zhenyu Ning & Fengwei Zhang Wayne State University {zhenyu.ning, fengwei}@wayne.edu
Wayne State University
Ninja: Towards Transparent Tracing and Debugging on ARM Zhenyu Ning - - PowerPoint PPT Presentation
Ninja: Towards Transparent Tracing and Debugging on ARM Zhenyu Ning & Fengwei Zhang Wayne State University {zhenyu.ning, fengwei}@wayne.edu Wayne State University COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 1 Outline Introduction
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 1
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 2
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 3
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 4
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 5
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 6
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 7
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 8
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 9
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 10
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 11
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 12
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 13
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 14
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 15
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 16
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 17
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 18
EL1 (Rich OS) EL2 (Hypervisor) EL3 (Secure Monitor) EL0 (Applications) EL1 (Secure OS) Non-secure Domain Secure Domain EL0 (Applications)
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 19
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 20
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 21
App App Target Malware Rich OS Non-secure Domain
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 22
App App Target Malware Rich OS Non-secure Domain Secure Interrupt Handler Secure Domain Secure Interrupt
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 23
App App Target Malware Rich OS Non-secure Domain Secure Interrupt Handler Secure Domain Secure Interrupt Trace Subsystem Trace Subsystem:
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 24
App App Target Malware Rich OS Non-secure Domain Secure Interrupt Handler Secure Domain Secure Interrupt Trace Subsystem Debug Subsystem Debug Subsystem:
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 25
App App Target Malware Rich OS Non-secure Domain Secure Interrupt Handler Secure Domain Secure Interrupt Trace Subsystem Debug Subsystem Remote Debugging Client Secure Port
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 26
App App Target Malware Rich OS Non-secure Domain Secure Interrupt Handler Secure Domain Secure Interrupt Trace Subsystem Debug Subsystem Remote Debugging Client Secure Port ERET
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 27
…… Non-secure Domain MRS X0, PMCR_EL0 MOV X1, #1 AND X0, X0, X1 ……
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 28
…… Non-secure Domain MRS X0, PMCR_EL0 MOV X1, #1 AND X0, X0, X1 …… Analyzing the instruction Secure Domain MDCR_EL3.TPM = 1
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 29
MOV X0, #0x41013000 …… Non-secure Domain MRS X0, PMCR_EL0 MOV X1, #1 AND X0, X0, X1 …… Analyzing the instruction Secure Domain MDCR_EL3.TPM = 1
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 30
Modifying saved ELR_EL3 MOV X0, #0x41013000 …… Non-secure Domain MRS X0, PMCR_EL0 MOV X1, #1 AND X0, X0, X1 …… Analyzing the instruction Secure Domain MDCR_EL3.TPM = 1
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 31
ERET Modifying saved ELR_EL3 MOV X0, #0x41013000 …… Non-secure Domain MRS X0, PMCR_EL0 MOV X1, #1 AND X0, X0, X1 …… Analyzing the instruction Secure Domain MDCR_EL3.TPM = 1
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 32
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 33
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 34
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 35
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 36
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 37
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 38
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 39
Mean STD #Slowdown Base: Tracing Disabled 2.133 s 0.69 ms Instruction Tracing 2.135 s 2.79 ms 1x System call Tracing 2.134 s 5.13 ms 1x Android API Tracing 149.372 s 1287.88 ms 70x
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 40
Native Scores Java Scores Overall Scores Mean #Slowdown Mean #Slowdown Mean #Slowdown Basic: Tracing Disabled 25380 18758 21407 Instruction Tracing 25364 1x 18673 1x 21349 1x System call Tracing 25360 1x 18664 1x 21342 1x Android API Tracing 6452 4x 122 154x 2654 8x
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 41
ATF Enabled Ninja Enabled Mean STD 95% CI ✖ ✖ 0.007 0.000 [0.007, 0.007] ✔ ✖ 0.202 0.013 [0.197, 0.207] ✔ ✔ 0.342 0.021 [0.334, 0.349]
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 42
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 43
Wayne State University
COMPASS LAB (HTTP://COMPASS.CS.WAYNE.EDU) 44
Wayne State University