Технологии безопасности в IE8 - XSS Filter, SmartScreen Filter, Data Execution Prevention
XSS Filter
Фильтры — фрагменты кода, которые могут быть выполнены до и\или после выполнения действия контроллера. Фильтры, при необходимости, могут не допустить выполнения запрошенного действия.
- Защита от Cross-Site Scripting – наиболее распространенный тип атак
- Эвристические алгоритмы
- Автоматическая блокировка
XSS-фильтр работает как компонент IE8, который просматривает все запросы и ответы, проходящие через браузер. Когда фильтр обнаруживает XSS в межсайтовом запросе, он обнаруживает и нейтрализует атаку, если она зависит от ответа сервера. Пользователям не задают вопросы, на которые они не могут ответить - IE просто блокирует вредоносный скрипт от исполнения.
Как можно понять, есть множество интересных и тонких сценариев, которые фильтр должен обрабатывать правильно. Вот некоторые из них:
- Фильтр должен быть эффективен, даже если атака направлена на артефакт часто используемых рабочих сред веб-приложений. Например, будет ли атака замечена, если определенный символ в запросе был потерян или модифицирован при повторном запросе;
- При фильтрации наш код не должен предоставить новый сценарий для атаки, которая бы отличалась от существующей. Например, представьте, что фильтр можно заставить нейтрализировать закрывающий тэг SCRIPT. В таком случае недоверенный контент с сайта позже может быть запущен как скрипт.
И, конечно, в дополнение ко всему этому нам нужно эффективно бороться со всеми векторами XSS-атак, которые еще не были закрыты другими способами сокращения поверхности для XSS-атаки.
Пользователю не задаются вопросы, на которые он не может ответить - IE просто блокирует вредоносный скрипт от исполнения.
Проще говоря, XSS-фильтр в IE8 призван обеспечить глубокую защиту путем автоматического обнаружения и предотвращения наиболее распространенных XSS-атак, с которыми пользователи сталкиваются на просторах Интернета, без потери производительности или совместимости.
Включить/Отключить фильтр можно следующим образом:
- В браузере выберите Сервис - Свойства обозрнвателя:
- Откройте вкладку Безопасность и в разделе Уровень безопасности нажмите кнопку Другой
- В списке параметров найдите Включить фильтр XSS
В качестве заключения:
Повсюду, где реализован пользовательский ввод, существует опасность XSS, который по сути является разновидностью Injection-атак (внедрение опасного кода). Если ввод не фильтруется, достаточно оставить сценарий скрипта на странице, и этот скрипт автоматически будет выполняться на браузере любого пользователя, просматривающего данную страницу.
XSS Filter – он анализирует все request и response, выявляет XSS, после чего уведомляет пользователя о грозившей, но предотвращенной угрозе. Компании, которые беспокоятся о том, чтобы их сайт не был "случайно" заблокирован этим фильтром, могут решить свою проблему – XSS-фильтр можно отключить передаваемым через http заголовок параметром X-XSS-Protection: 0.