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

29 апреля 2017 года

Группа исследователей из Мичиганского университета опубликовала (Архивная копия от 17 мая 2017 на Wayback Machine) доклад о безопасности мобильных приложений для платформы 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 оценивается как маловероятная.

Для демонстрации возможных методов эксплуатации исследователи подготовили (Архивная копия от 10 октября 2020 на Wayback Machine) несколько сценариев атак:

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Анализ уязвимостей в Android-приложениях с открытыми сетевыми портами», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.