The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен Kasper, сканер проблем со спекулятивным выполнением кода в ядре Linux

05.02.2022 23:32

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

  1. Главная ссылка к новости (https://twitter.com/vu5ec/stat...)
  2. OpenNews: Новая атака на микроархитектурные структуры процессоров Intel и AMD
  3. OpenNews: Google продемонстрировал эксплуатацию уязвимостей Spectre через выполнение JavaScript в браузере
  4. OpenNews: Новый вариант атаки Foreshadow, затрагивающий процессоры Intel, AMD, ARM и IBM
  5. OpenNews: LVI - новый класс атак на механизм спекулятивного выполнения в CPU
  6. OpenNews: Представлен новый класс уязвимостей в процессорах Intel
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56642-spectre
Ключевые слова: spectre, kasper
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (53) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:50, 05/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –16 +/
    Идея хорошая, но приходите когда обнаружатся реальные проблемы.
     
     
  • 2.2, Аноним84701 (ok), 23:56, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +10 +/
    > Идея хорошая, но приходите когда обнаружатся реальные проблемы.

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

    .

     
     
  • 3.3, Аноним (1), 00:02, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • –13 +/
    Я прочитал, что вы предлагаете? Если каждый из 100500 гаджетов окажется эксплуатируемым, это будет интересно. Теоретическая возможность наличия 100500 эксплуатируемых гаджетов только будет вредить разработке.
     
     
  • 4.8, Alexey (??), 07:03, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Тем, кому надо, обязательно изучат. Линукса много на серверах, так что заинтересованые в утечках данных товарищи обязательно проверят все найденное. Правда никому результаты не покажут, но это уже  не их проблемы.
     
  • 3.53, Простоя (?), 18:05, 15/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я так и не понимаю какими уязвимостями может мой сосед пользоваться, то что он эми этот щенок научился с помощью своих знакомых засорять/вредить это одно, и у меня такое ощущение что ресурсы процессора как-то отжирает таким же методом. Мвд на такое не реагирует - мусора.
     
     
  • 4.54, Простоя (?), 18:06, 15/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пользуется
     
  • 2.25, Аноним (25), 12:05, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    дык проблема-то реальна, но хорошую идею дополнить бы тем гуглоИИ который сам пишет код - чтоб эксплойты сам писал.

    А то вручную перебирать миллион найденых гаджетов только чтоб убедиться что опять неподходящий - уныло.
    Компьютеры должны делать рутинную работу!

     
  • 2.28, Аноним (28), 13:06, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > приходите когда обнаружатся реальные проблемы

    держи

    https://www.youtube.com/watch?v=4DQAcCfg3b8&t=9s

     
     
  • 3.34, AlexYeCu_not_logged (?), 14:57, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >RIDL-TAA SSH exploit
    >RIDL leaking root entry in /etc/shadow
    >SSH
    >/etc/shadow

    Серьёзно?

     

  • 1.4, Аноним (4), 00:02, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    И пусть идут лесом :  расскажите сразу как выключать.
     
     
  • 2.5, Корец (?), 01:26, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • –6 +/
    >расскажите сразу как выключать.

    Переписать на расте всё ядро, очевидно же.

     
     
  • 3.6, Аноним (6), 01:34, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Переписать на расте

    Даже 100 лет не хватит.

     
  • 3.7, penetrator (?), 01:53, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    это не поможет
     
  • 3.11, Аноним (11), 08:21, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Раст-то этому как поможет? Раст — это небезопасный язык.
     
     
  • 4.17, Аноним (-), 10:14, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    все небезопасности раста помечены unsafe,математически доказано, что такой способ увеличивает безопасность.
     
     
  • 5.18, Аноним (18), 10:18, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > математически доказано

    А математики знают об этом?

     
     
  • 6.33, Аноним (33), 13:39, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    прибор секретный, математики могут и не знать!
     
  • 5.29, Урри (ok), 13:07, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тонко, мое почтение.
     
  • 5.44, Аноним (44), 08:14, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И что в этом безопасного, лол?
     
  • 4.20, Корец (?), 10:26, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Раст-то этому как поможет? Раст — это небезопасный язык.

    Без понятния. Его везде ропихиваю. Наверное, язык - огонь.

     
     
  • 5.24, Аноним (18), 11:02, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > огонь

    Ржавление - это, кстати, тоже огонь - окисление с выделением тепла.

     
     
  • 6.35, Аноним (-), 15:21, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Окисление может протекать с разной скоростью. Так называемое "горение" - это быстрая реакция.
     
     
  • 7.37, Аноним (18), 17:21, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зануда!
     
  • 4.49, Аноним (49), 13:28, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Раст — это небезопасный язык.

    Не безопасный, но безопасТный!

     

  • 1.9, onanim (?), 07:20, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    просьба к редакторам - пожалуйста, загружайте картинки на сервер опеннета, а не вставляйте ссылки на них, ибо ссылки имеют свойство протухать.
     
     
  • 2.12, Аноним (11), 08:22, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Там еще зондосчетчикит могут стоять. Но кого это волнует?
     
     
  • 3.15, Аноним (-), 09:53, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нажал на картинку, а там пошёл поток на сервер www.googleservice.com. Админ опеннета рукожоп.
     
     
  • 4.16, Аноним (18), 10:14, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пошёл поток на сервер www.googleservice.com
    > Админ опеннета рукожоп.

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

    Решение: выключи скрипты

     
     
  • 5.21, InuYasha (??), 10:34, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Без скриптов сайт не оч хорошо работает.
    Да, и что вы хотели когда на самом опеннете идёт зондирование goolag anal-tics и syndication.
     
     
  • 6.22, Аноним (18), 10:38, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Без скриптов сайт не оч хорошо работает.

    Зайду с козырей. УМВР.

     
  • 6.31, Аноним (33), 13:27, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну ок, решение - выключи гугль-ан@л. С этим справляется даже носкрипт.

     
  • 4.19, Аноним (18), 10:22, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ты, кстати, веселый чувак: из под тора стучишь в гугл :)
     
  • 2.13, Аноним (18), 09:32, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > загружайте картинки

    А ты заплатил "налог Михалкова", чтобы загружать? Если что, уплаты "налога" мало, надо еще платно подписаться на пакет рекламы и зондов!

     

  • 1.10, Аноним (10), 08:16, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > для одного из проблемных отрывков кода был разработан рабочий прототип эксплоита, приводящий к утечке информации из памяти ядра

    Интересно узнать, какая версия ядра была подвергнута анализу, а то я аккурат намедни установил 5.16.5.

     
  • 1.14, john_erohin (?), 09:51, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    оффтоп: что это было ?

    https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.98

     
     
  • 2.23, Аноним (18), 10:46, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С первого раза не попал по нужной кнопке (субботница)?
     

  • 1.26, Аноним (26), 12:33, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Вырезать спекуляцию из ядра мы конечно же не рассматриваем. Ну дык куча блоатвари - это халява для всех и вся.
     
     
  • 2.27, Аноним (18), 12:38, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Вырезать спекуляцию из ядра

    Долой все if'ы! И while, for,... что еще забыл?

     
  • 2.43, anonymous (??), 23:04, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спекуляциями занимается CPU. Я бы, кстати, купил себе проц без всяких branch predictions. Даже не знаю, есть ли сейчас такие?
     
     
  • 3.51, TormoZilla (?), 13:42, 08/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    VIA
     

  • 1.30, Урри (ok), 13:12, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А можно мне ядро вот со всеми этими мелтдаунами и ровхаммерами, но зато быстрое?

    Я в банк и интернет буду ходить со старого, медленного и безопасного железа. А комфортно программировать и играть хочу не покупая все новые и новые, компенсирующие безопасТную тормознутость, ноуты.

     
     
  • 2.32, Аноним (25), 13:36, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не, нельзя, у интела и так хреново с деньгами - ковид, шмавид, контейнеровоз это... большой текст свёрнут, показать
     
  • 2.36, Аноним (18), 15:50, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > комфортно программировать и играть

    Эти тармаза йадра вапще не влийайут на камфортнасть

     
  • 2.42, Аноним (42), 20:45, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нельзя. Основные потребители ядра - корпы, которым это важно, и юзвери, которые даже не поймут о чем речь, но будут сильно шуметь, если с их банковских карточек пропадут деньги.
    А ты просто погрешность в их расчетах. Сильно хочешь - собери ядро сам. Тыжпогромист.
     
     
  • 3.47, корпы (?), 12:44, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, нам очень важно получить 30% performance hit на базах данных при ОТКЛЮЧЕННОМ (но намертво вкомпиленном в ядро) ненужном ненужно.

    Мы обожаем платить денег интелу и ibmhat.

     
  • 3.52, AtillaFox (?), 14:35, 09/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > будут сильно шуметь, если с их банковских карточек пропадут деньги

    поэтому они оттуда не пропадут, а будут аккуратно уложены в [s]могилу[/s] кассу продавца новой железки. Ага.

     

  • 1.38, ip1982 (ok), 18:10, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем на сканер с проблемами?
     
  • 1.39, ip1982 (ok), 18:13, 06/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Главная ссылка на Твитер. Это дно?
     
     
  • 2.41, Аноним Анонимный (?), 18:46, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Неа. Дно будет, когда главная ссылка приведёт на одноклассники)
     
     
  • 3.45, Аноним (44), 08:17, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Двойное дно когда на такая ссылка приведет на госуслуги.  
     
     
  • 4.46, Аноним (46), 09:47, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Комментарии через гос услуги, с модернизацией вашего куратора из КГБ
     

  • 1.48, Аноним (49), 13:26, 07/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь стараются тщательно избегать спекулятиного исполнения кода програмными изворотами. Так кой тогда это держать в железе?
     
     
  • 2.50, anonymous (??), 21:20, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Можно ссылки о подобных техниках? Или об оптимизациях в компиляторах. Потому что мне кажется, что это недостижимо. Мы знать не знаем что и как будет исполняться в CPU. И раз на раз не будет одинаковым. Интересуюсь из академического, пардон, интереса.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру