Информационная безопасность

Безопасный протокол TLS

Так как значительная часть трафика изначально передавалась по сети в незашифрованном виде, то злоумышленники при некоторых усилиях в состоянии как читать трафик, так и модифицировать его. Особенно актуальной защита передаваемой информации стала после того, как банковские карты стали активно использоваться для online-торговли. В результате в 1996 году был разработан и внедрён протокол SSL (Secure Socket Layer). Сейчас он признан ненадёжным, но на его базе был разработан современный протокол TLS (Transport Level Security, безопасность уровня транспорта), применяемый для защиты трафика. Актуальной версией на начало 2018 года является 1.2, но ожидается, что версия 1.3 будет стандартизирована в течение 2018 года.

Протокол TLS решает две задачи, каждая из которых необходима для обеспечения безопасного обмена информацией по сети. Во-первых, это аутентификация второй стороны (как правило, клиент убеждается, что имеет дело с нужным сервером). Во-вторых, это шифрование трафика.

Для аутентификации сервера в процессе установления TLS-соединения сервер предъявляет сертификат, а клиент его проверяет. Ключи, которые будут использованы в процессе дальнейшего обмена данными, не могут быть корректно вычислены, если на сервере нет правильного секретного ключа, так что достаточно установить подлинность сертификата. Для этого строится цепочка доверия – проверяется, что сертификат, предъявленный сервером, подписан одним из доверенных удостоверяющих центров (УЦ, CA). Сертификаты доверенных УЦ поставляются вместе с операционной системой. Одна из фундаментальных проблем безопасности протокола TLS состоит в том, что любой УЦ технически может выпустить сертификат для любого домена. Для противодействия этому используется система Certificate Transparency и ряд других решений.

После публикаций в 2013 году данных о PRISM – глобальной программе АНБ США по сбору трафика – усилилась агитация за увеличение доли шифрованного трафика. В конце 2017 года, по данным Google и Firefox, в Web-трафике доля защищённого протокола HTTPS превысила 60%. Этому способствовало появление УЦ Let’s Encrypt, бесплатно выпускающего сертификаты для доменов. Вместе с тем, если до массового выпуска бесплатных TLS-сертификатов злонамеренные (прежде всего фишинговые) сайты можно было отличить по работе по HTTPS (как правило, отображается замком в адресной строке браузера), то сейчас этот критерий не действует, и ориентироваться пользователю стоит прежде всего на доменное имя.

В протоколе TLS и его реализациях периодически обнаруживаются уязвимости. Так, в 2014 году была найдена уязвимость в OpenSSL, получившая название Heartbleed. Воспользовавшись ей, злоумышленники могли получить доступ к секретным ключам веб-сайтов. Атака SWEET32 требует для анализа 750 Гб трафика и позволяет выяснить HTTP Cookies, используемые для авторизации на ряде сайтов. В среднем обнаруживается 1-2 сравнительно серьёзных уязвимости в год.

Некоторые разновидности уязвимостей позволяют выполнить так называемую атаку Man-in-the-Middle (атака «человек посередине», MITM). При осуществлении этой атаки посредник вклинивается в канал связи между клиентом и сервером. При успешном осуществлении атаки клиент и сервер не подозревают о существовании посредника, которому становится доступен для чтения весь трафик.