Анализ уязвимостей в Android-приложениях с открытыми сетевыми портами

Группа исследователей из Мичиганского университета опубликовала доклад о безопасности мобильных приложений для платформы Android, которые открывают сетевые порты в слушающем режиме и принимают на них соединения. Отмечается, что обработка внешних сетевых запросов создаёт угрозу для безопасности мобильных устройств, которая обычно упускается из виду из-за не серверной специфики мобильных приложений. Исследователи разработали специализированную утилиту OPAnalyzer для статического анализа кода, которая выявляет открытие сетевых портов и оценивает наличие типовых уязвимостей в реализации.

Проверка более 100 тысяч приложений из каталога Google Play выявила 1632 программы, принимающие сетевые соединения, половина из которых насчитывает более 500 тысяч загрузок. Исследователи пришли к выводу, что почти половина всех обработчиков сетевых соединений не защищена и может быть использована для организации удалённых атак. Всего при автоматизированной проверке было выявлено 410 уязвимых приложений и 956 потенциальных методов эксплуатации уязвимостей. Вручную было подтверждено наличие уязвимостей в 57 приложениях, в том числе очень популярных, насчитывающих от 10 до 50 млн загрузок и предустанавливаемых на смартфоны некоторых производителей.

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

По решаемым задачам обработчики внешних соединений в мобильных приложениях разделены на пять категорий: организация совместного доступа к данным (69.3%), прокси-сервисы (6.3%), удалённое выполнение операций (6.5%), приём VoIP-вызовов (2.3%) и приложения на базе платформы PhoneGap (14.6%). 60% уязвимостей при организации совместного доступа к данным связаны с ненадлежащим механизмом аутентификации клиента или её отсутствием. Основная проблема с прокси, которые обычно применяются в таких приложениях как фильтры содержимого и блокировщики рекламы, связана с ненадлежащим контролем доступа, что позволяет использовать их как усилитель DDoS-атак, для заметания следов или выделения прокэшированного контента.

Удалённое выполнение операций связано с предоставлением интерфейсов для выполнения определённых действий на телефоне, например отправки SMS с ПК или обращения к хранилищу. Гибридные приложения на базе фреймворка PhoneGap (Apache Cordova) разделены на бэкенд и фронтенд, который оформляется на JavaScript/HTML5. Обработчик PhoneGap должен привязываться к внутреннему сетевому интерфейсу, но по ошибке часто прикрепляется и к внешнему интерфейсу, при этом запросы аутентифицируются по UUID, и вероятность атаки через PhoneGap оценивается как маловероятная.

Для демонстрации возможных методов эксплуатации исследователи подготовили несколько сценариев атак:

  • Доступ к фотографиям атакующим в локальной сети, выполнившим сканирование доступных в сети устройств:

  • Доступ к фотографиям из вредоносного приложения, имеющего только право установки сетевых соединений:
  • Инициирование отправки платных SMS при клике на ссылку в браузере:
  • Перехват параметров аутентификации при работе пользователя с внешним сервисом:
OpenNews: Анализ уязвимостей в Android-приложениях с открытыми сетевыми портами
 
Последнее редактирование:
Сверху Снизу