~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ EA36BEDAD2EF3AA64FB28248D73D9119__1706254680 ✰
Заголовок документа оригинал.:
✰ Content Security Policy - Wikipedia ✰
Заголовок документа перевод.:
✰ Политика безопасности контента — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Content_Security_Policy ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/ea/19/ea36bedad2ef3aa64fb28248d73d9119.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/ea/19/ea36bedad2ef3aa64fb28248d73d9119__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 08:55:28 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 January 2024, at 10:38 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Политика безопасности контента — Википедия Jump to content

Политика безопасности контента

Из Википедии, бесплатной энциклопедии

Политика безопасности контента ( CSP ) — это стандарт компьютерной безопасности , введенный для предотвращения межсайтового скриптинга (XSS), кликджекинга и других атак путем внедрения кода , возникающих в результате выполнения вредоносного контента в контексте доверенной веб-страницы . [1] Это кандидат в рекомендации рабочей группы W3C по безопасности веб-приложений. [2] широко поддерживается современными веб-браузерами . [3] CSP предоставляет владельцам веб-сайтов стандартный метод объявления утвержденного происхождения контента, который браузерам должно быть разрешено загружать на этот веб-сайт. Охватываемые типы: JavaScript , CSS , HTML-фреймы , веб-работники , шрифты , изображения, встраиваемые объекты, такие как Java-апплеты , ActiveX. , аудио- и видеофайлы и другие функции HTML5 .

Статус [ править ]

Стандарт, первоначально называвшийся Content Restrictions, был предложен Робертом Хансеном в 2004 году. [4] впервые реализовано в Firefox 4 и быстро подхвачено другими браузерами. Версия 1 стандарта была опубликована в 2012 году как кандидатская рекомендация W3C. [5] и быстро с дальнейшими версиями (уровень 2), опубликованными в 2014 году. По состоянию на 2023 год. , проект уровня 3 разрабатывается с новыми функциями, которые быстро внедряются веб-браузерами. [6]

Следующие имена заголовков используются как часть экспериментальных реализаций CSP: [3]

  • Content-Security-Policy– стандартное имя заголовка, предложенное документом W3C. Google Chrome поддерживает это начиная с версии 25. [7] Firefox поддерживает это начиная с версии 23, [8] выпущен 6 августа 2013 года. [9] WebKit поддерживает это начиная с версии 528 (ночная сборка). [10] на базе Chromium Поддержка Microsoft Edge аналогична поддержке Chrome. [11]
  • X-WebKit-CSP — устаревший экспериментальный заголовок, представленный в Google Chrome , Safari и других веб-браузерах на основе WebKit в 2011 году. [12]
  • X-Content-Security-Policy – устаревший экспериментальный заголовок, представленный в браузерах на базе Gecko 2 (от Firefox 4 до Firefox 22, Thunderbird 3.3, SeaMonkey 2.1). [13]

Веб-сайт может объявлять несколько заголовков CSP, а также смешивать заголовки принудительного исполнения и только для отчетов. Каждый заголовок будет обрабатываться браузером отдельно.

CSP также можно доставить в HTML-коде с помощью HTML- тега META, хотя в этом случае его эффективность будет ограничена. [14]

Internet Explorer 10 и Internet Explorer 11 также поддерживают CSP, но только директиву песочницы, используя экспериментальную X-Content-Security-Policy заголовок. [15]

Ряд фреймворков веб-приложений поддерживают CSP, например AngularJS. [16] (изначально) и Django (промежуточное ПО). [17] Инструкции для Ruby on Rails опубликованы на GitHub . [18] Однако поддержка веб-платформы требуется только в том случае, если содержимое CSP каким-либо образом зависит от состояния веб-приложения, например, от использования nonceисточник. В противном случае CSP довольно статичен и может доставляться с уровней веб-приложения над приложением, например, на балансировщике нагрузки или веб-сервере .

Обходит [ править ]

В декабре 2015 года [19] и декабрь 2016 г., [20] несколько способов обхода 'nonce'были опубликованы источники разрешенных списков. В январе 2016 года [21] был опубликован другой метод, который использует список разрешений CSP на уровне сервера для использования старых и уязвимых версий библиотек JavaScript, размещенных на том же сервере (частый случай с серверами CDN). В мае 2017 года [22] был опубликован еще один метод обхода CSP с использованием кода фреймворков веб-приложений.

Режим работы [ править ]

Сопоставление между функциями HTML5 и JavaScript и элементами управления политикой безопасности контента.

Если Content-Security-Policyзаголовок присутствует в ответе сервера, совместимый клиент применяет политику декларативного списка разрешенных. Одной из целей политики является более строгий режим выполнения JavaScript для предотвращения определенных атак с использованием межсайтовых сценариев. На практике это означает, что ряд функций отключен по умолчанию:

  • Встроенный JavaScript код [а]
  • Встроенные CSS операторы
    • <style> блокировать [б]
    • style относится к элементам HTML
  • Динамическая JavaScript оценка кода [с]
    • eval()
    • строковые аргументы для setTimeout и setInterval функции
    • new Function() конструктор
  • Динамические CSS операторы
    • CSSStyleSheet.insertRule() метод

