АНАЛИЗ СПОСОБОВ ПОЛУЧЕНИЯ КОПИИ ОПЕРАТИВНОЙ ПАМЯТИ КОМПЬЮТЕРА ПОД УПРАВЛЕНИЕМ MAC OS

Автор: Владислав Ляшенко

Цель работы: определение перспективных способов получения копии оперативной памяти компьютера под управлением Mac OS

Метод: сравнение существующих способов получения копии памяти.

В результате работы определен оптимальный способ снятия дампа оперативной памяти компьютера Mac OS, выявлены их достоинства и недостатки.

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

Ключевые слова: Mac OS, компьютерная криминалистика, копия памяти, оперативная память, безопасность операционных систем, вредоносное ПО.

ВВЕДЕНИЕ

В настоящее время активно растет количество вредоносного программного обеспечения [1]. Злоумышленники постоянно находят какие-либо уязвимости в программном обеспечении, сетевых механизмах передачи информации, а также в глубинках операционных систем. В настоящее время наиболее распространены три вида операционных систем: Windows, Mac OS, Linux. Каждая из перечисленных операционных систем имеет свои достоинства и недостатки, злоумышленники используют найденные недостатки операционных систем и используют их в своих целях. Настоящая статья посвящена исследованию способов получения копии оперативной памяти Mac OS для расследования киберпреступлений. Согласно [2] доля компьютеров под управлением Mac OS в мире составляет 13.22 %. Данный показатель занимает вторую по популярности строчку среди используемых в персональных компьютерах операционных систем. Стоит отметить, что популярность операционной системы, рассматриваемой в настоящей статье набирает популярность. В России, например, за последние 10 лет доля компьютеров под управлением Mac OS выросла в 21 раз. [2] Популярность лидера по количеству использований – ОС Windows при этом упала на 13 % за последнее десятилетие. [2]

1 Способы получения копии оперативной памяти

Получить копию оперативной памяти компьютера под управлением Mac OS можно с помощью как программных так и аппаратных средств. В этом разделе будет проведен анализ этих способов и выбран способ для получения копии оперативной памяти. 

1.1 Аппаратный способ получения копии оперативной памяти

Авторы [3] описывают способы получения копии оперативной памяти, основанные на применении PCI-шины. Rutkowska J. в своей статье [4] описывает способ, основанный на перепрограммировании северного моста, благодаря чему становится возможным скрытие областей физической памяти. Авторы статьи [5] предлагают замораживать энергозависимую память, чтобы в дальнейшем извлечь ее с носителей и анализировать. Однако, такой подход неудобен и дается всего один шанс на получение копии памяти. 

Несмотря на то, что аппаратные методы устойчивы к распространенным способам скрытия областей физической памяти, они применимы только в лабораторных условиях [6].

1.2 Программные способы получения копии оперативной памяти

Изначально компания Apple разрешала программному обеспечению получать данные физической памяти через блочное устройство /dev/mem, виртуальное адресное пространство ядра было доступно через устройство /dev/kmem. На версиях Mac OS старше 10.6 эта возможность была отключена. В данном разделе будут рассмотрены средства, позволяющие получить копию оперативной памяти компьютера Mac OS с использованием программного подхода. 

1.2.1 Mac Memory Reader

Mac Memory Reader [7] –– это программа командной строки для получения копии содержимого физической оперативной памяти на компьютере Mac OS, позволяющая собирать информацию о нестабильном состоянии до выключения машины. Результаты хранятся либо в двоичном файле Mach-O, либо в файле «сырого» формата для последующего анализа исследователем. Программа ищет диапазоны оперативной памяти путем разбора загрузочных аргументов ядра. Mac Memory Reader предоставляется бесплатно, но имеет закрытый исходный код. Он выполняется непосредственно на 32 и 64- разрядных целевых машинах под управлением Mac OS 10.4 –– 10.8 и требует PowerPC G4 или более поздней версии или любого процессора Intel. Mac Memory Reader позволяет получать копию оперативной памяти как пользовательского пространства, так и пространства ядра. Включает в себя модуль расширения ядра, который позволяет вернуть блочное устройство /dev/mem, которое было убрано компанией Apple в Mac OS 10.6. Так же пользователю после загрузки в память ядра расширения становится доступно блочное устройство /dev/pmap, которое содержит информацию о диапазонах физической памяти. 

При использовании данного средства в первую очередь необходимо получить смещения и размеры объектов в оперативной памяти с помощью считывания информации из /dev/pmap. Далее можно получать копию памяти, используя блочное устройство /dev/mem. Mac Memory Reader по умолчанию сохраняет копию памяти в формате Mach-O, смещения будут необходимы при анализе копии оперативной памяти с таким расширением. 

На рисунке 1 представлен скриншот примера работы Mac Memory Reader. 

Рисунок 1. Пример работы Mac Memory Reader

Mac Memory Reader сообщает пользователю, что компьютер имеет 8 ГБ оперативной памяти. Последние 3 строки вывода говорят, что было записано 7,94 Гб оперативной памяти; 44,77 Мб памяти были нечитаемыми, 16,04 Mб существуют, но не были в фактической физической памяти. В сумме получается 7,99 Гб, если бы это число сильно отличалось от 8 Гб, это могло бы говорить о том, что ядро было подвергнуто модификации и возвращает неверные диапазоны памяти.

1.2.2 Mac Memoryze

Mac Memoryze [8] –– еще одна программа командной строки для
получения памяти из систем под управлением Mac OS версий 10.6 – 10 на 32 и 64-разрядных процессорах Intel. Формат копии оперативной памяти, предоставляемый данным средством, поддерживается Volatility Framework. В настоящий момент, нет информации о том, когда и будут ли вообще поддерживаться системы старше версии 10.8. Ниже, на рисунке 2, приведен пример использования Mac Memoryze в системе 10.8.

Рисунок 2. Пример использования Mac Memorize

Затем можно проанализировать 10.8.dump файл с использованием
Volatility. При использовании данного средства имеет место быть смазывание страниц оперативной памяти.

1.2.3 OSXPmem

OSXPmem [9] –– это программа командной строки от Google с открытым исходным кодом для получения копии оперативной памяти. На момент написания настоящей работы программа позволяет получить копию оперативной памяти у компьютеров под управлением Mac OS от версии 10.6 до версии 10.14.6 включительно. Авторы программы исключили возможность получать копию оперативной памяти в компьютерах с 32 битной архитектурой. По умолчанию OSXPmem записывает копию памяти в файл формата «ELF», но средство позволяет выбрать так же «Mach-o» формат или необработанный «raw». OSXPmem, как и Mac Memory Reader, позволяет получать копию оперативной памяти уровня ядра и уровня пользователя. После загрузки драйвера ядра, который поставляется вместе с OSXPmem, становится доступно блочное устройство «/dev/pmem» из которого можно получить копию оперативной памяти компьютера.

На рисунке 3 изображен пример работы OSXPmem.

Рисунок 3. Пример работы OSXPmem

Вывод OSXPmem начинается с перечисления областей, которые средство записало в файл с копией «mem.dump». Вывод заканчивается перечислением того, сколько страниц было получено, размер физическогоадресного пространства. Этот вывод необходим, чтобы убедиться, что вредоносное ПО и руткиты не вносили изменений в процесс получения копии оперативной памяти.

Помимо этого, возможно получение необработанной (raw) копии оперативной памяти с помощью команды «sudo dd if=/dev/pmem of=image.raw». Выполнение данной команды в терминале скопирует все содержимое оперативной памяти в файл «image.raw». Однако здесь, как и в ранее перечисленных средствах возможно «смазывание» страниц оперативной памяти.

1.2.4 Подход получения копии памяти, основанный на
виртуализации

Помимо использования блочного устройства также имеет место быть подход, основанный на виртуализации. Авторы [10] [11] предлагают запустить систему в виртуальной машине, а затем остановить ее и, как результат, файл подкачки будет содержать необходимые данные (файл формата *.vmem в случае VMware). Однако, этот подход применим только если система запущена в виртуальной машине и не стоит задачи быстро получить копию памяти. Данный подход позволяет получить полную копию памяти.

В таком случае исключается возможность «смазывания» страниц памяти, поскольку пользователь не имеет возможности вносить изменения в память. Этот подход имеет недостатки, т.к. в данном случае система «замораживается» и все ее процессы приостанавливаются. Если речь идет об обычном компьютере, когда операционная система запущена без виртуализации, такой способ неприменим. Кроме того, могут возникнуть проблемы с приостановкой работающей виртуальной машины, поскольку это может повлиять на производительность и стабильность компьютера.

1.2.5 Использование двух операционных систем, для получения
копии памяти одной из них

В статье [12] автор предложил использовать вторую операционную
систему вместе с основной. Суть подхода основана на извлечении копии памяти первой операционной системы из второй операционной системы. Основным недостатком использования данного подхода является неудобство использования вне лабораторных условий.

1.3 Схема классификации способов получения копии памяти

На основании проведенного анализа была составлена схема классификации способов получения копии памяти. Схема представлена на рисунке 4.

Рисунок 4. Схема классификации способов получения копии памяти

1.4 Сравнение способов получения копии памяти
Выше были рассмотрены способы и средства по получению копии оперативной памяти. Каждый подход имеет свои сильные и слабые стороны.


В таблице 1 сравниваются программные и аппаратные способы
получения копии оперативной памяти.

Таблица 1. Сравнение способов получения копии памяти

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

Таблица 2. Сравнение средств получения копии памяти

Сравнение средств проводилось по 4 критериям. В результате анализа было установлено, что OSXPmem –– лучший вариант для получения копии оперативной памяти. Это средство позволяет получать копию памяти на актуальных версиях Mac OS, может работать в режиме командной строки, есть возможность использования в целях дальнейшей автоматизации.

Возможно, Вам понравится:

guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x