Анализ компьютеров в состоянии сна, гибернации, гибридного сна и «быстрого запуска» Windows 10

23 сентября, 2021, Oleg Afonin
Рубрика: «Разное»
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

В процессе изъятия и анализа настольных компьютеров последние, как правило, отключаются от сети электропитания. В результате отключения питания может быть утерян доступ к некоторым типам данных — в зависимости от того, в каком состоянии находился компьютер на момент отключения. В этой статье рассматривается разница между состояниями сна, гибридного сна и гибернации, а также штатного выключения системы с активной функцией «быстрого запуска».

Состояния сна и гибернации

Компьютер включён, находится в режиме сна или гибернации? Если компьютер включён, заблокирован ли экран и есть ли доступ к пользовательской сессии? В зависимости от ответов на эти вопросы подход к анализу устройства может сильно отличаться.

Внимание: в статье рассматриваются различные режимы сна для настольных компьютеров. Ноутбуки, ультрабуки и устройства 2-в-1, способные функционировать в режиме ожидания, могут быть защищены посредством шифрования BitLocker Device Encryption.

При наличии доступа к авторизованной пользовательской сессии рекомендуем просканировать компьютер на предмет наличия подключённых зашифрованных дисков и активных зашифрованных виртуальных машин. В случае, когда такие диски или виртуальные машины присутствуют, имеет смысл извлечь из оперативной памяти компьютера соответствующие ключи шифрования при помощи Elcomsoft Forensic Disk Decryptor и/или исследовать содержимое зашифрованных разделов, не выключая устройство. Если компьютер будет выключен, существует риск потери доступа к зашифрованным данным.

Доступ к данным может быть утрачен по причине того, что ключи шифрования, которые хранятся в оперативной памяти включённого компьютера, могут не восстанавливаться после его выключения, и для монтирования зашифрованного диска или виртуальной машины может потребоваться ввести пароль. Различаются следующие ситуации:

  1. Компьютер перезагружен или выключен (штатным образом или отключением электропитания). Большинство программ шифрования дисков (за исключением BitLocker в режиме TPM) удаляет ключи шифрования из памяти; для повторного монтирования зашифрованного диска или виртуальной машины потребуется ввести пароль.
  2. Сон или гибернация. В большинстве программ шифрования дисков и виртуальных машин с настройками по умолчанию ключи из оперативной памяти не удаляются. При этом пользователь может самостоятельно (или через корпоративные политики безопасности) настроить шифрование дисков BitLocker (за исключением системного) таким образом, чтобы пароль для их разблокирования требовался и в этом случае. В случае использования VeraCrypt доступны опциональные настройки в приложении, которые размонтируют зашифрованные диски при переходе компьютера в состояние сна или гибернации.
  3. Экран компьютера заблокирован. Это самостоятельный случай, который определяется в политиках безопасности отдельно от состояний сна/гибернации. По умолчанию в этом состоянии BitLocker не размонтирует зашифрованные диски, а для VeraCrypt доступна опциональная настройка (по умолчанию — выключено).

Различия между режимами энергосбережения Windows 10: сон, гибернация, гибридный сон, быстрый запуск

В настольных компьютерах Windows 10 определено несколько режимов энергосбережения, с каждым из которых связан ряд особенностей.

Сон

Режим сна — первый из энергосберегающих. По умолчанию в Windows 10 включён режим так называемого «гибридного» сна (см. скриншот), однако пользователь может вручную изменить эту настройку.

Если настройка «гибридного» сна не включена, то компьютер не будет сохранять содержимое оперативной памяти на диск. Если «спящий» компьютер будет отключён от сети электропитания, всё содержимое оперативной памяти будет утрачено, и при последующем включении зашифрованные диски (за исключением конфигураций BitLocker+TPM) смонтированы не будут.

Для предотвращения такой ситуации был разработан режим «гибридного» сна.

Гибридный сон

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

Гибернация

В режиме гибернации содержимое оперативной памяти также сохраняется на диске, а модули оперативной памяти обесточиваются. При пробуждении компьютера содержимое оперативной памяти всегда считывается с диска (из файла гибернации). С точки зрения программ шифрования дисков этот режим не отличается от режимов сна и гибридного сна.

Быстрый запуск

Быстрый запуск — функция Windows 10, предназначенная для сокращения времени загрузки после выключения (эта функция не задействуется между перезагрузками, а также в случаях некорректного выключения компьютера). Если эта настройка активирована (по умолчанию она включена), то в процессе штатного выключения компьютера на диск сохраняется небольшой файл гибернации. В файл попадает образ памяти ядра и сервисов системы; данные пользователя не сохраняются. В файл не должны попадать ключи шифрования (например, ключи BitLocker).

В то же время «не должны» не всегда означает «не попадают». Разработчики криптоконтейнера VeraCrypt отмечают возможность утечки ключей шифрования к дискам, которые были смонтированы на момент штатного отключения компьютера. Эту утечку пользователь может предотвратить, активировав неочевидную настройку Activate encryption of keys and passwords stored in RAM.

После активации этой настройки (и перезагрузке VeraCrypt) приложение будет хранить ключи шифрования в оперативной памяти в защищённом виде. Утечку ключей в файл гибернации и файл, создаваемый для «быстрой загрузки», разработчики VeraCrypt решили предельно прямолинейно путём отключения обеих функций на уровне системных настроек. В журнале howtogeek приводится объяснение:

