Безопасность SSL/TLS российского интернет-банкинга

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

В этой статье мы оценим защищенность подключений к онлайн-сервисам ТОП-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
  • +8
    Я писал об этом Росбанку в конце 2012 года, ничего не изменилось.
    • НЛО прилетело и опубликовало эту надпись здесь
      • +1
        Сортировка соответствует рейтингу Банки.ру, так как оценки могут меняться (например, ВТБ24 стал А- вместо F) и крупнейшие банки интересны в первую очередь.
        • +2
          В чем проблема отсортировать эксельку так, как хочется?
        • +4
          Думается этот тест там гоняли 1000 раз, но тихо.
          Старые браузеры поддерживать приходится многим (и новые далеко не ушли), и это влечет кучу проблем и велосипедов. (тут я вспоминаю два очень подходящих слова — унификация и стандартизация).

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

            Добавить Forward Secrecy, TLS 1.2 это не мешает.
          • +1
            Тинькофф только В, печаль(
            • 0
              Банк Санкт-Петербург ссылка не верная.
              Вместо www.bspb.ru/retail/ibank нужен другой сайт i.bspb.ru
              • 0
                А почему у Райффайзена, Сбербанка и Ханты-Мансийского банка (faktura.ru) при одинаковых плюсах и минусах разные итоговые оценки? У Сбера и ХМ — B, а у Райффа только C.
              • 0
                Во-первых, я нигде не нашел методики исследования ssllabs. В Rating Guide лишь объясняется, как множество критериев сводятся к одной буковке. А как каждая часть исследуется — не описано. Тестирование прогоном через черный ящик — это мило.

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

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

                И т.д., и т.п.

                В общем, по-моему, исследование вида «забьем полсотни страничек в форму на ssllabs и посмотрим, что выйдет» с реальной безопасностью общего имеет довольно мало.
                • +1
                  1. Наличие непроверенных ресурсов — всего-лишь следствие ограничений средств анализа (инструмент один).

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

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

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

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

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

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое