вторник, 27 сентября 2011 г.

Почему недостаточно TLS v1.0 ?


Ответ:
Hackers break SSL encryption used by millions of sites. Beware of BEAST decrypting secret PayPal cookies

Проникнувшись всеобщей паникой (статья технически написана корректно, несмотря на кричащий заголовок, и вероятность использования уязвимости невелика) решил проверить поддержку TLS 1.+
Благо в Opera можно в настройках выключить SSL3 и TLS1 и включить только TLS 1.1 и TLS 1.2.

Результат для HTTPS удручающий. Гугл, твиттер - глухо. "Ничего не работает".
Как сказано в одном исследовании: 300,000 of the Alexa top 1 million sites have virtually no support for TLS 1.1/1.2. Зато Опера поддерживает : )


Переход на TLS 1.+ это самое верное решение, но есть и временные workaround'ы. Вот парочка:
  1. Server-side - выключить AES, 3DES и другие CBC-шифры, оставив, например, RC4.
  2. Client-side - использовать "чистый" браузер/систему для HTTPS-подключения к интересующему сайту (и надеяться, что XSS-уязвимостей на нем нет).
Пара тестов по варианту 1.
$ openssl s_client -connect twitter.com:443
...
New, TLSv1/SSLv3, Cipher is AES256-SHA
...

$ openssl s_client -connect google.com:443
...
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-RC4-SHA
...

Судя по всему, у гугла и раньше был RC4. И сейчас RC4. Считаем, что найденная уязвимость для него неактуальна.

А вообще можно ставить открытый Wi-Fi с халявным интернетом, собрать злоумышленную систему по схеме Airpwn (презентация с BlackHat). И включить в нее тулзу BEAST для атаки на SSL/TLS 1.0. Наверное в ближайшее время выйдет как плагин к Metasploit.
Just for fun : )

Комментариев нет: