Уязвимости онлайн-банков 2016: лидируют проблемы авторизации
Данный отчет содержит статистику, собранную в ходе работ по анализу защищенности систем ДБО, проведенных специалистами компании Positive Technologies в 2015 году, а также сравнение с результатами исследований прошлых лет.
Исходные данные
В рамках исследования было рассмотрено 20 систем ДБО, включая несколько финансовых сервисов, разработанных на языке 1C, для которых характерны те же угрозы ИБ, что и для систем дистанционного банковского обслуживания. В обзор вошли только те системы ДБО, для которых проводился наиболее полный анализ с учетом логики их функционирования. Большинство исследованных систем (75%) предназначены для обслуживания физических лиц. 35% систем — мобильные решения, представленные серверной и клиентской частью.
65% систем являются собственными разработками банков. В большинстве случаев использовался язык программирования Java и лишь 8% приложений написаны на 1С. Остальные системы развернуты на базе платформ известных вендоров. В соответствии с политикой ответственного разглашения, в настоящем отчете названия компаний-производителей не указываются.
Большинство систем (75%) находились в промышленной эксплуатации и были доступны для клиентов, остальные представляли собой тестовые стенды, готовые к переводу в промышленную эксплуатацию. 57% систем ДБО, предоставляемых известными вендорами, находилась в промышленной эксплуатации.
Общие результаты
В ходе анализа защищенности систем ДБО в каждом из приложений были выявлены недостатки безопасности. В общей сложности была выявлена 171 уязвимость. Большинство из них характеризуются низкой степенью риска (39%). Общая доля уязвимостей высокой степени риска в этом году составила 30%, примерно столько же — средней (31%). В сравнении с результатами 2013—2014 годов общая доля критически опасных уязвимостей заметно снизилась (на 14%).
Однако уровень защищенности систем ДБО в целом остается на довольно низком уровне: критически опасные уязвимости встречаются почти в каждом интернет-банкинге (90%), что значительно хуже уровня 2013—2014 годов.
Распределение систем по максимальной степени риска обнаруженных уязвимостей
Наиболее часто (55%) в системах ДБО встречались уязвимости, позволяющие получить несанкционированный доступ к данным пользователей. К этой категории в основном относятся недостатки авторизации. На втором месте (50%) — «Недостаточная защита сессии» (некорректное завершение сессий пользователей, некорректная настройка cookie-параметров, возможность параллельной работы с несколькими активными сессиями для одного пользователя, отсутствие привязки сессии к IP-адресу клиента).
В отличие от предыдущих лет, в 2015 году в двух исследованных системах ДБО была выявлена уязвимость, связанная с отсутствием актуальных обновлений безопасности (CVE-2015–1635). Данная уязвимость возникла из-за ошибок в компоненте HTTP.sys, реализующей стек протокола HTTP, и ей подвержены ОС семейства Windows (см. бюллетень безопасности Microsoft MS15–034). Эксплуатация уязвимости заключается в формировании специального HTTP-запроса и может привести к отказу в обслуживании атакуемой системы или выполнению произвольного кода.
Рейтинг самых распространенных уязвимостей систем ДБО (доля уязвимых систем)
В рамках исследования были выделены наиболее опасные угрозы, которые потенциально могли быть реализованы в отношении систем ДБО, с учетом совокупности уязвимостей, выявленных в ходе анализа. Так, в одной из исследованных систем ДБО выявлена возможность хищения денежных средств пользователя в результате эксплуатации комбинации уязвимостей различных категорий (недостаточной защиты сессии и недостатков реализации механизмов двухфакторной аутентификации) внешним нарушителем.
Как выявило исследование, в отношении 25% исследованных систем ДБО могут быть реализованы такие угрозы, как кража денежных средств со стороны авторизованного пользователя. Нарушитель может использовать, в частности, атаки на округление, несанкционированный доступ к операциям другого пользователя, а в некоторых случаях «Внедрение операторов SQL». В результате подобных действий банки могут понести существенные финансовые потери, а также утратить репутацию надежного партнера.
В каждом втором проекте (55%) была выявлена возможность осуществления несанкционированного доступа к СУБД, в которых хранятся персональные данные пользователей, данные платежных карт, финансовая информация.
Реализуемые угрозы информационной безопасности систем ДБО
Системы для юрлиц стали уязвимее
Все исследованные системы ДБО для юридических лиц оказались подвержены опасным уязвимостям, а среди систем для физлиц таких оказалось 87%. При этом в системах ДБО для юридических лиц в 2015 году количество уязвимостей средней степени риска на одну систему возросло в несколько раз. Уровень защищенности систем ДБО для юридических лиц существенно снизился, а для физических лиц — остался на том же низком уровне.
Среднее количество уязвимостей различного уровня риска на одну систему для физических и юридических лиц
ДБО от известного вендора не гарантирует защиту
В системах, приобретенных банками у известных вендоров, доля уязвимостей, связанных с ошибками в программном коде, оказалась выше, чем в системах собственной разработки банков (40% против 28%). В то же время в системах собственной разработки был выявлен больший процент уязвимостей конфигурации (35% против 27%). В прошлые годы таких уязвимостей у ДБО вендоров было вдвое меньше (14%).
По сравнению с предыдущими годами, количество уязвимостей высокой степени риска в системах ДБО, предоставленных вендорами, снизилось практически вдвое. Однако все такие продукты подвержены критически опасным уязвимостям.
Кроме того, системы ДБО, поставляемые специализированными компаниями, в среднем содержат в 1,5—2 раза больше уязвимостей, чем системы собственной разработки. Это неудивительно, поскольку собственные системы ДБО проектируются под конкретную архитектуру и обладают заданным банком функционалом, что делает их более простыми и, как следствие, менее уязвимыми. Однако переход от систем известных вендоров к собственной разработке также не дает гарантий, что создаваемая система окажется полностью защищенной.
Распределение уязвимостей по степени риска для систем, предоставленных разными категориями разработчиков (доля от общего количества уязвимостей)
Системы в эксплуатации остаются уязвимыми
Общее количество уязвимостей различных категорий в продуктивных системах в 2015 году заметно ниже, чем в тестовых. Это свидетельствует о положительных результатах работы банков по обеспечению защиты приложений, находящихся в эксплуатации. Однако уровень защищенности продуктивных систем ДБО нельзя считать высоким: практически во всех таких системах были выявлены критически опасные уязвимости. 40% всех уязвимостей систем ДБО, уже находящихся в эксплуатации, — критически опасные. По этому показателю они даже хуже тестовых.
Соотношение уязвимостей различного уровня риска в тестовых и продуктивных системах (доля от общего количества уязвимостей)
Проблемы механизмов защиты
Предсказуемый формат идентификаторов характерен для всех систем ДБО, при этом возможность сменить такой идентификатор предоставлена пользователям лишь 60% систем.
Двухфакторная аутентификация при входе в личный кабинет и проведении транзакций позволяют существенно снизить риски хищения денежных средств со счетов пользователей, однако по-прежнему велика доля систем ДБО, где такие механизмы не предусмотрены вовсе (24%), либо реализованы некорректно (29%). Уязвима почти каждая вторая система собственной разработки (45%), и даже в системах ДБО, предоставленных вендорами, встречаются такие недостатки (33%).
Кроме того, каждая третья система ДБО (35%) не обеспечивает достаточную защиту сессии от перехвата и последующего использования злоумышленником.
Доля систем, подверженных уязвимостям механизмов аутентификации (для различных категорий разработчиков)
Мобильные системы ДБО для iOS немного лучше
Мобильные системы ДБО под управлением iOS по-прежнему обладают более высоким уровнем защищенности по сравнению с системами под Android, где 75% исследованных приложений подвержены критически опасным уязвимостям. Однако треть уязвимостей, обнаруженных в приложениях для iOS, характеризуются высокой степенью риска. Эти недостатки связаны с хранением и передачей важных данных в открытом виде.
Доли клиентского ПО мобильных систем ДБО, подверженных уязвимостям различной степени риска
Каждое приложение на базе Android содержит 3,8 уязвимости, что примерно соответствует уровню 2013 и 2014 годов (3,7). Для iOS-приложений данный параметр равен 1,6, что значительно лучше результата предыдущих лет, когда на каждое приложений приходилось 2,3 уязвимости.
Наиболее распространенные уязвимости клиентского ПО мобильных систем
Несмотря на то, что наиболее распространенные уязвимости мобильных систем ДБО характеризуются средней степенью риска, в ряде случаев выявленные недостатки в совокупности позволяли реализовать серьезные угрозы безопасности. Например, некорректная реализация механизма входа по короткому PIN-коду вместе с хранением в файловой системе устройства идентификатора сессии позволяют злоумышленнику, обладающему физическим доступом к данному устройству, подменить ответ веб-сервера таким образом, что на любую попытку неверного ввода PIN-кода сервер будет возвращать значение true. В результате успешной атаки злоумышленник может получить полный контроль над личным кабинетом атакуемого пользователя, в том числе изменять настройки и совершать транзакции от его имени. Также в одном из проектов нарушитель мог получить доступ к мобильному банкингу пользователя вследствие недостаточно защищенной передачи данных. В данном случае система позволяла использовать самоподписанные сертификаты при передаче информации по протоколу HTTPS.
Заключение
Уровень защищенности систем ДБО остается низким, несмотря на сокращение общей доли критически опасных уязвимостей среди всех выявленных недостатков по сравнению с прошлыми годами.
Низкая защищенность систем ДБО, находящихся в эксплуатации, наглядно свидетельствует о необходимости внедрения процессов обеспечения безопасности на всех стадиях жизненного цикла приложений. Анализ защищенности систем необходимо проводить не только на этапах разработки приложения и перед вводом системы в эксплуатацию, но и во время ее активного использования клиентами банка. Причем такой анализ необходимо осуществлять на регулярной основе (например, дважды в год) с контролем устранения выявленных недостатков.
Системам ДБО, приобретенным у вендоров, стоит уделить особое внимание: они зачастую более подвержены уязвимостям, чем системы собственной разработки банков. Кроме того, рекомендуется использовать средства превентивной защиты, такие как межсетевой экран уровня приложения.
Для получения доступа к личному кабинету пользователя нарушителю достаточно использовать давно известные и распространенные уязвимости (например, недостаточную защиту сессии). Необходимо уделять особое внимание корректной реализации механизмов защиты. Также следует внедрять процессы безопасной разработки, обеспечивать всестороннее тестирование безопасности систем при приемке работ. В качестве основы для внедрения процессов обеспечения информационной безопасности систем ДБО на всех стадиях жизненного цикла могут быть использованы выпущенные в 2014 году рекомендации Банка России РС БР ИББС-2.6–2014.
Учитывая высокую долю критически опасных уязвимостей на уровне кода веб-приложений, необходимо проводить регулярные проверки его качества, например, путем проведения анализа защищенности методом белого ящика (в том числе с помощью автоматизированных средств).
Полный текст исследования читайте на www.ptsecurity.ru/research