Уязвимость Lost Pointer позволяет злоумышленникам скомпрометировать устройство на определенной стадии спящего режима.
В рамках конференции Black Hat Asia 2018 исследователи кибербезопасности из Национального научно-исследовательского института безопасности Южной Кореи продемонстрировали новый вектор атаки S3 Sleep, направленный на среду Intel Trusted eXecution Environment (TXT). Уязвимость в Intel TXT позволяет хакерам скомпрометировать устройство во время его выхода из спящего режима.
Intel TXT представляет собой аппаратный функционал, поддерживающий технологию DRTM и проверяющий надежность платформы во время загрузки и запуска. Данная атака нацелена на функцию доверенной загрузки (tBoot) – одну из реализаций Intel TXT, обычно используемую в серверных средах. tBoot является проектом с открытым исходным кодом, защищающим монитор виртуальной машины (VMM) и операционную систему.
В ходе презентации исследователи продемонстрировали эксплоит для уязвимости Lost Pointer (CVE-2017-16837), которая представляет собой программную ошибку в tBoot. По словам специалистов, ранее о данном векторе атаки не было известно, а для успешной эксплуатации злоумышленникам нужны привилегии суперпользователя.
В средах ПК, ноутбуков и серверов, поддерживающих расширенный интерфейс конфигурации и мощности (ACPI), существует шесть стадий спящего режима, которые постепенно уменьшают потребление энергии, когда устройство выключается. Стадии обозначаются от S0 до S5 по мере того, как процессор, устройства и ОЗУ переходят в полный спящий режим. Питание процессора и устройств отключается на стадии S3. Из-за отключения питания их состояния должны быть восстановлены и повторно инициализированы, однако данный процесс можно перехватить, пояснили специалисты.
По словам экспертов, существуют механизмы защиты от данного вектора атаки, например, безопасная загрузка Unified Extensible Firmware Interface (UEFI) проверяет криптографическую подпись двоичного файла перед выполнением и останавливает его, если в исполняемом файле отсутствует действительная подпись, а Measured boot измеряет хэш двоичного кода перед выполнением и сохраняет результат в доверенном платформенном модуле (TPM).
ТPМ представляет собой аппаратное устройство безопасности, широко распространенное в коммерческих устройствах. В нем предусмотрены генератор случайных чисел, функции шифрования и регистры конфигурации платформы (PCR), которые хранят хэши и могут использоваться для защиты данных.
Когда система выходит из спящего режима, она должна включать функции безопасности процессора и восстанавливать регистры конфигурации платформы. Однако из-за уязвимости tBoot не проверяет все указатели функции, что может потенциально привести к выполнению произвольного кода. Проэксплуатировав уязвимость Lost Pointer на устройстве, находящемся в стадии S3, злоумышленник может подделывать значения PCR, обойдя механизм защиты Intel TXT.
Исследователи порекомендовали обновить tBoot до последней версии или отключить функцию сна в BIOS для защиты от атак подобного рода.
И мы тоже не спим, чтобы держать вас в курсе всех угроз