4cf1fa220f
Improved version of the covert channels do not need to iterate over all core pairs (they pick their own core pair, and already iterate on all of them as part of calibration). This avoids an unnecessary n^4 complexity, and reduces it to n^2, where n is the number of cores. |
||
---|---|---|
.cargo | ||
.idea | ||
aes-t-tables | ||
basic_timing_cache_channel | ||
cache_side_channel | ||
cache_utils | ||
covert_channels_benchmark | ||
covert_channels_evaluation | ||
cpuid | ||
flush_flush | ||
flush_reload | ||
polling_serial | ||
prefetcher_reverse | ||
results-27-02-2020-60fe76e366 | ||
scripts | ||
src | ||
tests | ||
turn_lock | ||
vga_buffer | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Readme.md | ||
requirements.txt | ||
rust-toolchain | ||
stty.sh | ||
x86_64-D.TinctoriusAzureus.json |
Dendrobates Tinctorius Azureus - The blue poison frog
This is a minimal kernel (written in rust) meant to help idissect (reverse engineer) Intel CPUs (hence the blue color of the chosen frog)
Everything remains to be done.
Design decision :
-
Will only ever have one user process
-
Should limit use of interrupts as much as possible
-
Should support as many instructions as possible, make sure to properly enable all floating points and vector extensions
-
Get a kernel to boot
-
Get serial console
-
Deal with cpuid / floating point niceties
-
Deal with the user mode switch