Эта короткая история состоит из двух частей:
- Обнаружение уязвимости, появившейся, скорее всего, из-за невнимательности разработчиков;
- Сообщение о находке в Билайн.
Но этого поста не появилось бы, если бы все было так просто.
Часть 1. Что произошло?
Вчера, отлаживая свое приложение в Android Studio, я открыл Logcat, и увидел что там промелькнул "Мой билайн". Ну и что? У меня действительно установлено это приложение. Многие приложения что-то пишут в лог.
Но. Это оказался лог HTTP запроса и ответа. Опять же, это не так страшно. Ссылка запроса к API, сообщение об успешном ответе.
Но. В логе помимо ссылки оказались также хедеры и тело запроса, в т.ч. json содержимое (заботливо отформатированное) и token сессии.
Дальше можно просто сделать себе попкорн, отфильтроваться по ключевому слову "beeline" и наблюдать за сетевой жизнью приложения.
Часть 2. Бьём тревогу.
Разумеется, так это оставлять нельзя. Не раздумывая, иду на сайт упомянутой выше компании, пробегаю глазами по диагонали и не нахожу ничего лучше предложения начать чат с поддержкой прямо на сайте. Разумеется, натыкаюсь на фейс-контроль в виде чат-бота.
Далее последовал следующий диалог:
Бот: Благодарим за обращение в наш чат. Задайте вопрос и наши специалисты помогут найти решение.
Я: Добрый день, случайно обнаружил в вашем android-приложении уязвимость, куда я могу о ней сообщить?
Бот: iMessage и FaceTime — технологии, разработанные компанией Apple, предоставляемые за отдельную плату. Для использования необходимо интернет-соединение. iMessage – позволяет отправить текстовое сообщение другому пользователю iMessage. Отключение сервиса возможно в настройках Вашего устройства: "Настройки"- "Сообщения" — "iMessage" — отключить. FaceTime — программа, с помощью которой Вы можете совершать видео- и аудиозвонки между устройствами Apple. Отключить эту опцию также можно в настройках Вашего аппарата: "Настройки"- "FaceTime" — отключить. Если у Вас по-прежнему остались вопросы о возможностях в рамках данного сервиса, то Вы можете обратиться в тех. поддержку Apple IPhone: 8-800-555-67-34 (звонок бесплатный).
Я: Что?
Бот: Уточните, пожалуйста, что именно Вас интересует.
Я: Случайно обнаружил в вашем android-приложении уязвимость, куда я могу о ней сообщить?
Бот: iMessage и FaceTime — технологии, разработанные компанией Apple, предоставляемые за отдельную плату. Для использования необходимо интернет-соединение. iMessage – позволяет отправить текстовое сообщение другому пользователю iMessage. Отключение сервиса возможно в настройках Вашего устройства: "Настройки"- "Сообщения" — "iMessage" — отключить. FaceTime — программа, с помощью которой Вы можете совершать видео- и аудиозвонки между устройствами Apple. Отключить эту опцию также можно в настройках Вашего аппарата: "Настройки"- "FaceTime" — отключить. Если у Вас по-прежнему остались вопросы о возможностях в рамках данного сервиса, то Вы можете обратиться в тех. поддержку Apple IPhone: 8-800-555-67-34 (звонок бесплатный).
Я: что происходит?
Бот: Переформулируйте, пожалуйста, Ваш вопрос.
Я: Случайно обнаружил в вашем android-приложении уязвимость, куда я могу о ней сообщить?
Бот: iMessage и FaceTime — технологии, разработанные компанией Apple, предоставляемые за отдельную плату. Для использования необходимо интернет-соединение. iMessage – позволяет отправить текстовое сообщение другому пользователю iMessage. Отключение сервиса возможно в настройках Вашего устройства: "Настройки"- "Сообщения" — "iMessage" — отключить. FaceTime — программа, с помощью которой Вы можете совершать видео- и аудиозвонки между устройствами Apple. Отключить эту опцию также можно в настройках Вашего аппарата: "Настройки"- "FaceTime" — отключить. Если у Вас по-прежнему остались вопросы о возможностях в рамках данного сервиса, то Вы можете обратиться в тех. поддержку Apple IPhone: 8-800-555-67-34 (звонок бесплатный).
Совершенно не представляю из-за какого ключевого слова бота так передергивало. Мне быстро наскучил этот разговор с автоответчиком. Попробовал другую комбинацию и, о чудо, на меня снова вывалили справочную информацию, но в конце все-таки предложили поговорить с реальным человеком. Ура, появился некий Олег, изучил мой диалог с роботом (вероятно вздохнул с облегчением, что роботы его пока не заменят) и посоветовал мне описать мою находку со скриншотами на почту otvet@beeline.ru (ее упоминания на сайте я не нашел, может плохо искал). Затем Олег поблагодарил меня за помощь и ушел выручать других роботов.
Я, обрадованный прогрессу, написал на указанную почту следующее:
Добрый день
Случайно обнаружил, что android-приложение «Мой билайн» сливает в лог все запросы к API вместе с токенами и json содержимым. По-моему, это уязвимость.
С уважением,
Козлов Михаил
Довольный собой, сделал себе кофе и продолжил работать. Сегодня пришел ответ.
Здравствуйте, Михаил!
Не совсем понятно, что именно у Вас не работает. Более подробно опишите Вашу проблему.
Спасибо, что пользуетесь услугами «Билайн».
С наилучшими пожеланиями,
Некрасов Вячеслав,
Служба поддержки Клиентов «Билайн».
После facepalm-ритуала, удержавшить от написания сообщения о том, что не работает не у меня, а у них: чат-бот, служба поддержки и разработчики приложения, я более подробно описал проблему.
На этот раз долго ждать не пришлось, ответ пришел через пять минут.
Уважаемый клиент! Мы стремимся идти в ногу со временем и оказывать сервис в актуальных каналах коммуникации. Нам важно, чтобы Вы получали обратную связь от нас как можно скорее. Поддержка через e-mail недоступна. Для того, чтобы получить моментальный ответ на любой вопрос, приглашаем в чат со специалистом на сайте: https://beeline.ru/customers/pomosh/ или в Мобильном приложении: https://beeline.ru/dl! Обращаем внимание, что это письмо сформировано автоматически и ответ на него не требуется. Ждем Вас в чате на сайте или в мобильном приложении. Ваш Билайн!