Хотя использование CSP в новом приложении может быть довольно простым, особенно с CSP-совместимой JavaScript , средой [д] существующие приложения могут потребовать некоторого рефакторинга или смягчения политики. Рекомендуемая практика написания кода для CSP-совместимых веб-приложений — загрузка кода из внешних исходных файлов ( <script src>), анализируйте JSON вместо его оценки и используйте EventTarget.addEventListener() установить обработчики событий. [23]

Примечания [ править ]

  1. ^ Это поведение можно отключить глобально с помощью специального 'unsafe-inline' заявление
  2. ^ Перейти обратно: а б Доверенный встроенный <script> и <style> блоки могут быть индивидуально включены в список разрешенных в CSP, используя nonce или hash заявления.
  3. ^ Это поведение можно отключить глобально с помощью специального 'unsafe-eval' заявление
  4. ^ Например, AngularJS требует только одного флага инициализации для переключения в режим совместимости с CSP — <html ng-app ng-csp>

Отчетность [ править ]

Каждый раз, когда запрошенный ресурс или выполнение скрипта нарушает политику, браузер запускает POST запрос на значение, указанное в report-uri[24] или report-to[25] содержащее подробности нарушения.

Отчеты CSP представляют собой стандартные структуры JSON приложения. и могут быть получены с помощью собственного API [26] или общедоступные получатели отчетов CSP. [ нужна цитата ]

В 2018 году исследователи безопасности показали, как отправлять ложноположительные отчеты назначенному получателю, указанному в report-uri. Это позволяет потенциальным злоумышленникам произвольно активировать эти сигналы тревоги и может сделать их менее полезными в случае реальной атаки. [27] Такое поведение является запланированным и не может быть исправлено, поскольку отчеты отправляет браузер (клиент).

Исключение надстроек и расширений браузера [ править ]

Согласно исходной модели обработки CSP (1.0) (2012–2013 гг.), [28] CSP не должен мешать работе надстроек или расширений браузера, установленных пользователем. Эта функция CSP фактически позволила бы любому дополнению, расширению или букмарклету внедрять скрипты на веб-сайты, независимо от происхождения этого скрипта, и, таким образом, быть освобожденным от политик CSP.

Однако с тех пор эта политика была изменена (начиная с CSP 1.1). [29] ) в следующей формулировке. Обратите внимание на использование слова «может» вместо предшествующей абсолютной формулировки «следует (не)»:

Примечание. Пользовательские агенты могут разрешать пользователям изменять или обходить применение политики с помощью пользовательских настроек, букмарклетов, сторонних дополнений к пользовательскому агенту и других подобных механизмов.

Абсолютная формулировка «следует» использовалась пользователями браузеров для запроса/требования соблюдения политики и установки изменений в популярных браузерах (Firefox, Chrome, Safari) для ее поддержки. Это стало особенно спорным, когда такие сайты, как Twitter и GitHub, начали использовать строгие политики CSP, которые «препятствовали» использованию букмарклетов. [30]

Рабочая группа W3C по безопасности веб-приложений считает такой сценарий частью доверенной вычислительной базы , реализованной браузером; заявил рабочей группе, однако представитель Cox Communications что это исключение является потенциальной дырой в безопасности, которая может быть использована вредоносными или скомпрометированными надстройками или расширениями. [31] [32]

Дополнительные меры

По состоянию на 2015 год W3C предлагает ряд новых стандартов безопасности браузеров, большинство из которых дополняют CSP: [33]

См. также [ править ]

Ссылки [ править ]

  1. ^ Сид Стамм (11 марта 2009 г.). «Безопасность/CSP/Спецификации — MozillaWiki» . Wiki.mozilla.org . Проверено 29 июня 2011 г. Политика безопасности контента призвана помочь веб-дизайнерам или администраторам серверов указать, как контент взаимодействует на их веб-сайтах. Это помогает смягчать и обнаруживать такие типы атак, как XSS и внедрение данных.
  2. ^ «Состояние проекта» . 13 сентября 2016 г. Проверено 5 октября 2016 г.
  3. ^ Перейти обратно: а б «Могу ли я использовать Политику безопасности контента?» . Фирд . Проверено 22 февраля 2013 г.
  4. ^ Роберт Хансен (1 июня 2009 г.). «Политика безопасности контента Mozilla» . Архивировано из оригинала 18 марта 2015 года . Проверено 29 июня 2011 г. Ограничения контента — способ веб-сайтов сообщить браузеру о необходимости повысить безопасность на страницах, где сайт знает, что контент отправлен пользователем и, следовательно, потенциально опасен.
  5. ^ «Политика безопасности контента 1.0» . W3C . Проверено 13 ноября 2015 г.
  6. ^ «Политика безопасности контента, уровень 3» . W3C . Проверено 5 мая 2023 г.
  7. ^ «Бета-версия Chrome 25: политика безопасности контента и теневое DOM» . Google. 14 января 2013 года . Проверено 22 февраля 2013 г.
  8. ^ «Политика безопасности контента 1.0 появилась в Firefox Aurora» . Фонд Мозилла. 29 мая 2013 года . Проверено 16 июня 2013 г.
  9. ^ «Быстрый выпуск/Календарь» . Фонд Мозилла. 29 мая 2013 года . Проверено 16 июня 2013 г.
  10. ^ «Ошибка 96765 — реализация заголовка Content-Security-Policy» . ВебКит. 31 октября 2012 года . Проверено 7 августа 2015 г.
  11. ^ «Политика безопасности контента (CSP)» . Майкрософт . Проверено 6 февраля 2020 г.
  12. ^ «Новые функции безопасности Chromium, июнь 2011 г.» . Google. 14 июня 2011 года . Проверено 22 февраля 2013 г.
  13. ^ «Представляем политику безопасности контента» . Фонд Мозилла . Проверено 22 февраля 2013 г.
  14. ^ «HTML META-элемент» . Политика безопасности контента уровня 2 . W3C . Проверено 14 ноября 2015 г.
  15. ^ «Глубокоэшелонированная защита: блокировка гибридных веб-приложений с помощью песочницы HTML5» . Группа разработчиков Windows Internet Explorer . Проверено 13 апреля 2014 г.
  16. ^ «директива ngCsp» . АнгулярJS . Проверено 27 октября 2020 г.
  17. ^ «Джанго-безопасность» . Гитхаб . 21 ноября 2022 г.
  18. ^ «Политика безопасности контента» . Гитхаб. 19 апреля 2013 г.
  19. ^ «ЦСП 2015» . XSS-головоломка. 23 ноября 2015 г. Архивировано из оригинала 20 декабря 2015 г. Проверено 12 декабря 2015 г.
  20. ^ Лекиес, Себастьян. «Сборник обходов CSP» . Проверено 5 июня 2017 г.
  21. ^ «Оскорбительные отношения с AngularJS» . 12 декабря 2015 года . Проверено 5 января 2016 г.
  22. ^ OWASP (25 мая 2017 г.), AppSec EU, 2017 г. Не доверяйте DOM: обход средств защиты от XSS с помощью гаджетов сценариев, автор: Себастьян Лекиес , получено 5 июня 2017 г.
  23. ^ Уэст, Майк (15 июня 2012 г.). «Введение в политику безопасности контента» . HTML5 рок . Проверено 22 февраля 2013 г.
  24. ^ «Политика безопасности контента, уровень 3» . www.w3.org . Проверено 12 января 2021 г.
  25. ^ «CSP: отчет — HTTP | MDN» . http://developer.mozilla.org . Проверено 25 января 2021 г.
  26. ^ Например, в Django приемник CSP доступен в модуле django-security .
  27. ^ «Вспышка синей команды: когда вы их сбиваете с толку, вы их теряете» . Секрет . 04.11.2018 . Проверено 27 декабря 2019 г.
  28. ^ «Модель обработки CSP» . 15 ноября 2012 г. Проверено 6 октября 2013 г.
  29. ^ «CSP 1.1: Добавьте ненормативный язык для расширений» . GitHub w3c webappsec . Гитхаб. 27 февраля 2014 г. Проверено 14 сентября 2016 г.
  30. ^ «Ошибка 866522 — Букмарклеты, на которые влияет CSP» . Багзилла . Мозилла. 28 апреля 2013 г. Проверено 14 сентября 2016 г.
  31. ^ «Отмена политик CSP для надстроек (расширений) браузера» . 25 сентября 2013 г. Проверено 6 октября 2013 г.
  32. ^ «Re: [CSP] Запрос на изменение предложения букмарклета/расширения в CSP1.1» . 3 августа 2014 г. Проверено 8 октября 2015 г.
  33. ^ Перейти обратно: а б «Рабочая группа по безопасности веб-приложений» . Гитхаб . Проверено 13 ноября 2015 г.
  34. ^ «Дополнение пакета безопасности Noscript для Firefox» . addons.mozilla.org . Проверено 11 июня 2017 г.
  35. ^ «Расширение NoScript Firefox — Официальный сайт» . noscript.net . Проверено 11 июня 2017 г.
  36. ^ «HTTP-коммутатор для Chrome» . chrome.google.com . Архивировано из оригинала 17 августа 2014 г.
  37. ^ «HTTP-коммутатор для Opera» . addons.opera.com . Проверено 11 июня 2017 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: EA36BEDAD2EF3AA64FB28248D73D9119__1706254680
URL1:https://en.wikipedia.org/wiki/Content_Security_Policy
Заголовок, (Title) документа по адресу, URL1:
Content Security Policy - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)