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

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 1 Mar 2019.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,373
    Likes Received:
    6,619
    Reputations:
    693
    Группа исследователей из Кембриджского университета представила новый вид атак 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), который должен блокировать возможность совершения подобных атак и ограничивать доступ только к явно определённым областям совместно используемой памяти.


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

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

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


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

    [​IMG]
    Разработчики 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-контроллеров может быть интегрирована функциональность для скрытого получения полного доступа к памяти основной системы.

     
    CyberTro1n and seostock like this.
  2. Triton_Mgn

    Triton_Mgn Elder - Старейшина

    Joined:
    6 Jul 2015
    Messages:
    3,644
    Likes Received:
    5,702
    Reputations:
    51
    CyberTro1n and seostock like this.
  3. CyberTro1n

    CyberTro1n Well-Known Member

    Joined:
    20 Feb 2016
    Messages:
    862
    Likes Received:
    647
    Reputations:
    4
    Инфа до боли полезна. Где я был и что делал 3 года назад пропустив жилку эту.... Пздц.