Research Institute
  • 동일 출처 정책(Same-Origin Policy)
    2023년 08월 31일 22시 51분 28초에 업로드 된 글입니다.
    작성자: IIIIIIIIIIIIIIIIIIIIl

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

    동일 출처 정책(Same-Origin Policy)은 서로 다른 출처에서 가져온 문서나 스크립트가 서로 상호 작용하는 것을 제한하는 중요한 보안 메커니즘입니다. 이는 잠재적인 악성 문서의 영향을 제어하여 공격 가능성을 줄이는 역할을 합니다. 예를 들어, 인터넷의 악의적인 웹사이트가 브라우저에서 실행되는 JavaScript를 통해 다른 타사 웹메일 서비스나 내부 회사 네트워크와 같은 다른 출처의 데이터에 접근하고 해당 데이터를 공격자에게 전송하는 것을 방지하여 보호합니다. 동일 출처 정책은 웹 보안을 강화하는 데 중요한 역할을 하지만, 때로는 웹 애플리케이션 개발에서 자원 공유와 관련된 어려움을 일으킬 수 있습니다. 이를 해결하기 위해 CORS와 같은 추가적인 보안 메커니즘과 설정이 사용되며, 개발자는 출처 간 리소스 공유를 안전하게 관리할 수 있습니다.

     

    출처란? 프로토콜, 호스트, 포트 번호가 모두 동일한 경우를 말합니다. 

    예를 들어, "https://www.example.com:443"와 "https://www.example.com:80"은 동일한 출처가 아닙니다. 

    동일 출처 정책은 다음과 같은 몇 가지 주요 원칙을 포함하고 있습니다:

    1. 리소스 접근 제한: 웹 페이지나 스크립트는 동일한 출처에서 로드된 리소스에만 접근할 수 있습니다. 다른 출처에서 로드된 리소스에 접근하려면 해당 출처의 서버에서 CORS (Cross-Origin Resource Sharing) 헤더를 제공하여 명시적으로 허용해야 합니다.
    
    2. 쿠키 제한: 동일 출처 정책은 쿠키를 포함한 웹 스토리지의 데이터 접근을 제한합니다. 다른 출처에서 설정한 쿠키에 접근할 수 없습니다.
    
    3. DOM 접근 제한: 스크립트로 DOM 요소에 접근하는 경우도 출처가 같아야 합니다. 이는 다른 웹 페이지의 DOM에 접근하여 정보를 읽거나 조작하는 것을 방지합니다.
    
    4. XMLHttpRequest 제한: XMLHttpRequest와 같은 네트워크 요청도 동일 출처 정책을 따릅니다. 다른 출처로의 요청은 서버 측에서 CORS 정책을 설정하지 않는 한 제한됩니다.

     

    동일 출처 정책(Same-Origin Policy)을 사용하는 이유

    동일 출처 정책(Same-Origin Policy)는 웹 보안을 강화하고 사용자 데이터의 안전성을 보호하기 위해 필요한 중요한 보안 메커니즘으로 이 정책이 필요한 이유는 다음과 같습니다

    1. 보안 강화: 웹 애플리케이션은 다양한 출처에서 리소스를 가져오는 경우가 많습니다. 하지만 외부 출처의 리소스와의 상호 작용을 제한하지 않으면 악의적인 코드나 스크립트가 다른 출처의 리소스에 접근하여 악용할 수 있습니다. 동일 출처 정책은 이를 방지하여 외부 출처와의 상호 작용을 제한함으로써 웹 애플리케이션의 보안을 강화합니다.
    2. 정보 보호: 사용자의 개인 정보와 민감한 데이터는 보호되어야 합니다. 다른 출처의 스크립트나 리소스가 해당 정보에 접근하면 사용자의 개인 정보가 노출될 수 있습니다. 동일 출처 정책은 사용자 데이터의 무단 접근을 방지하여 정보를 보호합니다.
    3. 크로스 사이트 스크립팅(XSS) 방지: 크로스 사이트 스크립팅은 악의적인 스크립트가 웹 페이지에 삽입되어 사용자의 브라우저에서 실행되는 공격입니다. 이로 인해 공격자는 사용자의 세션 정보나 쿠키를 획득할 수 있습니다. 동일 출처 정책은 외부 출처의 스크립트가 웹 페이지 내의 스크립트와 상호 작용하지 못하도록 막아 XSS 공격을 방지합니다.

    참고자료

    댓글