
Портативный инструмент судебного сбора данных для устройств Android, который собирает релевантные данные через USB-отладку для выявления потенциальных следов шпионского ПО или компрометации, с опциональным шифрованием age для безопасной передачи.
ПРИМЕЧАНИЕ: этот проект в настоящее время не поддерживается. Независимый форк можно найти в MVT Project.
androidqf (Android Quick Forensics) — это портативный инструмент для упрощения получения судебно-медицинских данных с устройств Android.

Исполняемые файлы для Linux, Windows и Mac должны быть доступны в последнем релизе. Если у вас возникли проблемы с запуском бинарного файла, вы можете собрать его самостоятельно.
Для сборки androidqf потребуется установленный Go 1.18+ и make. Когда будете готовы, клонируйте репозиторий и выполните одну из следующих команд для вашей платформы:
make linux
make darwin
make windows
Эти команды создадут бинарные файлы в папке build/.
Перед запуском androidqf необходимо подключить целевое Android-устройство к компьютеру через USB и включить отладку по USB. Обратитесь к официальной документации по настройке, но имейте в виду, что телефоны Android разных производителей могут требовать других шагов навигации, чем стандартные.
После включения отладки по USB можно запускать androidqf. Он сначала попытается подключиться к устройству через USB-мост, что должно вызвать на телефоне запрос на ручную авторизацию ключей хоста. Обязательно авторизуйте их, желательно постоянно, чтобы запрос больше не появлялся.
Теперь androidqf выполнится и создаст папку сбора данных в том же каталоге, где находится бинарный файл androidqf. В какой-то момент выполнения androidqf предложит вам некоторые варианты: эти запросы приостановят сбор до тех пор, пока вы не сделаете выбор, так что будьте внимательны.
После завершения сбора обязательно отключите отладку по USB и параметры разработчика, или в любом случае верните устройство в исходную конфигурацию.
Хранение данных, полученных androidqf, на незашифрованном диске может подвергнуть вас, и тем более тех, чьи данные были собраны, значительному риску. Например, вас могут остановить на проблемной границе, и ваш диск с androidqf может быть изъят. Необработанные данные могут не только раскрыть цель вашей поездки, но и, скорее всего, содержать очень чувствительную информацию (например, список установленных приложений или даже SMS-сообщения).
В идеале диск должен быть полностью зашифрован, но это не всегда возможно. Также можно рассмотреть размещение androidqf внутри контейнера VeraCrypt и носить с собой копию VeraCrypt для его монтирования. Однако контейнеры VeraCrypt обычно защищены только паролем, который вас могут заставить предоставить.
В качестве альтернативы androidqf позволяет шифровать каждый сбор с помощью предоставленного открытого ключа age. Предпочтительно, чтобы этот открытый ключ принадлежал паре ключей, закрытый ключ от которой у конечного пользователя отсутствует или, по крайней мере, не находится при нём. Таким образом, конечный пользователь не сможет расшифровать полученные данные даже под давлением.
Если поместить файл с именем key.txt в ту же папку, что и исполняемый файл androidqf, androidqf автоматически попытается сжать и зашифровать каждый сбор, удаляя исходные незашифрованные копии.
После того как вы получили зашифрованный файл сбора, его можно расшифровать с помощью age следующим образом:
$ age --decrypt -i ~/path/to/privatekey.txt -o <UUID>.zip <UUID>.zip.age
Имейте в виду, что всегда существует вероятность, что хотя бы часть незашифрованных данных может быть восстановлена с помощью продвинутых судебно-медицинских методов — хотя мы работаем над снижением этой вероятности.
Цель androidqf — способствовать консенсусному судебно-медицинскому анализу устройств тех, кто может быть целью сложных атак мобильного шпионского ПО, особенно членов гражданского общества и маргинализированных сообществ. Мы не хотим, чтобы androidqf способствовал нарушению конфиденциальности лиц, не давших согласия. Поэтому цель данной лицензии — запретить использование androidqf (и любого другого программного обеспечения, лицензированного аналогичным образом) для целей враждебной судебной экспертизы.
Для достижения этой цели androidqf выпущен под MVT License 1.1, адаптацией Mozilla Public License v2.0. Эта изменённая лицензия включает новый пункт 3.0, "Ограничение на использование с согласия", которое разрешает использование лицензированного программного обеспечения (и любых "более крупных работ", производных от него) исключительно с явного согласия лица/лиц, чьи данные извлекаются и/или анализируются ("Владелец данных").