Skip to content

Compiler-based tool that protects Intel SGX applications against controlled-channel attacks

License

Notifications You must be signed in to change notification settings

wangqinghao123/t-sgx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Compiler-based tool that protects Intel SGX applications against controlled-channel attacks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 49.3%
  • LLVM 37.9%
  • Assembly 10.0%
  • C 1.0%
  • Python 0.5%
  • OCaml 0.4%
  • Other 0.9%