lemonviv / Awesome-SGX-Open-Source

Open Source Projects that helps exploit Intel SGX technology

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome SGX Open Source Projects

Hope you'd be glad to add a star if you think this list is helpful!

Academic Conference Collections: Link

Runtime Framework

Industrial Leading Projects

Microsoft OpenEnclave: https://github.com/Microsoft/openenclave

Apache Teaclave: https://github.com/apache/incubator-teaclave

Ant Financial Occlum: https://github.com/occlum/occlum

Fortanix Enclave Development Platform: https://github.com/fortanix/rust-sgx

Scontain: https://github.com/scontain

Microsoft Confidential Consortium Framework: https://github.com/microsoft/CCF

Google Asylo: https://github.com/google/asylo

Library OS for quickly deploying (almost) unmodified applications

Graphene-SGX: A Practical Library OS for Unmodified Applications on SGX: https://github.com/oscarlab/graphene

SGX-LKL: Library OS for running Linux applications inside SGX enclaves: https://github.com/lsds/sgx-lkl

Ratel: Dynamic Binary Translation with SGX Enclaves: https://github.com/ratel-enclave/ratel

Panoply: Low-TCB Linux Applications with SGX Enclaves: https://github.com/shwetasshinde24/Panoply

Container: Protected Container Runtime for Confidential Computing: https://github.com/alibaba/inclavare-containers

Edgeless RT: SDK for TEEs/SGX based on Open Enclave with Go support: https://github.com/edgelesssys/edgelessrt

Remote Attestation and Secure Channel

Remote Attestation (RA)

Intel Security Libraries for Data Center (Intel SecL-DC): https://github.com/intel-secl/intel-secl SGX Caching Service SGX Quote Verification Service SGX Host Verification Service SGX Hub SGX Agent

OPERA: Open Remote Attestation for Intel's Secure Enclaves: https://github.com/Calctopia-OpenSource/opera

Intel end-to-end RA: https://github.com/intel/sgx-ra-sample

Data Center Attestation Primitives (DCAP): https://github.com/intel/SGXDataCenterAttestationPrimitives

RA-based TLS: https://github.com/cloud-security-research/sgx-ra-tls

IBM simplified RA without accessing IAS too frequently: https://github.com/IBM/sgx-trust-management

Azure Attestation SGX Certification Cache: https://github.com/Microsoft/Azure-DCAP-Client

Enclave Mutual Attestation Library: https://github.com/AntonioDan/SGX_Enclave_Mutual_Attestation_Library

SSL/TLS

Enclavised LibreSSL: https://github.com/lsds/TaLoS

Enclavised mbedTLS: https://github.com/bl4ck5un/mbedtls-SGX

Enclavised WolfSSL: https://github.com/wolfSSL/wolfssl-examples

Enclavised OpenSSL (Intel Official): https://github.com/intel/intel-sgx-ssl

SGX-OpenSSL (SGX-Tor Project): https://github.com/sparkly9399/SGX-OpenSSL

Language Framework

Rust:

https://github.com/baidu/rust-sgx-sdk

https://github.com/fortanix/rust-sgx

WebAssembly: https://github.com/bytecodealliance/wasm-micro-runtime

Python: https://github.com/mesalock-linux/mesapy

Python binder for SGX SDK: https://github.com/adombeck/python-sgx

Golang: https://github.com/intel/GrapheneSGX-Golang-Support-and-Enhancement

Golang binder: https://github.com/rupc/go-with-intel-sgx

GOTEE: Secured Routines using SGX: https://github.com/epfl-dcsl/gotee

JavaScript: https://github.com/evervault/node-secureworker

C#: https://github.com/Liaojinghui/A_C-Sharp_Project_With_SGX

Lua: https://github.com/vschiavoni/SecureStreams-DEBS17

Erlang: https://github.com/Erlang-Enclave-Thesis/sgx-erlang-extension

C++: https://github.com/intel/linux-sgx

PSec: Writing Secure Distributed Systems On Top Of P Language: https://github.com/ShivKushwah/PSec

Blockchain

lockbox: Key Share Management in SGX Secure Enclaves: https://github.com/commerceblock/lockbox

