HTTP Strict Transport Security ( HSTS ) представляет собой механизм политики веб - безопасность , которая помогает защитить сайты против протокола атак даунгрейдаи печенья угона . Это позволяет веб - серверам , чтобы объявить , что веб - браузеры (или другие , соответствующие агент пользователей) должен взаимодействовать только с ним с помощью безопасного HTTPS - соединения, и никогда через незащищенный протокол HTTP. HSTS является IETF стандартов трек протокола и указывается в RFC 6797 .
Политика HSTS передаются от сервера к агенту пользователя через HTTP ответ заголовок поле под названием « Строгий-Transport-Security ». HSTS политика определяет период времени , в течение которого агент пользователя должен иметь доступ только к серверу в защищенном режиме.
Обзор механизма HSTS
Сервер реализует политику HSTS путем подачи заголовка по протоколу HTTPS (заголовки HSTS через HTTP игнорируются). Например, сервер может послать заголовок таким образом, что будущие запросы к домену на следующий год (максимальный возраст в секундах; 31536000 равна одной не високосный года) использовать только HTTPS: Strict-Transport-Security: max-age=31536000.
Когда веб - приложение выдает HSTS политики для агентов пользователей, совместимые пользовательские агенты ведут себя следующим образом :
Автоматическое включение любых небезопасных ссылок ссылающихся веб - приложение в защищенные ссылки. (Например, http://example.com/some/page/будет изменен , чтобы https://example.com/some/page/ прежде , чем доступ к серверу.)
Если безопасность соединения не может быть обеспечена (например , сервера TLS сертификат не является доверенным), выводим сообщение об ошибке и не позволяют пользователю получить доступ к веб - приложению.
HSTS политика помогает защитить пользователей веб - приложений от некоторых пассивных ( подслушивание ) и активных сетевых атак . человек-в-середине атакующий имеет значительно сниженную способность перехватывать запросы и ответы между пользователем и сервером веб - приложений , в то время как браузер пользователя имеет HSTS политику в силу для этого веб - приложения.
Применимость
Самая важная уязвимость безопасности HSTS может исправить это SSL-зачистки человек-в-середине атаки , первые публично введенные Мокси Марлинспайк в его 2009 BlackHat Федеральных ток «Новые хитрости для Победить SSL В практике».Наступление SSL вскрышных работ (по TLS , а) путем преобразования прозрачно безопасное HTTPS соединение в простой связи HTTP. Пользователь может видеть , что соединение не является безопасным, но принципиально не существует никакого способа узнать , является ли соединение должно быть безопасным. Многие веб - сайты не используют TLS / SSL, поэтому нет никакого способа узнать (без предварительных знаний) является ли использование обычного HTTP из - за нападения, или просто потому , что веб - сайт hasn» т реализован TLS / SSL. Кроме того, никаких предупреждений не представляются пользователю в процессе понижения, что делает атаку достаточно тонкий, чтобы все, но наиболее бдительно. SSLstrip инструмент Марлинспайк в полностью автоматизирует атаку.
HSTS решает эту проблему , информируя браузер , что соединения с сайтом всегда должны использовать TLS / SSL. Заголовок HSTS может быть лишен злоумышленником , если это первый визит пользователя. Google Chrome , Mozilla Firefox , Internet Explorer и Microsoft Гурт попытка ограничить эту проблему, в том числе «предварительно загруженным» список сайтов HSTS. К сожалению , это решение не может масштабироваться , чтобы включить все веб - сайты в Интернете. См ограничения , ниже.
HSTS также может помочь предотвратить имеющие свои куки на основе веб - сайта регистрационные данные , украденные с помощью широко доступных инструментов , таких как Firesheep .
Поскольку HSTS время ограничено, он чувствителен к атакам с участием сдвигая компьютера время жертвы , например , с использованием фальшивых NTP - пакетов.
Ограничения
Первоначальный запрос остается незащищенным от активных атак , если он использует небезопасный протокол , такие как обычный HTTP или если URI для первоначального запроса был получен через незащищенный канал.То же самое относится и к первому требованию после периода активности , указанные в рекламируемой HSTS политики максимального возраста (сайты должны установить период в несколько дней или месяцев , в зависимости от активности пользователя и поведения). Google Chrome , Mozilla Firefox и Internet Explorer / Пограничный Microsoft адрес этого ограничение пути внедрения «STS предустановленного списка», который представляет собой список , который содержит известные сайты , поддерживающие HSTS. Этот список распространяется с браузером так , что он использует HTTPS для первоначального запроса на перечисленных сайтов , а также. Как уже упоминалось ранее, эти предварительно загруженным списки не могут масштабироваться , чтобы охватить весь Интернет. Потенциальное решение может быть достигнуто с помощью DNS - записей , чтобы объявить HSTS политику, и доступ к ним надежно через DNSSEC , возможно , с сертификатом отпечатков пальцев для обеспечения достоверности (что требует запуска проверяющий распознаватель , чтобы избежать последней мили вопросов). Потенциальное решение может быть достигнуто с помощью DNS - записей , чтобы объявить HSTS политику, и доступ к ним надежно через DNSSEC , возможно , с сертификатом отпечатков пальцев для обеспечения достоверности (что требует запуска проверяющий распознаватель , чтобы избежать последней мили вопросов).Потенциальное решение может быть достигнуто с помощью DNS - записей , чтобы объявить HSTS политику, и доступ к ним надежно через DNSSEC , возможно , с сертификатом отпечатков пальцев для обеспечения достоверности (что требует запуска проверяющий распознаватель , чтобы избежать последней мили вопросов).
Даже с «HSTS предустановленным списком», HSTS не может предотвратить дополнительные атаки против самого TLS, такие как BEAST или ПРЕСТУПЛЕНИЕ атаки , введенные Джулиано Риццо и тайским Duong. Атаки против самого TLS являются ортогональными для HSTS применения политик.