3amynoK

На Пикабу
Дата рождения: 18 марта 1982
поставил 45456 плюсов и 5274 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
10 лет на Пикабу
2507 рейтинг 19 подписчиков 6 подписок 2 поста 1 в горячем

Как данные карт утекают из-за аналитики.

После недавнего шума по поводу сбора данных приложением Burger King я иногда стал проверять траффик приложений на моем телефоне под управлением iOS. Сегодня наткнулся на статью РБК о том, какие небезопасные приложения по заказу еды https://www.rbc.ru/technology_and_media/26/07/2018/5b58822d9... .

Решил посмотреть, что же шлет самое небезопасное приложение по версии Ростелеком-Solar. Оказалось все проще, они никак не шифруют траффик приложения. Т.е. любой маршрутизатор может без труда поймать email и пароль при регистрации приложения. Хотя стандартная регистрация у них "отключена" (так ответили на мое письмо), только с использованием Facebook я смог создать аккаунт. Притом, отключение достаточно странное, с сервера приходит ошибка

{"phone": "Ensure this field has no more than 12 characters.", "visible": false } которая в приложении отображается просто "Что-то пошло не так". Вот что им ушло по незашифрованному каналу.

Как данные карт утекают из-за аналитики. Безопасность, Аналитика, Mitm, Анализ, iOS, Банковская карта, Длиннопост

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

На каждое нажатие данное приложение отправляет аналитику сервису https://securedtouch.com/. Зайдя на форму ввода карты и введя определенную последовательность я получил набор нажатий достаточный для примерного определения всех введенных данных карты.

Что я ввел ниже:

Как данные карт утекают из-за аналитики. Безопасность, Аналитика, Mitm, Анализ, iOS, Банковская карта, Длиннопост

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

Как данные карт утекают из-за аналитики. Безопасность, Аналитика, Mitm, Анализ, iOS, Банковская карта, Длиннопост

Цифры это номера нажатий. Я вводил 1234... 16 цифр. Затем при вводе срока действия карты появляется барабан и на нем скролом выбирается месяц (слева) и год (справа)

Как данные карт утекают из-за аналитики. Безопасность, Аналитика, Mitm, Анализ, iOS, Банковская карта, Длиннопост

Т.е. барабан я прокрутил вверх выбрав 9 месяц и 20 год.

Ну и последнее это CVC

Как данные карт утекают из-за аналитики. Безопасность, Аналитика, Mitm, Анализ, iOS, Банковская карта, Длиннопост

Здесь все нажатия с самого начала, я не углублялся чтобы отфильтровать лишнее, главная задача показать что эти данные пишутся. Нажатия 42, 43, 44 как раз введенные CVC.


Комментируя пост про Burger King я высказывал мнение, что именно факт записи видео сильно возмутил людей, хотя записав все что делал юзер можно почти такое же видео получить. Достаточно поместить все действия юзера на изображения форм приложения.


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


Для анализа трафика я использовал https://mitmproxy.org/.

Показать полностью 5

Burger King и потенциальная уязвимость 

Несмотря на то, что автор первоначальной новости не предоставил пруфов и я считаю что он не доказал что данные карт записываются в видео, я смог получить видео с данными карты (кроме CVC) подменив ответ сервера AppSee. Дело в том, что AppSee регулярно обновляет свою конфигурацию  (что писать, как писать и т.д.) с сервера AppSee. Там, полагаю, есть панель администрирования и в любой момент можно изменить конфигурацию без обновления приложения. В конфигурации можно ВКЛЮЧИТЬ показ всех полей (HideInput: false, HideSensitiveViews: false). Что я и сделал.

Сейчас в конфигурации БК запись видео уже отключена. Я так же попробовал увеличить качество видео, указав бОльший размер записываемого видео, но ничего не поменялось, возможно надо еще пробовать.

CVC в приложении вводится сразу спец. символами (можете проверить), поэтому на видео это не попадает.

Как итог, БК или AppSee имели и имеют в текущей версии (2.2.0 146) возможность вести запись формы ввода карты. Делали они этого или нет я сказать не могу.

Немного данных (видео, скрипт замены для mitmproxy) https://yadi.sk/d/tjxg2OJ83Z6YB8

Здесь кратко как можно повторить самим https://habr.com/post/416991/#comment_18875845


Важное добавление: На видео видны нажатия на клавиатуру :) Я уже мухажук, сам записал, сам не увидел. Но из-за ограничения FPS нажатия не все попадут.


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

Burger King и потенциальная уязвимость  Фастфуд, Слежка, Длиннопост
Показать полностью 1
Отличная работа, все прочитано!