company_banner

Новые атаки на процессоры Intel достают криптоключи из анклава SGX даже после изоляции ядер CPU


    Атака CrossTalk эксплуатирует недокументированный и ранее неизвестный общий буфер, который совместно используют ядра процессоров Intel. Эта первая в мире кросс-ядерная атака на Intel CPU делает бесполезной защиту через отключение гипертрединга и изоляцию задач по разным ядрам

    Похоже, архитектурные проблемы процессоров Intel оказались серьёзнее, чем можно было предположить. Уязвимости, связанные со спекулятивным выполнением команд, снова проявили себя. В июне 2020 года опубликованы две новые атаки SGAxe и CrossTalk. Они позволяют извлечь конфиденциальные данные из анклава Software Guard eXtension (SGX), самой защищённой области в процессорах Intel.

    Это не первые атаки на анклав SGX в Intel CPU. Он был скомпрометирован ещё в 2018 году атаками Meltdown и Spectre. Полностью исправить архитектурные изъяны по сути невозможно. Но теперь ситуация усугубилась, поскольку предложенные Intel защитные меры (изоляция процессов по разным ядрам и отключение гипертрединга) фактически дискредитированы.

    Атака SGAxe


    Современные процессоры оснащаются рядом кэшей для ускорения операций между быстрым CPU и медленной памятью. При вызове определённого адреса памяти CPU сначала ищет данные в кэше первого уровня, затем спускается дальше по иерархии, пока не найдёт их. После нахождения данных в кэшах низших уровней данные часто переносятся в кэш высшего уровня.


    Иерархия кэшей в процессорах Intel

    Чтобы использовать присущий программному коду параллелизм, движок выполнения команд в современных процессорах запускает их на выполнение не по порядку, используя так называемое спекулятивное выполнение и задействуя особые буферы Line Fill Buffers (LFB) в обход стандартных кэшей.


    Схематическое представление двух сценариев атаки CacheOut

    Новая атака SGAxe построена на базе предыдущей атаки CacheOut, которую описала та же группа исследователей из Мичиганского университета и Аделаидского университета в январе 2020 года. В свою очередь, CacheOut является разновидностью атаки RIDL, раскрытой в мае 2019 года (известна также под названиями Fallout, ZombieLoad и Microarchitectural Data Sampling) для извлечения конфиденциальных данных через считывание буфера LFB. Для RIDL опубликован готовый эксплоит.

    CacheOut позволяет обойти защитные меры, которые Intel предложила в 2018 году.

    Во время атаки CacheOut злоумышленник сначала вытесняет из кэша данные на свой выбор — в процессорах Intel а такой ситуации данные отправляются в LFB (см. схему выше), где уже в действие вступает стандартная схема атаки RIDL.

    В свою очередь, SGAxe описывает новое, более мощное применение CacheOut. Новая атака использует схему разбиения памяти на страницы (paging), чтобы переместить данные анклава в кэш L1, где их содержимое расшифровывается. Оттуда CacheOut перемещает данные в буфер, где они извлекаются с помощью метода RIDL.

    Конкретно, целью атаки SGAxe являются криптографические ключи, которые SGX использует для «аттестации» — для подтверждения, что удалённый сервер работает на правильном процессоре Intel, а не является зловредной симуляцией. Эти ключи предъявляются при финансовых транзакциях, для проверки DRM на видеотрансляциях и других защищённых операций.

    «Компрометация ключей аттестации позволяет ненадёжному клиентскому получить любые секреты, предоставленные, в то время как все выходные данные, предположительно полученные анклавами, работающими на клиенте, не могут быть проверены на правильность. Это эффективно делает приложения DRM на основе SGX бесполезными, поскольку любой подготовленный секрет может быть тривиально восстановлен. Наконец, возможность полностью пройти дистанционную аттестацию также исключает возможность доверять любым протоколам защищённых удалённых вычислений на основе SGX», — пишут авторы.

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

    CrossTalk


    Вторая атака CrossTalk на анклав SGX примечательна тем, что она основана на ранее неизвестном недокументированным буфере, который используют все процессорные ядра Intel. Этот «промежуточный буфер» (staging buffer), как назвали его исследователи из Амстердамского свободного университета и ETH Zurich, сохраняет результаты ранее выполненных команд во всех ядрах процессора.

    Открытие очень важно по нескольким причинам. Во-первых, промежуточный буфер сохраняет выходные данные от RDRAND и RDSEED — это очень чувствительные инструкции, которые обеспечивают случайные числа для генерации криптоключей.



    Получив случайные числа, злоумышленники могут использовать их для вывода ключа. Это открытие позволило исследователям разработать атаку на механизм спекулятивного выполнения. Атака извлекает ключ, основанный на криптографическом алгоритме ECDSA, который генерируется в анклаве SGX.






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

    Это подтверждают авторы научной работы: «Многие полагали, что для защиты от большинства известных и будущих атак достаточно отключить гипертрединг Intel SMT. Более того, все атаки до сих пор можно было бы смягчить простым запуском взаимно недоверенного кода на отдельных ядрах. Мы показали, что проблема идёт ещё глубже, и изоляции по ядрам недостаточно».

    Суть в том, что RDRAND, RDSEED и SGX EGETKEY реализованы на внутренней микроархитектурной операции SRR (Special Register Reads), а данные, возвращаемые для SRR, оседают в промежуточном буфере. Исследователи показали, что почти тривиально применить эти данные для взлома кода, работающего в защищённых анклавах SGX Intel».

    Большинство обычных клиентских процессоров, включая процессоры Xeon E3, уязвимы для CrossTalk.



    Компания Intel заявила, что серверная микроархитектура в Xeon E5/E7 не является уязвимой для этой атаки, которую Intel называет Special Register Buffer Data Sampling (SRBDS). Для остальных выпущено обновление микрокода.

    Технический отчёт Intel см. здесь.

    Обновление микрокода, исправляющее этот баг, блокирует всю шину памяти перед обновлением промежуточного буфера и разблокирует её только после очистки её содержимого. Intel применяет изменения только к определенному числу критически важных для безопасности инструкций, включая RDRAND, RDSEED и EGETKEY. Выходные данные любой другой инструкции, такой как WRMSR, по-прежнему можно прочитать из общего буфера, говорят исследователи.

    Можно предположить, что это не последние эксплоиты для процессоров Intel.
    ITSumma
    Собираем безумных людей и вместе спасаем интернет

    Комментарии 14

      +3

      "достают из SGX-помоечки"


      /fixed.

        +3

        Это же хорошие новости, зондDRM не нужен.

          0
          Сможете хакнуть современные версии DRM и считать все ключи с цифровой копии игры?
            0

            SGX нужен для DRM видеоконтента в основном, а не для игр.

        0
        Я так понимаю проблема касается исключительно синих?
          0
          Как скажем было с Meltdown.
          Есть "пруф" о том, что у AMD все хорошо. Не хорошо — у ARM. Кто знает, может эта новая атака затрагивает все процессоры с общим L3-кешем.
        • НЛО прилетело и опубликовало эту надпись здесь
            +1
            Все эти уязвимости, удачный процессор от АМД, просранный мобильный сегмент, слухи о том, что Эппл переведет макбуки на свой собственный арм процессор. На Интел просто какая-то кара господня за все их грехи с бесконечной сменной сокета и увеличением быстродействия на 5-10%.
              +1
              Зачем списывать на кару господню результат плохого менджмента и недостаточных вложений в инженеров на фоне трат на маркетинг?
                +1
                Я атеист, поэтому кару господню следует понимать метафорически.
                  0
                  Ждем Intel 7 нм, причем не только в процессорах на 15 Вт и менее. Чтобы хотя бы Turbo до 3.6 ГГц на 4 ядрах. Хотя стоп, уже есть на 10 нм.
                +1
                Проблемы решаются. Обновлением микрокода.
                Ну ну — но как быть если владелец системы НЕ считает это проблемой а считает очень полезной фичей (и будет пользоватся) и постарается НЕ обновлять микрокод.
                Дальше будет «обновите микрокод а то нетфликс не будет играть в 4K»? -:)

                Почему то вот НФ серия Edward M. Lerner Interstallar Net вспоминается. Там в сюжете большую роль играет возможность прислать по радио (через световые годы, гиперсвязи в сеттинге нет) пакет данных и программ, который будет запущен в весьма сложной песочнице и при этом:
                — НЕ сможет действовать на местную сеть непредусмотренным образом (нанося ей ей ущерб)
                — НЕ может быть «слегка» откорректирован теми кто собственно данный экземпляр принял и запустил (хотя они имеют прямой финансовый интерес это сделать)
                — Предыдущие пункты получилось обосновать и так чтобы другие цивилизации поверили

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

                  0
                  используя так называемое спекулятивное выполнение


                  Скажем уязвимость Meltdown актуальна для процессоров Intel от 95 года, за исключением Itanium и Atom, выпущенных до 2013 года.

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое