Markieren Sie die Daten, die als sensibel in python
Muss ich speichern das Kennwort eines Benutzers für eine kurze Zeit im Speicher. Wie kann ich also noch nicht haben, solche Informationen versehentlich veröffentlicht werden, um coredumps oder tracebacks? Gibt es eine Möglichkeit, um mark einen Wert als "empfindlich", es ist also nicht gespeichert überall von einem debugger?
- Siehe auch diese Frage: stackoverflow.com/questions/728164/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeiten
Habe ich eine Lösung unter Verwendung von ctypes (die wiederum verwendet C) auf null Speicher.
Ich keine Garantie für die Sicherheit dieser code. Es wird getestet, um auf x86-und CPython 2.6.2. Ein längeres Dokument wird hier.
Entschlüsselung und Verschlüsselung in Python wird nicht funktionieren. Strings und zahlen werden interniert und persistent, was bedeutet, dass Sie verlassen ein Durcheinander von Passwort-Informationen, die alle über dem Platz.
Hashing ist die standard-Antwort, obwohl natürlich die Klartext-schließlich verarbeitet werden muss, irgendwo.
Die richtige Lösung ist, um zu tun, die sensiblen Prozessen, wie einem C-Modul.
Aber wenn Ihr Gedächtnis ist ständig gefährdet ist, würde ich überdenken Sie Ihre Sicherheits-setup.
memset
wie erwähnt wird im folgenden Artikel, dieser zu unsicher ist. viva64.com/en/b/0178 oder owasp.org/index.php/Insecure_Compiler_Optimizationmemset=ctypes.CDLL("libc.dylib").memset
)Quelle: http://www.ibm.com/developerworks/library/s-data.html
Software (Addison-Wesley, 2001) - und Java-Enterprise-Architektur
(O ' Reilly and Associates, 2001). John ist Autor von mehr als 50
technische Publikationen, vor allem im Bereich der software-Sicherheit.
Er schrieb auch Mailman GNU-Mailinglisten-Manager und ITS4, ein Werkzeug
für die Suche nach Sicherheitslücken in C-und C++ - code.
bytes
- Instanz in eine Menge von python-code ... und kann gleich gelöscht danach.Keiner Weise zu "markieren als "sensitive", aber man könnte die Daten verschlüsseln, die in Speicher und entschlüsselt Sie wieder, wenn Sie brauchen, es zu benutzen-nicht eine perfekte Lösung, aber die beste, die ich denken kann.
oder, wenn Sie sehr paranoid über Deponien, lagern einzigartige random-Taste in eine andere Stelle, z.B. habe ich in einem anderen thread, in einem Register, auf Ihrem server, etc.
basierend auf culix Antwort: die folgenden arbeiten mit Linux-64-bit-Architektur.
Getestet auf Debian-basierte Systeme.