Add a draft module for AES attacks

This commit is contained in:
GuillaumeDIDIER 2020-08-04 14:33:33 +02:00
parent 15907efb15
commit 5cd3150a4b
4 changed files with 28 additions and 1 deletions

View File

@ -31,6 +31,7 @@
<sourceFolder url="file://$MODULE_DIR$/cache_utils/tests" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/cache_utils/benches" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/cpuid/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/aes-t-tables/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/cache_info/target" />
<excludeFolder url="file://$MODULE_DIR$/cache_utils/target" />
<excludeFolder url="file://$MODULE_DIR$/kernel/target" />

4
Cargo.lock generated
View File

@ -1,5 +1,9 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "aes-t-tables"
version = "0.1.0"
[[package]]
name = "ahash"
version = "0.3.8"

View File

@ -4,7 +4,8 @@ members = [
"vga_buffer",
"polling_serial",
"cache_utils",
"cpuid"
"cpuid",
"aes-t-tables"
]
[package]

21
aes-t-tables/src/lib.rs Normal file
View File

@ -0,0 +1,21 @@
// Generic AES T-table attack flow
// Modularisation :
// The module handles loading, then passes the relevant target infos to a attack strategy object for calibration
// Then the module runs the attack, calling the attack strategy to make a measurement and return hit/miss
// interface for attack : run victim (eat a closure)
// interface for measure : give measurement target.
// Can attack strategies return err ?
// Load a vulnerable openssl - determine adresses af the T tables ?
// Run the calibrations
// Then start the attacks
// This is a serialized attack - either single threaded or synchronised
// parameters required
// an attacker measurement
// a calibration victim