Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ibr-ds/STANlite
a database engine for SGX enclaves with virtual memory support
https://github.com/ibr-ds/STANlite
Last synced: about 24 hours ago
JSON representation
a database engine for SGX enclaves with virtual memory support
- Host: GitHub
- URL: https://github.com/ibr-ds/STANlite
- Owner: ibr-ds
- License: unlicense
- Created: 2020-04-05T17:10:25.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-04-05T17:29:45.000Z (about 4 years ago)
- Last Synced: 2024-02-29T02:35:52.004Z (4 months ago)
- Language: C
- Homepage:
- Size: 1.66 MB
- Stars: 4
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- Awesome-SGX-Open-Source - https://github.com/ibr-ds/STANlite
README
# STANlite
STANlite is an in-memory database engine for SGX-enabled secure data processing.
STANlite performs efficient user-level paging, whenever a database workload requires more space than the
performance-friendly in-memory state size.### Cite the work:
The original paper is avaliable [here](https://www.ibr.cs.tu-bs.de/users/sartakov/papers/sartakov18stanlite.pdf)
```
@inproceedings {sartakov2018stanlite,
url = {https://www.ibr.cs.tu-bs.de/users/sartakov/papers/sartakov18stanlite.pdf},
title={STANlite--a database engine for secure data processing at rack-scale level},
author={Sartakov, Vasily and Weichbrodt, Nico and Krieter, Sebastian and Leich, Thomas and Kapitza, R\"{u}diger},
booktitle={Cloud Engineering (IC2E), 2018 IEEE International Conference on},
pages={23--33},
year={2018},
organization={IEEE}
}
```## Build
* Change configuration of the engine in `vme_config.h`
* run `SGX_SDK=/opt/intel/sgxsdk make run`## Source code
* vme_config.h -- configuration file
* App/App.cpp -- untrusted main, spawns all threads
* Enclave/Enclave.config.xml -- enclave config
* Enclave/sqlite -- pure SQLite
* Enclave/vmem.c -- Virtual Memory Engine (VME)
* Enclave/inc -- includes for AES-NI CBC
* Enclave/os-sgx.c -- SQLite SGX OS layer
* Enclave/sgxvfs.c -- virtual file system, glue between VME and SQLite
* Enclave/speedtest1.c -- build-in speed test cases
* Enclave/synthetic.c -- synthetic test
* Enclave/xxhash.c -- hash funtion## Note
Intel adds protection against various side-channel attacks. As a result, the performance of enclaved software degrates
after each new patch. Here some values measured on the same hardware, but with different versions of software.Hardware: Intel(R) Xeon(R) CPU E3-1230 v5 @ 3.40GHz
Total execution time in seconds:
|data |Native|Vanilla |nnI|CnI|CFI|
|---- |------ |-------|---|---|---|
|[xx.12.2017](results/initial.md) |136 |554 |373|305|371|
|[05.04.2020](results/20.04.05.md) |148 |889 |564|498|565|