В выпуске Fedora Linux 45, намеченном на осень 2026 года, на системах x86_64 планируют по умолчанию включить использование теневого стека (shadow stack) для блокирования работы эксплоитов, перезаписывающих адрес возврата функций в случае переполнения буфера в стеке. Защиту намерены активировать для всех приложений и библиотек, собранных при помощи компиляторов gcc (C, C++), clang (C, C++) и rustc (Rust). План пока не утверждён комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки Fedora Linux. Инициатором включения теневого стека в Fedora является Арджун Шанкар (Arjun Shankar) из компании Red Hat, сопровождающий пакеты с glibc в Fedora и RHEL.
Защита реализуется с использованием аппаратных возможностей процессоров и сводится к тому, что после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном "теневом" стеке, который не может быть изменён напрямую. Перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека. Несовпадение адресов приводит к генерации исключения, блокирующего ситуации, когда эксплоиту удалось перезаписать адрес в основном стеке. Механизм теневого стека поддерживается начиная с 11 поколения процессоров Intel ("Tiger Lake" и "Rocket Lake") и микроархитектуры Zen3 в процессорах AMD.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65825
(opennet.ru, мини-новости)
[ON] В Fedora 45 намерены включить защиту на основе теневого стека
Модератор: Модераторы разделов
-
rssbot
- Бот
- Сообщения: 6000
- ОС: gnu/linux