Gerenciamento de memória seguro e protegido em Rust
Olá HN! Estive desenvolvendo um projeto que lida com credenciais de alto valor em processo, e queria algo mais robusto do que apenas zerar a memória ao descartar. Um comentário em um Show HN recente[0] me fez perceber que o conhecimento sobre técnicas de proteção de memória de baixo nível pode não ser tão difundido quanto eu pensava. A ideia aqui é reunir todas as ferramentas em uma única crate, com uma API relativamente simples. * mlock/VirtualLock para evitar que memória sensível seja trocada (ex: o dump do KeePass) * Exclusão de core dump usando MADV_DONTDUMP no Linux e Android * mprotect para minimizar a exposição ao longo do tempo * Páginas de guarda para mitigar underflows/overflows Após alguns testes de batalha, o objetivo aqui é fornecer uma base de memória mais segura para coisas como gerenciadores de senhas e carteiras de criptomoedas. Este foi um projeto divertido e aprendi muito - adoraria receber feedback! [0] - https://news.ycombinator.com/item?id=47073430
- Android
- Código Aberto
- FinTech
✨ Resumo de IA
Shrouded é uma crate Rust projetada para aprimorar a segurança do gerenciamento de memória em processo para dados sensíveis. Ele utiliza técnicas de proteção de memória de baixo nível para evitar troca, excluir dados de despejos de núcleo, minimizar a exposição ao longo do tempo e mitigar estouros.
Melhor para
Desenvolvedores de gerenciadores de senhas, Desenvolvedores de carteiras de criptomoedas, Desenvolvedores que lidam com credenciais de alto valor em processo
Por que importa
Fornece uma base de memória mais robusta e segura para aplicativos que lidam com dados sensíveis, implementando técnicas avançadas de proteção de memória.
Principais recursos
- Evita que memória sensível seja trocada usando mlock/VirtualLock.
- Exclui memória de despejos de núcleo no Linux e Android via MADV_DONTDUMP.
- Minimiza a exposição de memória ao longo do tempo usando mprotect.
- Mitiga under/overflows com páginas de proteção.
Casos de uso
- Um desenvolvedor de carteira de criptomoedas pode usar o Shrouded para proteger chaves privadas na memória, impedindo que sejam gravadas no disco por meio de arquivos de swap ou incluídas em despejos de falhas do sistema, aumentando assim a segurança contra ataques de acesso físico.
- Um aplicativo gerenciador de senhas pode aproveitar o Shrouded para proteger credenciais de usuário enquanto estão sendo usadas ativamente, garantindo que dados sensíveis não sejam expostos por inspeção de memória ou registro acidental.
- Um desenvolvedor preocupado com segurança que constrói um banco de dados em memória para informações altamente sensíveis pode integrar o Shrouded para implementar proteção granular de memória, reduzindo o risco de vazamento de dados por vulnerabilidades do sistema.