Доступен Kasper, сканер проблем со спекулятивным выполнением кода в ядре Linux
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Группа исследователей из Амстердамского свободного университета опубликовала инструментарий Kasper, предназначенный для выявления в ядре Linux отрывков кода, которые можно использовать для эксплуатации уязвимостей класса Spectre, вызванных спекулятивным выполнением кода процессором. Исходные тексты инструментария распространяются под лицензией Apache 2.0.
Напомним, что для проведения таких атак, как Spectre v1, дающих возможность определить содержимое памяти, требуется наличие в привилегированном коде определённой последовательности команд (гаджетов), приводящей к спекулятивному выполнению инструкций. В целях оптимизации процессор начинает выполнять подобные гаджеты в спекулятивном режиме, потом определяет, что предсказание ветвления не оправдалось и откатывает операции в исходное состояние, но обработанные в процессе спекулятивного выполнения данные оседают в кэше и микроархитектурных буферах и доступны для извлечения из них с использованием различных методов определения остаточных данных по сторонним каналам.
Ранее доступные инструменты для сканирования гаджетов для уязвимости Spectre, основанные на поиске типовых шаблонов, показывали очень высокий уровень ложных срабатываний, пропуская при этом много реальных гаджетов (эксперименты показали, что 99% выявленных подобными инструментами гаджетов не могли использоваться для атак, а 33% рабочих гаджетов, способных привести к атаке, не были замечены).
Для повышения качества определения проблемных гаджетов Kasper
моделирует уязвимости, которые атакующий может использовать на каждом шаге осуществления атак класса Spectre - моделируются проблемы, позволяющие контролировать данные (например, подстановка данных атакующего в микроархитектурные структуры для влияния на последующее спекулятивное выполнения при помощи атак класса LVI), получать доступ к конфиденциальной информации (например, при выходе за границы буфера или использовании памяти после её освобождения) и организовывать утечку конфиденциальной информации (например, анализируя состояние процессорного кэша или используя метод MDS).
При тестировании ядро связывается с runtime-библиотеками Kasper и проверками, работающими на уровне LLVM. В процессе проверки производится эмуляция спекулятивного выполнения кода, реализованная при помощи механизма checkpoint-restore, который специально выполняет неверно предсказанную ветвь кода, после чего откатывается к исходному состоянию до начала ветвления. Kasper также пытается моделировать различные программные и аппаратные уязвимости, анализирует влияние архитектурных и микроархитектурных эффектов, и выполняет fuzzing-тестирование возможных действия атакующего. Для анализа потоков исполнения используется порт DataFlowSanitizer для ядра Linux, а для
fuzzing-тестирования модифицированная версия пакета syzkaller.
В ходе сканирования ядра Linux при помощи Kasper выявлено 1379 ранее неизвестных гаджетов, потенциально приводящих к утечке данных в ходе спекулятивного выполнения инструкций. Отмечается, что возможно лишь часть из них может представлять реальные проблемы, но для демонстрации того, что имеется и реальная опасность, а не только теоретическая, для одного из проблемных отрывков кода был разработан рабочий прототип эксплоита, приводящий к утечке информации из памяти ядра.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://twitter.com/vu5ec/stat...)
- OpenNews: Новая атака на микроархитектурные структуры процессоров Intel и AMD
- OpenNews: Google продемонстрировал эксплуатацию уязвимостей Spectre через выполнение JavaScript в браузере
- OpenNews: Новый вариант атаки Foreshadow, затрагивающий процессоры Intel, AMD, ARM и IBM
- OpenNews: LVI - новый класс атак на механизм спекулятивного выполнения в CPU
- OpenNews: Представлен новый класс уязвимостей в процессорах Intel
Похожие новости:
- В процессорах AMD выявлена ещё одна уязвимость, допускающая атаки класса Meltdown
- Новая техника эксплуатации уязвимостей класса Spectre в Chrome
- [Информационная безопасность, Софт, IT-компании] Эксперты рассказали, как в 2019 году нашли уязвимость генерации паролей в Kaspersky Password Manager
- [Информационная безопасность, C++, Системное программирование, Конференции] Онлайн-конференция KasperskyOS Night: доклады о нестандартных задачах
- [Информационная безопасность, Разработка для интернета вещей] Приглашаем на летнюю конференцию KasperskyOS Night
- Уязвимости в подсистеме eBPF, позволяющие обойти защиту от атак класса Spectre
- Компания Mozilla представила режим строгой изоляции сайтов для Firefox
- [Информационная безопасность, Процессоры] Исследователи описали подобную Spectre уязвимость процессоров Intel и AMD
- Новая атака на микроархитектурные структуры процессоров Intel и AMD
- [Информационная безопасность, Процессоры] AMD подтвердила теоретическую возможность использования уязвимости Spectre-STL в своих процессорах
Теги для поиска: #_spectre, #_kasper
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 10:32
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Группа исследователей из Амстердамского свободного университета опубликовала инструментарий Kasper, предназначенный для выявления в ядре Linux отрывков кода, которые можно использовать для эксплуатации уязвимостей класса Spectre, вызванных спекулятивным выполнением кода процессором. Исходные тексты инструментария распространяются под лицензией Apache 2.0. Напомним, что для проведения таких атак, как Spectre v1, дающих возможность определить содержимое памяти, требуется наличие в привилегированном коде определённой последовательности команд (гаджетов), приводящей к спекулятивному выполнению инструкций. В целях оптимизации процессор начинает выполнять подобные гаджеты в спекулятивном режиме, потом определяет, что предсказание ветвления не оправдалось и откатывает операции в исходное состояние, но обработанные в процессе спекулятивного выполнения данные оседают в кэше и микроархитектурных буферах и доступны для извлечения из них с использованием различных методов определения остаточных данных по сторонним каналам. Ранее доступные инструменты для сканирования гаджетов для уязвимости Spectre, основанные на поиске типовых шаблонов, показывали очень высокий уровень ложных срабатываний, пропуская при этом много реальных гаджетов (эксперименты показали, что 99% выявленных подобными инструментами гаджетов не могли использоваться для атак, а 33% рабочих гаджетов, способных привести к атаке, не были замечены). Для повышения качества определения проблемных гаджетов Kasper моделирует уязвимости, которые атакующий может использовать на каждом шаге осуществления атак класса Spectre - моделируются проблемы, позволяющие контролировать данные (например, подстановка данных атакующего в микроархитектурные структуры для влияния на последующее спекулятивное выполнения при помощи атак класса LVI), получать доступ к конфиденциальной информации (например, при выходе за границы буфера или использовании памяти после её освобождения) и организовывать утечку конфиденциальной информации (например, анализируя состояние процессорного кэша или используя метод MDS). При тестировании ядро связывается с runtime-библиотеками Kasper и проверками, работающими на уровне LLVM. В процессе проверки производится эмуляция спекулятивного выполнения кода, реализованная при помощи механизма checkpoint-restore, который специально выполняет неверно предсказанную ветвь кода, после чего откатывается к исходному состоянию до начала ветвления. Kasper также пытается моделировать различные программные и аппаратные уязвимости, анализирует влияние архитектурных и микроархитектурных эффектов, и выполняет fuzzing-тестирование возможных действия атакующего. Для анализа потоков исполнения используется порт DataFlowSanitizer для ядра Linux, а для fuzzing-тестирования модифицированная версия пакета syzkaller. В ходе сканирования ядра Linux при помощи Kasper выявлено 1379 ранее неизвестных гаджетов, потенциально приводящих к утечке данных в ходе спекулятивного выполнения инструкций. Отмечается, что возможно лишь часть из них может представлять реальные проблемы, но для демонстрации того, что имеется и реальная опасность, а не только теоретическая, для одного из проблемных отрывков кода был разработан рабочий прототип эксплоита, приводящий к утечке информации из памяти ядра. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 10:32
Часовой пояс: UTC + 5