В поисках мобильных шпионов

20 ноября, 11:47
В интернете масса всяких инструкций на тему проверки своего телефона на предмет слежки, и они практически все чуть больше чем бесполезны… «Проверьте включена ли переадресация» пишут в статье на популярном сайте, и таки да, она включена по умолчанию на автоответчик оператора и это не показатель того что, за вами следят. «Быстрый разряд батареи, явно говорит о том, что за мобильным устройством установлена слежка» - угу, Google Chrome конечно знает о вас больше чем вы сами, но слежка «корпорации добра» уже настолько очевидна, что кто её боится сейчас?

В наши дни рынок шпионского программного обеспечения достаточно велик и вполне легален. Это уже не только программы для промышленного шпионажа, а популярные программы «родительского контроля», программы для корпоративного контроля за своими сотрудниками, которые вы можете легко скачать в любом магазине приложения (ну или почти в любом, если хочется, например полностью скрыть нахождение следящего ПО на телефоне).

Не стоит забывать, что существует и теневой рынок шпионского софта, который прячет себя чуть получше в системе, и иммигрировать может хоть под ссылку… В общем, в какой-то момент вдруг на вашем телефонном аппарате может оказаться нечто, что начнет передавать содержимое вашего гаджета кому-то еще. Примеров масса: излишняя ревность и опека со стороны молодого человека, который установил приложение для слежки на ваш смартфон; разбирательства с обиженной бывшей супругой, которая уже поставила программу на ваш телефон из appstore; сталкер, преследующий свою жертву и отправляющий ей ссылку, перейдя по которой та получает жучка; «Добрые» коллеги, преподносящие в подарок уже зараженный телефон… это уже обыденность, с которой многим специалистам в области безопасности приходится сталкиваться. Уж больно порог входа низок - подобные сервисы стоят копейки и максимально просты в обращении… Но что же тогда делать простому человеку, не погруженному в тематику информационной безопасности?

TinyCheckGReAT исследовательского центра «Лаборатории Касперского». Оно позволяет легко перехватывать сетевую активность с вашего смартфона или любого устройства и делать вывод о наличии на вашем устройстве шпионского программного обеспечения.
При этом вам не нужно обладать глубокими техническими компетенциями!

Идея создания TinyCheck появилась после встречи с представителями французской организации по борьбе за права женщин, жертвами домашнего насилия, где обсуждалась проблема сталкерского ПО. У создателей возник вопрос: как помочь людям, которые подозревают, что на их устройстве установлена программа для слежки, если они не обладают глубокими техническими познаниями или не способны обеспечить себе проведение криминалистической экспертизы смартфона.

Программное обеспечение устанавливают на микрокомпьютер Raspberry Pi, который является посредником между роутером (который имеет доступ к интернет) и подключенным к Wi-Fi гаджетом. Таким образом, все ваши данные будут проходить только через ваш микрокомпьютер, а шпионское приложение на телефоне не заметит попытки его компрометации. Тем временем, программное обеспечение TinyCheck с помощью встроенных алгоритмов и паттернов поведения подобных шпионских программ, а также специфических индикаторов компрометации (IoCs), определит факт наличия слежки.

Стоит напомнить, что статья рассматривает использование данного проекта преимущественно для простого технически неподкованного пользователя.

