В LLVM/Clang добавлена техника защиты стека SafeStack

В LLVM/Clang добавлена техника защиты стека SafeStack

В компилятор Clang добавлен код подсистемы SafeStack, предназначенной для защиты от типовых ошибок, вызванных повреждением памяти в результате работы со стеком и являющихся причиной большого числа эксплуатируемых уязвимостей (например, в 2014 году в Firefox было выявлено 55 подобных уязвимостей).

SafeStack позволяет предотвратить получение контроля над помещёнными в стек указателями в программах на C/C++ через сохранение указателей (адреса возврата, указатели на функции и т.п.) в отдельной изолированной области памяти, доступ к которой производится только с использованием специальных проверок корректности обращения к памяти. Таким образом, стек приложения разделяется на две части - защищённый стек для хранения указателей, адресов из регистров и локальных переменных, и незащищённый стек, в котором сохраняется всё остальное. В защищённый стек данные добавляются только после статической проверки и доступ к ним ограничен, что существенно усложняет организацию получения контроля над выполнением кода в результате совершения атак, пишет opennet.ru.

Накладные расходы от реализуемых в SafeStack дополнительных проверок несущественны и составляют 0.01-0.05%, что существенно меньше, чем при использовании методов на основе добавления меток в стек (stack cookies). Более того, в некоторых случаях наблюдается даже ускорение работы программы за счёт более эффективного использования кэша. Метод защиты отмечен как стабильный и уже опробованный при сборке Chromium, базовой системы FreeBSD и более 100 пакетов. Для включения SafeStack в clang добавлены новые опции "-fsafe-stack" и "-fno-safe-stack" (по умолчанию новый режим отключен), для отключения режима для отдельных функций реализован атрибут no_safe_stack. 

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Защита ядра Linux не спасает от эксплуатации CVE-2024-50264

Исследователи нашли новый способ эксплуатации уязвимости в ядре Linux — CVE-2024-50264. Этот баг в подсистеме AF_VSOCK позволяет вызвать use-after-free в объекте virtio_vsock_sock во время операций соединения. Уязвимость существует ещё с версии ядра 4.8 и опасна тем, что её можно эксплуатировать без привилегий пользовательских пространств.

До недавнего времени считалось, что из-за механизмов защиты ядра — вроде рандомизации slab-кешей и защиты от состояния гонки (race condition) — эксплуатация крайне затруднена.

Но исследователи смогли обойти эти барьеры и показали, что атака вполне реальна. За это уязвимость даже получила премию Pwnie Award 2025 в номинации «Лучшая эскалация привилегий».

Ключ к успеху — нестандартные техники. В частности, уязвимость удаётся стабильно воспроизводить с помощью «бессмертного» POSIX-сигнала, прерывающего системный вызов connect() и создающего состояние гонки.

Дальше атакующие управляют распределением памяти так, чтобы освободившиеся объекты занимали нужные структуры, и подменяют их своими данными.

В процессе удаётся повредить критические объекты ядра, например msg_msg и pipe_buffer. Это открывает доступ к утечкам информации и чтению / записи произвольных адресов в памяти ядра. Для этого эксплойт задействует очередь сообщений, позволяя вытащить чувствительные указатели, включая данные об учётных записях.

 

Разработчики отметили, что новые техники напоминают известные эксплойты вроде Dirty Pipe, но приспособлены для более жёстких условий. В итоге появляется относительно «прямая» дорожка для повышения привилегий на современных Linux-системах.

Эксперты подчёркивают: CVE-2024-50264 — это критическая уязвимость, требующая срочного патча и внимательного анализа мер защиты ядра. Проект kernel-hack-drill, с помощью которого исследователи отрабатывали эксплойты, теперь используют как платформу для изучения подобных атак.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru