Приостановить к ОЗУ и зашифрованным разделам

13

Обычно я больше не выключаю свой ноутбук в пользу использования suspend-to-RAM. Недостатком является то, что мой зашифрованный домашний раздел полностью доступен после возобновления без ввода ключевой фразы. Плохая идея, если кто-то украдет ваш ноутбук ...

Глядя на man-страницу cryptsetup . Я узнал, что LUKS теперь поддерживает команду luksSuspendand luksResume. Интегрированы ли luksSuspendи luksResumeв сценарии выполнение приостановки в оперативную память и возобновление?

Стефан Армбрустер
источник
Связанная ошибка LP . Блокировка экрана - простой способ защиты от «обычных» людей. Он не защищает вас от людей, которые знают ваш пароль (или могут его угадать), злоупотребляют ошибкой, чтобы получить доступ к сеансу или читают пароли из памяти
Lekensteyn

Ответы:

4

Текущая проблема

При использовании Ubuntu Full Disk Encryption (основанной на dm-crypt с LUKS) для настройки полного системного шифрования ключ шифрования сохраняется в памяти при приостановке системы. Этот недостаток лишает смысла шифрование, если вы много носите с подвешенным ноутбуком. Можно использовать команду cryptsetup luksSuspend, чтобы заморозить все операции ввода-вывода и удалить ключ из памяти.

Решение

ubuntu-luks-suspend - это попытка изменить механизм приостановки по умолчанию. Основная идея состоит в том, чтобы перейти в chroot вне зашифрованного корневого фс и затем заблокировать его (withcryptsetup luksSuspend)

Prinz
источник
1
Эта попытка (пока не функционирующая) обсуждается по связанному вопросу. Как включить Ubuntu для приостановки машины с помощью LUKSsuspend во время сна / спящего режима .
Йонас Малако
3

вот еще один пример из убунта 14.04 Cryptsetup Luks приостановить / возобновить корневой раздел «почти работает» :-)

одна из причин, по которой он работает для Arch и «почти работает» для Ubuntu, может заключаться в том, что ядро ​​Ubuntu

  Linux system 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

все еще "слишком старый": следующего патча еще нет:

сделать sync () на приостановке к RAM необязательным

поэтому любой pm-utilsили user codeтот, кто выдает любую форму чистых ключей и запросов сна , таких как:

  cryptsetup luksSuspend root
  echo -n "mem" >/sys/power/state

приведет к ядру в вызове, sys_sync()который в свою очередь вызывает взаимоблокировку dm-crypt(по замыслу, после luks приостановить)

Андрей Позолотин
источник
-2

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

Это гарантирует, что кто-то, кто возобновит работу вашего ноутбука из режима ожидания, должен будет ввести пароль, прежде чем он сможет войти в компьютер.

введите описание изображения здесь

Дастин Киркланд
источник
2
и это действительно использует luksSuspend / luksResume?
Стефан Армбрустер
2
Нет, это гарантирует, что кто-то возобновит ваш ноутбук, чтобы ввести пароль при возобновлении. Это важно, если вы пошли на длину зашифрованных ваших данных.
Дастин Киркланд
5
Э-э, этого недостаточно ... это просто пароль заставки. Он должен полностью приостановиться, так что вам необходимо снова ввести свой пароль LUKS, прежде чем вернуться в GUI
BenAlabaster
2
Точно. Ключ дешифрования для LUKS по-прежнему будет находиться в ОЗУ, если не используется luksSuspend / luksResume. Есть ли способ сделать это с Ubuntu?
jzila
1
Если бы этого было достаточно, этот вопрос не существовал бы. Да, это защитит ваши данные в 99% реалистичных жизненных сценариев, но, как отмечено выше, пароль все еще кэшируется в ОЗУ во время приостановки, даже если включена защита паролем при возобновлении. Враг, обладающий техническими знаниями (например, АНБ), сможет выполнить «холодную загрузку» и восстановить парольную фразу, а затем расшифровать все ваши данные.
Chev_603