В 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, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Опубликованные ключи ASP.NET используются для развертывания вредоносов

В конце прошлого года специалисты Microsoft зафиксировали серию атак инъекцией кода, проведенных с использованием статических ключей ASP. NET. В одном из случаев злоумышленникам удалось внедрить в IIS-сервер инструмент постэксплуатации Godzilla.

Примечательно, что validationKey и decryptionKey, предназначенные для защиты данных ViewState от подмены и утечки, не были украдены или куплены в даркнете. Их можно найти онлайн, исследователи обнаружили более 3 тыс. таких сливов.

Обычно ключи ASP. NET генерируются по месту и сохраняются в реестре либо задаются вручную в конфигурационных файлах. К сожалению, некоторые разработчики веб-приложений используют готовые, отыскав их в паблике (документация на код, репозитории), притом без изменений.

Злоумышленникам такие находки тоже облегчают жизнь. При наличии верительных грамот для ViewState отправленный на сайт вредоносный POST-запрос будет с успехом обработан, пейлоад загрузится в память рабочего процесса и запустится на исполнение.

Подобная тактика позволяет автору атаки удаленно выполнить вредоносный код на сервере IIS и развернуть дополнительную полезную нагрузку — к примеру, фреймворк Godzilla с плагинами.

 

«Человеческий фактор нередко приводит к печальным результатам, разработчикам следует понимать, что статические ключи должны быть уникальными и защищёнными, — комментирует эксперт компании «Газинформсервис» Михаил Спицын. — Размещение таких данных в открытых репозиториях или документах эквивалентно предоставлению злоумышленникам несанкционированного доступа к системе».

Похожие атаки были проведены лет пять назад на серверы Microsoft Exchange. Злоумышленники пытались использовать ошибку разработчика, которую тот устранил двумя неделями ранее: все экземпляры Exchange Server использовали одни и те же значения validationKey и decryptionKey, прописанные в web.config.

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

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