Повышение уровня кибербезопасности банка
Стражи цифрового мира
К команде наших специалистов по кибербезопасности обратился международный коммерческий банк с общими активами 500 миллионов долларов США. Банк предлагает весь спектр банковских услуг для частных и корпоративных клиентов.Команде была поставлена задача оценить текущий уровень безопасности веб-приложений и мобильных банковских приложений для коммерческого банка в Европе. Хотя объем работы был ограничен перспективой черного ящика и предусматривал сценарий внешней атаки, когда злоумышленник знает только имя клиента, нам удалось использовать отклонения в работе приложения, получить доступ к критически важным данным, получить полный доступ к счетам клиентов банка и снять деньги в качестве конечной цели.
ЧТО БЫЛО СДЕЛАНО
ЭТАПЫ ТЕСТИРОВАНИЯ
Разведка:
- Изучение систем клиента заняло у нас неделю. Мы собрали информацию о программном обеспечении, ОС, браузерах, антивирусах, почтовых клиентах и т.д., которыми пользуются сотрудники, а также сосредоточились на формате электронного письма и других элементах фирменного стиля, новостях и событиях в компании – на всем, что могло вызвать доверие к письму, фишинговому сайту и целевой атаке.
ЭТАПЫ ПРОВЕДЕНИЯ ТЕСТА
Для проведения качественного комплексного тестирования мы использовали как ручные, так и автоматизированные инструменты и методики тестирования.
Компрометация OTP:
Во время тестирования мы обнаружили, что доступ к счету через онлайн-банкинг защищен двухфакторной аутентификацией с помощью OTP-кода. Нам удалось найти критическую уязвимость в OTP, что позволило нам захватить его с помощью атаки грубой силы (атака подбора пароля на странице входа). Кроме того, OTP-верификация также использовалась для финансовых или любых других операций с активами. При условии, что злоумышленник знал бы учетные данные пользователя, он мог бы получить доступ к любому счету в банке и осуществить нежелательный денежный перевод, что полностью скомпрометировало бы систему безопасности.
Такая же OTP-уязвимость была подтверждена и в мобильном приложении, хотя для обработки запросов использовался другой сервер, а API веб и мобильного приложений должны были функционировать отдельно. Таким образом, мобильное приложение содержало тот же недостаток в логике управления сессиями, и риск безопасности был соответственно больше.
Компрометация аутентификации:
- Еще одна критическая уязвимость была обнаружена при авторизации доступа к данным пользователей. Войдя в систему интернет-банкинга и изменив идентификационный токен пользователя, хакер мог видеть личные данные других клиентов банка, включая их транзакции и остатки на счетах. Таким образом, можно было выбрать счета с желаемыми остатками, а затем – с помощью автоматически сгенерированного скрипта – подбирать учетные данные, заходить на счета жертв, подбирать OTP и снимать деньги.
Сценарий взлома:
- Получение полного доступа. Уязвимость в процессе аутентификации позволяла получить доступ к любой учетной записи пользователя в системе. Злоумышленник мог легко проверить баланс счета, выбрать желаемые аккаунты, подбирать необходимые данные и инициировать нежелательные транзакции, используя уязвимость OTP.
РЕЗУЛЬТАТ
Мы провели ряд тестов для анализа безопасности веб и мобильных приложений банка. В результате тестирования было выявлено несколько типов уязвимостей, классифицированных в соответствии с уровнями риска, определенных методологией OWASP. Сочетание двух критических уязвимостей позволило нашей команде провести любые транзакции со счетов клиентов банка без надлежащей аутентификации.
Чтобы помочь банку устранить выявленные пробелы в безопасности, мы подготовили комплексный отчет, охватывающий все обнаруженные уязвимости, и предоставили рекомендации по их устранению, которые были реализованы на этапе исправления.