Что превращает извлечённые из телефона данные в цифровые улики, а улики — в доказательства? В рамках состязательного судебного процесса в роли доказательств могут выступать лишь такие улики, подлинность которых можно доказать, а корректность извлечения — проверить у независимого эксперта. О доказательстве подлинности цифровых данных и о том, как обеспечить повторяемость извлечения, мы и поговорим в сегодняшней статье.
При использовании извлечения через эксплойт загрузчика checkm8 инструментарий iOS Forensic Toolkit 8 автоматически сбросит флажок автозагрузки, что предотвратит возможность случайной загрузки устройства в ОС. После этого устройство всегда будет загружаться в режим Recovery. После отработки программы флажок не будет сброшен автоматически. Рекомендуем сбросить состояние флажка в значение True только непосредственно перед тем, как устройство будет возвращено владельцу.
Недостаточно просто извлечь данные из устройства, чтобы получить возможность предъявить их в суде в качестве цифровых доказательств. Полученная из устройства (или из облака) информация обретает статус «цифровых улик». Разумеется, сырые данные, какими бы они ни были, крайне редко являются уликами или, тем более, доказательствами. Извлечённые данные необходимо анализировать, трактовать, часто связывать между собой (иногда из разных источников), но прежде всего необходимо их правильным образом извлечь, сохранить и гарантировать их целостность и неизменность.
Сам термин «улика» имеет как юридическое, так и следственное применение. Далеко не всегда найденные улики, которые использовались в процессе следственных действий, могут быть предъявлены в суде; это полностью справедливо и для цифровых улик.
Цифровые улики, которые могут быть предъявлены в суде, назовём «цифровыми доказательствами». На сегодняшний день требования к юридической допустимости цифровых улик слабо закреплены законодательно, поэтому допустимость использования цифровых улик в качестве доказательств устанавливается в процессуальном порядке. В то же время грамотно выстроенная защита может оспорить статус цифровых доказательств, указав на ошибки в процессе извлечения данных или усомнившись в подлинности цифровых улик. Для того, чтобы этого не случилось, эксперты следуют стандартным процедурам, стараясь соблюдать принципы криминалистической чистоты в процессах извлечения, хранения, обработки и анализа данных.
Для того, чтобы извлечённые из iPhone данные имели шанс получить статус «цифровых доказательств», необходимо максимально точно придерживаться принципов процесса криминалистически чистого извлечения — в рамках физически возможного. Что касается извлечения и хранения данных, нужно обеспечить контроль целостности и неизменности уже извлечённых данных, а само извлечение постараться сделать максимально повторяемым и верифицируемым — в рамках физически возможного для конкретного процесса.
Контроль целостности и неизменности извлечённых из устройства цифровых улик — важнейшая часть криминалистической чистоты процесса анализа. Контроль целостности позволяет проверить, не были ли извлечённые из устройства данные каким-либо образом изменены уже после того, как произошло извлечение. Обратите внимание: в этой части процесса никак не проверяется аутентичность самих цифровых улик, а только соответствие того набора данных, который был изначально извлечён из устройства тому, который был представлен в качестве цифровых доказательств.
В цифровой криминалистике в целом и мобильной криминалистике в частности целостность и неизменность цифровых улик проверяется вычислением контрольных сумм, в качестве которых используются значения криптографических хэш-функций. Важное свойство криптографических хэш-функций в том, что изменение даже единственного бита в оригинальном наборе данных приведёт к тому, что результирующее значение контрольной суммы будет кардинально отличаться от оригинала. Для вычисления контрольных сумм в цифровой криминалистике традиционно используются функции MD5 (считается устаревшей) и SHA1; в последние годы наблюдается переход к SHA256.
При создании образа файловой системы Elcomsoft iOS Forensic Toolkit автоматически подсчитывает контрольные суммы в форматах MD5 и SHA1. Делается это для того, чтобы эксперт мог сохранить или распечатать контрольные суммы, которые впоследствии можно проверить для контроля целостности образа и доказательства неизменности извлечённых из устройства улик с момента извлечения. Несмотря на то, что функция MD5 считается устаревшей, совпадение обеих контрольных сумм гарантирует соответствие проверяемого набора данных оригиналу. Контрольные суммы выводятся в программе в следующем виде:
Проверка целостности данных
Для проверки контрольной суммы рекомендуем использовать утилиту командной строки certutil в следующем формате:
certutil -hashfile FILENAME md5|sha1|sha256
При успешном прохождении проверки выводится следующий результат:
Более подробно о контрольных суммах — в нашей статье Данные Шредингера.
Применимость: целостность уже извлечённых из устройства данных можно и нужно контролировать независимо от метода, посредством которого данные были извлечены. В то же время повторяемость результатов извлечения способен обеспечить лишь один метод, основанный на эксплойте загрузчика checkm8 и доступный только для устаревших устройств Apple. Об этом — в следующей главе.
Верифицируемость извлечённых данных вовсе не обязательно означает повторяемость результата извлечения данных. Повторяемым считается такое извлечение, в результате которого повторное каждое последующее метода выдаст такой же результат, что и самое первое извлечение. Проверить совпадение данных проще всего сравнением контрольных сумм, о которых было рассказано выше.
В отличие от контроля целостности и неизменности данных, которые уже были извлечены, повторяемость результата гарантирует, что из устройства были извлечены именно те данные, которые были представлены в качестве цифровых доказательств. В свою очередь, контроль целостности и неизменности гарантирует, что цифровые доказательства дошли до суда именно в таком виде, в каком они были извлечены из устройства.
Если целостность уже извлечённых данных проконтролировать просто (для этого достаточно подсчитать и сравнить контрольные суммы), то обеспечить повторяемость результата — чрезвычайно тяжело, а в ряде случаев — невозможно даже в теории. В Elcomsoft iOS Forensic Toolkit повторяемость извлечения обеспечивается при точном следовании инструкциям в процессе использования единственного метода — извлечения посредством эксплойта загрузчика checkm8.
Применимость: повторяемость результата достижима при использовании метода извлечения checkm8 в Elcomsoft iOS Forensic Toolkit. К сожалению, этот метод совместим с устройствами старых поколений (вплоть до iPhone 7/7 Plus, и весьма условно — с iPhone 8, 8 Plus и iPhone X). Для более новых устройств обеспечить повторяемый результат извлечения в настоящий момент не представляется возможным.
Вывод: с технической точки зрения, обеспечить повторяемость результата возможно не всегда. По этой причине эксперт должен сразу запросить у следствия разрешение на внесение изменений в содержимое устройства, дождаться его получения, и только после этого приступать к извлечению и исследованию содержимого устройства.
Отметим также, что само по себе использование checkm8 гарантии повторяемости не даёт. Важна как правильная реализация метода, так и чёткое следование инструкциям. Мы постарались упростить этот процесс, уменьшив вероятность ошибки в процессе повторных сессий по извлечению данных. Об этом — в следующем разделе.
Само по себе использование checkm8 не даёт гарантии повторяемости результата. На результат извлечения могут повлиять несколько факторов.
В обновлённой версии iOS Forensic Toolkit мы постарались максимально облегчить и обезопасить работу эксперта, сведя влияние второго и третьего факторов к минимуму. Нам удалось этого добиться изменением всего одного флага загрузки.
Для устройств под управлением iOS доступна специальная функция, управляющая загрузкой устройства. При установке специального флага (в нашем продукте он называется «autoboot») в значение False устройство будет загружаться не в установленную операционную систему, а в режим восстановления (recovery). Изначально решение о том, использовать ли эту команду, мы оставили эксперту. В iOS Forensic Toolkit эксперт может самостоятельно установить нужное значение автозагрузки следующей командой:
./EIFT_cmd tools autobootFalse
Значение флага автозагрузки сохраняется и после выключения или перезагрузки устройства. Предполагается, что устройство будет находиться в режиме с отключённой автозагрузкой в течение всего времени, пока оно находится в процессе исследования. Оригинальное значение флага ‘autobootTrue’ предполагается восстанавливать непосредственно перед тем, как устройство будет возвращено владельцу. Для этого используется следующая команда:
./EIFT_cmd tools autobootTrue
Случайная загрузка устройства в установленную ОС нарушает криминалистическую чистоту исследования. Чтобы этого не происходило, iOS Forensic Toolkit флажок автозагрузки в значение False устанавливается автоматически в процессе применения эксплойта загрузчика.
Такое поведение имеет следующие последствия.
Нет, не нарушает. Во-первых, данные пользователя в любом случае не модифицируются, сколько бы не изменялось значение флага автозагрузки. Во-вторых, не изменяется и содержимое системного раздела: значение флага хранится в NVRAM и не пересекается с содержимым системного раздела.
Ещё одна опасность — глубокий разряд аккумулятора. Если устройство выключено, а аккумулятор разряжен ниже определённого минимума, то подключение его к зарядному устройству приведёт к началу загрузки. Чтобы сохранить данные в целости, нужно убедиться, что устройство загружается в режим восстановления (Recovery), а не загружает операционную систему.
Для этого нужно нажать и удерживать кнопку «Домой» (или боковую кнопку на iPhone 8, 8 Plus или iPhone X), затем подключить зарядное устройство и удерживать кнопку, пока устройство не переключится в режим восстановления.
Сложность возникает на полностью разряженных устройствах, которые не начнут загрузку ОС до тех пор, пока аккумулятор не будет заряжен до некоторого минимального уровня. В этом случае вы можете попытаться перевести устройство напрямую в режим DFU. Это достаточно сложно сделать для поколения iPhone 8, т.к. требует точного соблюдения таймингов (лучше всего использовать секундомер или таймер), но довольно просто на iPhone 7 и более старых моделях.
Загрузка DFU производится при любом уровне заряда аккумулятора. Оставьте устройство в DFU подключённым к ПК примерно на минуту. Этого должно быть более чем достаточно для нормальной загрузки в режим восстановления (Recovery) с помощью iOS Forensic Toolkit. Оттуда, когда для автозагрузки установлено значение false, вы можете безопасно заряжать устройство без риска случайного запуска последовательности загрузки.
Elcomsoft iOS Forensic Toolkit – специализированный инструмент для проведения криминалистического анализа устройств, работающих под управлением Apple iOS. Для анализа доступна вся пользовательская и системная информация, а также зашифрованные данные из системного хранилища (связка ключей).