-
Notifications
You must be signed in to change notification settings - Fork 2
/
README.txt
33 lines (28 loc) · 1.52 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
This code is a simple application which mimics a machine learning application.
This application loads Cifar10 into enclave threads which access it independently --- Asynchronously.
This code does nothing more than prove that Cifar10 under SGX is susceptible to side channels, and SGX threads are susceptible to OS scheduling manipulation.
Originally based off the Asynchronous "Power Transition Sample" from the SGX-SDK Samples directory:
https://github.com/intel/linux-sgx/tree/master/SampleCode/PowerTransition
Cifar10 Reader from
https://baptiste-wicht.com/posts/2017/10/deep-learning-library-10-fast-neural-network-library.html
Please note you need to download the dataset. Run the script `download_cifar10.sh` from the `cifar-10` directory to download it.
------------------------------------
How to Build/Execute the Sample Code
------------------------------------
1. Install Intel(R) Software Guard Extensions (Intel(R) SGX) SDK for Linux* OS
2. Build the project with the prepared Makefile:
a. Hardware Mode, Debug build:
$ make
b. Hardware Mode, Pre-release build:
$ make SGX_PRERELEASE=1 SGX_DEBUG=0
c. Hardware Mode, Release build:
$ make SGX_DEBUG=0
d. Simulation Mode, Debug build:
$ make SGX_MODE=SIM
e. Simulation Mode, Pre-release build:
$ make SGX_MODE=SIM SGX_PRERELEASE=1 SGX_DEBUG=0
f. Simulation Mode, Release build:
$ make SGX_MODE=SIM SGX_DEBUG=0
3. Execute the binary directly:
$ ./app
4. Remember to "make clean" before switching build mode