СВЕГА-Компьютер

Новая уязвимость снова отправляет Intel и AMD на поиски её исправления

Новый вариант уязвимости кэша микроопераций

В целях повышения производительности в 2011 году Intel и AMD представили архитектуры процессоров, в которых сложные инструкции разбиваются на маленькие команды, так называемые микрооперации. Эти микрооперации хранятся в специальном кэше, откуда впоследствии извлекаются в процессе спекулятивного исполнения. Под спекулятивным исполнением принято считать набор алгоритмов, позволяющих существенно ускорить обработку данных за счёт того, что при выполнении команды процессор старается предсказать и исполнить команду целиком или частично, ещё до того, как будет получена соответствующая инструкция.

4-го января 2018 года была впервые описана уязвимость Spectre, использовавшая особенности работы алгоритма спекулятивного исполнения. Уязвимость заключается в том, что с помощью специального вредоносного программного обеспечения можно заставить процессор исполнять не нужные для текущего процесса команды, делая доступным для чтения кэш процессора, позволяя злоумышленнику считывать его содержимое практически с той же скоростью, с которой процессор обменивается данными с памятью. С момента первого опубликования деталей уязвимости, новые варианты Spectre появлялись почти каждый месяц, что заставляло производителей процессоров постоянно разрабатывать всё новые и новые защитные механизмы для их устранения.

Исследователи из Университета Вирджинии на прошлой неделе заявили, что они обнаружили новый вариант уязвимости, ломающий практически все встроенные средства защиты процессоров от Spectre-уязвимостей, которые Intel и AMD внедрили на сегодняшний день. Исследователи первыми использовали кэш микроопераций в качестве побочного канала или средства для наблюдения за конфиденциальными данными, хранящимися внутри уязвимой вычислительной системы. По их утверждению, атака по новому методу позволяет обойти целый ряд существующих защит и не может быть обнаружена ни одним из существующих профилей атак или вредоносных программ.

Корпорация Intel проверила опубликованный исследователями отчёт и заявила, что существующие встроенные в процессор средства защиты обойдены не были, что такой сценарий атаки уже был рассмотрен в руководстве Intel по безопасному программированию, и что никаких новых мер и рекомендаций по безопасности не требуется. Программное обеспечение, которое следует рекомендациям Intel по безопасному программированию, устойчиво к таким атакам, включая вариант, представленный вирджинскими исследователями. Ключевым в рекомендациях Intel является программирование с использованием алгоритма константного времени, при котором программный код пишется секрето-независимым.

По данным портала ARStechnica, в ответ на это один из авторов исследования, Ашиш Венкат, профессор кафедры информатики в Университете Вирджинии, отметил, что программирование с использованием алгоритма константного времени, конечно, является эффективным для написания неуязвимых для атак приложений. Однако такое программирование не только чрезвычайно сложно с точки зрения реальных усилий программиста, но и влечет за собой серьезные проблемы с развертыванием, связанные с исправлением всего важного программного обеспечения, которое когда-либо было написано.

Профессор Венкат отметил, что обнаруженный в процессе исследования метод атаки эффективен против всех процессоров Intel, разработанных, начиная с 2011 года. Процессора AMD также могут быть подвержены несколько модифицированной атаке, в результате которой злоумышленники могут создать скрытый межпоточный канал, по которому смогут передавать секреты с пропускной способностью 250 Кбит / с и частотой ошибок 5,6 процента.

Новая уязвимость влечёт за собой серьёзные риски, но в данный момент, в основном, чисто теоретические, поскольку уязвимости Spectre используются злоумышленниками очень редко. Тем не менее, наличие таких уязвимостей должно вызывать больше беспокойства у разработчиков программного обеспечения, и открытый исследователями из Вирджинии метод атаки, должен это беспокойство только усиливать. Используемая исследователями уязвимость находится в самом процессоре (как Intel, так и AMD) и для её закрытия требуется исправление микрокода. Время покажет, будут ли эти процессорные гиганты принимать меры по ликвидации новой уязвимости и насколько эти меры окажутся эффективными.