“Быстрый запуск может угрожать безопасности зашифрованных дисков. Пользователи программ шифрования, таких как TrueCrypt, сообщают, что зашифрованные контейнеры, которые они установили перед выключением своей системы, были автоматически смонтированы при включении компьютера. Чтобы решить эту проблему, можно вручную размонтировать зашифрованные диски перед выключением компьютера. (Функция быстрого запуска не влияет на режим полного шифрования диска TrueCrypt, только на зашифрованные контейнеры. Также она не касается пользователей BitLocker.)”

Соответственно, при включении шифрования ключей в оперативной памяти VeraCrypt отключает функции быстрого запуска и гибернации в Windows. Если же пользователь не включил шифрование ключей памяти (а знает о существовании этой опции очень небольшое количество пользователей), то ключи VeraCrypt можно извлечь из файла гибернации. В случае отключения компьютера в режиме «быстрого запуска» из созданного небольшого файла гибернации можно попробовать извлечь ключи от криптоконтейнеров VeraCrypt (но не от тех дисков, в которых используется полнодисковое шифрование) при помощи Elcomsoft Forensic Disk Decryptor.

Анализ файла гибернации

Итак, файл гибернации создаётся в следующих ситуациях:

  1. Штатное выключение компьютера, если режим быстрого запуска в настройках Windows разрешён.
  2. Сон, если в настройках Windows разрешён «гибридный» режим.
  3. Гибернация.

Небольшой файл гибернации, созданный во время операции выключения, если активирован режим быстрого запуска, можно просканировать на наличие ключей от криптоконтейнеров TrueCrypt/VeraCrypt (но не ключей шифрования дисков, если используется полнодисковое шифрование). Файлы гибернации, созданные с помощью второго и третьего варианта, можно сканировать на предмет всех типов ключей шифрования, включая BitLocker + TPM.

Чтобы просканировать файл гибернации на предмет ключей шифрования, выполните следующие действия.

Запустите Elcomsoft Forensic Disk Decryptor. В главном окне выберите опцию Decrypt or mount the disk.

В настройках Key mining options выберите «Hibernation file«. Если вы знаете, какой именно криптоконтейнер использовался, отметьте его в настройках для ускорения поиска. Если вы не знаете, какой тип шифрования использовался, выберите все доступные параметры. В этом случае поиск займёт больше времени.

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

Теперь можно переходить к расшифровке диска.

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

Если ключи шифрования были обнаружены, инструмент предложит вам либо расшифровать диск целиком, либо смонтировать его в виде тома. Монтирование осуществляется через драйвер виртуального диска ImDisk (устанавливается вместе с Elcomsoft Forensic Disk Decryptor). Для этого нажмите Mount:

Режим сна и модули TPM: эксплуатация уязвимости «страшный сон TPM»

В любых системах безопасности встречаются уязвимости. Не избежали этой участи и модули TPM. В 2018 году корейские исследователи Seunghun Han, Wook Shin, Jun-Hyeok Park и HyoungChun Kim из National Security Research Institute представили на конференции Usenix научную работу под названием «Страшный сон».

Когда компьютер уходит в «спящий режим», TPM сохраняет свое состояние в NVRAM, а при выходе из этого режима восстанавливает его. И вот в этот момент некоторые модели модулей TPM позволяют подменить содержимое PCR регистров. Модуль TPM также ведет свой внутренний журнал, что позволяет узнать всю «цепочку доверия» в тот момент, когда в штатном режиме загружалась Windows, и модуль отдавал мастер-ключ шифрования диска. Исследователи тут же поставили в известность крупнейших производителей материнских плат: Intel, Lenovo, Gigabyte, Dell, hp. Уязвимость была закрыта в обновлениях BIOS. Однако очень немногие пользователи устанавливают обновления BIOS, так что в мире ещё много компьютеров, уязвимых к этой атаке.

Seunghun Han написал две утилиты:

Napper for TPM: https://github.com/kkamagui/napper-for-tpm

Имеет смысл запустить сначала его; это утилита для проверки TPM модуля на предмет наличия уязвимости «страшных снов». На странице есть ссылка на скачивание образа Live CD; достаточно записать его на USB накопитель (я для этих целей обычно пользуюсь отличной отечественной программой Rufus) и загрузить с неё исследуемый компьютер. К сожалению, все компьютеры в нашей тестовой лаборатории оказались неуязвимыми к этой атаке.

Вторая утилита это сам эксплоит: https://github.com/kkamagui/bitleaker

К сожалению, ее нет в виде Live CD, поэтому придется повозиться сначала с установкой Ubuntu на USB накопитель или внешний диск, а потом собрать и установить Bitleaker согласно инструкции. Для загрузки этой системы нужно либо отключить Secure Boot, либо подписать модифицированные загрузчик и ядро своей подписью и внести публичный ключ в BIOS компьютера. Подробную инструкцию можно найти, например, здесь.

Учтите, что добавление нового доверенного сертификата тоже изменяет содержимое регистров PCR, поэтому я бы советовал просто отключить Secure Boot при загрузке.

 


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

REFERENCES:

Elcomsoft Forensic Disk Decryptor

Elcomsoft Forensic Disk Decryptor обеспечивает моментальный доступ к содержимому зашифрованных дисков, созданных BitLocker, FileVault 2, PGP Disk, TrueCrypt и VeraCrypt. Доступны режимы полной расшифровки и оперативного доступа к информации. Ключи для расшифровки содержимого зашифрованных дисков извлекаются из слепка оперативной памяти компьютера, методом атаки через порт FireWire либо анализом файла гибернации. Возможно использования паролей и депонированных ключей.

Официальная страница Elcomsoft Forensic Disk Decryptor »

НАШИ НОВОСТИ