ZeRO и No-FAT: аппаратная защита памяти без потери производительности

ZeRO и No-FAT: аппаратная защита памяти без потери производительности

ZeRO и No-FAT: аппаратная защита памяти без потери производительности

Исследователи из Колумбийского университета предложили два новаторских способа обеспечения безопасности по памяти аппаратными средствами. Оба метода можно реализовать, слегка изменив микроархитектуру. Тестирование показало, что при подходе No-FAT снижение производительности незначительно — около 8%; в случае ZeRØ потери равны нулю.

Безопасность доступа к памяти — давняя проблема, о которой каждый раз вспоминают при появлении серьезных угроз. За сорок лет было предложено множество различных решений, но они либо плохо работали, либо требовали жертв. Меры противодействия эксплойту Spectre и Meltdown, например, повлекли падение производительности — в среднем на 20%, в отдельных случаях в два раза. Кроме того, с появлением новых угроз используемая защита может потерять свою эффективность, и специалистам придется искать альтернативные решения.

Согласно описанию ZeRØ (PDF), этот механизм позволяет обеспечить защиту кода и указателей системы, притом без поражения в производительности. Его реализация предполагает замену инструкций обращения к памяти и схемы кодирования метаданных — по словам авторов проекта, эти изменения можно привнести в современные процессоры без особого труда. Университетские исследователи предлагают использовать ZeRØ в дополнение к средствам противодействия атакам на память.

 

Техника No-FAT (PDF) была разработана с прицелом на снижение потребления ресурсов при проверках безопасности по памяти. С этой целью авторы исследования предложили использовать группировку распределителей памяти (memory allocator binning) — набрающий популярность метод, который позволяет ускорить вычисление начального адреса и размера участка памяти, выделенного под указатель, притом выполнять это во время доступа к данным.

Применение No-FAT, по словам разработчиков, снимает многие проблемы, свойственные традиционным подходам, — такие как совместимость с незащищенным софтом и заметное падение производительности. Прогон тестов SPEC CPU2017 показал, что при новом способе защиты памяти быстродействие снижается примерно на 8%.

Среди прочих достоинств создатели No-FAT особо отметили надежную защиту от некоторых видов Spectre-атак. Их метод также позволяет значительно ускорить фаззинг при поиске уязвимостей, автоматическую очистку памяти, улучшить предсказуемость предвыборки данных и работы контроллеров DRAM.

 

Финансирование проектов ZeRØ и No-FAT частично осуществлялось за счет грантов, полученных от ВМС и ВВС США, а также целевой дотации Qualcomm. Спецподразделение ВВС уже работает над созданием чипов с новой встроенной защитой.

Уязвимости CrackArmor угрожают 12,6 млн Linux-серверов полным захватом

Исследователи из Qualys раскрыли сразу девять уязвимостей в AppArmor — одном из базовых защитных механизмов Linux. Эту группу дыр назвали CrackArmor. Опасность в том, что баги позволяют локальному непривилегированному пользователю обойти защитные механизмы, повысить привилегии до root и в отдельных сценариях выбраться за пределы контейнера.

По данным исследователей, уязвимости существуют ещё с 2017 года. История выглядит особенно неприятно потому, что AppArmor — вовсе не экзотика для специалистов.

В Ubuntu он загружается по умолчанию и отвечает за мандатное управление доступом, то есть ограничивает возможности приложений с помощью профилей. Именно поэтому новость касается не только отдельных серверов, но и облачных сред, контейнерной инфраструктуры и корпоративных Linux-систем в целом.

В основе CrackArmor лежит так называемая проблема «обманутый посредник» (confused deputy). Проще говоря, атакующий сам не может напрямую переписать системные политики, зато способен заставить сделать это доверенные и более привилегированные процессы. В результате ломается сама граница безопасности, на которую администратор рассчитывал.

 

Если эксплуатация проходит успешно, последствия могут быть очень неприятными. Речь идёт не только о локальном повышении привилегий до root, но и о нарушении контейнерной изоляции, а также о DoS-сценариях, когда система может уйти в сбой из-за переполнения стека ядра при работе с глубоко вложенными профилями. Кроме того, атакующий может фактически ослабить защиту важных сервисов, убрав или подменив критические ограничения.

Отдельный тревожный момент: на момент публикации у этих уязвимостей ещё нет официально присвоенных CVE-идентификаторов. Но это как раз тот случай, когда ждать появления номеров в реестрах не стоит. Механизмы эксплуатации уже описаны публично, а значит, у защитников времени на раскачку немного.

Поэтому главный совет прост: как можно быстрее ставить обновления ядра от своего вендора и проверять, какие системы остаются без патчей.

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