Cookie란?
유저들의 효율적인 웹 사용을 보장하기 위해 웹 사이트 접속 시 접속자 개인장치에 다운로드 되어 브라우저에 저장되는 텍스트 파일을 말한다. 웹 사이트는 쿠키를 통해 접속자의 장치를 인식하고 과거 이용 내역에 대한 일부 데이터를 저장하게 된다.
Cookie의 종류
필수 쿠키 : 페이지 탐색과 보안영역 접속 등의 웹사이트 기본 기능의 활성화를 목적으로 사용됨
기능 쿠키: 웹 사이트에서 접속자 설정 저장을 목적으로 사용됨
성능 쿠키: 정보의 익명 수집 및 보고를 통하여 웹 사이트 최적화에 기여
마케팅 쿠키: 유저의 웹 사이트 방문 내역 추적, 이용 패턴을 파악하여 상업적 목적으로 사용됨.
쿠키 변조란?
쿠키 값 변조를 통한 데이터의 위변조 가능 취약점을 말함.
-> 쿠키 인젝션으로 쿠키 값 변조를 통한 위장 및 권한 변경이 가능
-> 사용자 식별 값이 평문으로 노출될 경우 쿠키 변조를 통한 유저 유효 세션 취득 가능, 중요 정보의 유출 및 변조 가능성
쿠키 취약점
XSS attack : 자바 스크립트를 이용, document.cookie 값의 탈취 가능
Sniffing attack : 암호화하지 않은 쿠키값을 네트워크를 통해 전송하는 경우 이를 통해 쿠키값 탈취 가능
공용 PC에서의 쿠키값 유출 : 영속성 쿠키는 하드 디스크에 저장되어 간단한 방법으로 접근이 가능.
점검
✔ : 쿠키를 사용하지 않거나, Server Side Session의 이용. SEED 등의 안전한 알고리즘 적용
❌: 안전하지 않은 쿠키 사용, Client Side Session의 사용 웹 페이지에서 개발자 모드로(F12번) -> 더보기에서 애플리케이션 -> 쿠키 값에서 인증 id 또는 권한 구분자 등의 쿠키 중요정보 확인
🍪 Cookie 변조 솔루션
1. Cookie 관리
하드디스크에 저장되는 쿠키는 중요 정보를 가지지 않아야 하고, 세션 쿠키는 자바 스크립트에서 액세스하지 못하게 해야 함.