Отладочный механизм в процессорах Intel позволяет захватывать их через USB-порт



    Современные процессоры Intel позволяют использовать отладочный интерфейс через доступный на многих платформах порт USB 3.0 для получения полного контроля над системой, что дает возможность проводить атаки, которые не отслеживаются современными системами безопасности. Доклад об этих механизмах, а также о способах защиты от подобных атак, был представлен экспертами Positive Technologies 28 декабря на конференции Chaos Communication Congress (33C3) в Гамбурге.

    В чем проблема


    Эксперты Максим Горячий и Марк Ермолов в своем докладе отметили, что зачастую подобные аппаратные механизмы используются как вполне легальные инструменты, которые внедряются еще на стадии производства − например, специальные отладочные возможности, оставленные разработчиками для настройки аппаратуры и других «благих целей». Однако сейчас такие механизмы оказываются доступны и для злоумышленников, причем цена вопроса настолько низка, что для организации подобных атак уже не нужно быть государственной спецслужбой и иметь специальное оборудование.

    Один из таких механизмов был подробно проанализирован и показан в исследовании. В качестве опасной возможности, оставленной производителем, здесь фигурирует отладочный интерфейс JTAG (Joint Test Action Group), доступ к которому теперь открыт через USB-интерфейс. Данный способ доступа к процессору работает «ниже» всего программного обеспечения, позволяя осуществлять аппаратную отладку гипервизоров, ядра ОС и драйверов. Однако тот же механизм может использоваться и для несанкционированных вторжений.

    В старых процессорах Intel доступ к JTAG требовал подключения специализированного устройства через отладочный разъем на некоторых системных платах (ITP-XDP). Это усложняло доступ к данной технологии, в том числе, и для злоумышленников.

    Однако, начиная с процессоров семейства Skylake, запущенных в производство в 2015 году, компания Intel внедрила технологию Direct Connect Interface (DCI), которая предоставляет доступ к JTAG через популярный порт USB 3.0. При этом на целевом компьютере не требуется каких-либо программных или аппаратных агентов − необходимо лишь, чтобы интерфейс DCI был активирован. Как выяснили исследователи, это можно сделать несколькими способами, и на множестве современных компьютеров этот функционал оказался доступен буквально «из коробки» − то есть по умолчанию возможность активации DCI не заблокирована.

    Ниже представлены слайды презентации (также доступны по ссылке):



    Демонстрация


    В докладе также был представлен видеоролик, показывающий, насколько легко злоумышленники могут получить полный доступ к процессору с помощью такого механизма. По мнению исследователей, данный механизм в процессорах Intel может привести к целому классу новых атак типа «Bad USB» – но уровень проникновения будет гораздо глубже.



    В заключение доклада эксперты предложили ряд способов защиты от данной угрозы, которые основаны на использовании BootGuard и запрете активации отладочного интерфейса.

    Видео выступления:



    Описания атак с применением особенностей работы отладочного механизма процессоров были переданы Intel, однако официального ответа исследователи пока не получили.
    Метки:
    Positive Technologies 178,34
    Компания
    Поделиться публикацией
    Комментарии 34
    • 0
      и на множестве современных компьютеров этот функционал оказался доступен буквально «из коробки»

      Какой-нибудь ASUS и прочая Тайвань, известная своим наплевательским отношением к ИБ?
      • +1
        Если у злоумышленника есть физический неконтролируемый доступ компьютеру, то о какой безопасности вообще может идти речь. Другое дело, если админ сует в USB что не попало, но это вопрос к админу.
        • +3
          Не все пользователи компьютеров (включая корпоративные) являются админами. Зато воткнуть в компьютер найденную на улице USB-флешку — это делает как минимум каждый второй (были соответствующие исследования в крупных компаниях). Не менее часто граждане подключают к корпоративным компьютерам через USB-порт другие гаджеты, которые могут доставить троян (мобильники, фотоаппараты, плееры, вентиляторы и так далее).

          Поэтому для атаки с использованием данного бэкдора не нужен личный физический доступ. Многие пользователи сами доносят заразу до своего USB-порта.
          • +1
            Поэтому для атаки с использованием любого данного бэкдора (в таком случае) не нужен личный физический доступ.
            • +1
              Просто, если так рассматривать вопрос, то вообще USB (и не только она) — потенциальная уязвимость.
              • +2
                Раньше такие ужасы были только у Firewire из-за DMA.
            • +2
              классическая сцена в кино — посетитель приходит на прием — отвлекает сотрудника — втыкает в комп устройство и тут-же начинается скачивание инфы.
              • 0
                Я и не спорю, что это уязвимость, но она не страшнее трояна на флешке.
                • 0
                  Что значит «не страшнее»? Трояны разные бывают. Значительное количество их может быть отловлено антивирусами и другими программными средствами защиты.

                  Но в данном случае бэкдор даёт доступ к процессору на самом низком уровне, «ниже» любого ПО. Очевидно, что такое вторжение гораздо сложнее заметить, чем обычные трояны.
                  • +1
                    Вы выше писали про флешки — на них такие-же программы которые необходимо запускать, т.е. их можно «увидеть» (либо не дать запустится) установленными средствами защиты. А вот если специализированное устройство, то я с Вами полностью согласен — опасность очень высока. В этом случае только делать невозможным несанкционированный физический доступ к ПК. Защищаться от пользователей/админов вставляющих что попало в USB дело неблагодарное и от этого ничего не поможет кроме собственных шишек, ну или лишить их всего, но в большинстве случаем это не возможно. А само наличие JTAG конечно интересно, но не знаю насколько полезно в реальных условиях (для рядового админа).
                    • 0

                      [палево_mode]
                      Взломщик #1 сидит под окнами офиса и ловит беспроводной сигнал от вставленного устройства.
                      Взломщик #2 идёт на парковку/ресепшн/whatever и "случайно" роняет флешку (которая является одновременно и флешкой с котиками/эротикой/whatever, и устройством, содержащим в себе и JTAG и средство удалённого беспроводного доступа для взломщика #1.


                      Рандомный Вася (из работников офиса) выходит пообедать и находит симпатичную флешку. Прячет её в карман. Обедает. Возвращается. Вставляет её в компьютер. Смотрит котиков/девочек/whatever.


                      Тем временем Взломщик #1 подключается к устройству.


                      Как вариант — автоматизация (скриптование) процесса дебага ядра ОС в прошивке микроконтроллера этого чудо-девайса внутри флешки, и не нужен даже удалённый доступ. Оно само переберёт эксплоиты, само без палева заразит ядро, само стукнет на управляющий сервер ботнета что всё готово.


                      ???


                      PROFIT!
                      [/палево_mode]


                      Никакого несанкционированного физического доступа к компьютеру.


                      Только те самые пользователи/админы, что вставляют что попало в USB.


                      Пока они набьют шишки, у взломщиков уже будет всё, что им было нужно.

            • +5
              Ура, JTAG теперь и через USB!
              • 0
                насколько я понимаю, то доступ к отладке влючается на уровне BIOS…
                или в процессорах Intel уже есть типа внутренняя Flash?
                • 0
                  Если верить документации, то настройка хранится в CMOS.
                • 0
                  BootGuard не защитит в Runtime, он всего лишь проверяет валидность BIOS.
                  • 0
                    Наверное, предполагается, что валидный биос запаролен и корректно настроен (jtag off), в случае сценария с перезаписью биоса из под ОС и перезагрузкой машины для включения режима отладки — вполне нормальная защита.
                    • 0
                      Эта защита не проверяет переменные. Если эта опция часть БИОС, то ON или OFF всегда будет валидно. Можно добавить в Chipsec модуль для проверки этой уязвимости.
                  • +1
                    Посмотрел видео доклада (с 33c3), очень интересно. Есть несколько вопросов.

                    1) правильно ли я понимаю, что перед тем как вставить USB устройство, которое будет использовать технологию DCI (например, с целью провести атаку) необходимо предварительно попасть на атакуемую машину чтобы включить технологию DCI (пропатчив BIOS или выставив соответствующий бит в регионе Flash Descriptors на SPI флэш-памяти)?

                    2) только один из имеющихся USB 3.0 портов. может использовать DCI. Возможно ли, что этот порт не выведен на фронтальную или заднюю панель системного блока, а находится например на самой материнской плате (бывает, что прямо из материнки вверх торчит USB гнездо), или же вообще не распаян?
                    • 0
                      1) Да это действительно так, но это может быть сделано на стадии производства или отгрузки (таргетированная атака). На некоторых системах DCI может быть активирован в runtime через P2SB-устройство

                      2) Нет, это не подтверждается экспериментами. На системах, которые использовались исследователями, доступ к DCI имели все порты USB 3.0.
                      • 0
                        Понятно. Встречали ли вы системы, где возможно использование DCI с P2SB-устройства, т.е. без предварительной модификации содержимого SPI флэш-памяти? Если не секрет, то что за устройство, или хотя бы, что за вендор?
                    • +1
                      Опять про физический доступ…
                      Таких способов сотни и, как выше уже отписались, россыпь флешек с *разными* фишками перед офисом — что-то да проканает в любом случае, но… обычно, тех на кого нацелены такой тип атак:
                      1)подбирает флешку
                      2)никуда не вставляет… порты то все вырваны или залиты термоклеем и вообще по ушам получает даже за попытку подобную
                      3)Профит

                      С кем прокатило на таком объекте — обычно вскоре пропадают, возможно даже где-нить в лесополосах

                      Всех остальных оно, в принципе, не парит ибо у них и так всякие *бухи* под админами сидят да *девочки* на айфончик через айтюнчик музыку накачивают — им достаточно и тупого заряженного письма
                      • 0
                        Не дописал —
                        Не будет никто так сейчас заморачиваться ибо неиллюзорно легко(когда на 1 кв.м по 100500камер и не только) могут вычислить и оторвать все выпирающие части тела :) в прошлом было популярно, да.
                        • 0
                          Это конечно Вам не Metasploit использовать. Как только прибыль превысит все заморочки при таком взломе, так сразу и будут так взламывать. Это всего лишь дыра где нет легко доступных инструментов.
                      • 0
                        А зачем jtag в усб? Всё-таки интерфейс специфичный и для него использовать отдельный разъём логичнее.

                        УСБ вообще непонятный интерфейс. У меня эл.книжка рушит каким-то образом одновременно несколько портов до перезагрузки.
                        • 0

                          Удобно же. Один интерфейс для всего.

                          • +1
                            Не смотря на большую любовь к универсальности тут я бы поспорил. JTAG не та вещь, которую стоит светить наружу (не считая девелоперских версий естественно). Для обычной материнки это очнь странное решение. Примерно как в обычном автомобиле убрать передний капот и ездить с кишками наружу. Норм, механикам удобно. Да и то им под капот лазить приходится чаще, чем обычным юзерам в jtag.
                          • 0

                            А я после пары лет плотной работы с USB вообще удивляюсь, каким образом оно как-то умудряется работать. Качество контроллеров и, особенно, драйвером просто удручающее. Особенно для USB 3.0. За 3.1 ничего не скажу, но по тенденциям — там ещё хуже всё будет, как минимум из-за косяков в power-драйверах (а они будут).

                            • 0
                              Предположу, что рушится драйвер на контроллер, который отвечает за этот ряд юсб-портов…
                              • 0
                                Не, там всё явно сложнее. Если интересно — в целом это выглядит так:
                                В linux при втыкании книжки или внешнего винта (любого) система иногда вырубает все активные порты (зарядка из них работает по прежнему). Рабочим остаётся только незанятый в данный момент (любой). Раньше думал, что это баг ноута, пока не словил его на другой машине под вындой уже. При втыкании книжки (только с ней) курсор мышки забился в эпилептическом припадке. Отключение книжки его не спасло. Не спасло даже отключение мыши (похоже система этого просто не заметила). Такая вот фигня.
                            • 0
                              Существует ли способ программно запретить DCI из-под загруженной ОС, если BIOS по умолчанию его разрешает, и не поддерживает опции запрета?
                              • 0
                                Да, можно отключить DCI через регистры, которые указаны на слайдах.
                                • 0
                                  Спасибо. Однако, в даташитах (vol 1, vol 2) на I/O моего процессора (6820HK) регистр ECTRL почему-то не упомянут вообще, хотя DCI поддерживается. Как он там управляется? Или просто не дописали разделов в даташит?
                              • 0
                                Да, и спасет ли от такой атаки хаб стандарта 2.0? Хаб 3.0, по идее, спасать не должен, так как все порты и так подключены к контроллеру через внутренний хаб.
                                • 0

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

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

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