Взлом FileVault 2 — часть 2 — вводная

OS X, Безопасность | Автор: Владислав Сикорский Оставить коментарий

В первой части серии статей «Взлом FileVault 2″ мы рассказали про уязвимость в шифровании диска с помощью  FileVault 2. Пробежались вкратце каким образом это возможно сделать и как защитить себя. В этой части мы более подробно рассмотрим способ взлома, способ получения паролей в зависимости от версии операционной системы, компьютер на который она установлена и другие тонкости.

В новых версиях Mac OS 10.7 и 10.8, также известной как Lion и Mountain Lion, Apple внедрила некоторые контрмеры для защиты от известных методов атак IEEE 1394 прямого доступа к памяти (DMA), которые позволяют снять образ содержимого оперативной памяти. Мы нашли способ, как можно обойти эти меры , когда система использует настройки по умолчанию, к примеру «Быстрое переключение пользователей». Благодаря этой функции пользователь который вышел из системы, для того чтобы смог зайти другой пользователь, (если их 2 или более) его сеанс не выключается, а продолжает работать в фоне;  Если изменить некоторые параметры конфигурации по умолчанию, вы сможете смягчить эту угрозу. Эти параметры включают в себя изменение параметров сна, отключение быстрого переключения пользователей и.т.д.

Использование протокола IEEE 1394 для захвата содержимого оперативной памяти компьютеров не является чем-то новым, в интернете есть хорошо документированные примеры начиная с 2004 года, помимо этого, такой способ используется правоохранительными органами в целях судебной экспертизы. С помощью тестирования было подтверждено, что Mac OS Lion и  Mountain Lion реализует контрмеры против использования IEEE 1394 для прямого доступа к оперативной памяти компьютера Это открытие побудило несколько вопросов:

1)  Насколько подобробно Apple проработало все варианты захвата памяти?

2) Различаются ли ограничения в зависимости от состояния системы, такие как: заблокированный экран, пользователь вышел из системы, и так далее?

3) Можно ли обойти эти ограничения?

4)  А пароли и хэши паролей доступны в памяти?

5)  Существуют ли варианты конфигурации, которые препятствуют использованию IEEE 1394 без ущерба для безопасности Mac OS Lion?

Следует отметить, что в июле 2011 компания Passware  выпустила пресс-релиз, и заявила что их инструмент был способен восстановить пароли для систем под управлением Mac OS Lion с FileVault 2 включительно. В пресс-релизе не предоставили никаких подробностей о том, как это было сделано и не раскрыто никаких обстоятельств благодаря которым им это удалось сделать. Исследования, проведенные в этой статье, были отчасти сделаны из-за этого  пресс-релиза. Если есть способы, чтобы сделать  Mac полностью безопасным и FileVault 2 может быть настроен на 99.9% надежно, то эта информация должна стать доступной для частных лиц и организаций, которые полагаются на это программное обеспечение для защиты своей конфиденциальной информации.

Для простоты описания процесса взлома мы будем называть систему к которой будем получать доступ — хост,  а систему которая будет выполнять анализ полученного изображения мы назовем цель.

Для тестирования уязвимости мы использовали различные системы в качестве цели, и мы обнаружили некоторые незначительные изменения в зависимости от аппаратной платформы (см. Расхождения в целевых системах ниже), хотя эти расхождения имели мало влияния на результаты. Снятия дампа оперативной памяти стало возможным благодаря соединению хост-компьютера и целевого с помощью Firewire / IEEE 1394 кабеля.

В интернете доступны библиотеки  Pythonraw1394  для Linux компьютеров, которые имеют raw1394 расширение ядра. Этот набор расширений ядра были заменены на «juju» модули в самых популярных дистрибутивах Linux, такие как Ubuntu. Только в старых версиях этих дистрибутивов (которые больше не поддерживаются) есть модули ядра необходимые, чтобы превратить наш план в реальность. Несмотря на то что мы опираемся на устаревшие модули ядра, библиотека pythonraw1394 включает в себя несколько полезных утилит, и была широко испытана для проведения экспертизы памяти. Потому что эти инструменты, как известно, работают и были использованы экспертами для выполнения судебных экспертиз, они были использованы в дополнение к более современным инструментам для оказания помощи в проверке результатов тестирования.

Libforensic1394 библиотека является более новой, в отличии от pythonraw1394 и обеспечивает доступ к оперативной памяти на хост при использовании IEEE 1394. Библиотеки не включают программы и утилиты для снятия образа оперативной памяти, однако их использование в этих целях хорошо задокументированы . Следовательно, можно было создать простой Python скрипт для выполнения захвата RAM.  Библиотеки предназначены для работы как на Linux так и на Mac OS. В Linux библиотеки используют новый «juju» модуль FireWire ядра, и, следовательно, libforensic1394 будет работать на большинстве Linux системах. В Mac OS она предназначена для использования IOKit интерфейса разработанного Apple.
Было обнаружено, что работа библиотек  Mac OS ML не очень стабильна и переодически приводит к критической ошибке ядра. В Ubuntu 11.04 работа библиотек приводила к некоторым ошибкам, но в целом работали стабильно и свою функцию выполнили

