Thunderspy - серія атак на обладнання з інтерфейсом Thunderbolt

Розкрито інформація про семи вразливості в устаткуванні з інтерфейсом Thunderbolt, об'єднаних під кодовим ім'ям Грім і дозволяють обійти всі основні компоненти безпеки Thunderbolt. На основі виявлених проблем запропоновано дев'ять сценаріїв здійснення атак, що реалізуються за наявності у атакуючого локального доступу до системи через підключення шкідливого пристрою або маніпуляції з прошивкою.

Сценарії атак включають можливості створення ідентифікаторів довільних Thunderbolt-пристроїв, клонування авторизованих пристроїв, довільного доступу до системної пам'яті через DMA і перевизначення налаштувань рівнів безпеки (Security Level), у тому числі для повного відключення всіх механізмів захисту, блокування установки оновлень прошивки та перекладу інтерфейсу у режимі Thunderbolt на системах, обмежених прокиданням через USB або DisplayPort.

Thunderbolt є універсальним інтерфейсом для підключення периферійних пристроїв, що комбінує в одному кабелі інтерфейси PCIe (PCI Express) і DisplayPort. Thunderbolt розроблений компаніями Intel та Apple, і застосовується у багатьох сучасних ноутбуках та ПК. Пристрої Thunderbolt на базі PCIe надають засоби для введення/виведення з прямим доступом до пам'яті, що створює загрозу здійснення DMA-атак для читання і запису всієї системної пам'яті або захоплення даних із зашифрованих пристроїв. Для запобігання подібним атакам у Thunderbolt була запропонована концепція рівнів безпеки (Security Level), яка допускає застосування лише авторизованих користувачем пристроїв та застосовує для захисту від підробки ідентифікаторів криптографічної автентифікації з'єднань.

Виявлені вразливості дають можливість обійти подібну прив'язку та підключити шкідливий пристрій під виглядом авторизованого. Крім того, є можливість модифікації прошивки та переведення SPI Flash в режим тільки для читання, що може застосовуватися для повного відключення рівнів безпеки та заборони оновлення прошивки (для подібних маніпуляцій підготовлені утиліти tcfp и spiblock). Усього розкрито відомості про сім проблем:

  • застосування неадекватних схем верифікації прошивки;
  • використання слабкої схеми аутентифікації пристрою;
  • Завантаження метаданих із неавтентифікованого пристрою;
  • Наявність механізмів забезпечення зворотної сумісності, що допускають застосування атак по відкату на вразливі технології;
  • використання параметрів конфігурації неавтентифікованого контролера;
  • недоробки в інтерфейсі для SPI Flash;
  • Відсутність засобів захисту на рівні Boot Camp.

Вразливість проявляється на всіх пристроях, оснащених Thunderbolt 1 та 2 (на базі Mini DisplayPort) та Thunderbolt 3 (на базі USB-C). Поки не ясно проявляються проблеми в пристроях з USB 4 і Thunderbolt 4, оскільки дані технології тільки анонсовані і поки немає можливості перевірити їхню реалізацію. Вразливості неможливо усунути програмно і вимагають переробки апаратних компонентів. При цьому для деяких нових пристроїв є можливість блокування частини проблем, пов'язаних з DMA за допомогою механізму Захист DMA ядра, підтримка якого почала впроваджуватися починаючи з 2019 року (підтримується в ядрі Linux, починаючи з випуску 5.0, перевірити включення можна через "/sys/bus/thunderbolt/devices/domainX/iommu_dma_protection").

Для перевірки своїх пристроїв запропоновано Python-скрипт. Spycheck, який вимагає запуску з правами root для доступу до DMI, DMAR-таблиці ACPI та WMI. В якості заходів для захисту вразливих систем рекомендується не залишати систему без нагляду увімкненої або в режимі очікування, не підключати чужі пристрої Thunderbolt, не залишати і не передавати свої пристрої стороннім і забезпечити фізичний захист своїх пристроїв. Якщо Thunderbolt не потребує, рекомендується відключити Thunderbolt-контролер у UEFI або BIOS (може призвести до непрацездатності портів USB і DisplayPort, якщо вони реалізовані через контролер Thunderbolt).

Джерело: opennet.ru

Додати коментар або відгук