BitLocker — одно из наиболее доступных и популярных сегодня решений в области шифрования данных. Это встроенная функция Windows 10 Pro и 11 Pro, но её слабым местом является выделенный чип TPM (Trusted Platform Module) на материнской плате, данные которого можно быстро перехватить при помощи одноплатного компьютера Raspberry Pi Pico с ценником менее $5.
На некоторых системах процессор обменивается ключом шифрования диска с чипом TPM по шине LPC, и этот ключ передаётся без шифрования, что позволяет злоумышленнику перехватывать критически важные данные между двумя компонентами. Гипотезу решили подтвердить при помощи ноутбука Lenovo десятилетней давности — нечто подобное можно было бы реализовать и на некоторых более современных машинах, но для перехвата трафика шины LPC, возможно, потребовалось бы больше усилий.
В данном случае информация с шины LPC оказалась доступной через свободный разъем. Автор опыта построил недорогое устройство на базе Raspberry Pi Pico, которое смогло подключаться к этому разъёму, соприкасаясь с ним контактами. Недорогой одноплатный компьютер запрограммировали на считывание последовательности единиц и нулей с частотой 25 МГц, то есть каждые 40 нс.
Результат оправдал ожидания: Raspberry Pi Pico успешно считал у TPM ключ шифрования диска. Накопитель с зашифрованным системным диском Windows подключили к машине под Linux, ввели полученный ключ шифрования и открыли доступ ко всем файлам и папкам на диске. Автор проекта засёк время на секундомере и повторил свой опыт — он вскрыл компьютер и считал ключ менее чем за 43 с.
Следует отметить, что этот способ взлома работает только на материнских платах с выделенным чипом TPM. Функции этого чипа встраиваются в современные процессоры Intel и AMD и реализуются программно через fTPM (Firmware TPM) — в этом случае взлом с помощью Raspberry Pi Pico не сработает.
Источник: