Год от года работа экспертов-криминалистов становится всё сложнее. Несмотря на всё новые проблемы, связанные с усилением защиты данных, поставщики ПО для криминалистов работают над тем, чтобы облегчить работу экспертов и сделать её более эффективной. Однако и здесь есть ряд вещей, о которых вы, возможно, не задумывались. О некоторых из них мы рассказали в первой части статьи; сегодня же мы рассмотрим некоторые случаи из нашей практики.
Признаюсь, чтение пресс-релизов временами способно изрядно повеселить. Из них можно узнать, что:
Среди десятков самопровозглашённых «лидеров» затерялся аутсайдер:
«Основанная в 2010, компания Magnet Forensics разрабатывает ПО для цифровых расследований с поддержкой извлечения, анализа и отчётов, а также управления доказательной базой, собранной из цифровых источников, включая компьютеры, мобильные устройства, устройства IoT и облачные сервисы.»
Спрашивается, и кто здесь настоящий лидер?
Знаете ли вы, что для покупки лицензии на некоторые продукты вам придётся подписать соглашение о неразглашении?
В рамках Соглашения не разрешается обсуждение чувствительной информации о продукте, такой, как его технические возможности.
Как вам нравится пассаж, запрещающий обсуждать функции и возможности программного обеспечения, лицензию на которое вы честно купили? Для таких ограничений может быть две причины. Во-первых, это попытка скрыть уязвимости, которые поставщик использует для получения низкоуровневого доступа к устройству с целью его разблокировки, извлечения и расшифровки данных. Вот что пришло мне в почту несколько лет назад в ответ на нашу статью в блоге:
Были случаи, когда разглашение таких данных вызывало серьёзные проблемы со стороны Apple. Реакция компании привела к ограничению ранее доступных нашим клиентам возможностей.
Вторая «официальная» причина политики неразглашения — защита от конкурентов, которые, по мнению некоторых, могут извлечь из этой информации выгоду.
Мне кажется, настоящие причины секретности лежат в иной плоскости. Рынок ПО цифровой криминалистики невелик, и выбор на нём — ограничен. Результат — политика «стерпится — слюбится, главное — подцепить»; цинично и неэтично.
В любом случае, каковы бы ни были декларируемые и истинные причины неразглашения информации, реальных характеристик продукта вы можете не узнать ни до, ни после покупки. Список поддерживаемых устройств, описание методов извлечения данных, ограничения этих методов? Иногда вам расскажут об этом только на платном курсе, стоимость которого может в разы превышать стоимость лицензии.
Когда речь заходит о разблокировании смартфонов, ситуация становится ещё более парадоксальной. Практически никто не разглашает такую простую вещь, как скорость перебора. Попробуйте выбрать самый быстрый продукт, сравнив вот эти «характеристики»:
Здесь точно о следственных действиях, а не о компьютерной игре? Я уже не уверен. В любом случае, всё, что мне удалось узнать о скорости перебора, выглядит примерно так: «код блокировки из 6 цифр за 24 часа (у конкурентов ~25 лет)», «перебор 6 цифр за 6 месяцев». А знаете, что кроется за «перебором на сверхзвуке»? Около 5,000 паролей в сутки. Отличный «сверхзвук», не правда ли?
Признаться, ежегодные презентации Apple — моя слабость. Счёт «удивительно», «потрясающе» и «невероятно» идёт на десятки — но Apple у нас только одна.
А вот на рынке ПО для криминалистов достаточно много игроков, и все хотят быть первыми среди равных. О «глобальном лидерстве» мы уже написали; пройдёмся теперь по «инновациям» и «первым на рынке». Совершенно нормально гордиться инновациями — но только если это действительно инновации. Проблема в том, что про одни и те же «инновации» пишут уже знакомые нам «мировые лидеры» и «первые на рынке». Люблю наблюдать за дискуссиями в соцсетях, когда одна компания выпускает что-то «революционно новое» (например, извлечение данных из облака), а другая комментирует: «У нас это было три года назад!»
Каюсь, грешен: однажды мне самому довелось поучаствовать в подобной дискуссии. Некая компания заявила, что именно она стала первопроходцем в области облачной криминалистики. Такое утверждение меня сильно удивило: впервые механизм извлечения данных из iCloud появился у нас, и больше года альтернатив нашему продукту просто не было. Написав директору компании, я получил ответ: «Мы в курсе. У нас поддерживается больше источников, так что первенство всё-таки за нашим продуктом». Ну, раз вы так считаете…
А вот ещё случай: другая компания построила рекламную кампанию на том, что их решение стало вторым, в котором появилась некая специфическая возможность. И что, потенциальный клиент теперь должен попробовать продукт, в котором возможность появилась первым, а потом, если не понравится, установить второй? В самом деле? А что, если второй продукт лучше по совокупности факторов, или его поставщик предлагает более выгодные условия лицензирования, или у него лучше поддержка? В конечном итоге решение будет принимать клиент, и вряд ли оно будет основано на том, кто выпустил решение первым, а кто — вторым.
Иногда поставщики преувеличивают возможности своих продуктов в пресс-релизах, опуская информацию о критических ограничениях. Помню один пресс-релиз от 2017 года, где смело заявлялось, что разработчики компании «преодолели шифрование данных на устройствах Android» и получили «прямой доступ к полным данным пользователей, даже если они были предварительно удалены», что сделало их инструмент «самым полным и актуальным решением по восстановлению паролей и расшифровке для устройств Android». При ближайшем рассмотрении выяснилось, что эти утверждения применимы только к некоторым моделям смартфонов от единственного производителя и подвержены ряду ограничений. Впечатляет, но не соответствует громким обещаниям, сделанным в пресс-релизе.
В целом, в маркетинговых материалах не принято говорить об ограничениях. Иногда в инструкции по продукту может содержаться мелкий шрифт, в котором указаны условия применимости, но найти полный и актуальный (!) список поддерживаемых моделей, версий операционных систем и приложений может быть сложной, а иногда и вовсе невыполнимой задачей.
Вернёмся к «инновациям». Моя любимая «инновация» — поддержка тёмной темы. Очевидно, без неё не обойтись… ведь так?
Настоящие инновации в области цифровой криминалистики встречаются редко. Примеры включают метод снижения версии приложения от MSAB и эксплойт checkm8, который, хотя и не принадлежит какой-то конкретной компании, серьёзно повлиял на рынок ПО для цифровой криминалистики.
Я уже говорил о том, что время от времени даже лицензия на продукт недоступна клиенту до покупки, и причина быть скрытными у многих поставщиков имеется. Невнятно прописанные ограничения приводят к неожиданным проблемам. Можете ли вы сказать в точности, что произойдёт с купленными продуктами после того, как ваша лицензия истечёт? Он просто прекратит работать, или ограничит функционал (например, перестанет выдавать отчёты), или продолжит работать, но перестанет получать обновления? А что будет с ценой на продление, если вы забудете вовремя оплатить лицензию? Запомнить, когда и какие лицензии нужно продлевать, бывает непросто, но некоторые вендоры могут отозвать лицензию (и дистанционно отключить продукт) по решению суда или просто из-за того, что правообладателю показалось, что продукт используется с нарушением законодательства:
В пользовательском соглашении для продуктов компании упоминается «отключающий код» и утверждается, что КОМПАНИЯ сохраняет за собой право удалённо отключать свои устройства в соответствии с постановлением суда или законодательством либо если считает, что клиент использует их незаконно.
Нам известно о нескольких случаях, когда клиентам дистанционно отключали продукты безо всякого решения суда (а вот о судебных решениях, в которых суд потребовал бы отключить для какого-либо клиента подобное ПО, нам ничего не известно).
Так называемые «ознакомительные» лицензии, кстати, весьма существенно ограничены, вот наглядный пример:
Чем больше, тем лучше! В описании продуктов вы наверняка видели текст примерно такого содержания:
Версия X.Y поддерживает более N моделей устройств, более M версий приложений и P облачных сервисов
Числа просто зашкаливают, счёт идёт на десятки тысяч. Правда, при более внимательном рассмотрении всплывает лукавство разработчика: в «разные» модели устройств попадают фактически одинаковые (и отличающиеся например лишь объёмом памяти, а то и просто цветом — идентификаторы у них немного разные); версии приложений считаются ещё интереснее (считаются абсолютно все выходившие, даже если формат данных абсолютно не менялся); с облаками аналогично — например, из одного сервиса Apple iCloud некоторые производители «выжимают» полтора десятка «разных», считая каждую категорию данных типа контактов или календарей за разные сервисы.
Когда дело доходит до артефактов, становится ещё веселее. Например, когда я просматривал в одном из продуктов содержимое резервной копии своего айфона, то увидел более 7 тысяч артефактов Apple Wallet:
Захожу внутрь — там уже счётчик показывает существенно меньшее число, но и там данные сильно накручены (реальных записей у меня меньше 300):
Примерно так же реализовано и для данных других приложений — за «артефакты» зачастую считаются абсолютно любые данные и файлы, даже абсолютно бессмысленные и бесполезные
Знаете, в чём проблема? Такие накрутки существенно затрудняют оценку, все ли данные были извлечены и проанализированы; и ещё труднее верифицировать результаты, сравнивая то, что получено в разных программах. Один продукт показывает 7,120 «артефактов» в интересующей вас категории, другой может показать две тысячи, третий вообще всего 288 (по реальному количеству записей). Оценить, какой продукт отработал наиболее корректно, почти не представляется возможным, спасибо «накруткам».
Ни один крупный проект не обходится без заимствований открытого исходного кода. Подавляющее большинство коммерческих программ для криминалистов в той или иной мере используют открытый код. Не для всех очевидно, что открытый исходный код редко распространяется по принципу «бери, кто хочет, делай, что хочешь». Гораздо чаще исходный код регулируется той или иной лицензией, например — GPLv3. И если использованные проекты время от времени упоминаются в коммерческих продуктах, то с выполнением условия о публикации изменений, внесённых в открытый исходный код, у большинства поставщиков дела обстоят не так гладко. Прекрасная иллюстрация — ситуация вокруг кода checkm8 и того факта, что возможности подавляющего большинства криминалистических продуктов совершенно случайно совпадают с возможностями джейлбрейка checkra1n. Наш подход мы изложили в статье iOS Forensic Toolkit и открытый исходный код.
Всё вышесказанное ни в коей мере не умаляет достоинства продуктов. Все они обладают очень серьёзным и достаточно качественным функционалом в плане разблокировки устройств, извлечения и анализа данных. Радуют и скорость работы, и пользовательский интерфейс (хотя конечно, ещё есть над чем работать).
Проблема в том, что маркетинг и продажи явно имеют больший приоритет, чем исследования и разработки. Чего уж там, можно сказать что в погоне за клиентами производители стали вести себя не слишком корректно, скрывая недостатки и ограничения (которые есть и будут всегда) и существенно преувеличивая возможности. Такое «соревнование» абсолютно не идёт на пользу делу.
О чём мы ещё не упомянули — так это об ошибках и реальных проблемах. К сожалению, некоторые из них не исправляются месяцами, если не годами; производители пользуются как своим монопольным положением на некоторых рынках, так и тем, что пользователи привыкли к их решению и даже при желании не могут перейти на другие.
Напоследок отмечу несколько вещей. Критически важно понимать, что ни один программный продукт не способен полностью удовлетворить запросы эксперта-криминалиста, а основывать выбор продукта на пресс-релизах и маркетинговых материалах — проигрышная стратегия, от которой в итоге страдают все, и клиенты и поставщики. Если поставщик отказывается раскрывать критическую информацию о совместимости и ограничениях продукта до закрытия сделки, задумайтесь о последствиях такого отсутствия прозрачности и о долгосрочной надёжности поставщика.