- PVSM.RU - https://www.pvsm.ru -
Месяц назад, просматривая мобильное приложение для интернет-банкинга от Альфа-Банка, решил проверить, насколько оно безопасно.

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

Подготовка.
Для отслеживания трафика, передаваемого мобильным приложением на сервер устанавливаем Fiddler [1].
Программа предельно проста в использовании, устанавливается и настраивается по инструкции довольно легко. Дополнительно в настройках программы нужно включить декриптование https трафика [2]
В телефоне в настройках wi-fi нужно указать адрес прокси, поднимаемый этим приложением и для того, что бы программа могла расшифровывать мобильный HTTPS трафик, нам нужно дополнительно установить сертификат (IOS [3], Android [4]).
После всех этих действий запускаем Fiddler и мобильное приложение Альфа-Банк. Теперь все запросы, отправляемые мобильным телефоном, будут отображаться в Fiddler. В нашем случае это оказался SOAP [5] протокол с запросами в формате XML.

Теперь немного о процессе поиска уязвимостей.
Я искал типичные ошибки, которые допускают разработчики. Самая распространенная из них — это отсутствие проверки прав доступа при запросе с использованием идентификатора. Поиск ошибок производим следующим образом. Берем запрос мобильного приложения, залогированный Fiddler и воспроизводим его в браузере Google Chrome при помощи плагина “Postman”.

В этом запросе заменяем целочисленный идентификатор на большее или меньшее значение и проверяем ответ сервера. Если сервер вернет ошибку или пустой запрос — то все хорошо, если данные клиента, значит есть уязвимость. Долго искать не пришлось. При запросе на формирование выписки, отсутствовала проверка на права доступа. Для доступа к данным использовался такой идентификатор, как cardContractId. Увеличивая или уменьшая его значение, можно было получать выписки других пользователей.
В тот же день мною было отправлено сообщение о найденной уязвимости через сайт Альфа-Банка, но в течении нескольких дней, не получив ответа, я позвонил в клиентскую службу и попросил, что бы со мной связалась служба безопасности. Следует отдать должное, сотрудник СБ перезвонил мне в тот же день и по истечению чуть более недели уязвимость была устранена.
Однако хотелось бы обратиться к руководству подразделения банка, отвечающего за разработку программных продуктов. Сервисы банка активно развиваются и обрастают функционалом, в котором, хотите вы этого или нет, появляются уязвимости. Существующие каналы связи практически не реагируют при отправке запросов в электронной форме. Например, два мои собщения о XSS уязвимостях на других ресурсах Альфа-Банка, поданные несколько месяцев назад, так и остались без ответа.
Организуйте отдельный канал связи для подачи заявок по найденным уязвимостям и создайте программу поощрения. Такие программы [6] существуют у Google, Amazon, Yandex и даже у Приватбанка и они очень эффективно помогают в оперативном закрытии дыр в безопасности. Не ждите, пока злоумышленники начнут эксплуатировать найденные уязвимости и клиенты сообщат вам о проблемах уже по факту.
Автор: dinikin
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/bezopasnost/74344
Ссылки в тексте:
[1] Fiddler: http://www.telerik.com/fiddler
[2] включить декриптование https трафика: http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/DecryptHTTPS#enable-https-traffic-decryption
[3] IOS: http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForiOS
[4] Android: http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForAndroid
[5] SOAP: https://ru.wikipedia.org/wiki/SOAP
[6] Такие программы: https://bugcrowd.com/list-of-bug-bounty-programs/
[7] Источник: http://habrahabr.ru/post/243105/
Нажмите здесь для печати.