The OpenNET Project / Index page

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

Атака с использованием вредоносных устройств с интерфейсом Thunderbolt

27.02.2019 10:54

Группа исследователей из Кембриджского университета представила новый вид атак Thunderclap (PDF), позволяющий получить доступ к содержимому всей памяти компьютера при подключении специально модифицированных периферийных устройств с интерфейсом Thunderbolt. Проблема проявляется в Windows, мacOS, Linux и FreeBSD. Для демонстрации атаки на основе FPGA Arria 10 исследователями подготовлен прототип вредоносного устройства, а также эмулятор вредоносной сетевой карты на базе QEMU и необходимая для атаки программная начинка.

В отличие от атак BadUSB, в которых вредоносное USB-устройство эксплуатирует уязвимости в USB-стеке или притворяется USB-клавиатурой или сетевой картой для подстановки данных или перенаправления трафика, атака Thunderclap основана на методе обхода ограничений IOMMU и использовании DMA для выполнении операций в режиме прямого доступа устройства к памяти. При помощи DMA периферийное устройство может выполнить чтение и запись в любую область системной памяти. Для ограничения доступа через DMA в операционных системах и хост-контроллерах обычно применяется IOMMU (Input-Ouptut Memory Management Unit), который должен блокировать возможность совершения подобных атак и ограничивать доступ только к явно определённым областям совместно используемой памяти.

На деле ограничения IOMMU оказалось легко обойти во всех протестированных операционных системах путём симулирования подключения сетевого адаптера, для работы c которым операционной системой применяются иные методы взаимодействия без использования IOMMU. Особенности обработки пакетов с сетевой карты не позволяют в полной мере применять IOMMU, так как возникают существенные накладные расходы, заметно снижающие производительность. Например, в Linux можно полностью обойти защиту IOMMU через установку определённых флагов в сообщениях, отправляемых сетевой картой.

Более того, некоторые операционные системы обычно размещают различные внутренние структуры в областях памяти которые также используются для взаимодействия с периферийными устройствами, что позволяет осуществить атаку даже при применении IOMMU. Например, область памяти, используемая для отправки и получения пакетов, позволяет вредоносному устройству получить доступ к данным Unix-сокетов или незашифрованным данным, предназначенным для отправки через VPN. Кроме того, в случае использование общей памяти для всех устройств, одно устройство может получить доступ к данным других устройств, например, вредоносный сетевой адаптер может прочитать содержимое информации на экране или перехватить клавиатурный ввод.

Воспользовавшись предложенной техникой злоумышленник, имеющий физический доступ к компьютеру жертвы, во время отсутствия пользователя может подключить через порт Thunderbolt (в том числе Thunderbolt 3 поверх USB Type-C, Mini DisplayPort и PCI Express) специально подготовленное устройство и получить полный контроль за системой, в том числе извлечь из памяти конфиденциальные данные, такие как ключи доступа и платёжные идентификаторы, или организовать выполнение кода с максимальными привилегиями. Атака также может быть проведена для интеграции скрытой вредоносной функциональности в различное периферийное оборудование, такое как зарядные устройства и проекторы.

В Linux исправления, блокирующие проблему, будут предложены в ядре 5.0, выпуск которого запланирован на следующую неделю. Защита реализована через обязательное применение IOMMU для Thunderbolt и блокирование обходных путей работы в обход IOMMU, основанных на использовании ATS (Address Translation Services) в PCI Express. Также сообщается, что во многих дистрибутивах Linux, включая Ubuntu, Fedora и RHEL, для оптимизации производительности IOMMU для Thunderbolt не включен по умолчанию.

Разработчики FreeBSD посчитали проблему не заслуживающей исправления, так как в данной ОС не поддерживается горячее подключение Thunderbolt-устройств. В macOS 10.12.4 добавлена блокировка конкретной атаки на базе сетевой карты, но сама уязвимость остаётся неисправленной. В Windows поддержка IOMMU для Thunderbolt добавлена в обновлении Windows 10-1803, до этого IOMMU не применялся.

