Memguard - Secure Software Enclave For Storage Of Sensitive Data Inwards Memory
Secure software enclave for storage of sensitive information inward memory.
Features
- Sensitive information is encrypted in addition to authenticated inward retentiveness using xSalsa20 in addition to Poly1305 respectively. The scheme likewise defends against cold-boot attacks.
- Memory allotment bypasses the linguistic communication runtime yesteryear using organisation calls to question the nub for resources directly. This avoids interference from the garbage-collector.
- Buffers that shop plaintext information are fortified amongst guard pages in addition to canary values to break spurious accesses in addition to overflows.
- Effort is taken to forbid sensitive information from touching the disk. This includes locking retentiveness to forbid swapping in addition to treatment core dumps.
- Kernel-level immutability is implemented thus that attempted modification of protected regions results inward an access violation.
- Multiple endpoints furnish session purging in addition to rubber termination capabilities equally good equally signal treatment to forbid remnant information existence left behind.
- Side-channel attacks are mitigated against yesteryear making certain that the copying in addition to comparing of information is done inward constant-time.
- Accidental retentiveness leaks are mitigated against yesteryear harnessing the garbage-collector to automatically destroy containers that cause got buy the farm unreachable.
Full documentation in addition to a consummate overview of the API tin last industrial plant life here. Interesting in addition to useful code samples tin last industrial plant life inside the examples subpackage.
Installation
$ buy the farm acquire github.com/awnumar/memguard
We strongly encourage you lot to pivot a specific version for a laid upwards clean in addition to reliable build. This tin last accomplished using modules.Contributing
- Using the packet in addition to identifying points of friction.
- Reading the source code in addition to looking for improvements.
- Adding interesting in addition to useful programme samples to
./examples
. - Developing Proof-of-Concept attacks in addition to mitigations.
- Improving compatibility amongst to a greater extent than kernels in addition to architectures.
- Implementing kernel-specific in addition to cpu-specific protections.
- Writing useful safety in addition to crypto libraries that utilise memguard.
- Submitting performance improvements or benchmarking code.
Future goals
- Ability to current information to in addition to from encrypted enclave objects.
- Catch partitioning faults to wipe retentiveness earlier crashing.
- Evaluate in addition to meliorate the strategies inward place, especially for Coffer objects.
- Formalise a threat model in addition to evaluate our functioning inward regards to it.
- Use lessons learned to apply patches upstream to the Go linguistic communication in addition to runtime.