Исследование безопасности банков Екатеринбурга

Исследование безопасности банков Екатеринбурга

Исследователи Уральского центра систем безопасности провели оценку защищенности сайтов банков в Екатеринбурге.

В 2015-2016 годах почти три десятка крупных банков России стали жертвами хакерских атак. Чтобы проверить защищенность банков, мы провели независимое исследование.

В область исследования попали 56 банков, представленных в Екатеринбурге. Анализ защищенности проводился только для официальных банковских сайтов (сайтов, содержащих информацию о банковских продуктах, тарифах, услугах, и пр.). Интернет-банки из области исследования мы исключили, т.к. их безопасности и так уделяется повышенное внимание, а компрометация официального сайта банка, если физически он находится во внутренней сети банка, может привести к не менее негативным последствиям.

Методика

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

В первую очередь каждый из сайтов был проверен на наличие стандартных уязвимостей:

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

Далее несколько самых интересных функций каждого из сайтов проверялись на наличии наиболее тривиальных уязвимостей: SQL- и XPATH-инъекций и XSS.

Результаты

В ходе исследования мы обнаружили ряд стандартных SQL-инъекций и XSS, несмотря на то, что современные технологии в виде шаблонизаторов и ORM не только упрощают процесс разработки, но и при правильном использовании в качестве приятного бонуса позволяют обезопасить приложение от данных уязвимостей.

Впрочем, для доступа к БД не всегда нужно было пользоваться SQL-инъекциями. Иногда бэкапы БД довольно удобно были расположены в корневом каталоге сайта по типу:

www.verynicebank.ru/dump.sql

На одном из сайтов была обнаружена уязвимость Heartbleed в OpenSSL, позволяющая несанкционированно читать оперативную память веб-сервера. При эксплуатации этой уязвимости на невысоконагруженных серверах довольно быстро удается получить приватный ключ шифрования веб-сервера, что позволяет злоумышленнику расшифровывать трафик TLS/SSL-соединений с сайтом.

Также на ряде сайтов использовалось ПО, выпущенное 10 лет назад. Информация об уязвимостях данного ПО появилась в открытых источниках минимум в 2012 году.

На исследованных сайтах было обнаружено огромное количество технологического мусора, оставшегося после разработки.  В одном случае с сайта забыли убрать не банальный phpinfo, а служебный каталог системы контроля версий Mercurial. Данный каталог содержит все версии отслеживаемых файлов в специальном формате. Чтобы посмотреть список файлов достаточно загрузить www.verynicebank.ru/.hg/dirstate:


Само содержимое файлов в таком случае будет доступно по ссылкам вида www.verynicebank.ru/.hg/store/test1.txt.i. Заметьте, что для загрузки файлов с сервера не нужен включенный листинг директорий.
На одном веб-сервере в открытом доступе лежал файл с аутентификационной информацией:

db object
А в одном банке попытались ограничить доступ к панели администратора по IP-адресу, довольно успешно: доступ действительно получить не удастся, но при попытках зайти в панель с недоверенного IP-адреса CMS падает с ошибкой (и полной трассировкой вызовов):

Статистика

В результате мы обнаружили более 60 уязвимостей на 41 банковском сайте (напомню, что всего рассматривались 56 сайтов). То есть почти три четверти из анализируемых банков имели какие-либо недостатки в системе защиты своих сайтов. Информацию о найденных уязвимостей в числах можно получить из картинки ниже.


SQL-инъекции

3

XPATH-инъекции

1

Возможность загрузки на веб-сервер произвольных файлов сценариев

1

Возможность управления некоторыми файлами на сервере (например, изменение файлов установки банк-клиентов)

1

Доступ к резервным копиям БД

1

Heartbleed

1

XSS

6

Уязвимость DNS-серверов к запросам на передачу доменной зоны

6

Доступ к служебным файлам с чувствительной информацией (например, файлам системы контроля версий)

12

Разглашение информации об ошибках

5

Доступ к служебным файлам с некритичной информацией (например, phpinfo)

16

Открытое перенаправление

8

Другое

2

В качестве заключения

По результатам исследования мы проинформировали все банки о найденных на их сайтах уязвимостях. Однако обратной связи не было получено ни от одного банка, за исключением тех случаев, когда уведомления передавались лично.
На момент публикации статьи полностью устранили уязвимости 4 банка, помимо них частично устранили уязвимости 5 банков. С некоторыми банками продолжается вестись работа по устранению уязвимостей.

Тени в интернете всегда следят за вами

Станьте невидимкой – подключайтесь к нашему каналу.