Reverse Debugging of Kernel Failures in Deployed Systems
Xinyang Ge, Ben Niu and Weidong Cui Microsoft Research
USENIX Annual Technical Conference, 2020
Reverse Debugging of Kernel Failures in Deployed Systems Xinyang - - PowerPoint PPT Presentation
Reverse Debugging of Kernel Failures in Deployed Systems Xinyang Ge, Ben Niu and Weidong Cui Microsoft Research USENIX Annual Technical Conference, 2020 What happened before the crash? REPT: Reverse Execution with Processor Trace REPT:
Xinyang Ge, Ben Niu and Weidong Cui Microsoft Research
USENIX Annual Technical Conference, 2020
What happened before the crash?
REPT: Reverse Execution with Processor Trace
REPT: Reverse Execution with Processor Trace
How to make REPT support the kernel?
USER KERNEL
How REPT works?
USER KERNEL
How REPT works?
USER KERNEL
How REPT works?
USER KERNEL
How REPT works?
USER KERNEL
add rax,rbx rax=3,rbx=1 rax=?,rbx=?
How REPT works?
USER KERNEL
add rax,rbx rax=3,rbx=1 rax=2,rbx=1
How REPT works?
Can we simply inverse the tracing?
Can we simply inverse the tracing?
USER KERNEL context switch … is irreversible, and we log it in software.
USER KERNEL syscalls interrupts/ exceptions
USER KERNEL syscalls interrupts/ exceptions Interrupt Descriptor Table
INTERRUPT GATE 0 INTERRUPT GATE 1 INTERRUPT GATE 2 INTERRUPT GATE N
Different events can have different architectural effects Kernel Stack
SS RSP RFLAGS CS RIP Error Code
Stack Pointer
Automated Analyses
Conclusion