The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

29.04.2017 08:14  Анализ уязвимостей в 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 при клике на ссылку в браузере:
  • Перехват параметров аутентификации при работе пользователя с внешним сервисом:


  1. Главная ссылка к новости (https://www.wired.com/2017/04/...)
  2. OpenNews: В Android и старых ядрах Linux устранена уязвимость, эксплуатируемая через отправку UDP-пакетов
  3. OpenNews: Небезопасное хранение данных в менеджерах паролей для платформы Android
  4. OpenNews: Большинство VPN-приложений для Android не заслуживают доверия
  5. OpenNews: Проект Tor представил прототип защищённого смартфона на платформе Android
  6. OpenNews: Исследование негативного влияния на безопасность локального перехвата HTTPS-трафика
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: android, security
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 09:08, 29/04/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +2 +/
    Я правильно понимаю, что для создания слушающего сокета в Android достаточно обычных полномочий на создание сетевых соединений, без разделения для listen и connect?
     
     
  • 2.3, пох (?), 10:15, 29/04/2017 [^] [ответить]    [к модератору]
  • +1 +/
    > Я правильно понимаю, что для создания слушающего сокета в Android достаточно обычных
    > полномочий на создание сетевых соединений, без разделения для listen и connect?

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

    Эту -то "проблему" легко и просто решает ручная настройка iptables. Проблему идиoтов-гуглоидов, написавших изначально бессмысленную систему разграничения прав (потому что "модель угроз - не, не слышали") решить невозможно (всякие exPosed - а вы их верифицировали, да? Или "вот патчик хз какого анона с 4pda, с ним встает, давай-давай, скорее"? Разграничить доступ к fs, даром что это ext4 с атрибутами-шматрибутами - вообще никак и ничем)
    Ставьте винду. Корпорация зла, почему-то, решила что именно тyпoй пользователь, а не гени[т]альный автор софта, имеет право решать, каких доступов какой апликухе выдать.
    Но вы ведь вместо этого купите новый самсунг, да?

     
     
  • 3.6, Аноним (-), 10:36, 29/04/2017 [^] [ответить]     [к модератору]
  • +1 +/
    Ключевое слово ручная , а не легко Вообще, даже специалисту в этом вопросе, ... весь текст скрыт [показать]
     
     
  • 4.12, не такой (?), 12:47, 29/04/2017 [^] [ответить]    [к модератору]  
  • +/
    >>Эту -то "проблему" легко и просто решает ручная настройка iptables.
    > Походу вы настраивали файрвол для демонов, а не для клиентских программ и
    > уж тем более не для сложных клиентских программ, которые еще общаются
    > на 127.0.0.1 с собой (а могут общаться и не с собой).
    > Поэтому для вас все "легко и просто".

    А нафига специально настраивать на каждой,
    для начала запретить установку соединений по TCP/IP извне,

    это отсеет 99% программ написанных людьми которым пофиг на безопасность,
    UDP ИМХО используют люди которые хоть как-то разбираются в вопросе.

     
     
  • 5.13, Аноним (-), 12:53, 29/04/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    Это уже имеется, называется запрет всех соединений для фоновых приложений Работ... весь текст скрыт [показать]
     
     
  • 6.24, Аноним (-), 16:37, 29/04/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Потому что ломает работу любого чата, любого почтовика и т.д.

    Чаты и почтовики, ломающиеся от запрета входящих соединений на *клиентских* устройствах??!

     
     
  • 7.25, Аноним (-), 17:47, 29/04/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Чаты и почтовики ломаются потому что запрещаются исходящие соединения Я немного... весь текст скрыт [показать]
     
     
  • 8.28, пох (?), 00:20, 30/04/2017 [^] [ответить]     [к модератору]  
  • +3 +/
    не полные, но мягко говоря, альтернативно одаренные Банальная индусятина Умные... весь текст скрыт [показать]
     
     
  • 9.31, Аноним (-), 06:28, 02/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Я не знаю, какой идиот тебя минисует, но, чувак, ты безумно прав Хочу добавить,... весь текст скрыт [показать]
     
  • 4.26, пох (?), 19:21, 29/04/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > Ключевое слово "ручная", а не "легко". Вообще, даже специалисту в этом вопросе,

    неспециалиста все равно поимеют. Тут беда в том,что и специалиста тоже. Ну и отдельная, конечно, да, что штатного управления ядерным файрволлом не предусмотрено.

    > чтобы правильно настроить файрволл для приложения потребуется приличное кол-во времени,
    > особенно, если приложение работает на мульти-протоколах (например, SIP).

    э... nf_conntrack_sip пятнадцать лет. Еще с ipchains спортирован.
    Там есть свои ньюансы (вокруг reinvite) но хорошие программы об этом сами должны догадываться, а плохие и запускать не стоит.

    > уж тем более не для сложных клиентских программ, которые еще общаются
    > на 127.0.0.1 с собой (а могут общаться и не с собой).

    это как раз самое простое. Кстати, не надо путать 127.0.0.1 и lo.
    (ну мы же предполагаем, что внутри нашего телефона нет намеренных троянцев,да?)

     
     
  • 5.36, martian_packet (?), 22:06, 26/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > не надо путать 127.0.0.1 и lo

    Эмм, а?

     
     
  • 6.37, Andrey Mitrofanov (?), 11:46, 27/05/2017 [^] [ответить]    [к модератору]  
  • +/
    >> не надо путать 127.0.0.1 и lo
    > Эмм, а?

    $ ping 127.255.255.128

     
  • 3.8, Аноним (-), 10:52, 29/04/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    С моделью угроз у них всё в порядке Задача Гугла 8212 чтобы функционал по сбо... весь текст скрыт [показать]
     
     
  • 4.21, пох (?), 16:13, 29/04/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > С моделью угроз у них всё в порядке

    вы код-то видели? Там все не в порядке, гугл уже давно 100% индусская контора, мозгов там иметь и некому, и не положено.
    (то что там где-то по углам еще прячутся нормальные люди, это со временем проходит, к тому же они уже лишены и ресурсов, и права влиять на происходящие процессы - я немножко знаю, как это изнутри устроено)

    > Задача Гугла — чтобы функционал по сбору и отправке данных о пользователе
    > работал.

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

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

    > в большую часть приложений в маркете (фонарики, требующие разрешений на GPS
    > и чтение контактов, ага).

    вдруг ты хочешь подсказать друзьям, что тут темно?

     
  • 3.11, Гость (??), 12:32, 29/04/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Про отзыв полномочий не слышал?
     
  • 3.15, Аноним (-), 13:48, 29/04/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Xposed с XPrivacy решают эту проблему. Не доверяете разработчикам - исходники открыты.
     
     
  • 4.20, пох (?), 16:06, 29/04/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    > Xposed с XPrivacy решают эту проблему. Не доверяете разработчикам - исходники открыты.

    эту - решают (поделки вида install.apk - не решают, разьве что в совсем тривиальных случаях - потому что приложение не проверяет кодов возврата или проверяет и тут же завершается аварийно - разработчики-то тоже привыкли что можно все, что перечислили в манифесте)
    Но создают новую, поскольку первый внедряется в такие кишки системы, где уже вообще может делать что угодно.

    Нет, не доверяю. Это хакеры, они совершенно не обязаны быть белыми и пушистыми, к тому же и очень белого и пушистого можно нагнуть. И я спрашивал не про открытость исходников, а _вы_ - верфицировали? (раз вы слышали про xposed, значит, проблема privacy и кражи данных вас как-то занимала) Полагаю, нет.

     
  • 3.18, Аноним (-), 15:56, 29/04/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    ломающие новости андроид 4 3 и 6 позволяют не давать разрешения приложениям че... весь текст скрыт [показать]
     
  • 3.19, Аноним (-), 15:59, 29/04/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Так уже давно начинаяс 6 0 можно выбирать каким приложениям какие полномочия б... весь текст скрыт [показать]
     
     
  • 4.23, пох (?), 16:27, 29/04/2017 [^] [ответить]     [к модератору]  
  • –3 +/
    не работает нихрена - у меня есть шестой если бы это работало - пользовался бы... весь текст скрыт [показать]
     
  • 4.33, dmitrmax (ok), 00:30, 03/05/2017 [^] [ответить]    [к модератору]  
  • +/
    А толку? Вот ставлю Сбербанк Бизнес Онлайн (для юриков). Он говорит: хочу (не жить не быть) управлять твоими звонками, иметь доступ к твоим фоточкам, знать где ты находишься, отправлять и читать твои СМС. На каждый такой запрос отвечаю: хер тебе. А дальше он выводит msgbox, где говорит: раз так, тогда я не буду работать, и выходит. И толку от такого контроля прав?
     
  • 3.27, vantoo (ok), 23:58, 29/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Начиная с 6-й версии Андроида, можно вручную отключать ненужные разрешения для каждого приложения.
     
  • 3.32, rob pike (?), 22:49, 02/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > Проблему идиoтов-гуглоидов, написавших изначально бессмысленную систему разграничения прав (потому что "модель угроз - не, не слышали") решить невозможно

    SELinux на что?

     
  • 2.5, у (?), 10:23, 29/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Там вроде нужны особые права на создание сокетов, потом с ними можно делать всё. По крайней мере раньше так было, может в новых версиях что-то изменилось
     
     
  • 3.9, Аноним (-), 11:50, 29/04/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Когда раньше? Под Android 4 написал скрипт и запустил с баша который создал сокет и сконнектился. Не под рутом.
     
     
  • 4.17, Аноним (-), 15:22, 29/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Разрешения наследуются от эмулятора терминала вместе с UID
     
  • 1.2, Аноним (-), 09:33, 29/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    Какая вообще разница, когда блин, вайфай дырявый, и вообще, когда есть недоброкодеры, знающие ассемблер...
     
  • 1.16, Аноним (-), 14:58, 29/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > Для демонстрации возможных методов эксплуатации исследователи подготовили несколько сценариев атак:

    А для исправления и предотвращения что делать? На мобилке - Android 6.0

     
     
  • 2.22, пох (?), 16:16, 29/04/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    > А для исправления и предотвращения что делать? На мобилке - Android 6.0

    переписывать больное приложение. (файрволлом не поможешь, работать не будет)
    Не, не ваше?

    Значит, windows mobile - ваш выбор. (был бы, если бы не корпорация зла)


     
     
  • 3.29, Ordu (ok), 20:51, 30/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Windows mobile не выбор, ибо сдохла.

    https://www.neowin.net/news/yep-it039s-dead-microsoft-phone-revenue-fell-to-5m

     
     
  • 4.34, пох (?), 10:44, 03/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    ну так я о том же - нынешняя ms,к сожалению, очаровательно умеет испортить все, чего касается.

     
     
  • 5.35, Ordu (ok), 18:22, 03/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > ну так я о том же - нынешняя ms,к сожалению, очаровательно умеет
    > испортить все, чего касается.

    Да они все нынешние ничем другим не занимаются, только портят. Достаточно почитать комменты на опеннете и это становится очевидным.

     
  • 1.30, Аноним (-), 11:05, 01/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Приложения только с открытыми исходниками, F-Droid наше всё. 100% защиты не даст, но повысит безопасность.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor