Шрифт
Украинский разработчик нашел уязвимость в Android-приложении «Приват24»
Play

Украинский разработчик нашел уязвимость в Android-приложении «Приват24»

Разработчик Алексей Мохов, бывший сотрудник украинского Samsung и Viewdle, сообщил о серьезной уязвимости, найденной в Android-приложении онлайн-банкинга «Приват24». Об этом он рассказал AIN.UA.

Суть уязвимости — в получении доступа к конфиденциальным данным пользователя, который авторизовался в приложении. Приложение «Приват24» обменивается данными с банком и все данные пересылаются в зашифрованном виде. Но если на телефоне установлено приложение, которое «знает» протокол общения с банком, то оно может получить всю информацию от банка, не зная даже телефона/пароля в «Приват24». То есть, банк думает, что обменивается данными со своим приложением, как рассказал Алексей.

Технически это реализовывается как запрос от приложения к банку, содержащий некоторые параметры (appkey (секретный ключ приложения), IMEI (не стандартный IMEI, специальный приватовский идентификатор) и еще некоторые параметры, которые здесь не указаны специально. «В свое или чужое приложение, которое пользователь должен установить на телефон, можно вставить эти запросы с параметрами и получать ответы от банка. Только пользователь должен перед этим войти в приложение «Приват24», — поясняет Алексей. Какие данные приложение может получить в результате, указано на скриншоте (лог реальной сессии, кликните, чтобы увеличить).

Проблема еще и в том, что подобный вредоносный код у себя в приложениях сможет обнаружить только пользователь, очень подкованный технически. Еще одна уловка, которая может здесь сработать: чтобы не высылать постоянно запросы в банк от вредоносного приложения (проверять, прошел ли авторизацию человек) хакер может воспользоваться разрешением для приложения в ОС Android. Если во вредоносном приложении будет такое разрешение, то оно сможет определить, что пользователь запустил «Приват24» и будет ожидать процесса авторизации.

Алексей говорит, что вчера уже отправил уведомление об уязвимости в службу безопасности банка. Редакция AIN.UA ожидает официального комментария по этому поводу.

По словам Алексея, уязвимость удалось обнаружить, когда во время работы над технологией оплаты в приватовском терминале самообслуживания для сервиса такси разработчик начал изучать API-документацию банка и затем полностью декомпилировал код его Android-приложения. «В целом, безопасность приложения — на хорошем уровне, но такая уязвимость была найдена», — говорит он.

Update: В «ПриватБанке» сообщили об устранении уязвимости: «Два мошеннических приложения Мохова были оперативно выявлены. На сегодняшний день система безопасности Приват24 Android усилена. Система без проблем умеет отличать вход клиента в аккаунт от попытки вмешательства постороннего приложения, маскирующегося под оригинальное».

Вчера разработчик встречался с представителями банка, которые связались с Моховым и даже предлагали работу. «Встретился со службой безопасности «ПриватБанка». Рассказал и показал все. Опроверг их официальное заявление. Встречей доволен. Сегодня/завтра информация уйдет к председателю правления», — рассказал он во «ВКонтакте». По итогам встречи Мохов написал объяснение на имя председателя правления Александра Дубилета.

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

Комментарии | 41

Приват использует константу для построения цифровой подписи? Офигеть. Зато их терминал самообслуживания включается только после введения кода, присланного в СМС.

(Ответ Алексея, дискас пока немного глючит): У Приват24 3 параметра read-only для генерации IMEI

Нет, не константу. Там в этом плане все продумано.

Приватовский IMEI генерируется на основе 3х read-only переменных телефона.

А зачем такую информацию публиковать в открытом доступе? Мануал еще выложите

Тут далеко не вся информация, она как ртфм не прокатит.

У Приват24 3 параметра read-only для генерации IMEI.

Нашедшего уязвимость поощрили тремя кредитками и +500 к кредитному лимиту?

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

По его адресу выехало приватовское зелёное авто с нарисованными бородатыми моджахедами, чтобы поздравить лично. 🙂

Да для такого банка это очень НЕ ОК

«Два мошеннических приложения Мохова были оперативно выявлены.» — что это значит?

Сейчас выясняю, ПриватБанк обещает более развернуто прокомментировать со временем.

Похоже, что вместо «спасибо» парню пришлют повестку.

По-хорошему Мохову надо было дать банку время до месяца на реакцию. Обычно за пару дней уязвимость устраняют, и эту тогда можно рассказывать все общественности. Так делают все белые хакеры. Девушка шла по темному переулку, споткнулась, ударилась головой и потеряла сознание. Белый хакер найдет мобильный и позвонит родителям, в скорую, покараулит девушку, пока за ней не приедут. А уже потом будет рассказывать, как обнаружил уязвимую девушку и спас ее. А Мохов позвонил и тут же начал бегать по окрестностям с криками «там девушка без сознания лежит, ее можно ограбить и изнасиловать!», и не факт, что девушка не пострадает от такой огласки. Я считаю — немного неэтично

Похоже, что небезопасно выявлять уязвимости в сервисах ПриватБанка. За «белыми» хакерами сразу же выезжают фирменные зелёные автомобили ПриватБанка. Только вместо нарисованных бородатых моджахедов, там будут сидеть настоящие.

Вам хиханьки, да хаханьки — а вот реальное заявление от ПриватБанка в МВД (а потом еще и в СБУ написали после того как МВД послало банк на 3 буквы). Человек сообщал руководству ПриватБанка о проблемах, они игнорили, опубликовал на форуме Финанс.уа — получил заявление о взломе в МВД + занесение в черный список ПриватБанка в категорию «МОШЕННИКИ». http://www.privetbank.com.ua/ZayavaMvd_Jan2011.html

Да тут не хиханьки и хаханьки были, а ирония. Методы работы ПриватБанка всем уже давно известны.

Вот мне что-то кажется, что занесение в чёрный список Приватбанка — это награда, а не наказание.

Несколько десятков раз выявлял уязвимости, сообщал банку — получал премии! Никто никуда не выезжал.

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

Это невозможно. Вы немного не поняли статью.

тупое сокращение, UID подходит лучше.

Ну так написано у них, что поделать.

У них в логи в тупую выводится пароль пользователя

Ок, дочитал, посыпаю голову пеплом.

Это называется Cross Site Request Forgery. Для защиты сервер должен по защищеному каналу передавать клиенту токен в заголовке запроса. Этот токен должен присутствовать во всех запросах клиента, также в заголовке запросов, которые также должны передаваться по безопасному каналу.

Защищенный канал и так как бы есть)

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

