Бесплатно Бэкдоры в микрокодах

Everest_RR

Местный
Private Club
Регистрация
8/10/18
Сообщения
232
Репутация
20
Реакции
255
RUB
0
original_6.jpg


Бэкдоры в микрокодах ассемблерных инструкций

Человек уже давно работает с софтом, осуществляет его аудит, проводит обратную инженерию. Все процессы зависят от маленького кусочка кремния, который руководит и «командует» посылаемыми запросами. Но проблема современного железа – это появление ошибок, уязвимостей, троянов, бэкдоров.

ISA х86 считается одной из самых долгих непрерывно изменяющихся «архитектур набора команд» в истории. Изменения и обновления начали появляться еще с 1976 года. Количество команд и инструкций увеличивается с каждым годом. Архитектура процессора становится похожей на переплетенный лабиринт новых и «древних» технологий. Среда сложная, поэтому зачастую возникают проблемы с кибербезопасностью процессора, что не дает ему стать претендентом на роль доверенного корня киберинфраструктуры.

Доверять или нет?

Чтобы железо было в безопасности, необходимо подумать о безопасности его ПО. Зачастую проблема идет от железа, с которым имеет дело пользователь. Самыми распространёнными моделями с высокой степенью безопасности считаются Intel SGX, AMD Pacifica и другие. Публикации о критических сбоях отмечаются очень часто, что позволяет безоговорочно доверять им.

Современные х86 процессоры – это переплетения новых и антикварных технологий, о чем говорит большое количество недокументированных инструкций для разблокировки процессора и открытия доступа к данным. Количество аппаратных уязвимостей просто огромно. Это позволяет мошенникам легко не только брать под контроль ваше железо, но и делать с данными все, что им вздумается без оставления цифрового следа.

Что примечательного в современном железе?

Современные процессоры уже неправильно называть «железом», так как критичная фугкциональность обеспечивается перепрошитым микрокодом, ранее который был ответственным за декодирование и выполнение сложных ассемблерных инструкций. Со временем ответственность за обработку операций внутри процессора возросла. Такие расширения, как AVX и VT-d, уже реализуются в микрокоде.

Современный микрокод ответственен за сохранение состояние процессора, управление кэшем и энергосбережением. Наличие механизма прерывания, реализованного на микрокоде, необходим для энергосбережения.

Для чего нужен микрокод?

Использование микрокода производителями процессоров х86 необходим для упрощения аппаратной архитектуры и облегчения диагностики. Микрокод можно назвать интерпретатором между внешней и внутренней архитектурой.

Если появляются ошибки в CISC-архитектуре, то наличие обновлений может быть закачано через BIOS/UEFI или ОС. Такие обновления позволяют экономить время и снижают затраты. Общеизвестная ошибка fdiv еще в 1994 году показала то, что любое железо, как и софт, может подвергаться ошибкам.

Именно поэтому Intel и AMD начали внедрять технологии микрокодов. Не стоит забывать о том, что даже законные ассемблерные инструкции применяются для сокрытия троянского кода. Причем активация может быть произведена удаленно.
Читать статью на:
 
Сверху Снизу