Bitlocker на сегодняшний день является одним из самых легкодоступных решений для шифрования, являясь встроенной функцией Windows 10 Pro и Windows 11 Pro, предназначенной для защиты ваших данных от посторонних глаз. Однако, ютубер продемонстрировал колоссальный недостаток безопасности Bitlocker, который позволил ему обойти Windows Bitlocker менее чем за минуту с дешевым Raspberry Pi Pico стоимостью менее 10 долларов, тем самым получив доступ к ключам шифрования, которые могут разблокировать защищенные данные. После создания устройства эксплойту потребовалось всего 43 секунды, чтобы украсть мастер-ключ.
Для этого ютубер воспользовался недостатком конструкции, обнаруженным во многих системах, которые оснащены специальным доверенным платформенным модулем (TPM). В некоторых конфигурациях Bitlocker использует внешний доверенный платформенный модуль для хранения критически важной информации, такой как регистры конфигурации платформы и главный ключ тома (некоторые ЦП имеют встроенную функцию). Для внешних доверенных платформенных модулей ключ доверенного платформенного модуля обменивается данными с ЦП по шине LPC, чтобы отправить ему ключи шифрования, необходимые для расшифровки данных на диске.
Stacksmashing обнаружил, что коммуникационные линии (шина LPC) между ЦП и внешним доверенным платформенным модулем полностью незашифрованы при загрузке, что позволяет злоумышленнику перехватывать критически важные данные при их перемещении между двумя устройствами, тем самым похищая ключи шифрования. Вы можете увидеть его метод на видео ниже.
Учитывая это, ютубер решил протестировать атаку на ноутбук десятилетней давности с шифрованием Bitlocker. Шина LPC его ноутбука читается через незадействованный разъем на материнской плате, расположенный рядом с одним из портов M.2 ноутбука. Этот же тип атаки может быть использован на новых материнских платах, использующих внешний TPM, но для перехвата трафика шины обычно требуется больше усилий.
Для считывания данных с разъема ютубер создал дешевое устройство Raspberry Pi Pico, которое могло подключаться к незащищенному разъему, просто вступая в контакт с выступающими из него металлическими контактами. Pico был запрограммирован на считывание необработанных 1 и 0 с TPM, предоставляя доступ к мастер-ключу, хранящемуся на модуле.
Работа Stacksmashing демонстрирует, что Windows Bitlocker, а также внешние доверенные платформенные модули не так безопасны, как многие думают, потому что каналы данных между доверенным платформенным модулем и процессором не зашифрованы. Хорошая новость заключается в том, что эта уязвимость, по-видимому, является проблемой, регулируемой дискретными TPM. Если у вас есть процессор со встроенным доверенным платформенным модулем, как в современных процессорах Intel и AMD, вы вероятнее всего защищены от этой уязвимости, поскольку весь обмен данными с доверенным платформенным модулем происходит внутри самого процессора.