Thunderspy — серия атак на оборудование с интерфейсом Thunderbolt
11 мая 2020 года
Раскрыта информация о семи уязвимостях в оборудовании с интерфейсом Thunderbolt, объединённых под кодовым именем Thunderspy и позволяющих обойти все основные компоненты обеспечения безопасности 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, при помощи механизма Kernel DMA Protection, поддержка которого стала внедряться начиная с 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).
Источники
[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.