Commit Graph

278 Commits

Author SHA1 Message Date
Guillume DIDIER
4cf1fa220f Backport from 5c9ac31ab the logic avoid unnecessary iterations
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.
2021-07-19 09:36:25 +02:00
Guillume DIDIER
3c8c00facb Fix compile issue 2021-07-19 09:33:54 +02:00
Guillume DIDIER
78c4018a04 Document issues around number of handles per page / cache line
The two channel used to have different invariants. Currently the enforcement of any limitation of handle per page or handle per cache line has been removed, hence document this issue in the code.
2021-07-19 09:17:09 +02:00
Guillume DIDIER
4cbacf96a9 Fix a bug in the improved Basic Timing Cache Channel calibration
The cache line were not properly reset to Invalid state, which messe up F+R calibration.
The Invalid state calibration is now done with a flush victim op, instead of a noop.
2021-07-19 09:15:20 +02:00
Guillume DIDIER
3022794752 Hotfix - Use naive F+R instead of F+R
F+R currently has a calibration bug
2021-07-19 09:02:08 +02:00
Guillume DIDIER
28f75075e3 Hotfix naive basic timing cache channel for use in prefetcher experiments 2021-07-19 09:01:24 +02:00
Guillume DIDIER
b7b5cbbfc3 Update the cache channel interface 2021-06-28 16:26:02 +02:00
Guillume DIDIER
1b38b4913c Commit prefetcher reverse work 2021-06-10 11:25:07 +02:00
Guillume DIDIER
bad23161a2 Rust nightly update - dendrobates 2021-06-10 11:24:28 +02:00
Guillume DIDIER
9c569fb7ec Rust nightly update - turn_lock 2021-06-10 11:23:13 +02:00
Guillume DIDIER
0531f8d083 Rust nightly update - polling serial & vga_buffer 2021-06-10 11:22:50 +02:00
Guillume DIDIER
b9980aa67b Rust nightly update - FF & FR 2021-06-10 11:22:21 +02:00
Guillume DIDIER
451bc99fdc Rust nightly update - cpuid 2021-06-10 11:21:38 +02:00
Guillume DIDIER
f9fd75e3e9 Rust nightly update - covert_channel_evaluation 2021-06-10 11:21:23 +02:00
Guillume DIDIER
7ecb6f5244 Rust nightly update - covert_channel_benchmark 2021-06-10 11:20:34 +02:00
Guillume DIDIER
7696086e6d Rust nightly update - cache_utils 2021-06-10 11:19:00 +02:00
Guillume DIDIER
26538fe913 Rust nightly update - cache_side_channel 2021-06-10 11:18:19 +02:00
Guillume DIDIER
e4c838e8b0 Rust nightly update - basic_timing_cache_channel
Make sure this compiles with th newer nightly
2021-06-10 11:17:31 +02:00
Guillume DIDIER
3b85161eb2 Rust nightly update - aes-t-tables
Ensure it compiles with the newer nightly.
2021-06-10 11:16:09 +02:00
Guillume DIDIER
4bc389272f Start working on prefetcher reverse engineering experiment 2021-03-22 16:13:01 +01:00
Guillume DIDIER
0bd575f251 update AES for the new side channel API 2021-02-16 11:33:29 +01:00
Guillume DIDIER
68263dcd3a New version of the benchmark program 2021-01-28 09:36:15 +01:00
Guillume DIDIER
7a5cae722c New bersion of the side channels, with common implementation for F+R and F+F 2021-01-26 10:03:50 +01:00
Guillume DIDIER
cd5aa57390 Safer primitive - relies on &mut properly, however requires more explicit handling 2021-01-08 14:53:42 +01:00
Guillume DIDIER
dd290c9774 Update two thread cal to use turn locks 2021-01-08 10:49:59 +01:00
Guillume DIDIER
e5b3e4c788 New TurnLock (contains associated data) 2021-01-06 10:29:00 +01:00
Guillume DIDIER
d194a8972e Fix deprecation warning in turn_lock 2021-01-05 11:49:50 +01:00
Guillume DIDIER
4a04fcaac6 Fix add assign implemntation bug 2021-01-05 11:43:20 +01:00
Guillume DIDIER
d90d572bc9 Update cache util for new nightly 2021-01-05 11:40:34 +01:00
Guillume DIDIER
b276f09d1e Figures 2021-01-05 11:39:49 +01:00
Guillume DIDIER
7c489d4b4b AES experiment update 2020-12-08 09:45:24 +01:00
Guillume DIDIER
733e77cc83 Backport CSV to naive correctly. 2020-12-03 10:23:29 +01:00
Guillume DIDIER
7b8dec570f Handle properly multi core 2020-12-03 10:02:01 +01:00
Guillume DIDIER
9a1d0837fa Extra work for better coverage of naive covert channel variability 2020-12-02 16:47:53 +01:00
Guillaume DIDIER
10c1f4e5d5 Final fixes (CSV, p==0.0) 2020-12-02 16:30:28 +01:00
Guillume DIDIER
168f81a19e Final experiments
Code for final experiments.
2020-11-24 10:25:32 +01:00
Guillume DIDIER
236b8bee48 Final update to AES Major update to covert channel benchmarking 2020-11-20 10:53:10 +01:00
Guillaume DIDIER
7efc28e253 Increase iteration count 2020-11-17 13:51:56 +01:00
Guillume DIDIER
a331fdd76e Add a crate meant to one day factorize some common code to timing side channels 2020-10-22 14:49:09 +02:00
Guillume DIDIER
5eab981eec Major refactor that allows proper core selection
- covert / side channel are currently back in a non functional state
- two thread calibration however qorks and gets full experimental results
2020-10-22 14:38:41 +02:00
GuillaumeDIDIER
dca4a79fff Add turn lock 2020-10-05 15:25:46 +02:00
Guillaume DIDIER
456c812d9a Fix Cyber Cobaye T Tables 2020-09-29 11:33:00 +02:00
GuillaumeDIDIER
04b782abdb More notes 2020-09-29 11:31:36 +02:00
GuillaumeDIDIER
17e6482e2d Add notes for openssl 2020-09-29 11:30:26 +02:00
Guillaume DIDIER
17a4f4585c Make it easier to adjust Openssl Te 2020-09-29 11:10:12 +02:00
GuillaumeDIDIER
f17ca91e82 Various dependency updates - should now compile again 2020-09-29 10:51:24 +02:00
GuillaumeDIDIER
74ca41c273 Update dependencies 2020-09-29 09:52:00 +02:00
GuillaumeDIDIER
2ea505ca2c Functional multi address version 2020-09-24 17:05:27 +02:00
GuillaumeDIDIER
61189da4ed Fix flush and flush in single address mode : works cleanly with prefetchers enabled 2020-09-23 17:49:10 +02:00
GuillaumeDIDIER
0b499abe8a Update dependencies 2020-09-23 10:09:10 +02:00