콘텐츠보안정책(CSP) (Content Security Policy)

정보보안학
한 줄 정의: 웹 브라우저가 특정 페이지에서 불러올 수 있는 스크립트, 스타일, 이미지 등 리소스의 출처를 서버가 지정한 정책으로 제한하는 HTTP 보안 메커니즘입니다.

쉽게 풀면

콘텐츠보안정책은 웹사이트가 브라우저에게 "이 페이지에서는 허락한 곳에서 온 콘텐츠만 실행해도 돼"라고 미리 규칙을 전달하는 것과 같습니다. 마치 건물 출입 명단에 없는 사람은 아예 들여보내지 않는 경비 시스템처럼, 신뢰할 수 없는 곳에서 삽입된 악성 스크립트가 실행되는 것을 원천적으로 차단하는 역할을 합니다. 이 정책은 HTTP 응답 헤더를 통해 브라우저에 전달됩니다.

왜 중요한가

콘텐츠보안정책은 크로스사이트스크립팅과 같은 코드 삽입형 공격의 피해 범위를 줄이는 대표적 방어 계층으로, 정보보안학 연구에서 웹 방어 기법의 효과성을 평가하는 대상으로 자주 등장합니다. 또한 실제 서비스에서의 정책 설정 오류나 우회 가능성을 분석하는 연구도 활발히 이루어집니다.

논문에서는 이렇게 쓰입니다

"상위 웹사이트들의 콘텐츠보안정책(CSP) 적용 현황을 조사한 결과, 상당수가 지나치게 느슨한 설정을 사용하고 있었다."

실제 웹사이트들의 정책 설정 실태를 조사한 연구 사례입니다.

"특정 지시어 조합이 콘텐츠보안정책을 우회할 수 있는 조건을 실험적으로 검증하였다."

정책 우회 가능성을 실험적으로 검증한 연구 사례입니다.

조금 더 깊게 보면

콘텐츠보안정책은 스크립트, 스타일시트, 이미지, 프레임 등 리소스 유형별로 허용할 출처를 세분화하여 지정할 수 있으며, 인라인 스크립트 실행을 차단하는 옵션도 포함합니다. 정책이 지나치게 관대하게 설정되거나 예외 조건이 많을 경우 방어 효과가 크게 줄어들 수 있어, 정책 설계의 엄격함이 실제 보안 효과와 직결됩니다.

주의할 점

콘텐츠보안정책을 적용했다고 해서 모든 코드 삽입 공격이 방지되는 것은 아니며, 정책 설정이 느슨하거나 잘못 구성되면 우회될 수 있습니다.

관련 용어