Организация Internet Engineering Task Force (IETF), ответственная за разработку и утверждение стандартов интернета, в понедельник опубликовала спецификации HSTS в качестве официального стандарта RFC 6797.

Протокол HTTP Strict Transport Security (HSTS) предназначен для установления защищённого соединения между браузером и веб-сайтом — это, фактически, HTTPS по умолчанию. При условии, что и браузер, и сервер поддерживают эту технологию, соединение по HSTS будет устанавливаться автоматически, с использованием префикса https: в URL без дополнительного обращения к пользователю. Протокол HSTS поддерживается в современных браузерах (кроме IE и Safari), а также на ряде сайтов. HSTS наверняка станет частью стандарта HTTP/2.0, над которым уже идёт работа.

Рабочая группа Web Security Working Group дорабатывала HSTS с 2010 года, когда его впервые представили в качестве черновика авторы протокола — Джефф Ходжес (Jeff Hodges) из Paypal, Колин Джексон (Collin Jackson) из университета Карнеги-Меллона и Адам Барт (Adam Barth) из Google.

Ценность HSTS для веб-безопасности состоит в том, что этот протокол решает проблему так называемого «смешанного контента», который угрожает цельности и защищённости веб-сайтов. Подобные ситуации возникают, если скрипты или другие ресурсы, встроенные в HTTS-сайты, загружаются со сторонних источников через небезопасное соединение. Это может быть или результатом ошибки разработчика, или злонамеренным действием. При загрузке контента по чистому HTTP злоумышленник может перехватить cookies или другую информацию с помощью пакетного снифера. Техника известна как SSL-стриппинг (SSL stripping), существуют специальные инструменты для реализации подобных методов. Таким образом, HSTS устраняет опасность MiTM-атак. Если сайт и браузер поддерживают HSTS, то браузер откажется инициировать незащищённые соединения.

Соглашение о поддержке HSTS передаётся между сервером и веб-сайтом через соответствующие HTTP-заголовки (Strict-Transport-Security). Эти заголовки могут использоваться для обновления и продления HSTS-сессии.

По мнению экспертов, HSTS — одна из лучших вещей, которая случилась с SSL, поскольку исправляет некоторые из ошибок, сделанные при разработке этого протокола 18 лет назад. HSTS модернизирует технологию и приводит её в соответствие с тем, как работают современные браузеры. Например, изначально полагаться на сертификаты SSL было ошибкой, говорит Иван Ристич (Ivan Ristic), директор компании в области информационной безопасности Qualys, потому что разработчики склонны устанавливать правила для игнорирования ошибок проверки сертификатов. В большинстве случаев не происходит ничего страшного, но это де-факто дыра в безопасности.

HSTS не предусматривает обходного манёвра при ошибке проверки сертификата: браузер просто отказывается устанавливать незащищённое соединение, как бы не хотел этого разработчик.

Теоретически, HSTS всё-таки оставляет лазейку для атаки в том случае, когда браузер впервые посещает сайт и ещё не установил для него правил HSTS. В такой ситуации злоумышленник может блокировать все пакеты HSTS и принудительно заставить браузер работать по незащищённому соединению. Для решения этой проблемы, например, разработчики Chrome и Firefox создали «белый список» сайтов, которые по умолчанию поддерживают HSTS, и этот список поставляется вместе с браузером.

По статистике SSL Pulse, на сегодняшний день всего лишь 1,7 тыс. из 180 тыс. самых популярных сайтов с HTTPS поддерживают ещё и HSTS. К сожалению, у некоторых наблюдаются проблемы с корректной реализацией, говорит Рисич. Например, они устанавливают слишком короткий период валидности для HSTS, так что браузер вынужден аннулировать сохранённые правила почти после каждой сессии. Это сводит на нет преимущества HSTS, и подобные сайты приходится исключать из белых списков Chrome и Firefox.

На сегодняшний день, из крупных сайтов HSTS поддерживают только Paypal, Twitter и Google. Социальная сеть Facebook ещё не до конца выкатила обычный HTTPS для всех пользователей и пока не поддерживает HSTS.



Оставить мнение