동일 출처 정책(Same-Origin Policy)의 원리와 보안 역할
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 웹 개발자, 보안 엔지니어, 프론트엔드/백엔드 개발자
- 중급 이상의 이해 수준 (HTTP, 쿠키, CORS 등 기본 개념 이해 필요)
핵심 요약
- 동일 출처 정책(SOP)은 웹 브라우저가 다른 도메인의 스크립트에 접근을 제한하여 보안을 강화하는 핵심 기능
- 쿠키는 SOP 예외로, 호스트만 검사하여 서브도메인 간 공유 가능
- CORS(Cross-Origin Resource Sharing)와 협업하여 크로스 도메인 요청에 대한 제한을 유연하게 관리
섹션별 세부 요약
1. 동일 출처 정책(SOP)의 정의 및 구성 요소
- SOP는 프로토콜, 호스트, 포트 3가지 요소로 출처를 정의
- 예:
https://some-website.com:8081
- 포트 생략 시 브라우저는
https
의 기본 포트443
을 자동으로 사용 - 출처 비교 시 디렉터리 경로는 무시되나, 서브도메인은 다르게 처리
2. SOP의 접근 허용 규칙
- 동일 출처(
https://some-website.com:8081
) → 접근 허용 - 서브도메인(예:
sub.some-website.com
) → 다른 출처로 간주, 접근 제한 - 포트 차이(예:
http://some-website.com:80
) →http
의 기본 포트80
사용 시 접근 제한
3. 쿠키와 SOP의 예외 처리
- 쿠키는 SOP에 적용되지 않으며, 호스트만 검사하여 모든 서브도메인에서 공유 가능
- 예:
example.com
의 쿠키는sub.example.com
에서도 사용 가능
4. SOP의 보안 역할 및 위협 방지
- CSRF(Cross-Site Request Forgery) 공격 방지:
- 악의적인 사이트가 사용자의 로그인 세션을 악용해 요청을 보내는 것을 차단
- CORS가 요청 허용 여부를 명시적으로 결정
- SOP는 웹의 기본 보안 틀을 제공하며, 세션 데이터 유출을 방지
결론
- SOP와 CORS의 이해는 보안 취약점 방지 및 사용자 데이터 보호에 필수적
- 쿠키와 세션 관리 시 서브도메인 간 공유 가능성에 주의해야 하며, CORS 설정을 명확히 정의해야 함
- 보안 테스트 시 SOP 위반 시나리오(예: CSRF)를 반드시 검증해야 함