Site Security Policy: новое слово в web-безопасности

Не так давно один из представителей группы по безопасности из компании Mozilla, а именно Brandon Sterne объявил о начале разработки специального механизма для браузера FireFox, который будет регулировать поведение веб-содержимого и политику его ограничения в среде браузера. Идея об ограничении содержимого впервые была предложена в блоге Robert “RSnake” Hansen, известного специалиста по web-безопасности. Его мысли были быстро подхвачены и развиты сотрудниками из Mozilla Security Team. В итоге общая концепция воплотилась в Site Security Policy, о котором я сегодня и хотел бы рассказать.

На стороне пользователя Site Security Policy реализован в виде плагина для FireFox, который добавляет в браузер новую функциональность, способную ограничивать определенные возможности JavaScript, в частности межсайтовые запросы. На стороне веб-разработчика Site Security Policy представляет собой набор правил, задаваемых в HTTP-заголовках. Грамотное распределение привилегий для веб-содержимого поможет веб-разработчикам предотвратить XSS и CSRF-атаки на их сайтах. Главное отличие Site Security Policy от другого плагина, защищающего пользователя от подобных атак – NoScript, состоит в том, что политика ограничений задается непосредственно разработчиком, а не на программном уровне. Людям свойственно ошибаться, программам подобного рода свойственно делать ложные срабатывания, так что какой из этих вариантов более предпочтителен – довольно спорный вопрос.

Углубившись в спецификацию SSP можно заметить, что правила чем-то напоминают директивы из .htaccess, несмотря на то, что реализованы они в виде HTTP-заголовков. Между прочим разногласия по этому поводу не умолкают и по сей день: некоторым программистам кажется, что намного удобнее было бы задавать правила в META-тэгах страниц, другие предпочитают нечто вроде crossdomain.xml.

Итак, в распоряжении веб-разработчика имеется четыре заголовка для определения ограничений:

  • X-SSP-Script-Source определяет список хостов, с которых разрешено или запрещено выполнять скрипты
  • X-SSP-Request-Source определяет список хостов, которым разрешено или запрещено делать HTTP-запросы
  • X-SSP-Request-Target определяет список хостов, на которые разрешено или запрещено делать HTTP-запросы
  • X-SSP-Report-URI устанавливает URL, на который будут посылаться отчеты о нарушениях политики безопасности

К сожалению, Site Security Policy работает только в FireFox и никаких сведений по поводу внедрения SSP в другие браузеры пока нет. Тем не менее, Site Security Policy – это несомненный прогресс в области безопасности веб-приложений.


2 comments:

  1. Pento, 30. July 2008, 23:27

    Не особо мне нравится идея пихать это в HTTP заголовки

     
  2. Raz0r, 31. July 2008, 21:30

    поддерживаю, лично мне по душе централизованное хранение правил, как в случае с crossdomain.xml

     

Write a comment: