Главные уязвимости онлайн-банков: авторизация, аутентификация и Android

Главные уязвимости онлайн-банков: авторизация, аутентификация и Android

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

Такие выводы содержатся в исследовании уязвимостей ДБО, обнаруженных экспертами Positive Technologies в 2013 и 2014 годах в ходе работ по анализу защищенности для ряда крупнейших российских банков. В данной статье мы представляем некоторые результаты этого исследования.

В рамках исследования было рассмотрено 28 систем дистанционного банковского обслуживания физических (77%) и юридических лиц (23%). Среди них были и мобильные системы ДБО, представленные серверной и клиентской частью (54%). Две трети систем (67%) являлись собственными разработками банков (использовались Java, C# и PHP), остальные были развернуты на базе платформ известных вендоров. Большинство систем ДБО (74%) находились в промышленной эксплуатации и были доступны для клиентов, а четверть ресурсов составляли тестовые стенды, готовые к переводу в эксплуатацию.

Общие результаты

Почти половина обнаруженных уязвимостей систем ДБО (44%) имеет высокий уровень риска. Примерно одинаковое количество уязвимостей имеют среднюю и низкую степень риска (26% и 30%). В целом, уязвимости высокого уровня риска были выявлены в 78% исследованных систем.

Большая часть уязвимостей (42%) связана с ошибками реализации механизмов защиты систем ДБО, заложенных разработчиками. В частности, к данной категории уязвимостей относятся недостатки механизмов идентификации, аутентификации и авторизации. На втором месте — уязвимости, связанные с ошибками в коде приложений (36%). Остальные уязвимости в основном связаны с недостатками конфигурации (22%).

Наиболее часто в системах ДБО встречались уязвимости, связанные с возможностью идентификации используемого ПО и с предсказуемыми форматами идентификаторов пользователей (57% систем). Более чем в половине систем (54%) обнаружены ошибки в программном коде типа «Межсайтовое выполнение сценариев». Если при наличии этой уязвимости в системе клиент банка перейдет по специально сформированной вредоносной ссылке, атакующий может получить доступ к системе ДБО с привилегиями данного клиента.

Распространены также уязвимости, позволяющие реализовать атаки на сессии пользователей (54% систем). Сюда относятся уязвимости, связанные с некорректным завершением сессий, некорректной настройкой cookie-параметров, возможностью параллельной работы нескольких сессий для одного пользователя, отсутствием привязки сессии к IP-адресу клиента и др. При успешной атаке злоумышленник может получить доступ к личному кабинету пользователя с его привилегиями.

В число наиболее распространенных вошла уязвимость высокой степени риска «Внедрение внешних сущностей XML», которая обнаружена в 46% систем. В результате ее эксплуатации злоумышленник может получить содержимое файлов, хранящихся на уязвимом сервере, данные об открытых сетевых портах узла, вызвать отказ в обслуживании всей системы ДБО, — а также, в ряде случаев, обратиться к произвольному узлу от лица уязвимого сервера и развить атаку.

Отказ в обслуживании системы ДБО может быть вызван с использованием различных уязвимостей в половине исследованных ресурсов (52%).

Большинство распространенных уязвимостей имеет средний или низкий уровень риска. Тем не менее, в сочетании с особенностями функционирования конкретных систем ДБО это может привести к реализации серьезных угроз безопасности, включая кражу конфиденциальных данных (89% систем) и кражу денежных средств (46%).

Исследованные системы ДБО содержат также ряд существенных недостатков на уровне логики. К примеру, в ряде систем была обнаружена возможность атак на основе некорректного использования алгоритмов округления чисел. Скажем, злоумышленник переводит 0,29 рублей в доллары США. При стоимости одного доллара в 60 рублей, сумма в 0,29 рублей соответствует 0,00483333333333333333333333333333 долларов. Данная сумма будет округлена до двух знаков после запятой, т. е. до 0,01 доллара (один цент). Затем злоумышленник переводит 0,01 доллара обратно в рубли и получает 0,60 рублей. Таким образом злоумышленник «выигрывает» 0,31 рублей. В результате автоматизации данной процедуры, учитывая отсутствие ограничений по количеству транзакций в сутки и минимальному размеру транзакции, а также возможности эксплуатации уязвимости типа Race Condition («Состояние гонки»), — в ряде случаев злоумышленник может получать неограниченные суммы денежных средств.

Уязвимости высокого уровня риска в исходном коде, а также серьезные недостатки механизмов аутентификации и авторизации во многих системах дистанционного банковского обслуживания позволяют проводить несанкционированные транзакции или даже получить полный контроль над системой со стороны внешнего злоумышленника, что может привести к существенным финансовым и репутационным потерям." />

В Google Chrome усложнили кражу cookie — новая защита от угона сессий

Google перевела функцию Device Bound Session Credentials (DBSC) в общую доступность для пользователей Chrome на Windows. Теперь эта защита работает в Chrome 146 и должна заметно осложнить жизнь тем, кто крадёт сессионные cookies, чтобы потом входить в чужие аккаунты без пароля.

Принцип работы DBSC кроется в том, что браузер не просто хранит cookie, а криптографически привязывает сессию к конкретному устройству.

Даже если зловред украдёт cookie из браузера, использовать их на другой машине будет уже гораздо труднее — по сути, они быстро потеряют ценность для атакующего.

Особенно актуально это на фоне популярности так называемых инфостилеров. Такие вредоносные программы собирают с заражённых устройств всё подряд: пароли, данные автозаполнения, токены и, конечно, cookie. Этого бывает достаточно, чтобы злоумышленник зашёл в учётную запись жертвы, даже не зная её пароль. Потом такие данные нередко перепродают другим участникам киберпреступного рынка.

 

DBSC должна ломать именно такой сценарий. На Windows технология опирается на Trusted Platform Module, а на macOS — на Secure Enclave. С их помощью создаётся уникальная пара ключей, причём закрытый ключ не покидает устройство. Когда сайту нужно выдать новую короткоживущую cookie, Chrome должен доказать, что у него есть нужный закрытый ключ. Если ключ не на том устройстве, схема просто не срабатывает.

При этом Google подчёркивает, что технология задумана с упором на конфиденциальность. По данным компании, DBSC не должна превращаться в новый механизм слежки: сайт получает только тот минимум данных, который нужен для подтверждения владения ключом, без передачи постоянных идентификаторов устройства или дополнительных данных аттестации.

Есть и важная оговорка: если устройство не поддерживает безопасное хранение ключей, Chrome не ломает аутентификацию и просто откатывается к обычной схеме работы. То есть пользователи не должны столкнуться с внезапными сбоями входа только потому, что их железо не подходит под новую модель защиты.

Пока публичный запуск ограничен Windows-пользователями Chrome 146, но Google уже подтвердила, что поддержку macOS добавят в одном из следующих релизов. Компания также заявила, что после начала внедрения DBSC уже заметила заметное снижение случаев кражи сессий.

RSS: Новости на портале Anti-Malware.ru