В этой статье мы оценим защищенность подключений к онлайн-сервисам ТОП-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)
dkuzevanov
25.05.2015 19:27А по какому критерию отсортирован список?
Не логично было бы A->F, раз уж это ТОП?adinadinov Автор
25.05.2015 19:42+1Сортировка соответствует рейтингу Банки.ру, так как оценки могут меняться (например, ВТБ24 стал А- вместо F) и крупнейшие банки интересны в первую очередь.
Dywar
25.05.2015 21:40+4Думается этот тест там гоняли 1000 раз, но тихо.
Старые браузеры поддерживать приходится многим (и новые далеко не ушли), и это влечет кучу проблем и велосипедов. (тут я вспоминаю два очень подходящих слова — унификация и стандартизация).
Интересно было почитать, не знал про такой онлайн сервис, в базе которого уже миллионы собранных записей.Snowly
26.05.2015 00:42+1Старые браузеры поддерживать приходится многим
Добавить Forward Secrecy, TLS 1.2 это не мешает.
tonyzorin
26.05.2015 01:24Банк Санкт-Петербург ссылка не верная.
Вместо www.bspb.ru/retail/ibank нужен другой сайт i.bspb.ru
ingumsky
26.05.2015 23:40А почему у Райффайзена, Сбербанка и Ханты-Мансийского банка (faktura.ru) при одинаковых плюсах и минусах разные итоговые оценки? У Сбера и ХМ — B, а у Райффа только C.
adinadinov Автор
27.05.2015 08:04Оценка зависит от множества параметров. Критерии оценки Qualys SSL Labs можно посмотреть здесь:
www.ssllabs.com/downloads/SSL_Server_Rating_Guide.pdf
ildarz
27.05.2015 11:53Во-первых, я нигде не нашел методики исследования ssllabs. В Rating Guide лишь объясняется, как множество критериев сводятся к одной буковке. А как каждая часть исследуется — не описано. Тестирование прогоном через черный ящик — это мило.
Во-вторых, даже по имеющейся информации очевидно, что тест — крайне поверхностный.
«click.alfabank.ru — no secure protocols supported» — что, правда? :))
В тесте на поддержку браузеров делается только одна попытка соединения. В результате, если соединение не устанавливается по первому же выбранному протоколу, делается вывод, что сайт браузером не поддерживается. Угу, угу.
Дальше, допустим, что сайт в ответ на попытку даунгрейда протоколов соединение устанавливает, но выдает пользователю страничку «ваш браузер не поддерживается». С точки зрения поддержки клиента это правильно. А с точки зрения теста это будет фэйл.
В-третьих, реального теста на проникновение тут нет, соответственно, нельзя понять что там у банка с IDS/IPS творится. Вот даже сайт весь такой A+, а тут где-то ходит 0-day, который еще не стал широко известен. И смысл в этой оценке A+?
И т.д., и т.п.
В общем, по-моему, исследование вида «забьем полсотни страничек в форму на ssllabs и посмотрим, что выйдет» с реальной безопасностью общего имеет довольно мало.adinadinov Автор
29.05.2015 02:07+11. Наличие непроверенных ресурсов — всего-лишь следствие ограничений средств анализа (инструмент один).
2. Создание рейтинга и любое принятие критериев оценки несет за собой некоторые искажения и обобщения. Оценки Qualys SSL Labs вполне адекватны для получения общей информации. Если они вас не устраивают — не используйте их.
3. Оценки A и B достигаются: устранением известных уязвимостей, отказом от небезопасной криптографии, отказом от SSL в пользу TLS. В выполнении этих мер есть смысл? Если да, то в достижении оценок A и B тоже.ildarz
29.05.2015 11:30+1> Оценки Qualys SSL Labs вполне адекватны для получения общей информации.
На какой конкретно фактической базе сделан этот вывод?
> В выполнении этих мер есть смысл? Если да, то в достижении оценок A и B тоже.
Я уже дал вам один прямой пример, почему имеет не всегда. Сайт может принимать подключения по небезопасным протоколам, но перенаправлять такого пользователя на страничку с инструкциями, что ему надо сделать, чтобы подключиться. И это более правильный путь, чем тупо сбрасывать подключения ради того, чтобы в каком-то там формальном тесте получить оценку.
nikitasius
Я писал об этом Росбанку в конце 2012 года, ничего не изменилось.