sslab-gatech / t-sgx

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:C++ 49.1%Language:LLVM 37.9%Language:Assembly 10.0%Language:C 0.6%Language:Python 0.5%Language:OCaml 0.4%Language:Objective-C 0.4%Language:Makefile 0.3%Language:CMake 0.3%Language:Go 0.1%Language:Shell 0.1%Language:M4 0.1%Language:Mirah 0.0%Language:Perl 0.0%Language:Roff 0.0%Language:Vim Script 0.0%Language:Batchfile 0.0%Language:Emacs Lisp 0.0%Language:Standard ML 0.0%Language:SourcePawn 0.0%