ADB vs Spy Cam

в 22:52, , рубрики: adb, android, информационная безопасность, камера, Разработка под android, Регулярные выражения

Как проверить, ведет ли какое-нибудь приложение на Android-смартфоне фото- или видеорепортаж, хотя ему это ни разу ни к чему? Нижепредлагаемый вариант совсем не идеален, но не требует «рута» или кастомной прошивки.
Что требуется установить:

  • ADB (например, в составе Android SDK Platform Tools);
  • драйвер для телефона (при необходимости).

Включаем на телефоне режим отладки через USB и подключаем телефон к USB-порту компьютера.
Открываем командную строку в каталоге, в который установились «тулзы».
Проверяем, что подключение успешно:

adb devices

ADB vs Spy Cam - 1

Запускаем оболочку:

adb shell

ADB vs Spy Cam - 2

Затем вводим следующие «магические» символы:

while true; do ps `while ! (dumpsys media.camera | grep -E "PID") do  done | grep -o "[^: ]*$"` | grep -o "[^S ]*$" ; date; sleep 1; done

ADB vs Spy Cam - 3

И ничего не происходит :-) Пока что-то не решит немного поснимать :-)
Означенный «магический» набор символов запускает с максимально возможной скоростью мониторинг доступа к сервису media.camera. Если камера не активна, dumpsys выдает примерно такое:
ADB vs Spy Cam - 4
А если камера понадобилась, то появляется такое:
ADB vs Spy Cam - 5
grep-ы проверяют наличие "PID" и, если таки эта цепочка есть, то вырезают из строки номер процесса и скармливают его команде ps, которая выводит данные об этом процессе, а еще один grep вырезает его имя. После обнаружения активности камеры делаем паузу на секунду, чтобы сообщения не сыпались слишком часто.
Простейший пример — после запуска штатного приложения смартфона для фото/видеосъемки начинают с интервалом в 1 секунду сыпаться сообщения с именем процесса и датой/временем:
ADB vs Spy Cam - 6"
Но есть и более хитрые приложения, их можно найти по ключевому слову «spy cam» (использующие трюк, например, с однопиксельным превью (http://www.ez.ai/2014/05/exploring-limits-of-covert-data.html)). Подобное творение при запуске съемки сворачивается и ведет репортаж, но сообщения сыпятся исправно:
ADB vs Spy Cam - 7
Но ведь ничто не мешает реализовать подобную функциональность и в приложении с более безобидным названием (https://www.zdnet.com/article/this-scary-android-malware-can-record-audio-video-and-steal-your-data/), а разрешения — ну так случаи всякие бывают. Да и «легальное» приложение может вести репортаж, когда ему заблагорассудится (я встречал упоминание об одном таком случае).

Способ проверен на смартфонах Huawei SCL-L01 и Huawei G700-U20.

Автор: Алексей

Источник

* - обязательные к заполнению поля