Короткая заметка проверки уязвимости Intel Trusted Execution Technology

В статье использовались: Ubuntu 16.04, tBoot 1.9.6, TPM 1.2.

Сначала проверим работает-ли intel txt на Ubuntu с ядром 4.10.0-28 командой:
sudo txt-stat

как видим, mle успешно запущен, и секретный флаг установлен верно
как видим, mle успешно запущен, и секретный флаг установлен верно

txt-stat показывает хеши системы. Хэши могут быть использованы злоумышленником для ответа и выполнения обычных PCRs.

Проверим динамику PCRs от TPM:

И как видим первые два символа начинаются с 8AF3, AB69, 4836.

Теперь повторим те же самые действия на 4.10.17+malicious:

А тут первые два символа начинаются с 8AF3, 0E89, 486A.

Сравним оба файла и посмотрим изменения:
git diff normal_pcrs.txt malicious_pcrs.txt

Видим, что PCR-18 и PCR-19 отличаются, из-за ядра malicious.

Запускаем "Lost Pointer" для эксплуатации уязвимости tboot:sudo insmod lostpointer/lostpointer.kodmesg

insmod - команда для вставки модуля в ядро;
dmesg - команда для вывода буфера сообщений ядра в стандартный поток вывода (stdout) (по умолчанию на экран).

Как видим, модуль отображает информацию о tBoot и тело шеллкода. Теперь перейдем в предыдущую ос, и проверим изменения в PCR.

Как видим, первые два символа изменились (PCR 17-19), и при сравнивании с помощью git diff получаем следующее:

Система malicious стала иметь теже PCR как и обычная система. Через редактор vi сравним оба файла:
vi -o normal_pcrs.txt sleep_malicious_pcrs.txt

Комментарии (3)


  1. NeoCode
    02.08.2022 12:26
    +1

    Судя по красивым шестнадцатеричным дампам наверняка что-то интересное, но очень хочется увидеть хотя-бы краткое введение - а что-же собственно такое эта Intel TXT vulnerability?


    1. lexac Автор
      02.08.2022 14:14

      Предлагаю ознакомится с предыдущей статьёй https://habr.com/ru/post/679956/


  1. Johan_Palych
    02.08.2022 17:38

    Проверять уязвимости на Ubuntu 16.04 (End of Standard Support - April 2021)?
    Может быть включена Extended Security Maintenance (ESM) и Livepatch для Ubuntu?