Новости

Positive Technologies провела исследование уязвимостей в системах онлайн-банкинга

06.07.2017
Positive Technologies провела исследование уязвимостей в системах онлайн-банкинга

05.07.2017 компания «Positive Technologies» опубликовала аналитический отчет за 2016 год «Уязвимости приложений финансовой отрасли», в котором проанализированы уязвимости и угрозы, характерные для систем дистанционного банковского обслуживания (ДБО) и автоматизированных банковских систем (АБС).

Всего в рамках исследования было проанализировано 24 системы, используемые для проведения финансовых операций и автоматизации банковской деятельности. 64% анализируемых систем ДБО составили мобильные банки, среди которых были клиенты для мобильных операционных систем Android и iOS, а также их серверные части.

По данным исследования, в среднем на каждое финансовое приложение приходится 6 уязвимостей (в 2015 году приходилось 9 уязвимостей). В 2016 году увеличилось число уязвимостей высокой (на 8%) и средней (на 18%) степени опасности. Уязвимости высокой степени опасности встречаются в 71% проанализированных систем.

Среди исследованных финансовых приложений 75% разработаны финансовыми организациями самостоятельно, 23% - разработаны вендорами. Последние содержат в два раза больше уязвимостей, чем приложения собственной разработки. Уязвимости высокой степени опасности, характерные для приложений, разработанных вендорами, включают: внедрение внешних сущностей XML, нарушение логики работы приложения. Для приложений собственной разработки характерны следующие критически опасные уязвимости: недостатки реализации механизмов защиты (недостаточная защита от подбора аутентификационных данных, недостатки парольной политики, возможность обхода механизма CAPTCHA).

Среди недостатков реализации двухфакторной аутентификации выделяются:

  • генерация одноразового пароля на стороне клиента;
  • одноразовый пароль не привязан к совершаемой операции;
  • отсутствие ограничения по числу попыток ввода одноразового пароля;
  • отсутствие ограничения на время жизни одноразового пароля.

К недостатком аутентификации относятся:

  • использование предсказуемых идентификаторов, таких как номер мобильного телефона;
  • использование предсказуемых паролей для входа в систему, таких как дата рождения пользователя, назначенных по умолчанию и без возможности смены;
  • отсутствие либо возможность обхода механизма CAPTCHA;
  • отсутствие временной блокировки учетных записей после нескольких неудачных попыток ввода учетных данных

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

Распространение в системах ДБО уязвимостей различных типов представлено на графике:
Распространенные уязвимости в системах ДБО

В 33% исследованных систем ДБО была выявлена возможность хищения денежных средств пользователя в результате эксплуатации внешним нарушителем уязвимостей различных типов. В 27% приложениях злоумышленник может получить доступ к сведениям, составляющим банковскую тайну. В 20% случаев возможно получение злоумышленником полного контроля над сервером, чтение произвольных файлов. В 13% случаев злоумышленник может вызвать отказ в обслуживании всей системы.

Среди систем ДБО, предназначенных для мобильных устройств, наибольшее число критических уязвимостей содержит программное обеспечение для ОС Android. Уязвимости мобильных систем ДБО на уровне клиентской части преимущественно связаны с небезопасным хранением данных в мобильном приложении (40%), отсутствием механизма защиты для проверки подлинности сертификата сервера (Certificate Pinning, 30%), недостатками реализации двухфакторной аутентификации (30%), недостаточной защитой от подбора аутентификационных данных (30%), небезопасной передачей данных (20%), недостаточной защитой от атак, направленных на перехват данных (20%).

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

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

Основные проблемы в защите онлайн-банков и мобильных банков связаны с недостатками реализации механизмов защиты. Большинства уязвимостей данного типа можно избежать на этапе проектирования приложений и разработки технических заданий для программистов.

Уязвимостей в коде можно также избежать на стадии разработки. Для этого необходимо придерживаться практик безопасного программирования (SSDLC) и проводить тщательное тестирование механизмов защиты.

Рекомендуется регулярно проводить анализ защищенности приложения на всех этапах, от разработки до эксплуатации, и оперативно устранять все выявленные уязвимости.