Новые механизмы обеспечения безопасности в IE 8

Источник: habrahabr

После выхода Internet Explorer Beta2 на многочисленных ресурсах, включая Хабр, часто обсуждались нововведения, которые касаются в основном интерфейса и дополнительных инструментах для пользователя. Таких нововведений достаточно много, тут и акселераторы и измененная строка ввода адреса и группировка табов и продвинутый инструмент для разработчиков многое другое. Так же достаточно широко обсуждается изменение в браузере в плане рендеринга страниц, в том числе тот факт что во многом этот механизм пишется для восьмой версии с нуля. Все это конечно интересно и значительно, но целью данной статьи ставится компиляция сведений о средствах безопасности нового браузера.

Введение

Не так давно, 29 августа, на блоге MSDN IEBlog была размещена статья "Безопасная навигация с IE8: обобщение информации" (Trustworthy Browsing with IE8: Summary). В довольно обширной форме в статье скомпилированы предыдущие статьи, касающиеся отношения к безопасности в IE. В этой статье я не собираюсь переводить все статьи, для меня это неподъемная работа, да и не считаю, что это необходимо. Статьи написаны доступным языком и каждый желающий может с ними ознакомиться. В этой статье я попытаюсь в краткой форме изложить информацию об основных изменениях в элементах безопасности в IE.

Содержание

  • защита памяти средствами DEP/NX;
  • улучшения в ActiveX;
  • фильтр SmartScreen®;
  • XSS-фильтр;
  • общая защита.

Защита памяти средствами DEP/NX

Функция "Включить защиту памяти для снижения риска атаки из интернета" доступна и в седьмой версии браузера, но она не включена по умолчанию. Правда, на 64-битных платформах этой функции нет, но только потому, что все процессы в 64-битных версиях Windows защищены через DEP. Теперь же, данная функция будет включена по умолчанию. Напомню, что DEP/NX позволяет предотвратить выполнение кода, которые помечен как данные. Таким образом отсекается целый пласт атак таких как переполнение буфера.

Улучшения в ActiveX

В восьмой версии Internet Explorer элементы ActiveX могут быть установлены только для определенного пользователя (Per-User ActiveX), что снижает риск заражения, при учете того, что пользователь не работает под правами администратора. В это случае под ударом находится только профиль одного пользователя и ничего больше.
Per-Site ActiveX - новая техника, которая позволяет задать элементу ActiveX возможность исполнения только но одном единственном (вашем собственном) сайте и нигде больше. Пользователь также может разрешить использование, скажем Silverlight, только на том сервере, где он первый раз понадобился. Как и все остальное, управление механизмом установки ActiveX будет доступно для администраторов через групповые политики.

Фильтр SmartScreen®

SmartScreen® - это новая функция Internet Explorer против фишинга, которая расширяет фишинг-фильтр, который был в предыдущих версиях браузера. Вот список основных изменений:

  • улучшенный интерфейс;
  • улучшенная производительность;
  • новая эвристическая улучшенная телеметрия;
  • поддержка анти-malware;
  • улучшенная поддержка через групповые политики.

Я приведу некоторые скриншоты с комментариями, которые показывают технологию в действии:

Здесь показан улучшенный интерфейс информации, которая выводится пользователю при посещении подозрительного сайта:

То же окно, но только с запрещенным администратором переходом на опасный сайт:

Следующее окно будет показано, если Internet Explorer определит, что загрузка файлов будет произведена из опасного источника:

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

XSS-фильтр

Самое интересное на мой взгляд нововведение, это встроенный XSS-фильтр, которые позволяет защитить пользователя от "Cross-Site Scripting"-атак. Чтобы хотя бы приблизительно оценить величину угрозы от XSS-атак можно перейти по адресу XSSed.com и посмотреть какие не самые мелкие публичные ресурсы подвержены этим атакам. Любой пользователь потенциально может стать жертвой просто перейдя на эти ресурсы, и сейчас число таких обнаруженных "дырявых" сайтов перевалило уже за 20 тысяч.

XSS-фильтр Internet Explorer 8 направлен против xss-атак т.н. типа Type1. Согласно информации с википедии атаки такого типа самые распространенные.

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

Общая защита

Помимо защиты от xss-атак, в новой версии браузера будут поддержаны так же следующие техники и технологии защиты:

  • поддержка кросс-документного обмена сообщениями HTML5 (HTML5 cross-document messaging);
  • новый объект XDomainRequest для передачи данных через домены;
  • новая функция toStaticHTML, которая позволит избежать внедрения опасного кода на страницы путем форматирования html-тегов, эта функция делает тоже что и описанные здесь функции библиотеки Microsoft Anti-Cross Site Scripting Library;
  • Internet Explorer 8 реализует функции ECMAScript 3.1 для работы с JSON. Для обеспечения безопасности, объект для работы с JSON содержит функцию parse, которая так же как и toStaticHTML надежно форматирует потенциально-опасный текст;
  • в новой версии Internet Explorer браузер содержит улучшения в т.н. механизме MIME-sniffing. Этот функционал позволяет определять браузеру содержимое страницы не по "content-type", а по содержанию. Нередко такое определение позволяло внедрить опасный код. Теперь, например, при "content-type: image/*" не будет рендерится вложенный html- или скрипт-код. Для управления фильтром разработчик может воспользоваться новым параметром authoritative и указать "Content-Type: text/plain; authoritative=true;" и в таком случае IE8 не будет пытаться определить тип содержимого, выведя его согласно указанию в "Content-Type";
  • новые параметры для HTTP-заголовков X-Download-Options: noopen и Content-Disposition: attachment; filename=untrustedfile.html позволяют заставить браузер сохранить содержимое вместо его отображения. Это может понадобится в тех случаях когда веб-приложению требуется передать пользователю страницу с небезопасным содержимым. В случае сохранения его на клиенте и последующем открытии такие страницы не будут работать в контексте сервера, что оставит его в безопасности;
  • в контроле File Upload теперь в целях безопасности изменили статус поля ввода на read-only. В дополнение к этому, с той же целью, IE8 теперь не будет отправлять полный путь файла, вместо этого отправляться будет только его имя;
  • Internet Explorer 8 так же содержит некоторые методики противодействия атакам с применением социальной инженерии, для примера приведу два скриншота правильного

    и неправильного PayPal.

    Заметно, что настоящие имена доменов подсвечены более темным текстом.

Заключение

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


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=22341