В каждом процессоре Intel обнаружена причудливая уязвимость
Брешь в подсистеме безопасности пригодна для эксплуатации в 64-разрядных Linux, Windows, BSD и потенциально OS X.
Группа CERT выявила, что уязвимость опирается на сложный механизм копирования памяти из одного уровня безопасности на другой. Когда AMD создавала свой набор команд x86-64, было принято решение ограничить адресуемое пространство 48 разрядами, оставив неиспользуемыми прочие разряды до 64-го. Для противодействия хакерам, которые могут попытаться разместить зловредные данные в пустующей области, AMD-процессоры требуют так называемых канонических адресов, в которых разряды с 48 по 64 заполнены одинаково бессмысленными данными. Если пользователь без привилегированных прав попытается поднять свои права с неканоническими адресами, в AMD-чипах сработает защита с перезагрузкой программного обеспечения в безопасное место на уровне ядра.
Процессоры Intel работают сходным образом, но всё же несколько иначе в том, что касается обработки указанных адресов. На различных этапах в ходе повышения прав доступа выполняется проверка на каноничность адресов, и хакеру вполне по силам создать особый стек кода, который обманет процессоры Intel, восстанавливая неканонические адреса после общего отказа защиты. Как только подобное произошло, процесс на уровне ядра укажет на пустующую область, содержащую готовый к выполнению вредоносный код, причем с запуском на самом высоком уровне безопасности.
Впрочем, уязвимость требует предварительного запуска специального подготовленного кода локальным пользователем, что изрядно снижает вероятность эксплуатации бреши, особенно после выпуска заплаток для операционных систем.
© СОТОВИК