All Projects → jovanbulck → sgx-tutorial-space18

jovanbulck / sgx-tutorial-space18

Licence: other
Tutorial: Uncovering and mitigating side-channel leakage in Intel SGX enclaves

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
assembly
5116 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to sgx-tutorial-space18

inclavare-containers
A novel container runtime, aka confidential container, for cloud-native confidential computing and enclave runtime ecosystem.
Stars: ✭ 510 (+1059.09%)
Mutual labels:  sgx, enclave
confidential-computing-zoo
Confidential Computing Zoo provides confidential computing solutions based on Intel SGX, TDX, HEXL, etc. technologies.
Stars: ✭ 177 (+302.27%)
Mutual labels:  sgx, enclave
deauther
An interactive command-line deauther for macOS.
Stars: ✭ 70 (+59.09%)
Mutual labels:  attack
refluxion
Refluxion -- MITM WPA attacks tool
Stars: ✭ 25 (-43.18%)
Mutual labels:  attack
hayabusa
Hayabusa (隼) is a sigma-based threat hunting and fast forensics timeline generator for Windows event logs.
Stars: ✭ 908 (+1963.64%)
Mutual labels:  attack
Z0172CK-Tools
Hacking Tools Z0172CK
Stars: ✭ 31 (-29.55%)
Mutual labels:  attack
opaque-sql
An encrypted data analytics platform
Stars: ✭ 169 (+284.09%)
Mutual labels:  enclave
Cheat-Sheet---Active-Directory
This cheat sheet contains common enumeration and attack methods for Windows Active Directory with the use of powershell.
Stars: ✭ 154 (+250%)
Mutual labels:  attack
sidefuzz
Fuzzer to automatically find side-channel (timing) vulnerabilities
Stars: ✭ 94 (+113.64%)
Mutual labels:  side-channel
byeintegrity3-uac
Bypass UAC by abusing the Security Center CPL and hijacking a shell protocol handler
Stars: ✭ 24 (-45.45%)
Mutual labels:  attack
Penglai-Enclave
This is the main repo for Penglai.
Stars: ✭ 47 (+6.82%)
Mutual labels:  enclave
crust-sworker
sWorker(storage worker) is an offchain storage work inspector of Crust MPoW protocol running inside TEE enclave
Stars: ✭ 30 (-31.82%)
Mutual labels:  sgx
awesome-ddos-tools
Collection of several DDos tools.
Stars: ✭ 75 (+70.45%)
Mutual labels:  attack
byeintegrity2-uac
Bypass UAC by abusing the Internet Explorer Add-on installer
Stars: ✭ 46 (+4.55%)
Mutual labels:  attack
DNS-Fender
A Proof-of-Concept tool utilizing open DNS resolvers to produce an amplification attack against web servers. Using Shodan APIs and native Linux commands, this tool is in development to cripple web servers using spoofed DNS recursive queries.
Stars: ✭ 47 (+6.82%)
Mutual labels:  attack
ThePhish
ThePhish: an automated phishing email analysis tool
Stars: ✭ 676 (+1436.36%)
Mutual labels:  attack
jpeg-defense
SHIELD: Fast, Practical Defense and Vaccination for Deep Learning using JPEG Compression
Stars: ✭ 82 (+86.36%)
Mutual labels:  attack
TIGER
Python toolbox to evaluate graph vulnerability and robustness (CIKM 2021)
Stars: ✭ 103 (+134.09%)
Mutual labels:  attack
sgxwallet
sgxwallet is the first-ever opensource high-performance hardware secure crypto wallet that is based on Intel SGX technology. First opensource product on Intel SGX whitelist. Scales to 100,000+ transactions per second. Currently supports ETH and SKALE, and will support BTC in the future. Sgxwallet is under heavy development and use by SKALE network.
Stars: ✭ 50 (+13.64%)
Mutual labels:  sgx
WPCracker
WordPress pentest tool
Stars: ✭ 34 (-22.73%)
Mutual labels:  attack

Tutorial overview and objectives

This repository collects presentation material and source code for hands-on exercises part of a 3h tutorial taught at the 8th International Conference on Security, Privacy, and Applied Cryptography Engineering (SPACE18), held 2018 December 15, Kanpur, India.

Abstract

The inclusion of the Software Guard eXtensions (SGX) in recent Intel processors has been broadly acclaimed for bringing strong hardware-enforced trusted computing guarantees to mass consumer devices, and for protecting end user data in an untrusted cloud environment. While SGX assumes a very strong attacker model and indeed even safeguards enclave secrets against a compromised operating system, recent research has demonstrated that considerable private data (e.g., full text and images, complete cryptographic keys) may still be reconstructed by monitoring subtle side-effects of the enclaved execution.

We argue that a systematic understanding of such side-channel leakage sources is essential for writing intrinsically secure enclave applications, and will be instrumental to the success of this new trusted execution technology. This tutorial and write-up therefore aims to bring a better understanding of current state-of-the-art side-channel attacks and defenses on Intel SGX platforms. Participants will learn how to extract data from elementary example applications, thereby recognizing how to avoid common pitfalls and information leakage sources in enclave development.

Jo Van Bulck, Frank Piessens "Tutorial: Uncovering and mitigating side-channel leakage in Intel SGX enclaves", 8th International Conference on Security, Privacy, and Applied Cryptography Engineering (SPACE'18). December 2018.

Tutorial organization

This tutorial is aimed at a target audience of C programmers with an interest in security. The tutorial takes about three hours, with an equal split between lectures and practical exercises.

Note (SGX support). Since we do not assume that all participants have access to an SGX-capable Intel processor, plus linux-sgx toolchain, we made sure that all exercises have both an unprotected and enclaved version. For the SPACE2018 tutorial setting, we will provide SSH access to an SGX machine over the local network in order to test the enclaved version.

However, to keep pressure on the remote SSH SGX machine low, we strongly advise to first develop the unprotected attack scenario on your local x86 machine, before testing the enclaved version on the remote SGX machine via SSH. Once the unprotected version is working, it should be relatively straightforward to port the attack to an SGX setting.

Note (solutions). This git repository includes a solutions branch with working attack code for all of the exercises. If you want to solve the exercise challenges on your own, you should of course only verify your solutions after having implemented the attack yourself using the skeleton code provided in the default master branch.

Program SGX enclave version Description
001-pwd 001-sgx-pwd Basic timing side-channel attack.
002-inc-secret 002-sgx-inc-secret Basic page fault side-channel attack.
003-flush-and-reload 003-sgx-flush-and-reload Flush+Reload cache attack on unprotected memory.
004-str 004-sgx-str More subtle page fault side-channel attack.
005-rsa 005-sgx-rsa Page fault sequence side-channel attack.

License

You are welcome to re-use all of the material in this repository for your own teaching (given appropriate credit). All exercise code is free software, licensed under GPLv3. Presentation material (slides) are released on a CC-BY basis.

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].