Kasper, сканер устройств для спекулятивного кода в ядре Linux

Группа Об этом рассказали исследователи из Свободного университета Амстердама. через сообщение в блоге инструмент под названием "каспер" которые подчеркивают, что это предназначен для идентификации фрагментов кода в ядре Linux, которое можно использовать для взлома Уязвимости класса Spectre вызвано спекулятивным выполнением кода процессором.

Для тех, кто не знает об этом типе атаки, они должны знать, что уязвимости класса, такие как Spectre v1, позволяют определить содержимое памяти, в привилегированном коде требуется определенный скрипт (гаджеты), что приводит к спекулятивному выполнению инструкций.

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

Инструменты сканирования гаджетов на основе шаблонов ранее доступный для уязвимости Spectre показал очень высокий уровень ложных срабатываний, при этом многие настоящие гаджеты были утеряны (эксперименты показали, что 99% гаджетов, обнаруженных такими инструментами, не могли быть использованы для атак, а 33% работающих — не замеченные устройства, способные привести к атаке).

Представляем Kasper, временное (или спекулятивное) сканирование исполнительных устройств. Он использует политики анализа повреждений для моделирования злоумышленника, способного использовать произвольные программные/аппаратные уязвимости на переходном пути. 

О Каспере

Для улучшения качества выявления проблемных устройств, Kasper моделирует уязвимости, которыми может воспользоваться злоумышленник на каждом этапе атак класса Spectre: моделируются проблемы, позволяющие контролировать данные (например, подстановка данных злоумышленника в микроархитектурные структуры для влияния на последующее спекулятивное выполнение) с помощью атак класса LVI, получить доступ к конфиденциальной информации (например, при буфер выходит за пределы или память используется после его освобождения), а также утечка конфиденциальной информации (например, путем анализа состояния кэша процессора или использования метода MDS).

Смоделируйте атакующего, способного контролировать данные (например, с помощью массажа памяти или внедрения значений LVI), получать доступ к секретам (например, посредством внешнего доступа или использования после free ) и раскрывать эти секреты (например, через кеширование, MDS- скрытые каналы или порты, основанные на конкуренции). 

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

Kasper также пытается моделировать различные программные и аппаратные уязвимости., анализирует влияние архитектурных и микроархитектурных эффектов и выполняет фаззинговые тесты возможных действий злоумышленника. Для анализа потоков исполнения используется порт DataFlowSanitizer для ядра Linux, а для фаззинг-тестов — модифицированная версия пакета syzkaller.

В результате Каспер обнаружил 1.379 ранее неизвестных устройств в сильно защищенном ядре Linux. Мы подтвердили наши выводы, продемонстрировав сквозной экспериментальный эксплойт для одного из найденных устройств.

При сканировании ядра Linux с помощью Kasper было выявлено 1379 ранее неизвестных устройств, что могло привести к утечке данных при спекулятивном выполнении инструкций.

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

В конце концов если вам интересно узнать об этом больше насчет Каспера, ты должен это знать исходный код Распространяется под лицензией Apache 2.0.

источник: https://www.vusec.net


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.