Название говорит само за себя, но позвольте мне расширить немного больше:

Мне интересно, как пароль для ключей защищает мои ключи. Конечно, он шифрует файл контейнера, поэтому никто другой не может получить к нему доступ. Но он также расшифровывается после того, как я предоставил свой пароль для ключей. Так что на самом деле, когда я вошел в систему, ключи могут быть украдены каким-либо вредоносным приложением (по крайней мере, приложение с правами root должно быть в состоянии).

Конечно, я знаю, что сам файл ключа не заменяется расшифрованной версией после ввода пароля, но он должен быть расшифрован в памяти.

Вопрос заключается в следующем: могут ли вредоносные приложения получать доступ к данным в моей связке ключей во время их расшифровки? Если да, нужен ли мне даже пароль для моей связки ключей, когда мой диск уже зашифрован, и я единственный, кто использует мой компьютер?

И, если пароль будет более безопасным, можно ли его автоматически разблокировать, используя пароль моей учетной записи (или около того) после входа в систему?

(Я не использую менеджер входа в систему, я автоматически запускаю i3wm после входа в систему через TTY, поэтому будет ли возможна автоматическая разблокировка для этой настройки?)

1 ответ1

0

Могут ли вредоносные приложения получать доступ к данным в моем наборе ключей во время их расшифровки?

На практике (в настоящее время) да, они могут. Текущий дизайн (или его отсутствие) пользовательских сеансов в Linux затрудняет gnome-keyring-daemon определить, какая программа пытается получить к нему доступ; в некоторой степени это выполнимо для скомпилированных программ, но, например, любое приложение, написанное на Python, неотличимо от любого другого приложения, написанного на Python. Таким образом, хотя gnome-keyring сначала имел белый список приложений, текущие версии больше не имеют.

В конечном итоге это должно быть улучшено с помощью проектов-контейнеров приложений, таких как Snap или Flatpak.

Если да, нужен ли мне даже пароль для моей связки ключей, когда мой диск уже зашифрован, и я единственный, кто использует мой компьютер?

Я бы сказал, да.

Как упоминалось выше, любая программа может просто отправить сообщение D-Bus и запросить у gnome-keyring-daemon любой секрет. (В некоторых случаях это даже работает как функция.)

Однако было довольно много дыр в безопасности, в которых уязвимая программа (например, веб-браузер) могла бы использоваться для кражи ваших файлов, хотя все еще не имела возможности запускать команды или отправлять сообщения D-Bus. Известно, что вредоносные программы крадут незашифрованные ключи SSH (~/.ssh/id_rsa) или кошельки Bitcoin Core.

Таким же образом, если он не зашифрован, вы оставляете ~/.local/share/keyrings/login.keyring под угрозой кражи через эксплойты веб-браузера и тому подобное.

(Я не использую менеджер входа в систему, я автоматически запускаю i3wm после входа в систему через TTY, поэтому будет ли возможна автоматическая разблокировка для этой настройки?)

Автоматическая разблокировка gnome-keyring во всех случаях осуществляется через PAM. Модуль с именем pam_gnome_keyring.so получает ваш пароль как часть процесса входа в систему и запускает начальный демон keyring.

Модуль PAM должен быть добавлен в /etc/pam.d , где ваш дистрибутив Linux обычно добавляет общие модули, или просто в файл login в систему (который специально предназначен для входа в консоль и telnet).

В группе auth (в блоке "Additional" в common-auth стиле Debian; в качестве последнего модуля в противном случае) он будет хранить пароль в памяти:

[...]
auth optional pam_gnome_keyring.so only_if=login

В группе сессий (опять же, "Дополнительный" блок для Debian, в противном случае последний модуль) он использует сохраненный пароль для запуска gnome-keyring-daemon:

[...]
session optional pam_gnome_keyring.so only_if=login auto_start

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .