В 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. 

Подпишитесь на новости

Binance остановила ввод и вывод средств после взлома на $6,3 млрд

Криптобиржа Binance приостановила пополнение счетов и вывод средств после крупного инцидента в безопасности. По предварительной версии биржи, атакующий проник в инфраструктуру через скомпрометированный ноутбук DevOps-инженера. Оценка затронутых активов — около $6,3 млрд.

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

Совместно с партнёрами удалось заморозить около $3 млрд в блокчейне. Биржа отозвала аутентификацию соответствующего адреса, подключила правоохранителей и специалистов по блокчейн-аналитике. Ввод и вывод временно остановлены на время проверок безопасности.

Binance обещает покрыть все потери из фонда SAFU и собственных средств, а после устранения последствий — опубликовать обновлённое подтверждение резервов. Заявление о безопасности пользовательских средств пока исходит от самой компании.

Расследование продолжается: версия с ноутбуком предварительная. Подробный технический разбор биржа обещает после проверки фактов. Пока главный вопрос — как доступ к одному устройству превратился в возможность инициировать вывод такого масштаба.

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