sWorker: Crust MPoW-based Offchain Storage inside TEE Enclaves: https://github.com/crustio/crust-sworker

Teechain: A Secure Payment Network with Asynchronous Blockchain Access: https://github.com/lsds/Teechain

Anonify: A blockchain-Agnostic Execution Environment with Privacy and Auditability: https://github.com/LayerXcom/anonify

Hyperledger: Confidentiality-Preserving, Off-Chain Smart Contracts:

https://github.com/hyperledger-labs/private-data-objects

https://github.com/hyperledger-labs/fabric-secure-chaincode

substraTEE: Trusted Off-Chain Compute Framework for Substrate Blockchains: https://github.com/scs/substraTEE

EVM: Enclave EVM as Ethereum Virtual Machine: https://github.com/Microsoft/eEVM

BitCoin Mixer: https://github.com/BitObscuro/Obscuro

Proof of Luck for IPFS: https://github.com/luckychain/lucky

Town Crier: An Authenticated Data Feed For Smart Contracts: https://github.com/bl4ck5un/Town-Crier

Ledger BOLOS Enclave: https://github.com/LedgerHQ/bolos-enclave

Machine Learning Framework

An trusted and lite version of OpenCV based on Intel SGX: https://github.com/xymeng16/opencv_lite_sgx

Confidential ONNX Inference Server: https://github.com/microsoft/onnx-server-openenclave

Secure collaborative training and inference for XGBoost: https://github.com/mc2-project/secure-xgboost

Confidential Computing of Machine Learning using Intel SGX: https://github.com/prasadkjose/confidential-ml-sgx

MesaTEE GBDT-RS: A Fast and Secure GBDT library: https://github.com/mesalock-linux/gbdt-rs

TF-Trusted: Run TensorFlow Models in Secure Enclaves: https://github.com/capeprivacy/tf-trusted

Bioinformatic Interpreter with Intel SGX: https://github.com/hello31337/BI-SGX

Accountable Deep Learning: https://github.com/arefasvadi/SGX-ADL

Open Deep Learning Compiler Stack: TVM in Intel SGX Example

Slamon: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware (ICLR 2019) https://github.com/ftramer/slalom

EnclaveML: a framework for tokenized federated learning: https://github.com/jamslevy/enclaveML

Common Library

A trusted libjpeg on Intel SGX: https://github.com/xymeng16/libtjpeg

ZLIB Data Compression Library inside SGX Enclaves: https://github.com/ffosilva/zlib-sgx

Enclaved-FE: enable applications using Fentec Functional Encryption libraries (CiFEr, GoFE) in Intel SGX: https://github.com/cryptohackathon/enclaved-FE

Libsodium AES-NI based AES-256-GCM: https://github.com/Maxul/SGX-AES-256

Applications

Achieving Reconciliation between Privacy Preservation and Auditability For File Hosting (Intel SGX + IPFS + Hyperledger Fabric): https://github.com/wuliangshun/SGX-base-File-Hosting

Veracruz: privacy-preserving collaborative compute: https://github.com/veracruz-project/veracruz

C3PO: providing security functions for Open Mobile Evolved Core (OMEC): https://github.com/omec-project/c3po

SafeTrace: Privacy Preserving Voluntary COVID-19 Self-Reporting Platform for Contact Tracing: https://github.com/enigmampc/SafeTrace

Hardware Secure Crypto Wallet for Ethereum and SKALE: https://github.com/skalenetwork/sgxwallet

Private Contact Discovery Service for Signal: https://github.com/signalapp/ContactDiscoveryService

Channel ID Private Key Protection: https://github.com/google/channel-id-enclave

Trustworthy and Accountable Function-as-a-Service: https://github.com/SSGAalto/sfaas

Securing Storage Encryption: https://github.com/ayeks/TresorSGX

Network

SnowHaze VPN Zero-Knowledge Verification: https://github.com/snowhaze/zka-sgx

MACSec: Secure Network Interface with SGX: https://github.com/fkirc/secure-network-interface-with-sgx

SENG: SGX-Enforced Network Gateway (USENIX Security 2020): https://github.com/sengsgx/sengsgx

SGX + CDN (USENIX Security 2020): https://github.com/smherwig/phoenix

