Overview of MemGuard features
masterMemGuard is a software enclave designed for the secure storage of sensitive information in memory. Key security features include:
- Encryption & Authentication: Sensitive data is encrypted and authenticated in memory using XSalsa20Poly1305, providing defense against cold-boot attacks.
- Runtime Bypass: Uses system calls to bypass the Go language runtime and garbage collector for memory allocation.
- Buffer Fortification: Plaintext buffers are protected with guard pages and canary values to detect overflows or spurious accesses.
- Anti-Persistence: Prevents sensitive data from touching the disk by locking memory (preventing swapping) and handling core dumps.
- Kernel-level Immutability: Protected regions are made immutable at the kernel level, causing access violations upon attempted modification.
- Safe Termination: Provides session purging, safe termination capabilities, and signal handling to prevent remnant data from being left behind.
- Side-channel Mitigation: Uses constant-time operations for data copying and comparison to mitigate side-channel attacks.