Slide 27
Slide 27 text
27
SYSTEM INTEGRITY
❖ Calculate hash from the critical [meta]data – SipHash
❖ Guarded regions:
▪ Critical (V)CPU/core data – Inter-Processor-Interrupt (IPI) is sent to the individual core in all
(V)CPUs to exclusively run LKRG’s guard function (IDT/MSR/CRx/etc.)
▪ LKRG keeps information about how many (V)CPU/cores are „online” / „offline” / „possible”
▪ Entire Linux kernel .text section
▪ This covers almost entire Linux kernel itself, like syscall tables, all procedures, all function, all
IRQ handlers, etc.
▪ Entire Linux kernel .rodata section
▪ Entire Linux kernel exception table
▪ Critical global system variables, like:
▪ selinux_enabled
▪ selinux_enforcing / selinux_state
▪ Supervisor Mode Execution Protection (SMEP) and Supervisor Mode Access Prevention (SMAP)
▪ CR4.WP
▪ All dynamically loaded modules AND their order in the internal structures
▪ Optionally,it is possible to enable guard of the entire IOMMU table