Module Name: src
Committed By: maxv
Date: Mon Jun 18 06:09:56 UTC 2018
Added Files:
src/doc: TODO.kaslr
Log Message:
todo list for kaslr, with the issues I can think of right now
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/doc/TODO.kaslr
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: src/doc/TODO.kaslr
diff -u /dev/null src/doc/TODO.kaslr:1.1
--- /dev/null Mon Jun 18 06:09:56 2018
+++ src/doc/TODO.kaslr Mon Jun 18 06:09:56 2018
@@ -0,0 +1,41 @@
+====== POINTER LEAKS ======
+
+-- Change the permissions of /dev/ksyms, as discussed in:
+ http://mail-index.netbsd.org/tech-kern/2018/01/17/msg022960.html
+
+-- The address of a non-public section is leaked because of Meltdown,
+ "jmp handler". This can easily be fixed by pushing the handlers into
+ their own section.
+
+-- Replace the "%p" fmt by something relative to the kernel section (if
+ any). Eg, from
+ printf("%p", &some_global_var); --> "0xffffffffe38010f0"
+ to
+ printf("%p", &some_global_var); --> ".data.4:0x8010f0"
+ This eases debugging and also prevents leaks if a driver prints
+ kernel addresses as debug (I've seen that already).
+
+-- PPPoE sends a kernel address as host unique. (What is this shit.)
+
+-- "netstat -nat" leaks kernel addresses.
+
+-- Investigate some other tools.
+
+-- Be careful with dmesg.
+
+====== RANDOMIZATION ======
+
+-- Randomize the PTE space.
+
+-- Randomize the kernel main memory (VM_MIN_KERNEL_ADDRESS).
+
+-- Randomize the direct map.
+
+-- Randomize the PCPU area.
+
+====== GENERAL ======
+
+-- Sort the kernel sections by size, from largest to smallest, to save
+ memory.
+
+-- Add the "pkboot" command in the EFI bootloader.