В качестве обходного пути защиты рекомендуется отключить Thunderbolt в настройках BIOS/UEFI или дополнительно использовать USB-хаб без поддержки Thunderbolt, не позволяющий перевести порт USB-C в режим Thunderbolt. Также рекомендуется не оставлять свой ноутбук во включенном состоянии без присмотра и не пользоваться чужими зарядными устройствами с разъёмом USB-C. Производители были уведомлены о проблеме ещё в 2016 году и для выработки должного решения по блокированию уязвимости потребовалось почти три года.

Отмечается также дополнительный вектор проведения атаки через компрометацию прошивок изначально подключенных устройств с интерфейсом PCI Express. Например, после успешного взлома, эксплуатации уязвимостей в прошивках или на этапе доставки/производства оборудования в прошивки сетевых карт или BMC-контроллеров может быть интегрирована функциональность для скрытого получения полного доступа к памяти основной системы.

  1. Главная ссылка к новости (https://www.lightbluetouchpape...)
  2. OpenNews: Представлена техника атаки на микроконтроллеры, встроенные в MicroSD-карты
  3. OpenNews: Открыт код инструментария для проведения атак через модификацию прошивок USB-накопителей
  4. OpenNews: Атака на заблокированный ПК через USB
  5. OpenNews: Представлена техника атаки, позволяющая шпионить за соседними USB-устройствами
  6. OpenNews: Новый вид атак с использованием перепрограммированных USB-устройств
Лицензия: CC-BY
Тип: Интересно / Проблемы безопасности
Ключевые слова: thunderbolt
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.5, Аномномномнимус (?), 11:34, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    А где посмотреть актуальный статус уязвимости разных ОС к BadUSB?
     
     
  • 2.7, Аноним (7), 11:55, 27/02/2019 [^] [ответить]    [к модератору]
  • –1 +/
    От BadUSB тебя ни одна ОС не спасёт.
     
     
  • 3.24, Аномномномнимус (?), 13:41, 27/02/2019 [^] [ответить]    [к модератору]
  • +1 +/
    Ну на тот же линух есть USBGuard хотябы как попытка отплеваться от залётных. А что есть например под десяточку и макось?
     
     
  • 4.28, хотел спросить (?), 14:18, 27/02/2019 [^] [ответить]     [к модератору]
  • –1 +/
    Не знаю про мак ОС, но на семерочке замечательно настраивается групповая политик... весь текст скрыт [показать]
     
  • 4.37, Xasd (ok), 17:35, 27/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    делать на каждую уязвимость по отдельной программе или по отдельной настройке ... весь текст скрыт [показать]
     
     
  • 5.44, Аномномномнимус (?), 19:14, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    На autorun.inf тоже пожалуйтесь =)
     
  • 3.46, Аноним (46), 20:23, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Вообще-то спасёт. Только нужен iommu.
     
  • 2.57, КО (?), 11:27, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Если в твоей OS мышка и клавиатура подхватываются после того как ты их воткнул в USB разъем, без участия пользователя по старым девайсам, то OS уязвима. :)
     
  • 1.6, Аноним (-), 11:36, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Покупайте Talos II, там аппаратный IOMMU развернет куда подальше такое устройство.
     
     
  • 2.8, Анон Михайлович (?), 12:00, 27/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Да, неплохо. Что там насчёт атак расчитаных на спекулятивное выполнение в этом POWER9, типа Meldown и Spectre?
     
     
  • 3.11, Аноним (-), 12:05, 27/02/2019 [^] [ответить]     [к модератору]  
  • +5 +/
    Meltdown Shipped without vulnerability to Meltdown Spectre Shipped with full... весь текст скрыт [показать]
     
  • 2.58, КО (?), 11:28, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Так и тут разворачивает, но хитрое ядро открывает калитку. :)
     
  • 1.9, ананим.orig (?), 12:02, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    + все телефоны с usb-c.
     
     
  • 2.16, Аноним (-), 12:10, 27/02/2019 [^] [ответить]    [к модератору]  
  • +4 +/
    Уязвимость касается только thunderbolt разъемов с форм-фактором type-c. Обычному USB type-c ничего не грозит.
     
  • 2.38, Xasd (ok), 17:38, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > + все телефоны с usb-c.

    и с дырявым GSM-стеком.

    (а если телефон на Андроиде -- то вероятнее всего ещё и с дырявой версией linux-ядра)

     
     
  • 3.42, Аноним (42), 18:43, 27/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Как будто бывают недырявые.
     
  • 1.10, Аноним (10), 12:04, 27/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • –8 +/
    USB-C очередное мертворожденное дитя современности Его ни для usb ни для tb ни ... весь текст скрыт [показать]
     
     
  • 2.12, Аноним (-), 12:07, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Уязвимость касается только thunderbolt разъемов с форм-фактором type-c. Обычному USB type-c ничего не грозит.
     
     
  • 3.14, Аноним (10), 12:08, 27/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    как их отличить на корпусе?
     
     
  • 4.15, Аноним (-), 12:10, 27/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Никак, только смотреть на коробку устройства/сайт производителя/bios, там должны написать type-c это или thunderbolt. Ну ещё иногда бывает рядом с портом thunderbolt молния нарисована.
     
  • 4.36, анон (?), 17:00, 27/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    рядом с разъемом указатель тандерболд в виде электрической молнии
     
  • 3.17, Аноним (-), 12:14, 27/02/2019 [^] [ответить]     [к модератору]  
  • +2 +/
    Написал криво, меня могут не так понять Поправка уязвимость касается всех thun... весь текст скрыт [показать]
     
  • 3.51, КО (?), 09:54, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >Обычному USB type-c

    грозят обычные USB атаки.

     
     
  • 4.54, Аноним (54), 11:17, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Ага, только в комментарии выше говорилось конкретно про Thunderclap. А вообще, от BadUSB и подобных должен спасать вышеупомянутый USBGuard.
     
  • 1.13, Аноним (10), 12:08, 27/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • +2 +/
    Не очень понятно, на что расчитывали, ведь, по сути TB - это PCIe, торчащий нару... весь текст скрыт [показать]
     
     
  • 2.29, J.L. (?), 14:26, 27/02/2019 [^] [ответить]     [к модератору]  
  • +/
    там как бы предполагается что безопасность от зловредного устройства обеспечивае... весь текст скрыт [показать]
     
     
  • 3.52, КО (?), 09:56, 28/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Если построить забор то через него пройти тяжело, а если оставить открытую калит... весь текст скрыт [показать]
     
  • 1.18, corvuscor (ok), 12:17, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Еще хрен знает когда я читал, что подключение к PCI-e напрямую через мультиплексор является потенциально небезопасным.
    Ну вот, теперь петух клюнул куда положено.
     
     
  • 2.30, J.L. (?), 14:28, 27/02/2019 [^] [ответить]     [к модератору]  
  • +/
    там как бы предполагается что безопасность от зловредного устройства обеспечивае... весь текст скрыт [показать]
     
  • 1.20, noize (ok), 12:44, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    >> Разработчики FreeBSD посчитали проблему не заслуживающей исправления, так как в данной ОС не поддерживается горячее подключение Thunderbolt-устройств

    мухаха

     
     
  • 2.23, анонн (?), 13:30, 27/02/2019 [^] [ответить]    [к модератору]  
  • +8 +/
    >>> Разработчики FreeBSD посчитали проблему не заслуживающей исправления, так как в данной ОС не поддерживается горячее подключение Thunderbolt-устройств
    > мухаха
    >>> В macOS 10.12.4 добавлена блокировка конкретной атаки на базе сетевой карты, но сама уязвимость остаётся неисправленной

    Но вы продолжайте нахваливать проприетарное, обложенное патентами и роялти ненужно от интеля и ябла )

     
  • 2.27, Ivan_83 (ok), 13:50, 27/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    FreeBSD 11 уже давно EOL, нужно было тестить на 12.0, тогда бы с ними стали разговаривать как с серьёзными людьми.
     
  • 1.21, Аноним (21), 13:19, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Странно, почему iommu не задеёствуется для сетевых карт. Они точно intel_iommu=on написали в параметрах?

     
     
  • 2.53, КО (?), 10:00, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >Странно, почему iommu не задеёствуется для сетевых карт.

    Так Линус же всегда был за то, чтоб безопасность не мешала скорости.

     
  • 1.22, docpcod (?), 13:24, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    Вот она эта магическая фигня которую в кино пихают во все щели для подборки паролей!! Я ЗНАЛ!
     
     
  • 2.41, Аноним (41), 18:23, 27/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Hollywood = Illuminati
     
  • 1.25, Аноним (25), 13:49, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    > Защита реализована через обязательное применение IOMMU

    До свиданья внешние сетевые карты?

     
     
  • 2.43, Аноним (43), 18:46, 27/02/2019 [^] [ответить]    [к модератору]  
  • +6 +/
    Оно: Здравствуйте, я сетевая карта, и я хочу поговорить о памяти.
    Ядро: Обожди нах, сейчас отключу иомму.
    Ядро: Стапэ, а ты точно сетевая карта?
    Оно: Я же представилась, и даже пару пакетов отправила.
    Ядро: А, ну да. Заходи, спрашивай, рассказывай.
    Звуки мата, грохот мебели и возьни.
    Оно: Такое большое, а в сказки верит.
     
  • 2.50, Онаним (?), 09:13, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Ну не "до свидания", но чтобы прососать через оные гигабит, нужно будет пару ядер в полку загнать теперь.
     
  • 1.26, Анонимусис (?), 13:49, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +5 +/
    >Производители были уведомлены о проблеме ещё в 2016 году

    Эта бага (полный доступ внешнего девайса к оперативе) тянется еще с firewire и о ней производители "уведомлены" уже более 10 лет

     
     
  • 2.31, Stax (ok), 14:48, 27/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Так они и сделали решения Во-первых на уровне фирмвари можно выбрать Security L... весь текст скрыт [показать]
     
     
  • 3.39, Xasd (ok), 17:42, 27/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    что такое TB3 ? гений абривиатур
     
     
  • 4.40, Stax (ok), 17:50, 27/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > что такое TB3 ? гений абривиатур

    Thunderbolt 3

     
  • 3.45, COBA (?), 19:51, 27/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    И как это защитит от внешней сетевой карты, у которой производитель запихнул недокументированный функционал?
     
     
  • 4.60, Stax (ok), 13:55, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Никак, нечего пихать что попало. Ну так знаете ли, от волшебного USB с сюрпризом, куда-то лезущим тоже не защитит. Или от клавиатуры с чипом кейлоггера. Включать можно только то, чему доверяем - тут же речь не про защиту от вредоносного устройства, которое втыкаешь сам и разрешаешь доступ, а про втыкание злоумышленником в твой ноут, когда ты на него не смотрел. Вот от последнего защита есть...
     
  • 3.55, КО (?), 11:22, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    >Во-первых на уровне фирмвари

    Которая рулит ровно до того момента, пока не запустятся драйвера OS?

     
  • 1.32, abi (?), 15:28, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    >> Разработчики FreeBSD посчитали проблему не заслуживающей исправления, так как в данной ОС не поддерживается горячее подключение Thunderbolt-устройств.

    devctl rescan pcixx

     
  • 1.33, ryoken (ok), 16:38, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >>Input-Ouptut Memory Management Unit
    >>Ouptut

    ага...

     
  • 1.35, Аноним (35), 16:43, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Эта проблема только TB-3?
    А при горячем подключении M.2-устройств так-то же будет?
     
     
  • 2.48, Stax (ok), 00:02, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Там будет все хуже, т.к. вообще никто не заморачивался с запросом доступа при подключении нового устройства, IOMMU и прочим.

    Но M.2 это совсем на материнке и физически в плане разъема не умеет горячее подключение. Его надо превратить в U.2 либо же какой-нибудь SFF8644, чтобы был доступен hot swap..

     
  • 1.47, DHCPep (?), 20:51, 27/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    А подскажите, эта атака работает в случае если подключаемое устройство представилось условно сетевухой, но в ядре драйвера для данной сетевухи нет?

    Ну т.е. например в FreeBSD ядро пересобрано лишь с драйверами имеющихся физически устройств, а тут эту бяку воткнули.

     
     
  • 2.56, КО (?), 11:25, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    А кто помешает этой бяке представиться PCnet-FAST III?
     
     
  • 3.59, DHCPep (?), 12:08, 28/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Т.е. никакой проблемы нет через usb или tb представиться pci устройством? там же для определённой сетевухи и общение в драйвере через интерфейс для которого эта сетевуха создана?
     
  • 1.62, Аноним (62), 19:59, 28/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Решeто by design о чем спор?
     

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


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