동일출처정책 (Same-Origin Policy)

정보보안학
한 줄 정의: 한 출처에서 불러온 문서나 스크립트가 다른 출처의 자원에 함부로 접근하지 못하도록 브라우저가 강제하는 기본 보안 정책입니다.

쉽게 풀면

동일출처정책은 서로 다른 웹사이트가 함부로 서로의 정보를 들여다보지 못하게 막는 브라우저의 기본 규칙입니다. 은행 웹사이트를 열어둔 상태로 다른 사이트를 방문했을 때, 그 다른 사이트가 은행 페이지의 내용을 몰래 읽어가지 못하도록 막아주는 장치라고 생각하면 됩니다. 여기서 "출처"는 프로토콜, 도메인, 포트가 모두 같아야 동일한 것으로 인정됩니다. 이 정책이 없다면 사용자가 로그인한 다른 사이트의 정보를 악성 사이트가 자유롭게 훔쳐볼 수 있게 됩니다.

왜 중요한가

동일출처정책은 브라우저 보안 모델의 근간을 이루는 개념으로, 정보보안학 연구에서 크로스사이트 공격이나 정책 우회 취약점을 논할 때 반드시 함께 다뤄집니다. 이후 등장한 여러 웹 보안 메커니즘들은 이 정책을 보완하거나 특정 상황에서 예외를 허용하기 위해 설계되었습니다.

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

"동일출처정책(Same-Origin Policy)의 예외 조건을 악용하여 사용자 세션 정보를 탈취하는 공격 시나리오를 제시하였다."

기본 보안 정책의 허점을 이용한 공격 사례를 다룬 연구입니다.

"서브도메인 간 통신에서 동일출처정책이 적용되는 범위를 실험을 통해 명확히 규명하였다."

정책 적용 범위에 대한 실험적 검증을 다룬 연구 사례입니다.

조금 더 깊게 보면

동일출처정책은 문서 간 스크립트 접근, 쿠키 접근, 네트워크 요청 결과 열람 등 여러 영역에 걸쳐 적용되며, 완전히 동일한 경우에만 접근을 허용합니다. 서로 다른 출처 간에 데이터를 안전하게 주고받아야 하는 경우를 위해 교차출처리소스공유와 같은 별도의 완화 메커니즘이 마련되어 있습니다.

주의할 점

동일출처정책은 브라우저가 강제하는 클라이언트 측 보호 장치이므로, 서버 측 설정이 잘못되어 있으면 이 정책만으로 모든 공격을 막을 수는 없습니다.

관련 용어