Content Security Policy

CSP(Content Security Policy, 콘텐츠 보안 정책)는 웹 브라우저에서 실행되는 자원의 출처를 제어하여 XSS(교차 사이트 스크립팅), 클릭재킹, 데이터 주입 등의 공격을 탐지하고 차단하기 위해 추가된 웹 보안 계층이다.

웹 관리자는 HTTP 응답 헤더(Content-Security-Policy) 또는 HTML <meta> 태그를 사용하여 브라우저가 신뢰할 수 있는 리소스(스크립트, 스타일시트, 이미지 등)의 출처를 명시적으로 정의한다. 브라우저는 이 정책에 기반하여 승인되지 않은 외부 도메인의 스크립트 실행이나 리소스 로드를 차단한다.

웹 보안을 다룰 때 자주 언급되는 기본 보안 정책인 SOP(Same-Origin Policy)와 CSP의 차이는 다음과 같다.

특징CSP (Content Security Policy)SOP (Same-Origin Policy)
목적XSS 및 인젝션 공격 등 악의적 코드 실행 완화다른 출처의 스크립트가 민감한 데이터에 접근하는 것 방지
작동 방식리소스 로드 및 코드 실행이 허용되는 도메인 목록을 명시기본적으로 교차 출처(Cross-Origin) 간의 데이터 접근을 차단
제어 주체웹 서버 (HTTP 헤더 등을 통해 브라우저에 지시)웹 브라우저 (기본 내장된 정책)
유연성 및 예외디렉티브(script-src, img-src 등)를 통해 세밀한 제어 가능CORS(Cross-Origin Resource Sharing)를 사용하여 예외를 허용

출처 (Sources):

Entities