Создатели проекта предлагают несколько вариантов использования:

  • Десктопный режим - программное обеспечение TinyCheck устанавливается на персональный компьютер или виртуальную машину с операционной системой Linux и двумя сетевыми интерфейсами (один из которых Wi-Fi).
    В таком случае доступ к программному обеспечению можно получить с рабочей станции через браузер. Данный вариант подойдет пользователям, которые ограничиваются проверкой только своего личного устройства.
    Здесь нет необходимости в покупке микрокомпьютера, а затраты и вовсе могут отсутствовать. Стоит отметить, что вариант несколько сложнее в реализации нежели два последующих.
  • В режиме «киоска» - в данном случае программное обеспечение устанавливается на Raspberry Pi с сенсорным экраном. Это стационарный вариант исполнения, отлично подходящий, когда есть необходимость, чтобы посетители могли тестировать свои собственные устройства. То есть режим «киоска» нацелен на большое количество устройств, что может быть полезно в корпоративной работе, например, кризисных центрах. Опять же остается необходимость в двух сетевых интерфейсах, один из которых Wi-Fi. Но при всем при этом, интерфейсом, на который будет приходить интернет, может быть другая точка доступа Wi-Fi, Ethernet-кабель или USB-модем.
  • Полностью автономный режим - данный вариант схож с предыдущим, за исключением того, что питание к микрокомпьютеру будет подаваться от внешнего аккумулятора, а интерфейсом, на который будет приходить интернет-соединение может быть только Wi-Fi или USB-модем. Это мобильный вариант, который удобен при решении оперативных задач, когда нет либо необходимости, либо возможности транспортировать устройство в условный офис для проведения исследования.
В статье рассмотрен вариант гибридной установки: как в режиме «киоска», так и в десктопном исполнении.

 

Установка:

Пункт установки предназначен для тех, кто планирует самостоятельную установку TinyCheck. Если вас интересует функционал и обзор интерфейса на конкретном примере, то перейдите к следующему пункту.

Алгоритм установки в целом схож со стандартным из репозитория, но дополнен некоторыми пунктами на основании опыта использования. Итак, помимо домашнего роутера с работающим Интернет-соединением и персонального компьютера, необходимо:

- Raspberry Pi 4Raspberry Pi OS (в нашем случае 64bit);
- LCD-экран с тачскрин;
- microSD;
- корпус для микрокомпьютера с экраном;

1.     Установка Raspberry Pi OS и настройка доступа по ssh.
2.     Установка LCD-экрана и его калибровка. С этим придётся повозиться, пользуйтесь инструкцией.


3.     Подключение малинки к роутеру через Ethernet и идентификация ее локального IP.
4.     Подключение по ssh через любой клиент (например, Putty)

ssh pi@ip_of_raspberry #пароль raspberry

и ввод следующих команд на устройстве:

sudo apt-get update && sudo apt-get upgrade

5.   Зададим статический IP для raspberry. Для этого добавим в файл /etc/dhcpcd.conf следующие строки

interface eth0
static ip_address=192.168.x.y/24 #адрес малинкиg
static routers=192.168.x.z #адрес роутера-шлюза

6. Теперь все согласно инструкции по установке, выполнение команд:

cd / tmp / 
git clone https://github.com/KasperskyLab/TinyCheck 
cd TinyCheck 
sudo bash install.sh

При запуске install.sh все зависимости, связанные с проектом, будут установлены. Это может занять несколько минут в зависимости от скорости вашего интернета. Вам нужно будет ответить на ряд вопросов при установке, например, выбрать необходимые для работы сетевые интерфейсы. Так как у нашей версии raspberry в наличии встроенный модуль Wi-Fi, TinyCheck его успешно обнаруживает и предлагает выбрать в качестве второго сетевого интерфейса для раздачи Интернет-соединения.
7. После установки операционная система будет перезагружена. Как только малинка включится, снова соединимся по ssh и решим проблему, которая скорее всего у вас возникнет: не будет создаваться pdf-отчет о произведенном анализе. Для этого выполним следующие действия:

sudo apt-get update
sudo pip3 install -U django-weasyprint 
sudo pip3 uninstall WeasyPrint 
sudo pip3 install -U WeasyPrint==52.5

8. Для доступа к интерфейсам через браузер других устройств локальной сети, а не только через LCD-экран, выполним следующие команды:

sudo iptables -t nat -A OUTPUT -p tcp –s 192.168.x.0/24 -d 192.168.x.y -m multiport --dports 80,443 -j DNAT --to-destination 127.0.0.1
#необходимо заменить IP адреса на адрес подсети и малинки соответсвенно
sudo /sbin/iptables-save
sudo reboot

