Уязвимость декодера AVX2 ядра операционной системы Linux существует из-за недостаточной проверки входных данных. Эксплуатация уязвимости может позволить нарушителю выполнить произвольный код
Компенсирующие меры:
- включение DEP для предотвращения выполнения кода на участках памяти, которые предназначены для хранения данных. В Linux поддержка DEP реализована через использование флага NX на процессорах, поддерживающих данную функцию. Ядро системы управляет включением DEP, а настраивается это через разметку прав доступа к страницам памяти.
Пример настройки в Linux:
cat /proc/cpuinfo | grep nx
Если CPU поддерживает DEP, флаг nx будет указан. DEP включается автоматически на современных ядрах.
- использование ASLR. В Linux поддержка ASLR включена по умолчанию начиная с версии ядра 2.6.12. Статус ASLR можно проверить и настроить через файл /proc/sys/kernel/randomize_va_space:
0 — ASLR отключен.
1 — Рандомизация для стека и динамических библиотек.
2 — Полная рандомизация (включая исполняемый код и кучу)
Пример настройки:
Чтобы убедиться, что ASLR включен:
cat /proc/sys/kernel/randomize_va_space
Если результат — 2, значит включена полная рандомизация.
- использование CPU без поддержки AVX2;
- включение технологий виртуализации (например, VT-x/AMD-V) и внедрение гипервизоров, которые могут отслеживать выполнение кода на более низком уровне и блокировать попытки выполнения вредоносных инструкций;
- внедрение политики W^X (Write XOR Execute);
- использование EMET (Enhanced Mitigation Experience Toolkit) или аналогов;
- мониторинг и контроль целостности памяти.
| Балл | 6.9 — высокая опасность |