Время прочтения: 4 мин.

Согласно статистике, в 2020 году мобильные приложения были загружены пользователями более 240 млн раз, и это число продолжает расти.

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

Большинство современных мобильных приложений построены на клиент-серверной архитектуре. Как правило, клиент функционирует под управлением одной из популярных мобильных ОС – Android или iOS, и обменивается данными с сервером. Использование открытых незащищенных протоколов передачи данных многократно увеличивают риски компрометации передаваемого трафика. Но даже защищенные соединения не всегда дают 100% гарантию надежности сохранности данных.

В данной статье мы познакомимся с инструментом Fiddler, позволяющим перехватывать и анализировать весь трафик между клиентом и сервером. Данный инструмент поможет аудитору выявить уязвимости в процессе клиент-серверного взаимодействия мобильного приложения.

Подготовительные шаги

Для начала установите Fiddler на ПК или ноутбук. Убедитесь, что ПК/ноутбук и смартфон находятся в одной сети (например, подключив устройства к одному wifi-роутеру). Это условие является обязательным, т.к. устройства не увидят друг друга. Проверить связь между устройствами можно через команду ping.

Настройка Fiddler

Далее, убедитесь, что Fiddler может принимать входящие соединения:

  1. Откройте Fiddler, далее: Tools → Options, вкладка «Connections»;
  2. Поставьте флажок «Allow remote computers to connect»;
  3. Перезапустите Fiddler, чтобы изменения в настройках вступили в силу.

Настройка устройства на базе Android

Убедитесь, что Fiddler запущен и брандмауэр Windows отключен, далее на Android-устройстве выполните шаги:

  1. Откройте настройки, далее выберите Wi-fi, затем нажмите на имя подключенной сети и удерживайте, пока не появится всплывающее окно;
  2. Нажмите «изменить сеть», далее в всплывающем окне разверните пункт «расширенные настройки»;
  3. Выберите «Вручную» в поле со списком «Прокси-сервер»;
  4. В поле «Имя хоста прокси-сервера» введите IP-адрес вашего ПК/ноутбука;
  5. В поле «порт прокси-сервера» введите порт (по умолчанию 8888).

После нажатия на кнопку «Сохранить» весь трафик смартфона должен быть виден в окне Fiddler.

Настройка устройств на базе iOS

Убедитесь, что Fiddler запущен и брандмауэр Windows отключен, далее на iOS-устройстве выполните шаги:

  1. Откройте Настройки → Wi-fi;
  2. Найдите сеть, к которой подключен смартфон, и нажмите на значок «i»;
  3. Пролистайте вниз, найдите «настройка прокси», далее выберите «Вручную»;
  4. В поле «Сервер» введите IP-адрес вашего ПК/ноутбука;
  5. В поле «Порт» введите значение по умолчанию: 8888.

После нажатия на кнопку «Сохранить» весь трафик смартфона должен быть виден в окне Fiddler.

Перехват HTTPS-трафика

С этими настройками возможен перехват только незащищенного HTTP-трафика. Для работы с защищенным HTTPS-трафиком потребуется установка корневого сертификата на устройствах, а также дополнительная настройка Fiddler.

  1. Перейдите по ссылке на устройстве: http://ipv4.fiddler:8888
  2. Установите сертификат:

Для Android: скачайте FiddlerRoot certificate, откройте его, установите и задайте имя.

Для iOS: скачайте FiddlerRoot certificate, откройте его, нажмите «разрешить», после чего перейдите в  Настройки → Профиль загружен → Установить. Далее в Настройках → Основные → Об этом устройстве → Доверие сертификатам → найдите сертификат и сделайте его доверенным.

3. В настройках Fiddler (Options→ HTTPS) установите флажок «Decrypt HTTPS traffic», после чего разрешите установку сертификата.

После этого вы сможете работать и анализировать защищенный HTTPS-трафик в Fiddler.

В данной статье я  познакомил вас  с инструментом Fiddler для анализа трафика мобильных приложений на базе Android/iOS.  Аудиторам он может быть полезен для поиска уязвимостей.