Содержание статьи
Компьютер, телефон, планшет и прочие цифровые носители информации сегодня есть у каждого, от мала до велика. Неудивительно, что, как это бывает со всем в нашей жизни, с их помощью не только созидают разумное, доброе, вечное, но и делают не совсем правильные и хорошие вещи. В случае нелегального использования цифрового устройства или же когда злоумышленник использовал такое устройство при подготовке или совершении злодеяния, данные на устройстве могут послужить подтверждением его вины — так называемым цифровым доказательством.
Исчезающие улики
Что происходит, когда на месте преступления обнаруживается работающий компьютер? В большинстве случаев следователь просто его выключит. В дальнейшем изучать этот компьютер будет эксперт по исследованию компьютерной информации, а вовсе не следователь. Все, что останется «на руках» у эксперта, — это жесткий диск. К сожалению, при таком подходе навсегда утрачивается доступ к огромному количеству «эфемерных» улик, безвозвратно исчезающих при выключении питания. Эти улики — данные, хранящиеся в ОЗУ.
Выключая компьютер, не сняв предварительно слепок оперативной памяти, следственные органы могут никогда не увидеть последних сообщений, отправленных подозреваемым через социальные сети. Пропадут ключи, с помощью которых могут быть зашифрованы криптоконтейнеры. Если использовался режим «приватности», эксперт никогда не увидит сайтов, открытых в момент выключения питания. Будут безвозвратно утрачены и многие другие данные.
Все, что нужно, чтобы не потерять эти и многие другие улики, — сохранить образ оперативной памяти в файл.
Что можно найти в оперативной памяти
Если хорошенько поискать, в оперативной памяти компьютера можно найти самые неожиданные вещи. К примеру, ключи, с помощью которых получится мгновенно расшифровать содержимое криптоконтейнеров TrueCrypt, BitLocker и PGP Disk. Такая функция присутствует, например, в программе отечественной разработки Elcomsoft Forensic Disk Decryptor. А вот атака на зашифрованные данные «в лоб» займет миллиарды лет — в конце концов, профессионалы своего дела работали долгие годы, стараясь защититься в первую очередь именно от атаки перебором.
В оперативной памяти содержатся последние сообщения, полученные и отправленные через социальные сети; комментарии, оставленные на форумах; сообщения, переданные с помощью программ мгновенного обмена сообщениями или с использованием чатов, встроенных в электронные игры. Там можно найти информацию о последних скачанных файлах. В памяти компьютера какое-то время хранятся страницы и изображения с веб-сайтов — даже если в браузере включен режим защиты приватности, отключен кеш и сохранение истории посещений. Кроме того, доступно большое количество системной информации, загруженные ветки реестра, распакованные и расшифрованные версии защищенных программ, информация об открытых сетевых соединениях. Если компьютер заражен вирусом или на нем запущена троянская программа, то при исследовании образа памяти их будет хорошо видно.
Хакер #176. Анонимность в интернете
Как снимается образ памяти
Сохранение содержимого оперативной памяти компьютера для последующего изучения — необходимый шаг в работе «цифрового» криминалиста. Создание образа памяти занимает минуты и при должном уровне технического обеспечения осуществляется одной кнопкой. При этом «должный уровень технического обеспечения» расшифровывается очень просто: достаточно любой USB-флешки, способной полностью вместить содержимое оперативной памяти, и небольшой программы — к примеру бесплатной утилиты российской разработкиBelkasoft Live RAM Capturer.
При снятии образа оперативной памяти следователю нужно учитывать ряд тонкостей. Например, для этого нельзя использовать программы, запущенные в обычном пользовательском режиме, и вот почему.
Многие программы, включая популярные многопользовательские игры, системы безопасности, а также вредоносное ПО, защищают свои процессы от исследования с помощью отладочных инструментов (например, игра Karos). В таких программах используются активные системы противодействия отладке, способные обнаружить и предотвратить попытку других программ считать данные из защищенных областей памяти. В лучшем случае попытка использования отладчика не удается — вместо интересующей исследователя информации в защищенной области обнаруживаются нули или случайные данные. В худшем случае происходит зависание или перезагрузка компьютера, делающие дальнейшее исследование невозможным.
Поэтому запуск утилиты, работающей в пользовательском режиме, с определенной вероятностью приведет к тому, что интересующие эксперта данные извлечь не удастся, а при самом плохом развитии событий они будут безвозвратно уничтожены. Для предотвращения подобной ситуации криминалистам приходится использовать специализированные программы и инструменты — например CaptureGUARD Gateway, WindowsSCOPE стоимостью порядка пяти тысяч долларов или бесплатный Belkasoft Live RAM Capturer. Обойти активные виды защиты от отладки способны только инструменты, запущенные в привилегированном режиме ядра операционной системы. Специализированные программы включают 32- и 64-разрядные драйверы, работающие в режиме ядра и позволяющие корректно обрабатывать области данных, принадлежащие защищенным процессам.
Многие платные (и весьма дорогие) криминалистические продукты (в основном зарубежного производства) имеют в своем составе программы, позволяющие снимать слепки памяти. При этом такие программы работают в пользовательском режиме и для реального использования криминалистом совершенно непригодны. Во время криминалистических конференций часто возникает вопрос: почему производители недешевых аналитических пакетов поставляют явно неработоспособные инструменты? Производители хранят молчание.
А вот уже упомянутый Live RAM Capturer российской компании «Белкасофт» не стоит ни копейки, но выполняет всю необходимую работу в режиме ядра. Скачать его можно с официального сайта — ru.belkasoft.com/ru/memory-dump.
А если компьютер запаролен?
Снять образ памяти легко, если доступ к компьютеру открыт или если криминалисту известен пароль от любой действительной учетной записи. Но что, если доступ к компьютеру закрыт неизвестным паролем, а времени на его взлом катастрофически не хватает? В этом случае на помощь эксперту приходит методика, описанная австрийскими исследователями. Отвлечемся на минуту от расследования преступлений и посмотрим в сторону железа. В большинстве современных компьютеров есть один или несколько портов IEEE 1394, известных также под названиями FireWire или i.LINK. Стандарт FireWire описывает возможность прямого доступа к оперативной памяти компьютера через канал DMA. Что означает наличие «прямого доступа» к памяти? Для криминалиста это означает возможность скопировать ее содержимое независимо от того, закрыт компьютер паролем или нет.
Итак, если компьютер подозреваемого закрыт паролем, а криминалисту необходимо снять образ оперативной памяти, криминалист подключает собственный компьютер к компьютеру подозреваемого с использованием самого обычного кабеля FireWire. На компьютере криминалиста запускается программа (самые простые образцы, к примеру Inception или pyfw, написанный на языке Python, доступны в открытом доступе; впрочем, криминалисты используют более продвинутый софт), с помощью которой все содержимое оперативной памяти исследуемой машины скачивается на компьютер следователя. Этот способ можно опробовать самостоятельно. Например, пользователи Linux и OS X могут воспользоваться бесплатной утилитой Inception.
А что, если на компьютере подозреваемого нет порта FireWire? В этом случае криминалист может использовать собственную карту-адаптер. Если выбрать достаточно распространенную модель, то система подгрузит соответствующие драйверы автоматически. К сожалению, корректную работу нам обеспечит только адаптер с интерфейсом PCMCIA, CardBus или ExpressCard, так как только эти интерфейсы предоставляют прямой доступ к памяти компьютера. Адаптеры, работающие через USB, этой возможности лишены и для криминалиста непригодны. Наконец, в качестве курьеза можно привести ссылку на работу немецких исследователей, взломавших компьютер с использованием самого обычного телефона iPhone, — bit.ly/60FDdS.
Есть ли защита от атаки через FireWire? Способы защититься от такой атаки существуют, и они давно известны: требуется лишь тем или иным способом отключить поддержку FireWire в то время, когда компьютер «спит» или закрыт паролем. Компьютеры под управлением последних версий OS X делают это автоматически, блокируя драйверы FireWire , пока пользователь не зайдет на компьютер со своими логином и паролем. А вот в Windows и других операционных системах ситуация обратная: производители этих систем работу драйверов FireWire не блокируют; соответственно, даже Windows 8 со всеми последними обновлениями остается уязвимой.
Ограничения
Анализ оперативной памяти не панацея. Природа оперативной памяти такова, что данные хранятся в ней лишь очень короткое время. Через несколько минут, в крайнем случае — часов (если компьютер не использовался) данные могут быть вытеснены или перезаписаны другой информацией. Поэтому снимать слепок памяти нужно «по свежим следам». А вот с анализом снятого образа можно не торопиться — файл с флешки уже никуда не денется.
Что дальше? Анализируем содержимое оперативной памяти
Образ оперативной памяти снят. Что дальше? Образ памяти, полученный с помощью правильного инструмента, может быть проанализирован одним из специализированных криминалистических продуктов. Исследование образа оперативной памяти компьютера позволяет криминалистам обнаруживать данные, не попадающие на жесткий диск, такие как переписка в чатах, общение в социальных сетях и играх, изображения, историю работы в браузере, данные реестра, переговоры в онлайновых многопользовательских играх и многое другое.
Инструментарий выбирается экспертом в зависимости от того, что именно требуется обнаружить. К сожалению, на сегодняшний день универсального решения не существует. Какие-то программы позволяют извлечь ключи, с помощью которых можно расшифровать криптоконтейнеры. Другие позволяют найти сообщения, отправленные пользователем компьютера через социальные сети, почту или программы мгновенного обмена сообщениями.
Существуют инструменты для восстановления анализа изображений, которые просматривал подозреваемый (кстати, с помощью такого инструмента был изобличен по крайней мере один педофил, вышедший на свободу после существенного срока. Тот же инструмент помог оправдать подозреваемого, которого оклеветала жена во время бракоразводного процесса). Наконец, существуют программы, с помощью которых можно восстановить информацию о сетевых соединениях, бывших активными в момент снятия образа.
Поиск и анализ фотографий
При ведении расследований, связанных с преступлениями на сексуальной почве, следователю важно узнать, какие изображения (фотографии) просматривал подозреваемый. Изучение жесткого диска помогает не всегда: интересующий следователя раздел может быть зашифрован, а в браузере может быть включен режим «приватности» (или «инкогнито» по версии Chrome). Суть подобных режимов одинакова во всех браузерах: никакая информация о действиях пользователя в интернете на жесткий диск не попадает. Соответственно, при выключении компьютера (или закрытии браузера) все данные пропадают.
Тем не менее где-то эти данные все же хранятся, и в этой ситуации анализ слепка оперативной памяти тоже может помочь. Изображения ищутся методом сигнатурного поиска. Этот механизм очень похож на то, как работают антивирусы: для поиска изображений используется набор сигнатур, которые встречаются в том или ином графическом формате. Скажем, в начале всех файлов в формате JPEG встречается сигнатура JFIF. Обнаружив сигнатуру, алгоритм анализирует соседние байты данных. Если данные указывают на то, что обнаруженный фрагмент принадлежит файлу в известном программе формате, алгоритм рассматривает набор данных в качестве заголовка файла, вычисляя его размер и параметры. Остальное — дело техники.
Выглядит просто? Действительно, реализовать подобный алгоритм несложно, и именно им пользуется подавляющее большинство разработчиков криминалистических программ. Но здесь имеется не просто подводный камень, а целый огромный подводный риф. Дело в том, что Windows далеко не всегда хранит большие объемы данных в виде непрерывной последовательности. Вместо этого операционная система записывает данные в любые свободные страницы памяти — и далеко не факт, что страницы эти будут расположены последовательно. Стандартный алгоритм сигнатурного поиска может обнаружить заголовок файла, но его содержимое стандартными способами будет восстановить невозможно. Именно поэтому стандартный алгоритм называется «наивным».
На помощь криминалисту приходит набор эвристических алгоритмов, собирающих фотографии из множества небольших фрагментов по принципу мозаики. Такие алгоритмы реализованы в отечественном криминалистическом пакете Belkasoft Evidence Center, причем сложность их реализации такова, что альтернатив в настоящий момент просто не существует. Результат здесь гарантируется не всегда, а работают такие алгоритмы в десятки раз медленнее обычного сигнатурного поиска. Впрочем, результат того стоит — ведь тратится дешевое машинное время, а не ручная работа эксперта.
Программы для поиска улик в памяти компьютера
Для анализа оперативной памяти эксперты используют следующие основные программы:
- Belkasoft Evidence Center www.belkasoft.com — поиск чатов, постингов и комментариев, оставленных в социальных сетях; сообщений, отправленных через многочисленные программы мгновенного обмена сообщений, и многих других типов улик. Российская разработка;
- Elcomsoft Forensic Disk Decryptor www.elcomsoft.com — инструмент, позволяющий мгновенно расшифровывать содержимое криптоконтейнеров TrueCrypt, BitLocker и PGP Disk. Также российская разработка;
- Passware Kit Forensic www.passware.com — инструмент, позволяющий мгновенно расшифровывать содержимое криптоконтейнеров TrueCrypt, BitLocker и PGP Disk. Умеет снимать образ памяти с помощью FireWire-атаки. Российская разработка;
- Guidance EnCase www.guidancesoftware.com — мощнейший аналитический пакет, позволяющий собирать и обрабатывать многие типы улик. Де-факто является стандартным инструментом, использующимся в американской полиции. Разработка США.
Бумажная работа
Работа эксперта-криминалиста лишь в малой части состоит из поиска и анализа улик. Заметная часть времени тратится на документирование процесса: это необходимо для того, чтобы найденные улики смогли быть представлены в суде в качестве вещественных доказательств.
Для того чтобы собранные улики превратились в твердую доказательную базу, эксперту приходится не только подробно документировать каждый свой шаг, но и быть готовым выступить в суде, доказывая обоснованность использования тех или иных методов и инструментов.
Использование программ для снятия образа оперативной памяти неизбежно оставляет следы в памяти компьютера. Сама программа занимает место в памяти, а раз так — какое-то количество оригинальных данных будет вытеснено (перезаписано). Поэтому нужно использовать программу с минимальным объемом занимаемой оперативной памяти, а сам факт частичной перезаписи содержимого требуется тщательно задокументировать. Еще совсем недавно суды отказывались принимать в качестве вещественных доказательств данные, которые были изменены в процессе их получения. Сейчас ситуация меняется: суды начинают понимать, что в некоторых случаях невозможно сделать омлет, не разбив яйцо.
Анализ работающего компьютера или исследование содержимого жесткого диска?
Как было сказано выше, анализ запущенной машины неизбежно влияет на содержимое оперативной памяти. Во многих случаях могут измениться и данные, записанные на жестком диске. И тем не менее в некоторых случаях специалисты не спешат выключать компьютер.
Когда же необходимо проводить анализ запущенного компьютера? Как правило, к такому анализу прибегают в случаях, когда на жестком диске компьютера не ожидают найти существенных улик, а вот исследование данных, доступных через открытые на компьютере сетевые соединения, способно принести заметные дивиденды.
При выключении компьютера теряется доступ к внешним сетевым ресурсам и VPN-сессиям. Если компьютер использовался как терминал, а реальные данные хранятся где-то на удаленном сервере, эксперту приходится анализировать технику вживую. С таким способом анализа связано большое количество рисков, а для его проведения требуется эксперт высочайшей квалификации (и разрешение суда). Соответственно, прибегают к исследованию запущенного компьютера нечасто.
Конфискуем компьютер
Поставим себя на место эксперта-криминалиста. Имеется работающий компьютер, нам нужно исследовать его содержимое. Наши действия?
До недавнего времени компьютер выключали (зачастую — просто обесточивали, чтобы не дать сработать программам, очищающим лог-файлы при завершении рабочей сессии), после чего из него извлекали все жесткие диски, которые подключали к устройству, блокирующему операции записи. С дисков снимали виртуальные образы, и уже с ними в спокойной обстановке работал эксперт.
С развитием технологии этот способ устарел. Вот, к примеру, какие рекомендации дает официальная инструкция ACPO (Association of Chief Police Officers) британским полицейским:
- Провести оценку рисков. Есть ли необходимость и возможность снять копию эфемерных данных?
- Если возможность существует, установить устройство для снятия слепка оперативной памяти (флешка, внешний диск и тому подобное).
- Запустить программу для снятия образа памяти.
- По завершении работы программы корректно остановить работу устройства.
- Извлечь устройство, использованное для снятия образа памяти.
- Проверить корректность сохраненного образа (для этого в обязательном порядке используется компьютер следователя, а не компьютер, который анализирует эксперт).
- После проверки снятого образа немедленно перейти к процедуре выключения компьютера.
Что можно узнать о телефоне, положив его в морозилку
Забавное исследование провели немецкие ученые. При анализе оперативной памяти телефона под управлением операционной системы Android они использовали бытовую морозильную камеру (bit.ly/Xa9XXN).
Идея заморозитьтелефон связана с появлением в системе Android 4.0 возможности шифрования разделов. Эта функция не позволяет исследователю получить доступ к информации, записанной в заблокированном телефоне, без введения корректного пароля. Поскольку подбор пароля — дело длительное и неблагодарное, исследователи решили поискать способ обойти защиту.
Точно так же, как и в ставших уже привычными криптоконтейнерах, ключи для расшифровки записанных в телефоне данных хранятся в оперативной памяти устройства. Если бы существовала возможность извлечь эти ключи, исследователи смогли бы использовать их для расшифровки содержимого устройства.
Возможность снять образ оперативной памяти устройства под управлением Android существует: для этого телефон переводится в специальный отладочный режим fastboot; в память инсталлируется специальная программа, и образ оперативной памяти можно скачать через USB. Проблема здесь в том, что при перезагрузке телефона в отладочный режим содержимое оперативной памяти успевает обнулиться.
Чтобы замедлить процесс обнуления памяти, ученые положили телефон в морозилку, заморозив его до температуры –15 градусов. При такой низкой температуре ячейки памяти меняют состояние очень медленно. Соответственно, при выключении охлажденного телефона и моментальной его перезагрузке в отладочный режим содержимое оперативной памяти не успевает обнулиться. Эксперимент оказался удачным: исследователям удалось извлечь из телефона двоичные ключи, с помощью которых были зашифрованы разделы с пользовательскими данными.
Подробнее об этом эксперименте можно прочитать на сайте университета. Там же доступен пакет программ FROST, с помощью которого скачивается образ оперативной памяти и извлекаются крипто-ключи: bit.ly/Xa9XXN
Заключение
Работа «цифрового» криминалиста интересна и необычна. Квалифицированных экспертов не хватает всегда и везде. На одной американской конференции начальник городского полицейского управления сетовал на плотность графика компьютерных криминалистов: на исследование каждого конфискованного устройства эксперт может уделить не более сорока минут. Что можно успеть сделать за сорок минут? С использованием программ, описанных в этой статье, — очень и очень немало.