SameSite decision

SameSite는 CSRF를 줄이지만 단독 방어는 아니다

CSRF의 핵심은 사용자의 브라우저가 인증 쿠키를 자동으로 붙여 보낸다는 점입니다. SameSite는 이 자동 전송 범위를 줄입니다.

공격 사이트가 요청을 유도한다
브라우저가 SameSite를 평가한다
서버는 토큰과 Origin도 확인한다
1attacker.example
<form action="https://bank.example/transfer"> 사용자 클릭이나 자동 제출로 요청을 만들 수 있습니다.
2브라우저 정책
SameSite? method? top-level? 쿠키를 붙일지 브라우저가 전송 조건을 평가합니다.
3bank.example
CSRF token
Origin / Referer
서버가 요청 의도를 검증해야 최종 방어가 됩니다.
Strict 가장 좁음. 크로스사이트 진입에서 쿠키가 빠질 수 있어 로그인 UX에 영향이 큽니다.
Lax 기본 출발점. 많은 크로스사이트 unsafe 요청을 줄이지만 top-level safe navigation은 허용될 수 있습니다.
None 크로스사이트 허용. 최신 규칙에서는 Secure와 함께 써야 하며 추적·임베드 요구를 따져야 합니다.
방어층 조합 상태 변경은 POST/PUT/PATCH/DELETE로 제한하고, CSRF 토큰·Origin 검증·권한 확인을 함께 둡니다.