Насколько защищена информация на зашифрованном носителе LUKS?
Представьте себе конфиденциальную информацию (сертификаты, ключи, что угодно), хранящуюся на зашифрованном резервном диске LUKS, содержащем, например, файловую систему ext4. AFAIK такое устройство содержит ключевой файл, который в свою очередь зашифрован с некоторой парольной фразой. Предположим, секретная фраза была создана с помощью утилиты:
pwgen -s 16
чтобы получить полуслучайную строку. Например, " Z4sp9gmW47R8K0sy " После изучения часто задаваемых вопросов по cryptsetup я считаю, что это должно обеспечить 94,4 бита энтропии, и этого должно быть достаточно, чтобы в настоящее время спать спокойно.
Представьте, что какой-то такой диск был украден или скопирован, а злой злоумышленник готов потратить разумные ресурсы, чтобы взломать этот носитель.
Насколько сложно это будет на самом деле?
Являются ли данные действительно безопасными до тех пор, пока парольная фраза не будет разглашена (скомпрометирована) другими средствами?
1 ответ
Если мы предположим, согласно вашему вопросу, что ключевая фраза не может быть получена с помощью кейлогера (или другого вредоносного ПО), социальной инженерии, с помощью атаки с холодной загрузкой или другими способами (и она достаточно длинная), я бы сказал, данные в безопасности. Однако следует отметить, что злоумышленник, скорее всего, попытается получить ключ вышеупомянутыми способами, поэтому вам потребуется отличная операционная безопасность, чтобы заставить его использовать атаку методом "грубой силы".
По умолчанию данные защищены следующими алгоритмами:
Встроенное значение по умолчанию для версий cryptsetup до 1.6.0 - aes-cbc-essiv:sha256 с 256-битными ключами. По умолчанию 1.6.0 и более поздние версии (выпущены 14 января 2013 г.) - aes-xts-plain64:sha256 с 512-битными ключами.
На данный момент я не верю, что существуют какие-либо известные уязвимости, помогающие обойти защиту данных на зашифрованных дисках LUKS. (см. https://askubuntu.com/questions/102271/are-there-any-known-vulnerabilities-to-ubuntus-full-disk-encryption-feature) Пока это остается верным (а ключ не может быть полученные другими способами), злоумышленники должны будут использовать атаки грубой силы.
Атаки грубой силой
Атаки грубой силой не особенно трудны для запуска - вы повторяете фразу-пароль снова и снова, пока она не будет успешной. Есть инструменты, которые предназначены именно для этого. Таким образом, трудность заключается не в самих попытках, а в своевременном выполнении.
Злоумышленники пытаются оптимизировать атаки методом "грубой силы", сначала пытаясь использовать более распространенные / популярные парольные фразы, но в какой-то момент все сводится к случайности. Если используемая вами парольная фраза окажется одной из миллиардов или около того самых популярных, то она может быть быстро взломана.
Даже если парольная фраза непопулярна, существует вероятность, что она может быть первой догадкой, сделанной после попытки "популярных" парольных фраз. Вероятность этого (оставив в "популярных" паролях *)
1 in (lowercase+uppercase+numbers)^(number of characters)
1 in (26+26+10)^16
1 in 47672401706823500000000000000
Так что вряд ли, но могло случиться. Для сравнения вероятности, не стесняйтесь проверить свои шансы получить удар от падающего спутника или молнии.
* Примечание: Как вы можете видеть, удаление миллиарда самых популярных паролей из приведенного выше имеет значение меньше, чем количество значащих цифр в моем калькуляторе. Поэтому их включение не должно вызывать слишком большую ошибку.
Удача или использование популярного пароля может позволить атаке грубой силы завершиться своевременно. Сокращение количества угадываемых паролей также весьма полезно (например, зная его длину, типы используемых символов, способ их создания и т. Д.). Однако, если атакующему не особенно повезло, ему, возможно, придется попробовать 50% парольных фраз, чтобы добиться успеха. Здесь предлагается:
https://www.eetimes.com/document.asp?doc_id=1279619
что вы можете делать 10^13 предположений в секунду на суперкомпьютере. Таким образом, этот суперкомпьютер
23836200853411800000000000000/10000000000000 = 2383620085341180 seconds
(75532362 years)
попробовать 50% возможностей. Я предполагаю, что 75,5 миллионов лет суперкомпьютерного времени довольно дорого из-за использования электричества и т. Д., Поэтому, вероятно, не соответствует вашему определению "разумных ресурсов". Не говоря уже о том, что мы приняли парольную фразу без акцентированных символов, знаков препинания или специальных символов.
Таким образом, я считаю данные, защищенные LUKS, безопасными, если в коде не обнаружено слабых мест, а пароль достаточно длинный, непопулярный и не может быть получен другими средствами.