면접
3
yyyy7246
2023. 1. 18. 23:18
1. SOP가 뭘까요?
SOP는 Same Origin Policy의 약자로 동일 출처 정책을 의미합니다.
예를 들어서 내가 A의 사이트를 로그인하였는데 B라는 서버에서 내 쿠키값과 토큰을 요청하여 탈취할 수 있다면 보안적으로 매우 위험합니다. 그래서 이것을 막기 위한 것이 SOP입니다.
웹 브라우저에서 동작하는 프로그램은 로딩된 위치에 있는 리소스만 접근 할 수 있다는 정책인데 예처럼 A 사이트에 로그인을 하였으면 A 사이트 내부에서만 요청을 주고 받을 수 있다는 내용입니다.
그렇다면 Origin의 경계에 대해서 궁금할텐데요. host, protocol, port가 모두 같아야만 sop의 조건에 적합하다고 할 수 있습니다.
예시로
www.naver.com / www.comic.naver.com 은 host로 인한 cross(교차)출처이고
https://www.naver.com / http://www.naver.com 은 protocol로 인한 교차 출처이고
http://www.naver.com:80 / http://www.naver.com:8080 은 포트로 인한 교차 출처입니다.
이러한 SOP 덕분에 CSRF나 XSS에 안전할 수 있습니다.