Guillaume DIDIER
ffb763bed4
Add the all_experiment binary and scripts
...
(cherry picked from commit 05e56d9a71d0933ac226c075a54c1950996984b9)
2022-09-23 11:32:01 +02:00
Guillume DIDIER
856bf5e4a1
Standardise authors
...
(cherry picked from commit 98c3d29cd1769993b9d6d345aa014fe2e77f1038)
2022-09-23 11:32:01 +02:00
Guillume DIDIER
960d7d942c
Refactor uneeded dependcy on covert_channel_evaluation
...
(cherry picked from commit e92dac5c6a57c437a63f24f0efed28e81fd3ce7c)
2022-09-23 11:32:01 +02:00
Guillume DIDIER
9fae343c44
Fix bare-metal compile
2022-09-23 11:28:42 +02:00
Guillaume DIDIER
ffb5bf66c0
Remove crufts from the scripts
...
(cherry picked from commit 5b5be4cee380da7d885524b6415d40e99f8040ef)
2022-09-23 08:59:38 +02:00
Guillume DIDIER
a97a16ad66
Naive F+F prefetcher experiment
2022-08-18 09:19:39 +02:00
Guillume DIDIER
8ff11cd79c
Various updates
2022-04-21 09:35:25 +02:00
Guillume DIDIER
559a4ecdf8
General updates
2022-01-25 14:18:03 +01:00
Guillume DIDIER
c734b5ce53
Refactor ip_tool into cache_utils, start work on cache level calibration
2021-11-24 17:20:04 +01:00
Guillume DIDIER
84eee25e5a
Add prefetcher experiments
2021-11-24 11:52:23 +01:00
Guillume DIDIER
0807d3bda9
Start working on an experiment to determine load hit time for different cache levels.
...
For now only a documentation comment with the design is correct in the file, which currently contains the code of an earlier expermient
2021-11-24 11:51:15 +01:00
Guillume DIDIER
b82fe778f8
Add the current experiments
2021-11-10 15:12:01 +01:00
Guillume DIDIER
d64044b43d
Fixed warning
2021-10-20 15:04:50 +02:00
Guillume DIDIER
e9bdd96f7e
Add a serialising instruction
...
As per intel documentation on self modifying code
2021-10-20 15:04:23 +02:00
Guillume DIDIER
206d45b823
Finish the function placement module (IP tool)
2021-10-20 13:57:57 +02:00
Guillume DIDIER
ffd72b84d5
Further work implementing function code copy.
...
Still need to implement deallocation, and the allocation MMapped Memory.
2021-10-20 10:58:34 +02:00
Guillume DIDIER
8edaabea8a
Stub the interface to create functions.
...
This may be turned into a impl of Function.
2021-10-19 16:17:44 +02:00
Guillume DIDIER
cde062b1d6
Update Cargo.lock
2021-10-19 15:17:44 +02:00
Guillume DIDIER
b3509129c1
Add lazy static and start initializing global state of the WX allocator
2021-10-19 15:17:06 +02:00
Guillume DIDIER
372777a64d
Now features templates for timed clflush and maccess.
2021-10-14 14:32:48 +02:00
Guillume DIDIER
843cf63ba9
Add preliminary support for IP control
2021-10-13 15:39:05 +02:00
Guillume DIDIER
b2f7a80395
Fix compile issues
...
This is a stop gap solution selecting the calibration strategy at compile time.
2021-10-13 14:40:41 +02:00
Guillume DIDIER
c8f035d76d
Fix deprecation warning
2021-10-13 14:08:57 +02:00
Guillume DIDIER
73d0cceed6
Merge remote-tracking branch 'origin/g5k'
2021-10-13 13:54:19 +02:00
Guillume DIDIER
27d592274c
Stub the module in charge of controlling instruction pointers
2021-10-13 13:53:20 +02:00
Guillume DIDIER
6f32c1b469
Add support for various calibration strategies.
...
The generic channel can now be told to calibrate using a AV model (a Attacker and Victim socket model is stubbed but not implemented).
2021-10-13 13:52:38 +02:00
Guillaume Didier
8c77c1558d
Fix comments
2021-10-01 16:38:44 +02:00
Guillaume Didier
3dd5148fe5
Merge branch 'g5k' of https://gitlab.inria.fr/uarch/dendrobates-t-azureus
2021-10-01 11:04:35 +02:00
Guillaume Didier
f7132c911c
Optimised experiments
2021-10-01 11:02:20 +02:00
Guillaume Didier
c7b0cc4130
Do not calibrate unneeded ops
2021-09-29 16:45:13 +02:00
Guillaume Didier
c43daf8499
Fix bug in unsupported hashing that resulted in a ridiculous number of iteration
2021-09-29 11:24:23 +02:00
Guillume DIDIER
e3ef141792
Performance tweaks
2021-09-29 09:52:12 +02:00
Guillaume Didier
bb0b008bbe
cpupower for grid5k
2021-09-28 15:34:31 +02:00
Guillume DIDIER
6f8ae88e58
Fixes around cacheline length magic number
...
Cache line length is now a constant. This should eventually be replaced with some sort of lazy static info, that is extracted from CPUID if possible.
2021-09-28 08:55:12 +02:00
Guillume DIDIER
d6c387b0d0
Fix deprecation warning
2021-09-27 16:30:08 +02:00
Guillume DIDIER
a272c79127
More work on unknown cache slicing handling
2021-09-27 16:27:53 +02:00
Guillume DIDIER
01ae16b015
Ensure the calibration infrastructure works correctly.
2021-09-27 11:35:51 +02:00
Guillume DIDIER
646db42766
Start work on a Cache Slicing type that fallsback gracefully, for cache attack purposes.
...
It falls back to using the cache line virtual addr (without offset) as the hash when the hashing function is unknown.
Still work in progress to implment all the required functions, and then adpat any user to thechange in types.
2021-09-20 15:44:14 +02:00
Guillume DIDIER
8d78c70dae
Rust Update, clean up MMappedMemory
...
Ensure the code compiles with the latest rust nightly version, and fixes some unsafety in MMappedMemory
2021-09-20 14:45:40 +02:00
Guillaume DIDIER
c12a3ba29b
Fix missing --bin in cargo invocation
2021-08-02 15:57:52 +02:00
Guillume DIDIER
0e60fd62ba
Add missing scripts
2021-08-02 15:53:58 +02:00
Guillume DIDIER
bf931bfa52
Various experiments
2021-08-02 15:02:52 +02:00
Guillume DIDIER
84cf28f21c
Reproduce the pattern from the other paper
2021-07-25 10:01:41 +02:00
Guillume DIDIER
3f0f12d118
Tweaks that reduce overhead and show prefetch occuring where expected
2021-07-21 17:29:18 +02:00
Guillume DIDIER
19b07d1b1f
Change the implementation of various traites to ensure test_single is low overhead
2021-07-21 17:29:02 +02:00
Guillume DIDIER
2d179897bf
More test cases
2021-07-19 11:33:17 +02:00
Guillume DIDIER
e4940abe82
Update Display for FullPageDualProbeResults
...
This now has proper header and table alignment.
2021-07-19 10:54:30 +02:00
Guillume DIDIER
7c563b1a71
The core per socket logic is not robust to padding
...
Added some fixmes
2021-07-19 10:53:46 +02:00
Guillume DIDIER
bf347f7a12
Switch back to improved F+R
...
The channel claibration issue ought to be fixed by 4cbacf96
2021-07-19 09:47:35 +02:00
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