Abgeschirmtes, sicheres Speichermanagement in Rust
Hallo HN! Ich habe an einem Projekt gearbeitet, das hochwertige Zugangsdaten prozessintern verwaltet, und wollte etwas robusteres als nur das Löschen des Speichers beim Freigeben. Ein Kommentar zu einem kürzlichen Show HN[0] hat mir klar gemacht, dass das Wissen über speicherschützende Techniken auf niedrigerer Ebene vielleicht nicht so verbreitet ist, wie ich dachte. Die Idee hier ist, alle Werkzeuge in einer Crate zusammenzufassen, mit einer relativ einfachen API. * mlock/VirtualLock, um zu verhindern, dass sensibler Speicher ausgelagert wird (z.B. der KeePass-Dump) * Ausschluss von Core Dumps mit MADV_DONTDUMP unter Linux & Android * mprotect, um die Exposition über die Zeit zu minimieren * Schutzseiten, um Unter-/Überläufe abzumildern Nach einigen Belastungstests ist das Ziel hier, eine sicherere Speichergrundlage für Dinge wie Passwortmanager und Kryptowährungs-Wallets zu bieten. Das war ein spannendes Projekt, und ich habe viel gelernt – ich würde mich über Feedback freuen! [0] - https://news.ycombinator.com/item?id=47073430
- Android
- Datenschutz an erster Stelle
- FinTech
✨ KI-Zusammenfassung
Shrouded ist ein Rust-Crate, das entwickelt wurde, um die Sicherheit der prozessinternen Speicherverwaltung für sensible Daten zu verbessern. Es nutzt Low-Level-Speicherschutztechniken, um Swapping zu verhindern, Daten von Core-Dumps auszuschließen, die Exposition im Laufe der Zeit zu minimieren und Überläufe abzuschwächen.
Am besten geeignet für
Entwickler von Passwort-Managern, Entwickler von Kryptowährungs-Wallets, Entwickler, die hochwertige Zugangsdaten im Prozess verarbeiten
Warum es wichtig ist
Bietet eine robustere und sicherere Speichergrundlage für Anwendungen, die sensible Daten verarbeiten, durch die Implementierung fortschrittlicher Speicherschutztechniken.
Hauptfunktionen
- Schützt sensible Speicherbereiche durch mlock/VirtualLock vor Auslagerung.
- Schließt Speicherbereiche auf Linux und Android via MADV_DONTDUMP von Kernspeicherauszügen aus.
- Reduziert Speicherzugriff über Zeit durch mprotect.
- Verhindert Unter-/Überläufe mit Schutzseiten.
Anwendungsfälle
- Ein Kryptowährungs-Wallet-Entwickler kann Shrouded nutzen, um private Schlüssel im Speicher zu schützen und zu verhindern, dass sie über Auslagerungsdateien auf die Festplatte geschrieben oder in Systemabsturzabbildern enthalten sind, wodurch die Sicherheit gegen physische Zugriffsangriffe erhöht wird.
- Eine Passwort-Manager-Anwendung kann Shrouded einsetzen, um Benutzeranmeldedaten während ihrer aktiven Nutzung zu schützen und sicherzustellen, dass sensible Daten nicht durch Speicheruntersuchungen oder versehentliche Protokollierung offengelegt werden.
- Ein sicherheitsbewusster Entwickler, der eine In-Memory-Datenbank für hochsensible Informationen erstellt, kann Shrouded integrieren, um granularen Speicherschutz zu implementieren und das Risiko von Datenlecks durch Systemschwachstellen zu verringern.