Sanctum
Research prototype for a SGX clone that protects against all software attacks, including timing attacks, and requires minimal architectural extensions to a RISC V processor.
Building the Code
Prerequisites
Sanctum requires git and a C++ toolchain that can build CMake and LLVM.
One-Time Setup
./scripts/deps/all.sh
./build/run_gyp.sh
Build
If the .gyp
files have been changed, GYP has to be re-run.
./build/run_gyp.sh
./build/ninja -C out/Release
./build/ninja -C out/Debug
Development
Running Unit Tests
./out/Debug/monitor_tests
Useful Ninja Parameters
Serialized build, for debugging gyp issues.
./build/ninja -C out/Debug -j1
Don't stop on first error, build as much as possible.
./build/ninja -C out/Debug -k0
Autocomplete
This project should be set up correctly to use autocomplete-clang.
Copyright
This work is Copyright (c) 2015 Victor Costan, all rights reserved.
Pending paper publication, this will be available under the MIT license.