Взлом 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
• 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, за исключением запуска системы при помощи правильного логина и пароля. Или в то время когда экран компьютера не заблокирован паролем, но в этом случае, система уже и так находится в небезопасном состоянии и надобности взлома нету, разве что для получения пароля и расшифровки связки ключей которая содержит пароли на другие ресурсы.
На этом вводную статью можно заканчивать. А в следующей части мы рассмотрим что мы выяснили в результате тестирования и что делать с этими данными.
В заключение можем порекомендовать прочитать другие статьи по безопасности:
- Как создать зашифрованную флешку в Mac OS X
- Безопасность в сети: Скрываем свое местоположение или как скрыть ip адрес
- Дисковая утилита (часть 3) работа с образами дисков .dmg (здесь описано как создать зашифрованный образ диска)
- Флеш-накопители с аппаратным шифрованнием от Kingston
- Как защитить свои данные или локальная безопасность Mac OS
- Включаем FileVault 2 или защищаем файлы Mac OS
- Как не потерять данные при краже или сбое компьютера
- Как создать хороший пароль? Работа со «Связкой ключей» (Часть 1)
- Работа со связкой ключей (часть 2)
- Работа со связкой ключей (часть 3)- Продвинутый пользователь
- Взлом связки ключей Keychain Mac OS
- Взлом FileVault 2 (часть 1)
Последние комментарии