Pull to refresh

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

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

В этой статье мы оценим защищенность подключений к онлайн-сервисам ТОП-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). И, конечно же, при подключении пользователям стоит внимательнее смотреть на сертификат сервера и его статус в браузере.
Tags:
Hubs:
+26
Comments 14
Comments Comments 14

Articles