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

В этой статье мы оценим защищенность подключений к онлайн-сервисам ТОП-50 российских банков (по активам).

Безопасность подключения пользователей к интернет-банкам обеспечивается использованием протоколов SSL/TLS. На текущий момент известны «громкие» уязвимости SSL/TLS, которым даже были даны имена и/или логотипы (Beast, Poodle, Heartbleed, Freak, Logjam). Известные уязвимости SSL/TLS в том числе позволяют расшифровывать сессии, перехватывать и подменять данные, передаваемые между пользователем и сервером, что в силу очевидных причин упускается из внимания большинством пользователей.

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

Уровень защищенности SSL/TLS российских банков


Для оценки уровня защищенности конфигурации SSL/TLS на серверах можно использовать бесплатный инструмент «SSL Server Test» от Qualys SSL Labs. С помощью данного инструмента независимый исследователь Трой Хант сделал свод по соответствующему уровню защищенности австралийских банков.

В комментариях к статье Троя можно увидеть ссылки на аналогичные таблицы для разных стран: Литва, Дания, Голландия, Голландия-2, Чехия, Великобритания.

Мной была подготовлена аналогичная таблица (от 22.05.15) для ТОП-50 банков РФ.
В целом ситуация далека от идеала. Среди банков первой десятки четыре оценки «F» и по сравнению с другими странами это плохой показатель.

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

Каждому веб-ресурсу присвоена оценка «SSL Server Test» со шкалой от A до F. Плюс и зеленый цвет означают отсутствие соответствующей уязвимости/проблемы. Минус и красный цвет свидетельствуют об обратном. Некоторые веб-ресурсы проверить не удалось по причинам, указанным в таблице.



Полная таблица (ТОП-50) доступна по ссылке: drive.google.com/file/d/0B6tNPM-Uwa5ZNWJkcFRuWjlkYk0/view

Основные выводы


  • Некоторые банки по-прежнему используют небезопасные параметры обмена ключами Diffie-Hellman с длиной ключа 512 и 768 бит, что автоматически снизило их общую оценку до «F» (такой случай встречается и в первой десятке). Уязвимые ресурсы отмечены минусами в столбце «DH».
  • Часть банков уязвима к FREAK-атакам, что снизило их общую оценку до «F». С помощью данной уязвимости злоумышленники могут форсировать использование клиентским браузером слабой криптографии из «экспортного» набора шифров RSA. Уязвимые к атаке ресурсы отмечены минусами в столбце «Freak».
  • Немалая часть веб-ресурсов имеет уязвимость POODLE, что снизило их общую оценку до «F». С помощью данной уязвимости злоумышленники могут получить доступ к зашифрованной информации, передаваемой между клиентом и сервером. В основном, это уязвимости небезопасного протокола SSL3 и они могут быть устранены путем отключения протокола SSL3 на веб-серверах. В двух случаях уязвимым к POODLE протоколом является TLS и для устранения уязвимости требуется установка патча. Уязвимые к атаке ресурсы отмечены минусами в столбце «POODLE».
  • Несколько банков по-прежнему используют небезопасный протокол SSL2, что снизило их общую оценку до «F». Протокол SSL2 использует небезопасную криптографическую хеш-функцию MD5 и слабые шифры. Возможны MITM-атаки из-за отсутствия SSL-подтверждения. Кроме того, SSL2 также использует флаг TCP FIN для закрытия сеанса, который можно подделать, из-за чего пользователь не будет знать, завершена ли передача данных. Ресурсы с поддержкой протокола SSL2 отмечены минусами в столбце «SSL2».
  • Значительная часть веб-ресурсов имеет уязвимость Logjam, которая была обнаружена совсем недавно. Наличие уязвимости снизило общую оценку до «B». Как и уязвимость FREAK, Logjam позволяет злоумышленнику форсировать использование клиентским браузером слабой криптографии DH с 512-битными ключами. Уязвимые к атаке ресурсы отмечены минусами в столбце «Logjam».
  • Значительная часть банков по-прежнему используют устаревший и небезопасный протокол SSL3, что снизило их общую оценку до «B». Ресурсы с поддержкой протокола SSL3 отмечены минусами в столбце «SSL3».
  • Некоторые веб-ресурсы не поддерживают последнюю и наиболее безопасную версию протокола TLS 1.2, что снизило их общую оценку до «B». Ресурсы, не поддерживающие протокол TLS 1.2, отмечены минусами в столбце «TLS1.2».
  • Большинство банков по-прежнему используют шифры RC4, что снизило их общую оценку до «B». Уязвимость RC4 связана с недостаточной случайностью потока битов, которым скремблируется сообщение, что позволяет расшифровать перехваченные данные. Ресурсы с поддержкой шифра RC4 отмечены минусами в столбце «RC4».
  • Подавляющее большинство банков по-прежнему используют алгоритм хеширования SHA-1, который считается слабым и небезопасным. Уже сейчас веб-браузеры присваивают различные статусы соединениям с SHA-1 («безопасно, но с ошибкам», «небезопасно», «недоверенное»). Игнорируя происходящий в текущий момент отказ от SHA-1, банки приучают своих пользователей не обращать внимания на подобные статусы и сообщения браузера. Использование SHA-1 практически не влияло на общую оценку и отмечено минусами в столбце «SHA-1».
  • В подавляющем числе банков не реализована или реализована частично настройка безопасности протоколов согласования ключа — Forward Secrecy. При использовании Forward Secrecy сессионные ключи не будут скомпрометированы при компрометации закрытого ключа. Ресурсы, не использующие Forward Secrecy для большинства современных браузеров, отмечены минусами в столбце «FS».
  • Стоит отметить, что уязвимость Heartbleed к счастью не обнаружена ни на одном из протестированных веб-ресурсов.

Приведенные оценки со временем теряют свою актуальность, что может потребовать их перепроверки с помощью «SSL Server Test». К примеру, за время написания статьи оценка веб-сервера «Телебанк» ВТБ24 изменилась с «F» на «A-», а на сайте интернет-банка Росбанк устранена уязвимость Poodle.

Рекомендации


В результатах проверок «SSL Server Test» приведены рекомендации по устранению выявленных проблем, которые можно обобщить в требования к настройке SSL/TLS на веб-серверах:
  • Отключить поддержку небезопасных протоколов SSL2, SSL3.
  • Включить поддержку наиболее совершенного протокола TLS 1.2.
  • Отказаться от использования сертификатов SHA-1.
  • Отказаться от использования шифра RC4.
  • Настроить Forward Secrecy и убедиться, что функция работает для большинства современных браузеров.
  • Устранить уязвимость Poodle путем отключения протокола SSL3, или путем установки патча при уязвимости протокола TLS.
  • Устранить уязвимость Freak путем отключения поддержки экспорта наборов шифров.
  • Устранить уязвимость Logjam путем отключения поддержки экспорта наборов шифров и генерации уникальной 2048-битной группы Diffie-Hellman.

Пользователям же рекомендуется осторожно отключить в настройках браузера SSL 2.0 и SSL 3.0 и включить поддержку TLS 1.0, TLS 1.1 и TLS 1.2 (осторожно, потому что встречались банки, поддерживающие со стороны сервера только SSL 3.0). И, конечно же, при подключении пользователям стоит внимательнее смотреть на сертификат сервера и его статус в браузере.

Комментарии (14)


  1. nikitasius
    25.05.2015 19:23
    +8

    Я писал об этом Росбанку в конце 2012 года, ничего не изменилось.


  1. dkuzevanov
    25.05.2015 19:27

    А по какому критерию отсортирован список?
    Не логично было бы A->F, раз уж это ТОП?


    1. adinadinov Автор
      25.05.2015 19:42
      +1

      Сортировка соответствует рейтингу Банки.ру, так как оценки могут меняться (например, ВТБ24 стал А- вместо F) и крупнейшие банки интересны в первую очередь.


    1. kykint
      25.05.2015 21:46
      +2

      В чем проблема отсортировать эксельку так, как хочется?


  1. Dywar
    25.05.2015 21:40
    +4

    Думается этот тест там гоняли 1000 раз, но тихо.
    Старые браузеры поддерживать приходится многим (и новые далеко не ушли), и это влечет кучу проблем и велосипедов. (тут я вспоминаю два очень подходящих слова — унификация и стандартизация).

    Интересно было почитать, не знал про такой онлайн сервис, в базе которого уже миллионы собранных записей.


    1. Snowly
      26.05.2015 00:42
      +1

      Старые браузеры поддерживать приходится многим

      Добавить Forward Secrecy, TLS 1.2 это не мешает.


  1. maratvildan
    25.05.2015 22:56
    +1

    Тинькофф только В, печаль(


  1. tonyzorin
    26.05.2015 01:24

    Банк Санкт-Петербург ссылка не верная.
    Вместо www.bspb.ru/retail/ibank нужен другой сайт i.bspb.ru


  1. ingumsky
    26.05.2015 23:40

    А почему у Райффайзена, Сбербанка и Ханты-Мансийского банка (faktura.ru) при одинаковых плюсах и минусах разные итоговые оценки? У Сбера и ХМ — B, а у Райффа только C.


    1. adinadinov Автор
      27.05.2015 08:04

      Оценка зависит от множества параметров. Критерии оценки Qualys SSL Labs можно посмотреть здесь:
      www.ssllabs.com/downloads/SSL_Server_Rating_Guide.pdf


      1. ingumsky
        27.05.2015 15:56

        Спасибо за уточнение и ссылку. Из таблицы это не было понятно.


  1. ildarz
    27.05.2015 11:53

    Во-первых, я нигде не нашел методики исследования ssllabs. В Rating Guide лишь объясняется, как множество критериев сводятся к одной буковке. А как каждая часть исследуется — не описано. Тестирование прогоном через черный ящик — это мило.

    Во-вторых, даже по имеющейся информации очевидно, что тест — крайне поверхностный.
    «click.alfabank.ru — no secure protocols supported» — что, правда? :))
    В тесте на поддержку браузеров делается только одна попытка соединения. В результате, если соединение не устанавливается по первому же выбранному протоколу, делается вывод, что сайт браузером не поддерживается. Угу, угу.
    Дальше, допустим, что сайт в ответ на попытку даунгрейда протоколов соединение устанавливает, но выдает пользователю страничку «ваш браузер не поддерживается». С точки зрения поддержки клиента это правильно. А с точки зрения теста это будет фэйл.

    В-третьих, реального теста на проникновение тут нет, соответственно, нельзя понять что там у банка с IDS/IPS творится. Вот даже сайт весь такой A+, а тут где-то ходит 0-day, который еще не стал широко известен. И смысл в этой оценке A+?

    И т.д., и т.п.

    В общем, по-моему, исследование вида «забьем полсотни страничек в форму на ssllabs и посмотрим, что выйдет» с реальной безопасностью общего имеет довольно мало.


    1. adinadinov Автор
      29.05.2015 02:07
      +1

      1. Наличие непроверенных ресурсов — всего-лишь следствие ограничений средств анализа (инструмент один).

      2. Создание рейтинга и любое принятие критериев оценки несет за собой некоторые искажения и обобщения. Оценки Qualys SSL Labs вполне адекватны для получения общей информации. Если они вас не устраивают — не используйте их.

      3. Оценки A и B достигаются: устранением известных уязвимостей, отказом от небезопасной криптографии, отказом от SSL в пользу TLS. В выполнении этих мер есть смысл? Если да, то в достижении оценок A и B тоже.


      1. ildarz
        29.05.2015 11:30
        +1

        > Оценки Qualys SSL Labs вполне адекватны для получения общей информации.

        На какой конкретно фактической базе сделан этот вывод?

        > В выполнении этих мер есть смысл? Если да, то в достижении оценок A и B тоже.

        Я уже дал вам один прямой пример, почему имеет не всегда. Сайт может принимать подключения по небезопасным протоколам, но перенаправлять такого пользователя на страничку с инструкциями, что ему надо сделать, чтобы подключиться. И это более правильный путь, чем тупо сбрасывать подключения ради того, чтобы в каком-то там формальном тесте получить оценку.