Können bösartige Apps auf Daten in meinem Schlüsselbund zugreifen, während sie entschlüsselt werden?
In der Praxis (derzeit) können sie das ja. Das aktuelle Design (oder das Fehlen davon) von Benutzersitzungen in Linux macht es dem gnome-keyring-daemon schwer zu bestimmen, welches Programm darauf zugreift. Dies ist in gewissem Umfang für kompilierte Programme möglich, aber z. B. ist jede in Python geschriebene App nicht von jeder anderen in Python geschriebenen App zu unterscheiden. Obwohl gnome-keyring zunächst eine Anwendungs-Whitelist hatte, ist dies bei aktuellen Versionen nicht mehr der Fall.
Letztendlich sollte dies durch App-Container-Projekte wie Snap oder Flatpak verbessert werden.
Wenn ja, benötige ich sogar ein Kennwort für meinen Schlüsselbund, wenn meine Festplatte bereits verschlüsselt ist und ich der einzige bin, der meinen Computer verwendet?
Ich würde ja sagen
Wie oben erwähnt, kann jedes Programm einfach eine D-Bus-Nachricht senden und den gnome-keyring-daemon nach einem Geheimnis fragen. (In manchen Fällen funktioniert es sogar als Funktion.)
Es gibt jedoch eine Reihe von Sicherheitslücken, in denen ein verwundbares Programm (z. B. ein Webbrowser) zum Stehlen Ihrer Dateien verwendet werden kann, obwohl es immer noch keine Möglichkeit gibt, Befehle auszuführen oder D-Bus-Nachrichten zu senden. Es ist bekannt, dass Malware unverschlüsselte SSH-Schlüssel ( ~/.ssh/id_rsa
) oder Bitcoin Core-Geldbörsen stiehlt .
Auf dieselbe Weise besteht bei Nicht-Verschlüsselung die ~/.local/share/keyrings/login.keyring
Gefahr, dass Sie durch Exploits von Webbrowsern gestohlen werden.
(Ich verwende keinen Anmeldungsmanager, ich starte automatisch i3wm, nachdem ich mich über TTY angemeldet habe, wäre das automatische Entsperren auch für dieses Setup möglich?)
Das automatische Entsperren des Gnome-Keyrings erfolgt in allen Fällen über PAM. Ein genanntes Modul pam_gnome_keyring.so
erhält Ihr Kennwort als Teil des Anmeldeprozesses und startet den ersten Schlüsselringdämon.
Das PAM-Modul sollte überall dort hinzugefügt werden /etc/pam.d
, wo Ihre Linux-Distribution normalerweise allgemeine Module hinzufügt, oder nur zu der login
Datei (speziell für Konsolen- und Telnet-Anmeldungen).
In der Auth-Gruppe (im Block "Additional" im Debian-Stil common-auth
; als letztes Modul ansonsten) wird das Kennwort im Speicher abgelegt:
[...] auth optional pam_gnome_keyring.so only_if=login
In der Session-Gruppe (wiederum "Additional" -Block für Debian, ansonsten letztes Modul) wird das gnome-keyring-daemon mit dem gespeicherten Passwort gestartet :
[...] session optional pam_gnome_keyring.so only_if=login auto_start