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

После недавнего шума по поводу сбора данных приложением 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/.

Информационная безопасность IT

1.4K постов25.5K подписчик

Добавить пост

Правила сообщества

Обязательно к прочтению для авторов:

1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда "Какой-то банк слил данные, потому что мне звонили мошенники" будут выноситься в общую ленту.
2. Все вопросы "Как обезопасить сервер\приложение\устройство" - в лигу "Компьютер это просто".

Обязательно к прочтению для всех:

Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.


Запрещены политические holy wars.

По решению модератора или администратора сообщества пользователь будет забанен за:

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

2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.

3. За обвинение в киберпреступной деятельности.

4. За нарушение прочих Правил Пикабу.

Вы смотрите срез комментариев. Показать все
5
Автор поста оценил этот комментарий

Но ведь данные передаются по https.

Эти данные у конторы давшей тебе это приложение есть и без аналитики так что вопрос только в том можно ли передавать данные в этой аналитической конторе.

Даже если никакого левого трафика не будет приложение может передать платежную информацию третьим лицам ( и обязательно передаст как минимум в банк )

По мне так оснований доверять конторе которой платишь оснований не больше чем аналитической конторе.

То есть контора получила сертификат PCI DSS то эта аналитика наверное учтена и нареканий не вызвала. А если не получила то в любом случае вводить инфу опасно.

раскрыть ветку (22)
10
Автор поста оценил этот комментарий

Возможно вопрос покажется глупым, но зачем вообще передавать пароль в открытом виде? Пусть и по https.

раскрыть ветку (10)
5
DELETED
Автор поста оценил этот комментарий

А как передавать пароль? В зашифрованном виде и ключ рядом?

Посмотрите, как Facebook передаёт.

раскрыть ветку (9)
2
Автор поста оценил этот комментарий

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

2
Автор поста оценил этот комментарий

Эм, нет. Хэш-функции и все такое, разве не так все поступают?

раскрыть ветку (7)
10
Автор поста оценил этот комментарий

Хэш-функция призвана защитить от кражи БД, а не от MITM. Даже если передавать на сервер хэшированный пароль, то это никак не поможет в случае перехвата - что помешает злоумышленнику передать на сервер этот же хеш пароля :)

раскрыть ветку (5)
3
Автор поста оценил этот комментарий

Ну по идее, это не даст злоумышленнику возможность искать сайты, где подойдёт такая-же пара логин-пароль

ещё комментарии
Автор поста оценил этот комментарий

Уже есть подходящие алгоритмы, типа SRP.

раскрыть ветку (2)
Автор поста оценил этот комментарий
Если используется https, то пароль и так не узнает никто.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Сервер может узнать, а с SRP даже он не узнает

1
DELETED
Автор поста оценил этот комментарий

Нет. Пароль хешируется (сейчас уже чаще шифруется) при записи в БД.

2
Автор поста оценил этот комментарий
На скриншоте видно же http
раскрыть ветку (2)
Автор поста оценил этот комментарий

Скриншот по приложению из рбкшной заказухи.

А разговор идет про неназванное приложение в котором есть оплата картой

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я не могу найти оригинал статьи этой "заказухи". Все ссылаются на РБК. Life вообще написал бред какой-то https://life.ru/1138349 Хэши, пароли и данные карты украдены. Тот же макдональдс вообще не позволяет карту вводить. И зная пароль максимум вы сможете сделать заказ, данные карты никогда не идут от сервера клиенту, только что-то типа ****5454. Прочитав такую статью, я бы удалил все с телефона.

1
Автор поста оценил этот комментарий

Для оплаты там другой сервис используется, видно куда данные карты потом уходят. Конкретно этот сервис аналитики собирает именно действия юзеров. Думаю, все проще, просто, не настроили как надо.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Ну так какая разница куда данные передаются? Если бы все те же данные шли на один хост это изменило бы ваше отношение к приложению? Ведь вопрос только как они этими данными воспользуются а это проконтролировать вы не можете.

раскрыть ветку (3)
3
Автор поста оценил этот комментарий

Разница есть. Аналитика это обезличенные данные только об использовании приложения. Процессинг карт требует соответствия стандартам, получения разрешений. Я не утверждаю, что кто-то данные карт получает из этой аналитики, но это возможно, это уязвимость.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

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

Обезличена она или нет можно будет сказать только зная что они реально хранят

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

У них даже AppSee есть встроенное, но конфигурация "скучная", не пишут ничего. Хотя с AppSee никогда не знаешь что они потенциально могут начать писать.

Автор поста оценил этот комментарий

Вообще контора не должна знать твои данные, они должны использовать сторонние сервисы типа paypal, stripe для оплаты, которые гарантируют защиту

раскрыть ветку (1)
7
Автор поста оценил этот комментарий

Нет. Это вы придумали.

Контора должна обеспечить защиту. Использование сторонних сервисов приема платежей упрощает обеспечение этой защиты и уменьшает количество требований (но не до нуля) и упрощает (но не отменяет) сертификацию.

И под сервисами приема платежей все же имеются ввиду банки а не суррогаты которые вы назвали.

Автор поста оценил этот комментарий
С чего взял, что не используется платежный сервис? Зачем pci dss?
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку