В среднем в 2017 году на каждую систему ДБО приходилось по 7 уязвимостей, что больше показателя 2016 года, когда на каждое финансовое приложение приходилось только 6 недостатков. Однако доли уязвимостей высокого и среднего уровня риска заметно снизились. Например, в трети онлайн-банков отсутствовали критически опасные недостатки, а годом ранее уязвимости высокого уровня риска были во всех финансовых веб-приложениях, кроме одного.
Наиболее распространенными уязвимостями онлайн-банков в 2017 году стали «Межсайтовое выполнение сценариев» (75% систем) и «Недостаточная защита от атак, направленных на перехват данных» (69%), которые позволяют совершать атаки на клиентов банков (например, перехватывать значения cookie или похищать учетные данные). Больше половины онлайн-банков (63%) содержали уязвимость высокого уровня риска «Недостаточная авторизация», которая позволяет злоумышленнику получить несанкционированный доступ к функциям веб-приложения, не предназначенным для данного уровня пользователя. Кроме того, уязвимости в 94% онлайн-банков могли быть использованы злоумышленниками для доступа к сведениям, составляющим банковскую тайну клиентов, и личной информации.
С мобильными банковскими приложениями ситуация похожа: снизились доли уязвимостей высокого (29% вместо 32% в 2016 году) и среднего уровня риска (56% вместо 60%). Соответственно, увеличилась доля уязвимостей низкого уровня риска; компании стремятся в первую очередь принимать меры для устранения критически опасных уязвимостей. Тем не менее в половине систем (48%) была выявлена хотя бы одна критически опасная уязвимость. В 52% мобильных банков уязвимости позволяли расшифровать, перехватить, подобрать учетные данные для доступа в мобильное приложение или вовсе обойти процесс аутентификации. В результате злоумышленник может получить возможность совершать операции в мобильном банке от лица легитимного пользователя.
При этом iOS-приложения вновь оказались защищены лучше, чем их аналоги для Android. Доля уязвимостей высокого уровня риска в iOS-приложениях составила всего 25%, в то время как в Android-приложениях она занимает 56%. Практически для всех рассмотренных мобильных банков (кроме одного) эксперты анализировали по два идентичных приложения, разработанных для разных операционных систем, и в некоторых случаях мобильное приложение для iOS не содержало уязвимостей, которые были обнаружены в Android-приложении.
Большинство систем ДБО (68%) были разработаны финансовыми организациями самостоятельно. Но если в 2016 году приложения, созданные банками, содержали в два раза меньше уязвимостей, чем системы, развернутые на готовых платформах, то год спустя ситуация изменилась: у приложений, построенных на «коробочных» решениях, стало меньше критически опасных уязвимостей. Вендоры стали больше внимания уделять вопросам безопасности, в то время как банкам по-прежнему не хватает опытных разработчиков в штате и грамотно выстроенного процесса безопасной разработки.
«2017 год подарил надежду, что финансовые приложения когда-нибудь станут безопасными. Мы наблюдали существенное повышение уровня защищенности анализируемых систем ДБО — как онлайн-банков, так и мобильных приложений, — комментирует результаты исследования аналитик Positive Technologies Ольга Зиненко. — Однако финансовые организации не должны останавливаться на достигнутом. Их клиенты по-прежнему рискуют как минимум своими личными данными и банковской информацией, а сами банки — денежными средствами. Так, в 44% мобильных приложений можно было скомпрометировать банковскую информацию клиентов, а в 13% нам встретилась уязвимость "Выполнение произвольного кода", эксплуатация которой позволяет получить полный контроль над сервером ДБО, что чревато для банка репутационными и финансовыми потерями».
Помимо анализа защищенности приложений, который регулярно проводят практически все банки, эксперты советуют не забывать про анализ исходного кода приложений. Анализировать код необходимо и в системах, построенных на базе готовых вендорских решений: уязвимости могут возникать в процессе внедрения и настройки. До выпуска исправлений для выявленных уязвимостей рекомендуется использовать систему превентивного контроля (web application firewall), а после их устранения проводить проверку эффективности принятых мер.
При самостоятельном создании финансовых приложений банки должны уделять больше внимания вопросам безопасности на ранних стадиях — как на этапе проектирования приложений и подготовки технических заданий для программистов, так и в процессе разработки.