Шведский исследователь и пентестер Ульф Фриск (Ulf Frisk) создал прибор, при помощи которого можно обойти шифрование FileVault 2, использующееся устройствами Apple. Фриск назвал свою разработку PCILeech и подробно рассказал в блоге, что для создания прибора понадобится всего $300 и опенсорсный софт.

Исследователь пишет, что летом 2016 года он обнаружил две уязвимости в имплементации FileVault2, используемой Apple. Эти баги позволяют атакующему получить пароль жертвы (в виде простого текста), причем извлечь его можно даже с заблокированного или «спящего» Mac. Сама атака очень проста: нужно лишь подключить кастомный Thunderbolt-девайс к Mac, принудительно перезагрузить устройство (ctrl+cmd+power) и дождаться извлечения пароля, которое займет около 30 секунд.

Тогда как видеодемонстрацию атаки можно увидеть выше, в блоге Фриск объясняет, как такое возможно. По словам исследователя, проблема делится на две части. Во-первых, устройства Apple не защищены от Direct Memory Access (DMA) атак. Пока macOS еще не запустилась, EFI допускает подключение вредоносных Thunderbolt-устройств и позволяет им чтение памяти и запись в нее. Как только macOS запускается, защита от DMA включается по умолчанию. Во-вторых, пароль от FileVault хранится в памяти в виде простого текста. Хуже того, он не вычищается оттуда, после того как диск был разблокирован. Пароль в памяти меняет расположение, но в пределах фиксированного диапазона.

В результате исследователь реализовал DMA-атаку: как только устройство перезагружается, защита от DMA перестает работать, а значит, до содержимого памяти можно добраться без особенных проблем. Фриск объясняет, что после ввода пароль хранится в памяти как Unicode. Если пароль содержит только ASCII-символы, каждый второй байт – это ноль. В итоге найти парольную фразу несложно.

Для примера исследователь взял сочетание символов eerrbbnn, которое в памяти будет выглядеть как 6500650072007200620062006e006e. Как видно на скриншотах ниже, PCILeech обнаружит, где именно в памяти расположен пароль. Просмотрев эту область, можно обнаружить пароль в виде обыкновенного текста. Фриск отмечает, что атака может обернуться неудачей, если в пароле используются нестандартные (не ASCII) символы. В такой ситуации он предлагает сохранить дамп памяти и позже найти пароль вручную.


Написанный для атак proof-of-concept софт исследователь уже опубликовал на GitHub. Там же можно найти подробные инструкции по созданию вредоносного Thunderbolt-прибора и его прошивке. Так, Фриск объясняет, что использовал чип USB3380, но одного только этого мало. Хотя сам чип можно приобрести за $15, лучше найти макетную плату (development board) с уже установленным чипом. Искать Фриск советует на eBay, AliExpress, или обратить внимание на решения компании BPlus Technology. По данным специалиста, точно работают платы USB3380-EVB mini-PCIe и PP3380-AB PCIe, а вот ExpressCard EC3380-AB точно не подойдет. Фриск пишет, что тестировал свою атаку на нескольких  Macbook и Macbook Air, оснащенных Thunderbolt 2. На более новых девайсах с USB-C тесты не проводились.

Исследователь связался с разработчиками Apple еще в августе 2016 года, однако на создание патча у компании ушло несколько месяцев. Исправление было представлено 13 декабря 2016 года, в составе macOS 10.12.2.

В том же августе 2016 года Фриск рассказывал о DMA-атаках и PCILeech на Defcon 24, полную версию его сорокаминутной презентацию можно увидеть ниже.

1 комментарий

  1. 8gb

    16.12.2016 at 22:59

    Раньше сдампить можно было только превые 4 гига памяти, с этим устройством так же?

Оставить мнение

Check Also

В коде новой малвари для macOS найдены куски, датированные 1998 годом

Исследователи Malwarebytes обнаружили новую малварь для macOS, которая шпионит за биотехно…