티스토리 뷰


안녕하세요. 오늘은 몇일 전에 변경된 크롬 80 버전 업데이트 변경내용에 대해서 정리해보려고 합니다. 전에 크롬 업데이트 내용을 간과하고 있다가 크롬 업데이트 후 버그가 발생하는 바람에 아주 애먹었던 경험을 생각해보면요. 주기적으로 되는 업데이트 내용에 대해서 미리미리 파악하고 있어야 겠다는 생각이 듭니다. 

크롬 80 업데이트 변경 내용 정리

 

 

1. 개발자를 위한 새로운 SameSite=None; 보안 쿠키 설정에 대비


1.1 Cross-site, same-site 쿠키 컨텍스트 이해하기

 

첫번째로 쿠키 컨텍스트를 이해해야 합니다. 서로 다른 도메인에서 같은 쿠키에 접근하는 경우 Cross-site, 혹은 third party' 라고 합니다.

 

쿠키의 cross-site, third party 


두번째로 같은 도메인에서 쿠키에 접근하는 것을 same-site 쿠키, 'first party' 라고 합니다. 

 

웹 페이지 상의 리소스가 유저가 접속한 사이트와 일치하는 쿠키에 접근한 경우, 이를 same-site 또는 “first-party” 컨텍스트라고 합니다.


1.2. 쿠키에 SameSite 설정 별 권한

document.cookie = "safeCookie1=foo; SameSite=Strict"; 
document.cookie = "safeCookie1=foo; SameSite=Lax"; 
document.cookie = "safeCookie2=foo";  // chrome 80 over : default Lax
document.cookie = "crossCookie=bar; SameSite=None; Secure";
document.cookie = "safeCookie1=foo; SameSite=None";

Strict 는 같은 도메인에서만 접근 가능합니다. Lax는 Http 요청과 a href, link href 로만 쿠키 전달이 가능합니다. 그리고 SameSite에서 None 처리를 할 경우 Secure를 사용하지 않으면 전달이 불가능합니다. cross-site를 사용하기 위한 최소한의 보안이라는 거겠죠. 

 

물론 이 크롬 80 업데이트에 대비하지 못한 경우 "SameSite=None; Secure" 를 이용해서 계속 크로스 사이트로 쿠키를 공유해서 사용할 수 있겠지만 장기적으로 바꿔야 할 것 같습니다. 

 


요청 타입 별 쿠키 전송 가능 설정

🔽🔽🔽 

https://www.netsparker.com/blog/web-security/same-site-cookies-by-default/


2020년 2월에 크롬 80 버전이 업데이트가 되었으니 관련 문제가 생겼다면 참고해볼만할 것 같습니다. 원래 2월 초에 관련 포스팅을 작성하려고 했는데 많이 늦어졌습니다. 어차피 쿠키 사용은 CSRF 공격에 자유롭지 않으니 모두 변경하는것이 좋겠습니다. 


댓글
최근에 올라온 글
최근에 달린 댓글