Nachdem ich
diesen Artikel gelesen hatte, wollte ich einen anderen Passwort-Manager auf ähnliche Schwachstellen untersuchen.
In den Kommentaren zum Artikel stellte
Dark_Angel eine Frage:
Was ist mit SafeInCloud?
Die Studie wurde mit der kostenlosen Windows-Version von SafeInCloud v.19.0.2 durchgeführt
Als ich das Produkt zum ersten Mal traf, machte er einen sehr guten Eindruck auf mich.
Weitere Untersuchungen ergaben jedoch genau die gleiche Sicherheitslücke.
Im Gegensatz zu 1Password speichert SafeInCloud
alle Ihre Passwörter auch im gesperrten Zustand (nach dem ersten Entsperren)
im Klartext .
Um das Kennwort aus der Datenbank zu erhalten, lesen Sie einfach den Anwendungsspeicher. Datenverschleierung fehlt völlig! Das Hauptkennwort (und alle anderen Kennwörter und Einträge) wird nach dem ersten erfolgreichen Entsperren der Datenbank niemals überschrieben, selbst wenn der Benutzer es sperrt.
Ihre Passwörter können in folgenden Fällen auslaufen:
+ Senden eines Fehlerberichts in einer beliebigen Software. Sehr oft sichern Entwickler den Speicher aller Anwendungen für Debugging-Zwecke.
+ Wenn Sie einen Computer verwenden, nicht nur Sie.
+ Wenn Sie physischen Zugriff auf den Computer eines Angreifers erhalten.
+ Beim Starten von Malware.
+ Es ist möglich, dass Speicherinhalte ausgetauscht werden.
+ Alles andere ...
Die Windows-Anwendung ist in .net geschrieben, was die Analyse des Quellcodes erheblich vereinfacht.

Die Anwendung ist in .net geschrieben
Nach erfolgreicher Entschlüsselung der Datenbank (XDatabase) werden die entschlüsselte Datenbank und das Hauptkennwort als Klassenfelder in der Singleton-Instanz der DatabaseModel-Klasse gespeichert.

Festlegen von Feldern mit einer Datenbank und einem Hauptkennwort daraus
Alle Einträge und Kennwörter werden auch nach dem Sperren der Anwendung durch den Benutzer in eindeutiger Form gespeichert. Das Master-Passwort liegt im Klartext daneben.

Das Kennwort wird in der Eigenschaft Kennwort gespeichert. _Database ist ein Feld der XDatabase-Klasse, das die entschlüsselte Datenbank enthält.
Datenbank im XML-Format.Beim erneuten Entsperren der Anwendung wird eine grundlegende Überprüfung durchgeführt:

Wenn das vom Benutzer eingegebene Passwort mit dem im Speicher gespeicherten übereinstimmt, ist die Entsperrung abgeschlossen.
Ein einfaches
SafeInCloudExtractor- Dienstprogramm wurde geschrieben, um das Extrahieren des
Hauptkennworts zu automatisieren.
Das Dienstprogramm extrahiert das Hauptkennwort und den lokalen Pfad zur Datenbankdatei.
Welchen Passwort-Manager verwenden Sie? Schreiben Sie in die Kommentare!
UPDATE Nachdem der Autor von SiC ein Problem gemeldet hatte, nahm er die Kritik sehr negativ auf (bis hin zu Beleidigungen). Unter dem Druck der Benutzer wurde eine Beta-Version mit "Schutz vor Hackern" veröffentlicht. Das heißt, mit Schutz vor dem Dienstprogramm SafeInCloudExtractor. Es scheint, dass das Problem gelöst ist! Passwörter werden aus dem Speicher gelöscht. Dies ist jedoch nicht so und hier ist der Grund:
Eine aktualisierte Version von SiC speichert auch alle Passwörter im Speicher. Um die Analyse des Codes zu erschweren, wurde ein Verschleierer angewendet und eine IsDebuggerPresent-Prüfung hinzugefügt. Passwörter werden im Klartext gespeichert und gespeichert. Es scheint, dass der Autor nicht versteht, gegen was er sich verteidigen soll. Anstatt das Problem zu beheben, wurde PoC deaktiviert. Höchstwahrscheinlich verfügt der Autor nicht über die erforderlichen Qualifikationen und Kenntnisse, um sicherheitsrelevante Software zu entwickeln. Sei wachsam!