Перейти к содержанию

Евгений Малинин

Рекомендуемые сообщения

Доступ к сайту Intel из России оказался заблокирован. Причину компания не комментирует, но ранее функционал некоторых мобильных приложений был ограничен для россиян из-за санкций или решения их разработчиков

Подробнее на РБК:
https://www.rbc.ru/rbcfreenews/6218c1779a7947a7c5789029

Изменено пользователем sputnikk
Ссылка на комментарий
Поделиться на другие сайты

  • 9 months later...
  • 3 weeks later...

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • KL FC Bot
      От KL FC Bot
      14 ноября компания Google выпустила бюллетень, в котором сообщила о серьезной уязвимости в ряде процессоров компании Intel, начиная с поколения Ice Lake, выпущенного в 2019 году. Потенциально, эта уязвимость может приводить к отказу в обслуживании, эскалации привилегий или раскрытию чувствительной информации. На момент подготовки статьи обновления микрокода, закрывающие проблему, были выпущены для 12-го и 13-го поколений процессоров Intel (соответственно, Alder Lake и Raptor Lake). Патчи для процессоров 10-го и 11-го поколений (Ice Lake и Tiger Lake) готовятся. Полный список подверженных процессоров представлен на сайте Intel в виде огромной таблицы.
      По словам представителей Intel, о нестандартном поведении процессоров инженеры компании знали, но проблема считалась некритичной, и ее решение отложили на первую половину 2024 года. Но ситуация изменилась, когда исследователи из компании Google, независимо от Intel, обнаружили проблему. Собственно, все детали уязвимости мы знаем от специалистов Google, а конкретно из статьи Тависа Орманди.
      Фаззинг процессоров
      Тавис Орманди имеет на своем счету множество обнаружений серьезных уязвимостей в различных программах и устройствах. Совсем недавно мы писали о его предыдущем исследовании, в ходе которого была обнаружена уязвимость Zenbleed в процессорах AMD. Тогда Тавис говорил о развитии применения фаззинга для поиска аппаратных проблем.
      Фаззинг — это метод, который подразумевает подачу случайной информации на ввод тестируемой информационной системы. Как правило, ее применяют для автоматизированного поиска уязвимостей в софте: создается специальная «оснастка», позволяющая взаимодействовать с программой и отслеживать ее состояние. Дальше происходят десятки и сотни тысяч тестов, в ходе которых можно обнаружить нестандартное поведение тестируемого кода.
      В случае испытания процессоров все несколько сложнее. Мы должны генерировать случайные программы, которые при этом работают без собственных сбоев, и выполнять их на процессоре. Как в таком случае отделить штатное поведение процессора от аномального? Ведь далеко не всегда ошибка в процессе выполнения ПО приводит к сбою. Орманди предложил методику, в рамках которой одинаковый «случайный» код одновременно выполняется на разных процессорах. По идее, результат работы одной и той же программы должен быть одинаковый, а вот если результат отличается, то возможно это признак проблемы. Именно такой подход выявил проблему в процессорах Intel.
       
      Посмотреть статью полностью
    • KL FC Bot
      От KL FC Bot
      Исследователи из американского Университета штата Мэриленд и китайского Университета Циньхуа опубликовали научную работу, в которой описан новый метод атаки по сторонним каналам (side-channel attack), использующий ранее неизвестную аппаратную уязвимость в процессорах Intel. Хотя уязвимость предположительно затрагивает и самые свежие процессоры этой компании, наиболее эффективно она позволяет атаковать более старые модели, подверженные также и уязвимости Meltdown. Данное исследование, возможно, представляло бы чисто научный интерес, если бы не одна особенность: кража секретной информации в ходе атаки происходит через изменение данных в регистре флагов.
      Можно попроще?
      Активное исследование аппаратных процессорных уязвимостей, связанных со спекулятивным выполнением инструкций, ведется уже больше пяти лет. Максимально упрощая, все предложенные атаки можно описать следующим образом: мы каким-то образом заставляем процессор считать данные, к которым не имеем доступа. Представьте себе такой теоретический сценарий. У программы атакующего нет доступа к ключу шифрования, с помощью которого защищены важные данные. Если дать процессору инструкцию «считай ключ шифрования по такому-то адресу», она не будет выполнена. На помощь приходит технология спекулятивного выполнения инструкций: одна из важных функций современных процессоров, используемая почти три десятилетия. Для ускорения работы процессор не ждет окончания выполнения одной инструкции, а параллельно выполняет следующую.
      Если первая инструкция проверяет права доступа к секретной информации, она, по идее, не должна позволить выполнять следующую команду на считывание этой информации. Но уже поздно: следующая инструкция выполнена спекулятивно. Важный момент: мы все еще не имеем доступа к этим данным, но процессор уже имеет. В известных уязвимостях типа Spectre данные временно загружаются в кэш-память процессора, считать информацию из которой просто так нельзя. Но можно делать это по сторонним каналам. Например: много раз выполнять какую-то инструкцию, время обработки которой меняется в зависимости от данных в кэш-памяти. Если повторить такую операцию много (тысяч!) раз, можно восстановить данные, просто наблюдая за тем, как быстро или медленно выполняется какая-то вроде бы безобидная команда.
      Мы понимаем, что это так называемое «простое» описание уже звучит достаточно сложно. Новая работа еще сложнее: авторы решили не тратить время на подробное описание атаки. В целом она вся показана на этой схеме:
      Схема атаки с выводом секретных данных через состояние регистра EFLAGS. Источник
      Давайте попробуем разобраться. EFLAGS — это регистр флагов в процессоре Intel, который отслеживает состояние работы процессора. В нем может сохраняться результат вычислений, в частности если он равен нулю (так называемый Zero Flag или ZF). Дальше происходит магия: представьте, что ваш коллега загадал число от 1 до 10. Вы по очереди называете ему все числа от 1 до 10, но он не хочет делиться с вами правильным ответом и на каждый из вариантов говорит слово «хризантема». Но когда вы называете правильное число, он говорит «хризантема» чуть позже, чем в других случаях!
      Примерно так и происходит в процессе новой атаки: мы проводим множество вычислений с секретными данными. Все эти вычисления выполняются спекулятивно. Результат записывается в флаг ZF (равен или не равен нулю). Мы даже не можем напрямую узнать состояние этого флага. Но затем мы выполняем, в общем, довольно бесполезную команду из состава инструкций JCC (а именно команду JZ: «переход, если результат равен нулю»), которая выполняется чуть медленнее, если мы угадали! Именно это промедление, задержка с ответом, которую можно измерить, и является уязвимостью.
       
      View the full article
×
×
  • Создать...