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

Механизм, защищающий браузер Edge от XSS-атак, работает некорректно

Аналитик компании PortSwigger, Гарет Хейес (Gareth Heyes) обнаружил, что механизм, призванный защищать браузер Microsoft Edge от XSS-атак, не работает по неизвестным причинам.

В своей публикации, посвященной проблеме, специалист называет эту функциональность просто XSS Filter, но она также известна под именем X-XSS-Protection, так как владельцы сайтов конфигурируют для сервера HTTP-хэдер X-XSS-Protection. Этот защитный механизм был создан еще в 2008 году и сначала был интегрирован в Internet Explorer 8, а уже позже был адаптирован и для Edge.

В теории XSS Filter работает просто: браузер загружает с сайта страницу и ищет вышеупомянутый хэдер, значение которого должно выглядеть следующим образом:

  • X-XSS-Protection: 0 (отключает XSS Filter);
  • X-XSS-Protection: 1 (XSS Filter работает, очищает код страницы и исключает последовательности, специфичные для XSS-атак);
  • X-XSS-Protection: 1; mode=block (блокирует рендеринг любого контента, если обнаруживает на странице специфичные для XSS паттерны).

С самого релиза браузер Edge использует по умолчанию второй из перечисленных вариантов, то есть очищает код страниц в ходе загрузки, и неважно, какое значение установлено в X-XSS-Protection.

Однако Хейес обнаружил, что на прошлой неделе что-то изменились и, хуже того, сломалось. Исследователь пишет, что теперь XSS Filter отключен по умолчанию по неким неизвестным причинам, и даже если попытаться активировать его через X-XSS-Protection: 1, он все равно останется в неработающем состоянии. Единственный способ активации защитного механизма, это самый жесткий из трех режимов работы — X-XSS-Protection: 1; mode=block, которого большинство владельцев сайтов стараются избегать, так как тогда Edge может блокировать загрузку сайта вовсе.

Так как в Internet Explorer защитный механизм по-прежнему функционирует как должно, исследователь полагает, что неожиданное отключение XSS Filter в Edge – это банальный баг. Но представители Microsoft отказались как-либо комментировать находку Хейеса, поэтому есть шанс, что отказ от XSS Filter все же был запланирован. Здесь стоит отметить, что обход защитной функциональности не раз демонстрировали ИБ-специалисты (123), а владельцы сайтов с завидной регулярностью неверно понимают принципы работы XSS Filter и настраивают его неверно. В итоге защитная функциональность довольно редко используется «в полную силу».