Все! Теперь после перезагрузки устройства, у вас не только на LCD-экране компьютера, но и со всех гаджетов локальной сети будет доступен как базовый (доступен по адресу http://tinycheck.local через малинку или http://192.168.x.y из локальной сети), так и конфигурационный интерфейсы (https://tinycheck.local или https://192.168.x.y соответственно) через ваш web-браузер!

Базовый интерфейс программного обеспечения TinyCheck
на LCD-экране Raspberry Pi в корпусе

Обзор базового интерфейса

Конфигурационный интерфейс доступен сразу из коробки и будет полезен для продвинутых пользователей, но в целом нет никакой необходимости в доступе к нему, ведь для пользования базовым функционалом программного обеспечения нам достаточно просто включить raspberry и подождать пару минут, пока все само запустится. Итак, действия, которые необходимо выполнить при проверке смартфона:

1. Включите ваш микрокомпьютер, подключите к USB-модему или роутеру через Wi-Fi или Ethernet. Удостоверьтесь в наличии Интернет-соединения.
2. Отключите канал передачи данных 3G/4G в конфигурации вашего смартфона. Этот пункт важен и необходим, чтобы все ваши данные проходили только через Wi-Fi точку доступа TinyCheck.
3. Закройте все открытые приложения.
4. Выключите смартфон.
5. Также может быть полезно отключить фоновое обновление для приложений .
6. Заходим на http://192.168.x.y или воспользуемся «киоском».
7. Жмем «Итак, приступим!», включаем смартфон и подключаемся к точке доступа Wi-Fi, созданной TinyCheck.

8. После подключения к сети Wi-Fi желательно выполнить ряд стандартных действий со смартфоном, которые вы обычно делаете (откроем Тик-Ток, запишем заметку и т.д.). Отправьте SMS, позвоните, сделайте снимок, перезагрузите телефон - некоторые шпионы могут реагировать на такие события. Рекомендуется, чтобы весь процесс занял около 10-15 минут.
9. Нажмите на кнопку «Остановить сбор данных» для выполнения соответствующего действия.
10. Программное обеспечение задаст следующий вопрос: Хотите проанализировать зафиксированные подключения? Мы можем просто сохранить логи ваших подключений (кнопка «Нет, только сохранить») или нажатием кнопки «Да, анализировать» запустить процесс анализа, который не займет много времени.

11. Сохраните отчет на USB-накопитель (накопитель вставляется в Raspberry Pi).

Страница pdf-отчета

В формируемом архиве помимо pdf-отчета также сохраняется pcap-файл
с вашим трафиком и логи соединений в папке assets

После того, как мы проверили условно наш постоянно используемый смартфон, пришло время выполнить те же действия с старым смартфоном (ZTE Blade V9), у которого настройки сброшены до заводских. Тем самым мы эмулируем новый телефон, который нам только что подарили. Что же делает телефон в первые минуты своей работы?

Разрешим все, что предлагается в приложениях, добавим контакт, сделаем пару фотографий, зайдем в браузер, Сбербанк Онлайн и совершим также несколько стандартных действий любого пользователя. Все согласно алгоритму проверки. Далее завершим анализ и создадим отчет.

Подключений, которые классифицируются как предупреждения среднего или высокого уровня, не обнаружено, что радует. Но учтите, что мы не предустанавливали никакого шпионского ПО в этот телефон (хотя могли), а напротив полностью его очистили. Как видите, на «новом» телефоне, все намного лучше. Но не стоит обольщаться, ведь как советует автор, все факты, к которым есть подозрение – необходимо проверить!

Вывод

Естественно, данный проект не является панацеей и конечным решением, которое полностью обезопасит вас от слежки. Это простой и бесплатный вариант, дополняющий большой список мер, который должен выполнять каждый для сохранения личной конфиденциальности и безопасности личных данных. У проекта отличная история, ведь истоки идут от идеи поддержки жертв домашнего насилия в деле защиты своей физической и цифровой неприкосновенности... Стоит отметить, что программное обеспечение подкупает тем, что имеет открытый исходный код. А это (помимо доверия к работе программного обеспечения), в свою очередь, порождает большие возможности масштабирования, дополнения и использования проекта в огромном спектре задач. Кроме того, TinyCheck достаточно прост как в обращении, так и в реализации, что выгодно снижает порог входа!