Доступен Kasper, сканер проблем со спекулятивным выполнением кода в ядре Linux
Группа исследователей опубликовала инструментарий Kasper, предназначенный для выявления в ядре Linux отрывков кода, которые можно использовать для эксплуатации уязвимостей класса Spectre, вызванных спекулятивным выполнением кода процессором.
При тестировании ядро связывается с runtime-библиотеками Kasper и проверками, работающими на уровне LLVM. В процессе проверки производится эмуляция спекулятивного выполнения кода, реализованная при помощи механизма checkpoint-restore, который специально выполняет неверно предсказанную ветвь кода, после чего откатывается к исходному состоянию до начала ветвления. Kasper также пытается моделировать различные программные и аппаратные уязвимости, анализирует влияние архитектурных и микроархитектурных эффектов, и выполняет fuzzing-тестирование возможных действия атакующего.
В ходе сканирования ядра Linux при помощи Kasper выявлено 1379 ранее неизвестных гаджетов, потенциально приводящих к утечке данных в ходе спекулятивного выполнения инструкций. Отмечается, что возможно лишь часть из них может представлять реальные проблемы, но для демонстрации того, что имеется и реальная опасность, а не только теоретическая, для одного из проблемных отрывков кода был разработан рабочий прототип эксплоита, приводящий к утечке информации из памяти ядра.