Исследователи в области безопасности обнаружили ряд серьезных уязвимостей, связанных с интерфейсом периферии и разъемом для зарядки Thunderbolt, разработанным Intel и Apple, которые позволяют злоумышленникам полностью захватить компьютеры.
Thunderbolt, доступный через порты USB-C на современных ноутбуках, обеспечивает низкоуровневый прямой доступ к памяти (DMA) с гораздо более высокими уровнями привилегий, чем обычные периферийные устройства с универсальной последовательной шиной, команда исследователей из Университета Кембриджа, Университета Райса и SRI Международный [pdf] отметил.
Это открывает ноутбуки, настольные компьютеры и серверы с портами ввода / вывода Thunderbolt и разъемами PCI-Express для атак с использованием вредоносных периферийных устройств с поддержкой DMA, обнаружили исследователи.
«Если на хосте не используются никакие средства защиты, злоумышленник имеет неограниченный доступ к памяти и может полностью взять под контроль целевой компьютер: он может украсть пароли, логины банков, ключи шифрования, сеансы браузера и личные файлы, а также внедрить вредоносные программы. программное обеспечение, которое может работать в любом месте системы ", - сказали они.
«Такие атаки очень вероятны на практике. Комбинация питания, видео и DMA периферийных устройств через порты Thunderbolt 3 облегчает создание вредоносных зарядных станций или дисплеев, которые работают правильно, но одновременно получают контроль над подключенными машинами», - сказали исследователи.
Основной защитой от вышеуказанных атак является блок управления памятью ввода-вывода (IOMMU), который позволяет устройствам получать доступ только к памяти, необходимой для выполнения работы.
Однако включение IOMMU для защиты от атак DMA сопряжено с высокой производительностью. Большинство операционных систем компенсируют безопасность для повышения производительности и по умолчанию отключают IOMMU.
Чтобы выяснить, используется ли IOMMU и как, исследователи создали платформу с открытым исходным кодом, программируемую вентильной решеткой (FPGA), которую они назвали Thunderclap.
Исследователи обнаружили, что Windows 7 и 8, а также Windows 10 Home и Pro вообще не поддерживают IOMMU.
Windows 10 Enterprise может использовать IOMMU, но только очень ограниченным образом, что делает большую часть системы уязвимой.
Исследователи работают с поставщиками с 2016 года, чтобы помочь устранить уязвимости, и Microsoft представила Kernel DMA Protection для Thunderbolt 3 в Windows 10 версии 1803 и более поздних.
Это позволяет использовать IOMMU для периферийных устройств Thunderbolt, но не для устройств PCIe. Однако требуется поддержка прошивки, а это означает, что старые ноутбуки, выпущенные до выпуска Windows 10 1803, остаются уязвимыми.
MacOS от Apple использует IOMMU, но даже при включенной аппаратной защите исследователи смогли использовать поддельную сетевую карту для считывания трафика данных, который предназначен для того, чтобы ограничиваться машиной и никогда не покидать ее.
Сетевая карта также могла запускать произвольные программы на уровне системного администратора в macOS и считывать содержимое дисплея с других компьютеров Mac и нажатия клавиш с клавиатуры USB.
Apple исправила уязвимость в macOS 10.12.4, выпущенную в 2016 году, но исследователи говорят, что более общий масштаб таких атак остается актуальным.
FreeBSD и Linux с открытым исходным кодом поддерживают IOMMU, но во многих дистрибутивах он не включен по умолчанию. Как и в случае с macOS, было возможно запускать произвольный код с высокими уровнями привилегий в FreeBSD и Linux, а также считывать трафик данных, используя поддельную сетевую карту, утверждают исследователи.
Кроме того, в Linux поддельная сетевая карта имела доступ к структурам данных ядра, и было возможно полностью обойти IOMMU, установив несколько опционных полей в сообщениях, отправляемых вредоносными устройствами, созданными исследователями.
Корпорация Intel выпустила исправления для ядра Linux 5.0, чтобы включить IOMMU для периферийных устройств Thunderbolt и отключить функцию, позволяющую исследователям обходить аппаратную защиту.
Обнаруженные исследователями уязвимости достаточно серьезны, и один неназванный крупный производитель ноутбуков заявил, что хотел бы изучить недостатки более подробно, прежде чем добавлять интерфейсы Thunderbolt в свои новые продуктовые линейки.
Помимо установки обновлений безопасности для операционных систем, исследователи предложили пользователям, обеспокоенным угрозой, отключить порты Thunderbolt на своих машинах. ПК часто позволяют пользователям отключать Thunderbolt в настройках прошивки BIOS / UEFI, сохраняя при этом питание, видео и USB-функциональность для портов USB-C.
Пользователи должны позаботиться о том, чтобы не оставлять свои компьютеры без присмотра в общественных местах и избегать использования зарядных станций USB-C. Им также следует остерегаться подключения неизвестных устройств к порту Thunderbolt своих компьютеров, даже внешне безопасных периферийных устройств, таких как зарядные устройства и проекторы.