[О блоге] [наверх] [пред] [2023-05-03 11:44:40+03:00] [014ddcf04ae4bf6ca30bfc1e6febb4c00c18984f]
Темы: [crypto]

Безопасность AMD Zen 2/3 и TPM

https://3dnews.ru/1086074/protsessori-amd-na-zen-2-i-zen-3-okazalis-uyazvimi-k-atake-cherez-modul-bezopasnosti-tpm
Пишут, что на этих системах можно за 200$ TPM атаковать так, что
получить доступ ко всем ключам.

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2023-05-03 12:53:14Z
    
    Только не "модуль безопасности TPM", а fTPM - его программную эмуляцию.
    
    У современных процессоров от Intel и AMD есть сервисные ядра, на которых
    работает высокопривилегированный код. Он загружается с той же
    микросхемы, что и прошивка (BIOS) для обычных ядер, но ни у этой
    прошивки, ни у ОС нет возможности контролировать выполнение этого кода -
    для общения с ними предусмотрен довольно узкий интерфейс. Можно
    воспринимать программно-аппаратный комплекс из сервисных ядер и кода,
    как BMC, только степень интеграции ещё более тесная.
    
    Конечно же, компании-производители достаточно быстро стали добавлять
    "безопасность" в свои продукты, не честно реализуя новые фичи аппаратно,
    а заменяя их на программные аналоги, как модули внутри этого кода. То
    есть у основных ядер есть интерфейсы, которые никому трогать нельзя, а
    коду, работающем на сервисных ядрах - можно. Достаточно добавить
    в железо уникальный для экземпляра ключ, потребовать подписи (хотя бы
    части) прошивки ключом производителя, а всё остальное можно дописать
    потом модулями, не обновляя аппаратную часть.
    
    У fTPM есть преимущество над дискретным TPM-модулем (dTPM) - последний
    подключается к системе через медленную шины - SPI, I²C или (что чаще
    всего происходит на настольных ПК) LPC; все они достаточно медленные,
    чтобы можно было перехватывать или даже активно вмешиваться в трафик.
    fTPM же исполняется внутри кристалла процессора, и "подлезть" туда уже
    значительно сложнее. Ещё fTPM дешевле для потребителя.
    
    Из недостатков - поскольку это всего лишь ещё один модуль внутри
    сложного программного продукта, ошибка в соседнем модуле может
    скомпрометировать всю "безопасность".
    
    Исследование, на которое ссылается статья, описывает атаку, требующую
    физического доступа к машине, чтобы сделать voltage glitch. Интересно,
    что при использовании схемы TPM+пароль, Microsoft BitLocker обеспечивает
    лучшую безопасность, чем systemd-cryptenroll - если злоумышленник
    применит описанный в исследовании способ, то он получит полное состояние
    TPM, и сможет извлечь оттуда секреты. systemd-cryptenroll полагается на
    то, что TPM проверит пароль и защитит себя от его перебора с помощью
    lockout mechanism, а BitLocker дополнительно шифрует ключ паролем.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2023-05-04 08:01:16Z
    
    *** kmeaw [2023-05-03 13:50]:
    >Только не "модуль безопасности TPM", а fTPM - его программную эмуляцию. [...]
    
    Спасибо за подробное описание и коррекцию, интересно!