Моя система зашифрована с использованием Full Disk Encryption, т.е. все, кроме / boot, зашифровано с помощью dmcrypt / luks. Меня беспокоят « холодные» атаки , где исследователи продемонстрировали , что контент может быть извлечен в течение 5 минут .
Можете ли вы предоставить инструкции по:
- как запустить kexec в новом ядре на самых последних шагах процесса завершения работы / перезагрузки (чтобы обеспечить чистое отключение, предотвратить повреждение файловой системы, обеспечить перезапись старого ядра)
- как создать то ядро, которое вытирает весь баран
т.е. можете ли вы объяснить, пожалуйста, как сделать то же самое на Ubuntu?
Как обнаружить выключение? Как запустить RAM Wipe? Оперативная память должна быть стерта при нажатии пользователем «выключение» или если он запускает «скрипт паники».
Спасибо за ваши старания!
Предыдущая работа:
- Хвосты оперативной памяти Wipe введение
- Еще немного информации о реализации Wipe RAM хвостов
- Введение в Liberte Linux RAM Wipe
- Более подробная информация о реализации Liberte Linux RAM Wipe реализация
- memtest не удаляет все
- Проверьте, работает ли RAM Wipe
- Обсуждение списка рассылки Tails
- Другое обсуждение списка рассылки Tails
- Отчет об ошибках ядра
Если вы хотите, чтобы эта функция стала реальностью, проголосуйте за Ubuntu Brainstorm!
security
memory
encryption
Джеймс Митч
источник
источник
Ответы:
Если вы не используете старую оперативную память, такую как DDR2, 512 МБ или 1024 МБ, вам не стоит беспокоиться о CBA.
Взгляните на оригинальное исследование здесь (PDF).
Если вы внимательно прочитаете его, вы обнаружите, что только DDR2 и старше подвержены этой атаке. DDR3 слишком быстро теряет напряжение, чтобы позволить корпусу компьютера демонтировать и заморозить процедуру. Так что просто потяните за вилку, прежде чем ответить на дверь.
Кроме того, этот документ подтверждает, что DDR3 не подвержен CBA. Если на самом деле вы хотите обезопасить себя, потому что у вас есть DDR2 RAM, то включите в BIOS:
и сделайте то же самое, что и с DDR3, но после того, как вытащите вилку, подключите ее снова. Ваш компьютер запустится сам и протрите память, проверив ее. Если он не будет достаточно эффективно очищен, процесс загрузки снова загрузит систему в ОЗУ. Это будет слишком быстро, чтобы учесть CBA.
По ссылке, которую вы указали в комментариях:
Также, если вы проверите результаты эксперимента, вы поймете, что они успешно извлекли ключи AES только в системе 2 и 6, и это были «горячие» загрузки, когда вы посмотрите на спецификации системы 2 - 1024 МБ ОЗУ 533 МГц - это старое вещи. Другая система - система 6 с 256 ОЗУ / 128 ОЗУ - я полагаю, эта система говорит сама за себя.
Именно поэтому их вывод был:
На самом деле я считаю, что если у вас есть очень очень очень важные данные, вы должны не только использовать Full Drive Encryption, но и хранить их в отдельном зашифрованном файле. Зашифрованы с помощью каскадных алгоритмов и пароля, отличного от пароля, используемого при шифровании диска. Вы хотите безопасный способ выключения ПК? Вот:
Для Windows:
Для Linux:
Очистка кеша гарантирует, что уязвимые данные не останутся в оперативной памяти после завершения работы. Если кто-либо выполнит Cold Boot Attack, он в лучшем случае получит доступ к вашей Системе. Они не будут хранить данные в отдельно зашифрованном файле.
источник
Питер А.Х. Петерсон (Peter AH Peterson) из Калифорнийского университета в Лос-Анджелесе написал концептуальную технологию и разработал теорию безопасного запуска вашей системы с зашифрованной оперативной памятью, и это решение специально разработано для предотвращения атак с «холодной» загрузкой. Название его работы Cryptkeeper. Я не знаю, делает ли он программное обеспечение доступным для загрузки или есть ли возможность лицензировать его от UCLA. Однако, по-видимому, возможно, по крайней мере, в принципе, спроектировать криптосистему для ОЗУ, которая была бы защищенной, даже если раскрыто все содержимое ОЗУ.
Измеренное влияние на производительность этого решения составляет от 9% до замедления в 9 раз , в зависимости от того, насколько «патологичен» сценарий. Показатель в 9% упоминается как относящийся к просмотру веб-страниц с помощью Firefox, но они не указали, какой вариант использования может снизить производительность в 9 раз.
Решение Петерсона не «стирает» оперативную память, как вы предлагаете. Скорее, он использует «безопасный механизм сокрытия ключей», чтобы предотвратить раскрытие ключа дешифрования только благодаря получению содержимого оперативной памяти. Я не уверен в деталях реализации, но я предполагаю, что это объясняется в документе.
Статья была опубликована в 2010 году.
Его можно приобрести на веб-сайте IEEE ieeexplore. Он также доступен для прямой загрузки в виде PDF-файла бесплатно с чьего-либо веб-сайта; это находится там в результатах поиска Google для "ОЗУ cryptkeeper" ... но я не уверен, как долго этот результат будет оставаться там.
У меня возникло желание сделать это комментарием, а не ответом, потому что это решение не «стирает» ОЗУ, как вы просили. Тем не менее, я считаю, что если исследование Петерсона технически правильно, это будет иметь тот же практический эффект - или, возможно, даже «лучший» эффект - чем стирание ОЗУ. Причина в том, что опытный физический злоумышленник может прервать попытку вашей системной программы стереть ОЗУ, если он ожидает, что такая операция произойдет - например, вытащить аккумулятор из устройства или удерживать кнопку питания до того, как операция сможет полный. Решение Peterson является более безопасным, поскольку оно не основано на необходимом временном интервале, в течение которого компьютеру разрешено продолжать выполнение инструкций для завершения очистки. Вместо этого память постоянно защищен, даже если сам процессор мгновенно убит каким-то невероятным технологическим достижением, прежде чем у вас появится шанс среагировать на атакующего.
И под «невероятным технологическим подвигом» я имею в виду что-то вроде Stuxnet.
источник
Я полагаю, что memtest86 будет очень хорошо стирать оперативную память. Я всегда хотел попробовать ниже, но не сделал. Если я попробую, я обновлю его.
Прочитайте
kexec
справочную страницу . И не пытайтесь.kexec
ISO, но вам нужно распаковать ISO и поймать загрузочный двоичный файл. На сайте memtest86 вы можете просто скачать бинарный файл.Вы должны использовать
kexec
команду, чтобы загрузить то, что вы загружаете в первую очередь.Поэтому я думаю, что вы можете сделать это:
kexec -l {path-to-memtest86-bootable-binary} --append=console=ttyS0,115200n8
и когда вы будете готовы нажать на курок:
kexec -e
Я думаю (но могу ошибаться), что
--append=console=ttyS0,115200n8
memtest86 работает через последовательный порт. Поэтому, если у вас есть такой, вы можете проверить, работает ли он, даже если он не отображается на видеовыходе, что возможно, поскольку memtest86 не выполняет инициализацию видео. Убийство всех запущенных экземпляров X, вероятно, хорошая идея.Пакет Debian
kexec-tools
(также доступный в Ubuntu) перехватывает это в сценарии завершения работы, поэтому, если вы редактируете,/etc/default/kexec
вы можете указать, что процесс завершения работы будет вызыватьсяkexec
как конечная вещь вместо перезагрузки. То есть, если вы заинтересованы в чистом отключении.В случае крайней необходимости,
sync; kexec -e
будет работать.Однако возможно, что некоторые чипсеты, после их инициализации, вызывают блокировку, если обращаются к определенным областям памяти. Я не знаю, как это будет работать на практике.
Хороший компромисс, если
kexec
не работает, - это установить memtest86 в ваш загрузчик, установить его в качестве загрузочного элемента по умолчанию и иметь задержку в 1 секунду до автоматического выбора (или без задержки и использовать нажатие клавиши для вызова memu). Это может привести вас в memtest86 из состояния «свежей загрузки» довольно быстро, но не сразу.Обратите внимание, что это не учитывает видео RAM. Решением для этого является настройка видеопамяти как блочного устройства и вывод
/dev/random
на блочное устройство в течение нескольких итераций.источник
Это старый вопрос, но я думаю, что могу внести свой вклад. Как уже было сказано, программная очистка памяти - не лучшее решение, просто потому, что питание может быть внезапно отключено, поэтому программное обеспечение очистки не будет выполнено.
Я могу представить лучший сценарий, чтобы проиллюстрировать проблему: вы ведете незаконный бизнес на своем компьютере у себя дома. Однажды электричество внезапно исчезает, и затем отряд ФБР штурмует дверь вашего дома, арестовывает вас, а затем техник-ботаник быстро открывает корпус вашего компьютера и использует внутри него холодный газ, чтобы заморозить состояние памяти, чтобы купить какое-то время для холодной атаки.
Таким образом, лучший способ решить эту проблему - сделать корпус компьютера более безопасным, затрудняя его открытие (что-то вроде хранилища) или даже разрушая память, нагревая плату с помощью сопротивления от батареи, воспламеняемого тампером. переключатель в корпусе. Несколько секунд при высоких температурах могут уничтожить данные или даже уничтожить микросхемы, что не является большой проблемой в этой ситуации.
источник
Проблема в том, что ваш компьютер работает, а экран заблокирован. На этом этапе ключ AES хранится в оперативной памяти, а пользователь находится вне компьютера. Злоумышленник может открыть корпус компьютера и извлечь модули оперативной памяти, одновременно поддерживая их питание и помещая их в отдельное устройство, которое считывает их содержимое. Нет необходимости выключать систему или замораживать модули перед извлечением. ОЗУ не является надежным для хранения ключа AES, но кэш процессора, как и решение с именем TRESOR. К сожалению, для этого требуется старое ядро Linux, а также глубокие знания по установке и исправлению ядра.
источник
Извините, но вы параноик. Во-первых, как указывали другие пользователи, очевидно, что Cold Boot Attack работает только на старом оборудовании.
Если вы все еще думаете, что это угроза, вытирание не является решением.
Атака холодной загрузки включает в себя:
Если кому-то удастся выполнить холодную перезагрузку, то, очевидно, ваш стеклоочиститель не сможет запустить. Так что нет смысла его устанавливать.
Это основной случай атаки. Давайте теперь предположим, что злоумышленник не хочет самостоятельно загружать работающий сервер (например, потому что это вызовет предупреждение мониторинга), вместо этого он ожидает выполнить атаку в течение 5 минут после полного выключения. В этом случае:
truecrypt /wipecache
упомянутую mnmnc), может усложнить работу злоумышленника. Все еще:Итак, если вы действительно беспокоитесь об этой атаке, я бы посоветовал вам изучать кунг-фу и стоять на 5 минут рядом с машиной каждый раз, когда вы ее выключаете. Или, может быть, использовать пароль загрузки в вашем BIOS? Обе предложенные меры не обязательно должны быть эффективными на 100%: злоумышленники все равно могут избить вас и прочитать пароль BIOS с вашего МБ с помощью технических средств. Вам просто нужно задержать их на 5 минут, чтобы истекло время атаки.
Наконец, если вы беспокоитесь о том, что кто-то может совершить весь этот подвиг удаленно, вы уже тяжело разбиты.
источник