Как стать автором
Обновить

Опенсорсный чип OpenTitan заменит проприетарные корни доверия Intel и ARM

Время на прочтение6 мин
Количество просмотров13K
Всего голосов 35: ↑33 и ↓2+31
Комментарии10

Комментарии 10

Google попыталась избавиться от Intel Management Engine (ME), но неудачно.
Неудивительно, поскольку Management Engine (как и Platform Security Processor у AMD) выполняет ряд важных функций, без которых запуск платформы невозможен.

Мне кажется, что для таких крупных (и гос) заказчиков High Assured Platform систем, Intel как раз и предусмотрел отключение ME, который подсмотрели тут https://habr.com/ru/company/pt/blog/336242/

Тот бит не отключает ME полностью. И небезызвестный me_cleaner не удаляет ME полностью.

Полностью избавиться от ME нельзя (начиная с ME 6, за одним мелким исключением) по двум причинам: во-первых, как уже было сказано, этот сопроцессор играет важную роль в процессе запуска платформы, во-вторых, даже если удалось запуститься без него, watchdog в чипсете инициирует жёсткую перезагрузку через определённое время. Т.е. можно даже исхитриться и написать открытую (coreboot) и свободную (libreboot) прошивку для мат.платы, но там обязательно будет сидеть пусть урезанный, но проприетарный блоб, который отработал при запуске и полного доверия которому нет.

У AMD то же самое, только опция «отключить ядро безопасности после старта» зачастую удобно вынесена в настройки BIOS (хотя, параноики, скорее, выберут Intel, потому что у Intel блоб можно не просто попросить «отключи себя после запуска», но и подрезать, что даёт чуть больше уверенности).

По заказу особо крупных партнёров Intel готова даже делать изначально урезанные прошивки (а не просто «вот вам бит, взведите его»). Пример — Apple. Но, опять же, даже там Management Engine всё равно есть, хоть и со значительно подрезанными крыльями.

Я как раз про отключение после запуска. В текущей ситуации про полное отключение уже речи быть не может. А параноикам ничто не поможет, архитектура там закрытая, может там еще один служебный ME работает. Или соседняя с процессором сетевуха данные из памяти читает и шлёт кому надо.

Arm trustzone не является корнем доверия и служит другим целям. Корень доверия в арм — бутлодер, зашитый на soc без возможности его подменить.

Корнем доверия является ROM-код, который проверяет подпись следующего загрузчика, загрузчик может проверить подпись ядра обратившись к Secure Monitor.

Это вы уже описываете trust chain и способы ее реализации (где, кстати, сама по себе трастзона не является чем-то обязательным, secure element может быть и частью загрузчика). Но это уже вопросы реализации, суть в том, что trust zone не является «корнем доверия» как написано в статье:
В разных процессорах корень доверия реализован по-разному
Не понимаю: даже если архитектура процессора отрыта, как можно проверить, что именно эта архитектура внутри кремниевого чипа? Микроскопом? Или там найдено более красивое решение.

Сомневаюсь, что можно микроскопом или как-то еще. Технологии создания 3D/HBM чипов позволят сделать сверху слой или просто наклеить доверенный чип поверх своего. Опять же, никто не дасть гарантий работы после вскрытия микросхемы. Ценность в открытой архитектуре, в которой общими усилиями можно исправить серьезные недочёты до релиза и в том, что это общий подход к безопасности загрузки систем. Легче будет защищаться от буткитов в UEFI.


С другой стороны, сейчас у каждой железки в компьютере/сервере свои процессоры и полный доступ к памяти через тот же PCI Bus Master DMA, и на каждой свой перешиваемый биос. Про Intel ME и его баги тоже уже сказали. Простор для серьезных атак не сильно то уменьшается.

звучит как IBM PC или как появление первых bios, когда хоть какие то стандраты появились, но весь вопрос в том, а будут ли это поддерживать производители железа в частности Intel,AMD и всякие ARM, потому что какой смысл в корне доверия, если он будет скомпрометирован на уровне еще ниже
Зарегистрируйтесь на Хабре, чтобы оставить комментарий