All Projects → sslab-gatech → t-sgx

sslab-gatech / t-sgx

Licence: MIT license
Compiler-based tool that protects Intel SGX applications against controlled-channel attacks

Programming Languages

C++
36643 projects - #6 most used programming language
LLVM
166 projects
assembly
5116 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
ocaml
1615 projects

T-SGX

Environment & Prerequisites

  • Intel Skylake CPU
  • Ubuntu 16.04 LTS
  • Intel SGX SDK & Driver
  • cmake

Build

  • Build tsgx-llvm backend
$ mkdir build-llvm
$ cd build-llvm
$ cmake -G "Unix Makefiles" ../llvm-tsgx
$ make
  • Build front-end pass
$ cd function-{name|wrapper}-pass
$ mkdir build
$ cd build
$ LLVM_DIR=/path/to/llvmBuild/share/llvm/cmake cmake ..
  (e.g., $ LLVM_DIR=../../build-llvm/share/llvm/cmake cmake ..)
$ make

Usage

  • See test/tsgx-test as a example
$ cd test/tsgx-test
$ make
$ ./App

Note

  • Because of the lazy page allocation feature in Linux, we make a workaround by using tsgx_init function (see lib/).
  • Please manually adjust the code size in tsgx_init accordingly.

Authors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].