P.S. паяльник надежней….

Я?) вы переоцениваете приват))

суть в логировании? лог файл общедоступен ?

Парень молодец. За счет этих жлобов недалеких сделал себе отличное резюме.

что-то нет упоминания заметки с habrahabr, как Мохова сначала в Приватбанке обвинили в хакерстве вместо «спасибо», но из-за резонанса изменили свою тактику.А вообще habrahabr ничего хорошего по ссылке не выдает http://habrahabr.ru/search/?q=приватбанк

Действительно, почему бы мне не процитировать Хабр, который поставил с КПИшника всю эту историю без ссылки на АИН, который напечатал эту историю первым:). На КПИшнике, кстати, ссылка на нас была. Мне было известно, что ПБ изначально обвинили Алексея в мошенничестве, просто ждала официальной позиции, которая есть в этой статье: «Два мошеннических приложения Мохова были оперативно выявлены».

Более детальный комментарий от ПБ о том, что это было вообще, здесь: http://ain.ua/2013/09/18/293971

Приношу извинения. Хабр видимо сослался на первоисточник. Лично я не нашёл ссылок на официально опубликованые заявления со стороны Приватбанк на их сайте, видео-обращения и другие явные доказательства , поэтому не могу сказать, что официально, а что нет.

📎📎📎📎📎📎📎📎📎📎