Благодаря тому что пароли хранятся в оперативной памяти в открытом виде, нам не надо даже создавать или использовать любые специализированные инструменты для извлечения паролей. С помощью тестирования было обнаружено, что некоторые строки текста были часто в непосредственной близости от пароля написанном в текстовом виде. С помощью обычных Unix команд «strings» и «GREP»  можно найти интересующую нас информацию.Следующая команда способна извлекать пароль из образа RAM:

strings ramdump.bin |grep --after-context=3 managedUser \
|grep --after-context=1 password

Есть и другие строки, связанные с паролями и хэшами паролей, которые доступны в файле образа памяти. Но это не дискуссия о том, как лучше получить пароли, поэтому эту тему мы пока не будем изучать дальше, а остановимся на том что есть.

Целевые системы были выбраны исключительно на основании наличия компьютера в офисе и небыли проверены на всей линейке продуктов Apple. Как следствие, результаты работы могут быть неполными. Но мы считаем, что результаты, можно смело переносить на все  компьютеры Macintosh с Intel и 64-битной архитектурой процессора.
Ниже приведен список различных конфигураций которые использовались во время тестирования. Тестирование каждого компьютера подразумевает установку Mac OS c нуля:

  •  MacBook Pro Intel Core Duo 2

-  Lion 10,7 FDE включен, операционная система, установлена на внешний накопитель USB.

- Lion 10,7 FDE не настроен, операционная система установлена на внешний накопитель USB.

- Mountain Lion 10.8.1 FDE включен, операционная система, установлена на внешний накопитель USB.

-  Lion 10.7.1 FDE не настроен, операционная система, установлена на внешний накопитель USB.

-  Snow Leopard 10.6.8 FileVault 1 включен для некоторых счетов, система, установлена на внешний накопитель USB

  • iMac 27”  Intel, i5
- Lion 10.7.1 FDE не настроен, операционная система установлена на первичном внутреннем диске
- Lion 10.7.1 FDE включен, операционная система установлена на первичном внутреннем диске.
- Lion 10.8.1 FDE включен, операционная система установлена на внешний накопитель USB.

• MacBook Pro Intel Core Duo (32-разрядная архитектура)

- Snow Leopard 10.6.8 FileVault 1 не включен, установлена на первичном внутреннем диске.

Хост- компьютеры

Ubuntu 11.04
Операционная система Ubuntu был выбрана в  произвольном порядке, любого современного дистрибутива Linux хватило бы, хотя конфигурация отличается. Хост-система которая используется для захвата RAM использует процессор Intel Core Quad, и чипсета Motorola на базе  PCI Firewire карты с портами Firewire-400. Ubuntu была установлена в 64-разрядной версии (по умолчанию).

Ubuntu 8.04.4
Чтобы проверить pythonraw1394 библиотеки потребовался диструбутив более старой версии, чтобы там был еще доступен модуль ядра raw1394 . Была выбрана именно Ubuntu 8.04.4 поскольку нам изсевсно что в ней есть необходимые модули. 32-разрядная версия операционной системы была установлена с настройками по умолчанию на ноутбук Toshiba. Система оснащена AMD X2-64 процессором, а также модулем Xerox на основе интерфейса Firewire.
MacOS 10,7
Libforensic1394 библиотека предназначена для работы с IOKit системы Mac OS.  Mac OS Lion вполне можно  использовать, для снятия образа оперативной памяти, однако, любая ошибка чтения с IEEE 1394 приводит к ошибке ядра системы. В связи с экспериментальным характером испытаний, и значительно ужатыми сроками вариант с использованием Mac OS Lion в качестве компьютера назначения был заброшен в начале тестирования.

С помощью все того же тестирования было установлено, что попытки доступа к оперативной памяти используя DMA особенности IEEE 1394 на компьютере Macintosh были заблокированы при определенных обстоятельствах. К примеру контроль доступа активизирован и не позволял получать прямой доступ к оперативной памяти, в случае если при выходе из режима сна или заставки запрашивается пароль для входа в операционную систему. Во многих случаях эти контрмеры можно обойти . Если контрмеры как правильный режим сна и выключена функция быстрого переключения пользователей были предприняты то дамп оперативной памяти содержал только нулевые (0×00) байты.

Можно настроить систему таким образом, чтобы полностью предотвратить любые попытки доступа к оперативной памяти с использованием IEEE 1394 DMA, за исключением запуска системы при помощи правильного логина и пароля. Или в то время когда экран компьютера не заблокирован паролем, но в этом случае, система уже и так находится в небезопасном состоянии и надобности взлома нету, разве что для получения пароля и расшифровки связки ключей которая содержит пароли на другие ресурсы.

На этом вводную статью можно заканчивать.  А в следующей части мы рассмотрим что мы выяснили в результате тестирования и что делать с этими данными.

В заключение можем порекомендовать прочитать другие статьи по безопасности:

Оставить коментарий

LiNX.net.ua by LiNX team
RSS канал RSS отзывы Войти