SGX + Snort Intrusion Detection System: https://github.com/cloud-security-research/sgx-ids

SGX + Tor: https://github.com/kaist-ina/SGX-Tor

SGX + Web Crawler: https://github.com/ShengHow95/simple-selenium-sgx-crawler

Private Search

X-search: revisiting private web search using intel SGX: https://github.com/Sand-jrd/SGX-Search

BiORAM-SGX: A Practical Privacy-Preserving Data Analysis for Personal Genome by Intel SGX: https://github.com/cBioLab/BiORAM-SGX

Private Information Retrieval: https://github.com/patrickwang96/BO-PIR-SGX

Private SSE Schemes: https://github.com/MonashCybersecurityLab/SGXSSE

POSUP: Oblivious Search and Update Platform with SGX: https://github.com/thanghoang/POSUP

A Secure, Efficient and Scalable Query Framework for Outsourcing Data: https://github.com/fishermano/QShield

BISEN: Boolean Isolated Searchable Encryption: https://github.com/bernymac/BISEN

Private Key/Password Management

Key-Manager for Faasm (a high-performance stateful serverless runtime): https://github.com/faasm/keymanager

SGX Enabled OpenStack Barbican Key Management System: https://github.com/cloud-security-research/sgx-kms

A server with SGX enclave that stores private keys and performs crypto operations upon requests: https://github.com/cloud-key-store/keystore

Protecting Web Passwords using Trusted Execution Environments: https://github.com/SafeKeeper

Database

Opaque: a package for Apache Spark SQL that enables strong security for DataFrames using Intel SGX trusted hardware: https://github.com/ucbrise/opaque

StealthDB: an encrypted database from intel sgx with small trusted computing base: https://github.com/cryptograph/stealthdb

Database intended for Blockchain: https://github.com/kaimast/credb

Protect in-memory sqlite, not .db file encryption: https://github.com/yerzhan7/SGX_SQLite

STANlite: an in-memory database engine for SGX-enabled secure data processing: https://github.com/ibr-ds/STANlite

Protect Audit-Log via Sqlite: https://github.com/lsds/LibSEAL

Trusted in-memory key-value stores: https://github.com/cocoppang/ShieldStore

Distributed System

Oak: Meaningful Control of Data in Distributed Systems: https://github.com/project-oak/oak

Memory Sharing Library for Intel SGX Card: https://github.com/cloud-security-research/memsharing-sgxcard

Kubernetes Device Plugin for Intel SGX: https://github.com/AliyunContainerService/sgx-device-plugin

SGX-Aware Container Orchestrator: https://github.com/sebva/sgx-orchestrator

ZooKeeper: https://github.com/sereca/SecureKeeper

VM-Migration: https://github.com/SSGAalto/sgx-migration

P2P: https://bitbucket.org/P2PUsingSGX/p2pusingsgx

Raft: https://github.com/LuminousXLB/EnclaveRaft

Profiling

TEEMon: A continuous performance monitoring framework for TEEs: https://github.com/rcrane/TEEMon

Utilities for monitoring SGX driver statistics: https://github.com/fortanix/sgxtop

Report statistics of E/Ocalls, EPC Paging: https://github.com/ibr-ds/sgx-perf

SGXTuner: a distributed tuning system for enclaves: https://github.com/dzobbe/sgxtuner

Actor model for better Enclave IPC: https://github.com/ibr-ds/EActors

Stress benchmark: https://github.com/sebva/stress-sgx

nbench benchmark: https://github.com/utds3lab/sgx-nbench

LMbench benchmark: https://github.com/vsecurity-research/sgx-bench

Linux SGX Benchmarks (on encrypted buffer transfer): https://github.com/eliadt/sgx_benchmarks

User-level paging: https://github.com/acsl-technion/eleos

SwitchLess: https://github.com/oweisse/hot-calls

Defenses

A Java flow analysis tool for SGX data sensitivity: https://github.com/SOF3/enclavlow

SGXL: Using 2MB large pages to mitigate page-based side-channels: https://github.com/csl-iisc/SGXL

Obfuscuro: A Commodity Obfuscation Engine for Intel SGX (NDSS 2019): https://github.com/adilahmad17/Obfuscuro

