В компьютерная безопасность, атака с холодной перезагрузкой (или, в меньшей степени, атака сброса платформы ) - это тип атаки по побочному каналу, при которой злоумышленник с физическим Доступ к компьютеру выполняет дамп памяти из оперативной памяти (RAM) компьютера, выполняя аппаратный сброс целевой машины. Обычно атаки с холодной загрузкой используются для извлечения ключей шифрования из работающей операционной системы в целях злонамеренного или уголовного расследования. Атака основывается на свойстве остаточных данных для DRAM и SRAM для извлечения содержимого памяти, которое остается доступным для чтения в течение от секунд до минут после подачи питания. был удален.
Злоумышленник, имеющий физический доступ к работающему компьютеру, обычно выполняет атаку с холодной загрузкой, перезагружая машину и загружая облегченную операционную систему со съемного диска для сброса содержимое предзагрузочной физической памяти в файл. Затем злоумышленник может проанализировать данные , выгруженные из памяти, чтобы найти конфиденциальные данные, такие как ключи, используя различные формы атак по поиску ключей. Поскольку атаки с «холодной загрузкой» нацелены на оперативную память, схемы полного шифрования диска, даже с установленным модулем доверенной платформы, неэффективны против этого вида атак. Это связано с тем, что проблема заключается в основном в аппаратном (небезопасная память), а не в программном. Однако злонамеренный доступ можно предотвратить, ограничив физический доступ и используя современные методы, позволяющие избежать хранения конфиденциальных данных в оперативной памяти.
Модули памяти DIMM постепенно теряют данные по мере потери питания, но не теряют сразу все данные при включении питания. потерян. В зависимости от температуры и условий окружающей среды модули памяти потенциально могут сохранять, по крайней мере, некоторые данные до 90 минут после отключения питания. С некоторыми модулями памяти временное окно для атаки может быть увеличено до часов или даже недель, охлаждая их с помощью спрея для замораживания. Кроме того, поскольку биты со временем исчезают в памяти, их можно восстановить, поскольку они исчезают предсказуемым образом. Следовательно, злоумышленник может выполнить дамп памяти своего содержимого, выполнив атаку холодной загрузки. Способность успешно выполнить атаку с холодной загрузкой значительно различается в зависимости от системы, типа памяти, производителей памяти и свойств материнской платы, и ее может быть труднее реализовать, чем программные методы или DMA-атака. В то время как в настоящее время основное внимание уделяется шифрованию дисков, любые конфиденциальные данные, хранящиеся в памяти, уязвимы для атаки.
Злоумышленники выполняют атаки с холодной загрузкой, насильственно и внезапно перезагружая целевую машину, а затем загружая предварительно установленную операционную системы с USB-накопителя (видео), CD-ROM или по сети. В случаях, когда полная перезагрузка целевой машины нецелесообразна, злоумышленник может в качестве альтернативы физически удалить модули памяти из исходной системы и быстро разместить их на совместимой машине под контролем злоумышленника, которая затем загружается. для доступа к памяти. Затем можно провести дальнейший анализ данных, выгруженных из RAM.
. Подобный тип атаки также может использоваться для извлечения данных из памяти, например, DMA-атака, которая позволяет физической памяти доступ через высокоскоростной порт расширения, такой как FireWire. В некоторых случаях предпочтительнее использовать холодную перезагрузку, например, когда высок риск повреждения оборудования. Использование высокоскоростного порта расширения может привести к короткому замыканию или физическому повреждению оборудования в определенных случаях.
Атаки с холодной загрузкой обычно используются для цифровой криминалистики расследования, злонамеренных действий, таких как кража, и восстановление данных.
В определенных случаях в рамках цифровой криминалистики для судебного сохранения данных, содержащихся в памяти, в качестве улик. Например, когда нецелесообразно сохранять данные в памяти другими способами, может использоваться атака с холодной загрузкой для выполнения дампа данных, содержащихся в оперативной памяти. Например, атака «холодной загрузки» используется в ситуациях, когда система защищена и доступ к компьютеру невозможен. Атака «холодной перезагрузки» также может потребоваться, если жесткий диск зашифрован с помощью полного шифрования диска и диск потенциально может содержать доказательства преступной деятельности. Атака с холодной загрузкой обеспечивает доступ к памяти, которая может предоставить информацию о состоянии системы в то время, как, например, какие программы работают.
Атака с холодной загрузкой может быть используется злоумышленниками для получения доступа к зашифрованной информации, такой как финансовая информация или коммерческая тайна со злым умыслом.
Общая цель атак холодной загрузки - для обхода программного шифрования диска. Атаки с холодной загрузкой при использовании в сочетании с атаками с поиском ключа продемонстрировали свою эффективность для обхода схем полного шифрования диска различных поставщиков и операционных систем, даже если используется доверенный платформенный модуль (TPM) защищенный криптопроцессор.
В случае приложений шифрования диска, которые можно настроить так, чтобы операционная система могла загружаться без предварительного загрузочного PIN или наличия аппаратного ключа (например, BitLocker в простой конфигурации, которая использует TPM без двух- факторная проверка подлинности ПИН-код или USB-ключ), временные рамки для атаки вообще не ограничены.
BitLocker в своей конфигурации по умолчанию использует доверенный платформенный модуль, который не требует ни булавки, ни внешнего ключа для расшифровки диска. Когда операционная система загружается, BitLocker извлекает ключ из TPM без какого-либо взаимодействия с пользователем. Следовательно, злоумышленник может просто включить машину, дождаться, пока операционная система начнет загрузку, а затем выполнить атаку «холодной загрузки» против машины, чтобы получить ключ. В связи с этим для обхода этой уязвимости в системе следует использовать двухфакторную аутентификацию, такую как предзагрузочный PIN-код или съемное USB-устройство, содержащее ключ запуска вместе с TPM. реализация BitLocker по умолчанию. Однако этот обходной путь не мешает злоумышленнику извлекать конфиденциальные данные из памяти или извлекать ключи шифрования, кэшированные в памяти.
Поскольку дамп памяти может быть легко выполнен с помощью атаки холодной загрузки, хранение конфиденциальных данных в ОЗУ, таких как ключи шифрования для полного диска шифрование небезопасно. Было предложено несколько решений для хранения ключей шифрования в областях, отличных от оперативной памяти. Хотя эти решения могут снизить вероятность взлома полного шифрования диска, они не обеспечивают защиты других конфиденциальных данных, хранящихся в памяти.
Одним из решений для хранения ключей шифрования в памяти является хранение ключей на основе регистров. Реализациями этого решения являются TRESOR и Loop-Amnesia. Обе эти реализации модифицируют ядро операционной системы так, чтобы ЦП регистрировал (в случае TRESOR регистры отладки x86, а в случае Loop-Amnesia - AMD64 или Регистры профилирования EMT64) могут использоваться для хранения ключей шифрования, а не в ОЗУ. Ключи, хранящиеся на этом уровне, не могут быть легко прочитаны из пользовательского пространства и теряются при перезагрузке компьютера по любой причине. И TRESOR, и Loop-Amnesia должны использовать генерацию раундового ключа на лету из-за ограниченного пространства, доступного для хранения криптографических токенов таким образом. В целях безопасности оба блокируют прерывания, чтобы предотвратить утечку ключевой информации в память из регистров ЦП во время выполнения шифрования или дешифрования, и оба блокируют доступ к регистрам отладки или профиля.
В современных процессорах x86 есть две потенциальные области для хранения ключей: регистры SSE, которые фактически можно сделать привилегированными, отключив все инструкции SSE (и обязательно, любые программы, использующие их), и регистры отладки, которые были намного меньше, но не имели таких проблем.
A доказательство концепции. Разработано распределение под названием 'paranoix' на основе метода регистров SSE. Разработчики заявляют, что «при запуске TRESOR на 64-битном процессоре, поддерживающем AES-NI, нет потери производительности по сравнению с общей реализацией AES » и он работает немного быстрее, чем стандартное шифрование, несмотря на необходимость пересчета ключей. Основное преимущество Loop-Amnesia по сравнению с TRESOR состоит в том, что он поддерживает использование нескольких зашифрованных дисков; Основные недостатки - это отсутствие поддержки 32-битной архитектуры x86 и худшая производительность на процессорах, не поддерживающих AES-NI.
«Замороженный кеш» (иногда известный как «кэш как ОЗУ») может использоваться для безопасного хранения ключей шифрования. Он работает путем отключения кеша L1 ЦП и использует его для хранения ключей, однако это может значительно снизить общую производительность системы до такой степени, что она станет слишком медленной для большинства целей.
Аналогичное решение на основе кеша было предложено Guan et al. (2015), используя режим кеширования WB (обратная запись) для хранения данных в кешах, что сокращает время вычисления алгоритмов с открытым ключом.
Mimosa в IEEE SP 2015 представила более практичное решение для криптографических вычислений с открытым ключом от атак холодной загрузки и DMA-атак. В нем используется аппаратная транзакционная память (HTM), которая изначально была предложена в качестве механизма спекулятивного доступа к памяти для повышения производительности многопоточных приложений. Строгая гарантия атомарности, предоставляемая HTM, используется для предотвращения незаконных одновременных обращений к пространству памяти, содержащему конфиденциальные данные. Закрытый ключ RSA зашифрован в памяти ключом AES, который защищен TRESOR. По запросу вычисление закрытого ключа RSA выполняется в транзакции HTM: закрытый ключ сначала расшифровывается в памяти, а затем выполняется расшифровка или подпись RSA. Поскольку закрытый ключ RSA в виде обычного текста отображается только как измененные данные в транзакции HTM, любая операция чтения этих данных прервет транзакцию - транзакция вернется в исходное состояние. Обратите внимание, что закрытый ключ RSA зашифрован в исходном состоянии и является результатом операций записи (или расшифровки AES). В настоящее время HTM реализован в кэшах или буферах хранения, которые находятся в процессорах, а не во внешних микросхемах RAM. Таким образом, атаки холодного перезапуска предотвращаются. Mimosa противостоит атакам, которые пытаются прочитать конфиденциальные данные из памяти (включая атаки с холодной загрузкой, атаки DMA и другие атаки на программное обеспечение), и лишь незначительно снижает производительность.
Наилучшая практика рекомендует отключать все зашифрованные несистемные диски, когда они не используются, поскольку большинство программ шифрования дисков предназначены для безопасного стирания ключей, кэшированных в памяти, после использования. Это снижает риск того, что злоумышленник сможет спасти ключи шифрования из памяти, выполнив атаку с холодной загрузкой. Чтобы свести к минимуму доступ к зашифрованной информации на жестком диске операционной системы, машина должна быть полностью выключена, когда она не используется, чтобы снизить вероятность успешной атаки холодной загрузки. Однако данные могут оставаться доступными для чтения от десятков секунд до нескольких минут в зависимости от физического устройства RAM в машине, потенциально позволяя злоумышленнику извлекать некоторые данные из памяти. Настройка операционной системы для выключения или перехода в спящий режим, когда она не используется, вместо использования спящего режима, может помочь снизить риск успешной атаки холодной загрузки.
Как правило, атаку с холодной перезагрузкой можно предотвратить, ограничив физический доступ злоумышленника к компьютеру или сделав атаковать становится все труднее. Один из методов включает пайку или приклеивание модулей памяти к материнской плате, чтобы их нельзя было легко вынуть из разъемов и вставить в другую машину под контролем злоумышленника.. Однако это не мешает злоумышленнику загрузить машину жертвы и выполнить дамп памяти с помощью съемного USB-накопителя. смягчение последствий, такое как UEFI Secure Boot или аналогичные подходы к проверке загрузки, могут быть эффективными в предотвращении загрузки злоумышленником пользовательской программной среды для выгрузки содержимого встроенной основной памяти.
Шифрование оперативной памяти (RAM) снижает вероятность того, что злоумышленник сможет получить ключи шифрования или другой материал из память через атаку холодной загрузки. Этот подход может потребовать изменений в операционной системе, приложениях или оборудовании. Один из примеров аппаратного шифрования памяти был реализован в Microsoft Xbox.
. Программное обеспечение полного шифрования памяти аналогично хранению ключей на базе ЦП, поскольку ключевой материал никогда не отображается в памяти, но является более всеобъемлющим, поскольку все содержимое памяти зашифровано. Как правило, операционная система «на лету» расшифровывает и считывает только непосредственные страницы. Реализации программных решений для шифрования памяти включают: коммерческий продукт от PrivateCore. и RamCrypt, патч для ядра Linux, который шифрует данные в памяти и сохраняет ключ шифрования в регистрах ЦП аналогично TRESOR.
Начиная с версии 1.24, VeraCrypt поддерживает RAM. шифрование ключей и паролей.
В последнее время было опубликовано несколько статей, в которых подчеркивается доступность стандартных процессоров x86 и ARM с повышенной безопасностью. В этой работе процессор ARM Cortex A8 используется в качестве основы, на которой построено решение для полного шифрования памяти. Сегменты процесса (например, стек, код или куча) могут быть зашифрованы индивидуально или вместе. Эта работа знаменует собой первую реализацию полного шифрования памяти на универсальном стандартном процессоре. Система обеспечивает как конфиденциальность, так и защиту целостности кода и данных, которые зашифрованы повсюду за пределами ЦП.
Поскольку атаки с холодной загрузкой нацелены на незашифрованную оперативную память, одним из решений является стирание конфиденциальных данных из памяти, когда она больше не используется. «Спецификация защиты от атак сброса платформы TCG», являющаяся отраслевым ответом на эту конкретную атаку, заставляет BIOS перезаписывать память во время POST, если операционная система не была завершена должным образом. Однако эту меру все же можно обойти, удалив модуль памяти из системы и прочитав его обратно в другой системе, находящейся под контролем злоумышленника, которая не поддерживает эти меры.
Функция безопасного стирания, которая при отключении питания стирает ОЗУ менее чем за 300 мс до отключения питания в сочетании с безопасным BIOS и контроллером жесткого диска / SSD, который шифрует данные на портах M-2 и SATAx, также будет эффективным. Если бы сама RAM не содержала последовательного присутствия или других данных, а тайминги хранились в BIOS с некоторой формой отказоустойчивости, требующей аппаратного ключа для их изменения, было бы почти невозможно восстановить какие-либо данные, а также было бы невосприимчив к атакам TEMPEST, злоумышленникам в ОЗУ и другим возможным методам заражения.
Некоторые операционные системы, такие как Tails, предоставляют функция, которая безопасно записывает случайные данные в системную память при выключении операционной системы для защиты от атаки холодной загрузки. Однако стирание видеопамяти по-прежнему невозможно, и с 2020 года это все еще открытый билет на форуме Tails. Возможные атаки, которые могут использовать этот недостаток:
Атака с холодной перезагрузкой может быть предотвращена, если не удерживать ключи. в RAM. Это может быть достигнуто следующим образом:
Скремблирование памяти может использоваться для минимизации нежелательных паразитных эффектов полупроводников как особенность современных процессоров Intel Core. Однако, поскольку скремблирование используется только для декорреляции любых шаблонов в содержимом памяти, память может быть дескремблирована посредством атаки дескремблирования. Следовательно, скремблирование памяти не является эффективным средством защиты от атак холодной загрузки.
Спящий режим не обеспечивает дополнительной защиты от атаки «холодной перезагрузки», поскольку в этом состоянии данные обычно все еще находятся в памяти. Таким образом, продукты для полнодискового шифрования по-прежнему уязвимы для атак, поскольку ключи находятся в памяти и не требуют повторного ввода после выхода машины из состояния низкого энергопотребления.
Хотя ограничение параметров загрузочного устройства в BIOS может немного упростить загрузку другой операционной системы, микропрограммное обеспечение в современных наборах микросхем позволяет пользователю переопределить загрузочное устройство в течение POST, нажав указанную горячую клавишу. Ограничение параметров загрузочного устройства также не помешает удалению модуля памяти из системы и его считыванию в альтернативной системе. Кроме того, в большинстве наборов микросхем предусмотрен механизм восстановления, который позволяет сбросить настройки BIOS до значений по умолчанию, даже если они защищены паролем. Настройки BIOS также можно изменить во время работы системы, чтобы обойти любые меры защиты, которые она применяет, например очистку памяти или блокировку загрузочного устройства.
Атака с «холодной перезагрузкой» может быть адаптирована и выполняться аналогичным образом на смартфонах Android . Поскольку в смартфонах нет кнопки сброса, холодную перезагрузку можно выполнить, отключив аккумулятор телефона, чтобы выполнить полный сброс. Затем на смартфон загружается образ операционной системы, который может выполнять дамп памяти . Обычно смартфон подключается к компьютеру злоумышленника через порт USB.
Обычно смартфоны Android безопасно стирают ключи шифрования из оперативной памяти, когда телефон заблокирован. Это снижает риск того, что злоумышленник сможет получить ключи из памяти, даже если им удалось выполнить атаку холодной загрузки на телефон.
| journal =
() CS1 maint: ref = harv (link )