CoSMIX: A Compiler-based System for Secure Memory Instrumentation and Execution in Enclaves (ATC 2019): https://github.com/acsl-technion/cosmix

Citadel: Trusted Reference Monitors for Linux using Intel SGX Enclaves: https://github.com/HarriBellThomas/citadel

SGX Branch Shadowing Mitigation: https://github.com/SSGAalto/sgx-branch-shadowing-mitigation

Enclave Protected Code Loader: https://github.com/intel/linux-sgx-pcl

A code confidentiality framework for Intel SGX: https://github.com/utds3lab/sgxelide

CAT-SGX: https://github.com/StanPlatinum/cat-sgx

Behavior-based Program Partitioning for Security Enclaves: https://github.com/anahitH/program-partitioning-for-security-enclaves

Hardened Memory

Address space layout randomization (ASLR): https://github.com/jaebaek/SGX-Shield

Hardware transactional memory (TSX): https://github.com/sslab-gatech/t-sgx

Compiler-based boundary check: https://github.com/tudinfse/sgxbounds

Linear/SQRT/Path ORAM: https://github.com/maanrachid/SGXORAM

I/O Protection

Building Distributed Enclave Applications with Sancus and SGX: https://github.com/sancus-pma/tutorial-dsn18

Fidelius: Protecting User Secrets from Compromised Browsers: https://github.com/SabaEskandarian/Fidelius

Attacks

Faulty Point Unit: ABI Poisoning Attacks on Intel SGX (ACSAC 2020)

https://github.com/fritzalder/faulty-point-unit

COIN Attacks: on Insecurity of Enclave Untrusted Interfaces in SGX (ASPLOS 2020)

https://github.com/mustakcsecuet/COIN-Attacks

Plundervolt: Software-based Fault Injection Attacks against Intel SGX (Oakland 2020)

https://github.com/KitMurdock/plundervolt

SgxPectre Attacks: Stealing Intel Secrets from SGX Enclaves via Speculative Execution (EuroS&P 2019)

https://github.com/OSUSecLab/SgxPectre

Spectre Attacks: Exploiting Speculative Execution (Oakland 2019)

https://github.com/lsds/spectre-attack-sgx

RIDL: Rogue In-Flight Data Load (Oakland 2019)

https://github.com/vusec/ridl

ZombieLoad: Cross-Privilege-Boundary Data Sampling (CCS 2019)

https://github.com/IAIK/ZombieLoad

SGX-ROP: Practical Enclave Malware with Intel SGX (DIMVA 2019)

https://github.com/sgxrop/sgxrop

Nemesis: Studying Microarchitectural Timing Leaks in Rudimentary CPU Interrupt Logic (CCS 2018)

https://github.com/jovanbulck/nemesis

Tutorial: Uncovering and mitigating side-channel leakage in Intel SGX enclaves (SPACE 2018)

https://github.com/jovanbulck/sgx-tutorial-space18

SGX-Step: A practical attack framework for precise enclave execution control (SysTEX 2017)

https://github.com/jovanbulck/sgx-step

Telling Your Secrets Without Page Faults: Stealthy Page Table-Based Attacks on Enclaved Execution (USENIX Security 2017)

https://github.com/jovanbulck/sgx-pte

SGX-Bomb: Locking Down the Processor via Rowhammer Attack (SysTEX 2017)

https://github.com/sslab-gatech/sgx-bomb

SGX-Timing: Cache Attacks on Intel SGX (EuroSec 2017)

https://github.com/m1ghtym0/sgx-timing

Beyond-SGX Enclave Projects

Penglai-Enclave: Open-sourced secure and scalable TEE system for RISC-V: https://github.com/Penglai-Enclave/Penglai-Enclave

Keystone: An Open-Source Secure Enclave Framework for RISC-V Processors: https://github.com/keystone-enclave/keystone

MultiZone Security TEE for RISC-V processors: https://github.com/hex-five/multizone-sdk

AWS Nitro Enclaves: CPU and memory isolation for Amazon EC2 instances using Nitro Hypervisor: https://github.com/aws/aws-nitro-enclaves-cli

About

Open Source Projects that helps exploit Intel SGX technology