heyday2024 님의 블로그
내가 만든 쿠키~~~~너를 위해 구웠지 본문
웹 사이트의 쿠키란??
쿠키는 웹 서버가 생성하여 사용자의 웹 브라우저에 저장하는 작은 데이터 파일임. 쿠키는 사용자가 웹 사이트를 방문했을 때 특정 정보를 유지하거나, 사용자의 행동을 추적하거나, 맞춤형 서비스를 제공하기 위해 사용됨
쿠키는 웹 브라우저에서 미리 정해진 기간 동안 혹은 웹 사이트에서의 사용자 세션 기간 동안 저장되고, 나중에 사용자가 웹 서버에 요청할 때 관련 쿠키가 첨부됨
- (참고) 근데 왜 쿠키라는 용어를 썼을까??데이터 패킷은 컴퓨터 네트워크에서 정보를 전송하기 위한 형식화된 데이터 블록으로 매직쿠키는 변경되지 않은 상태로 송수신되는 데이터 패킷입니다.
- 웹사이트에서의 쿠키(cookie)는 원래 과자와는 다른 맥락에서 유래되었습니다. 이 이름은 매직 쿠키(magic cookie)라는 데이터 패킷에서 유래되었습니다.
쿠키는 어디에 저장되나요?
쿠키는 웹 브라우저에 의해 사용자 기기의 지정된 파일에 저장됨
<각 브라우저의 쿠키 저장되는 위치>
- Google Chrome:
- 쿠키는 "Cookies"라는 SQLite 데이터베이스 파일에 저장됨
- Mozilla Firefox:
- 쿠키는 "cookies.sqlite"라는 SQLite 데이터베이스 파일에 저장됨
- Safari (macOS):
- 쿠키는 ~/Library/Cookies 디렉토리에 저장됨.
- Microsoft Edge:
- 쿠키는 Cookies라는 파일로 저장되며 위치는 Chrome과 유사함
쿠키의 사용 용도
1. 사용자 세션 관리
사용자 세션 쿠키는 특정 사용자의 활동을 웹 사이트와 연결하는 데 사용됨. 사용자가 로그인하면 서버는 세션 정보를 포함하는 쿠키를 생성하여 브라우저에 저장함. 이후 사용자는 동일한 세션 쿠키를 통해 인증된 상태를 유지하며 페이지를 이동할 수 있음.
예시: 로그인 상태 유지
- 사용자가 웹 사이트에 로그인하면, 서버는 사용자를 식별하기 위해 세션 쿠키를 생성하고 브라우저에 전송함.
- 브라우저는 이 쿠키를 요청마다 포함시켜 서버에 전송하므로, 사용자는 각 페이지를 이동할 때마다 다시 로그인할 필요가 없음
- 개인화예시: 사용자 설정 저장
- 쿠키는 사용자의 언어, 테마, 마지막 로그인 정보 등을 저장하여 웹 사이트를 개인화함
- 쿠키는 사용자의 행동이나 기본 설정을 저장하여 맞춤형 경험을 제공함. 이를 통해 사용자가 재방문 시 이전 설정이 그대로 유지되며, 사용자 경험이 향상됨
- 추적예시: 광고 타겟팅
- 쿠키는 사용자가 방문한 페이지 정보를 저장하여, 광고를 개인화하거나 사용자의 관심사에 맞춘 콘텐츠를 제공함
- 추적 쿠키는 사용자의 방문 기록을 저장하여 행동 데이터를 분석하거나 타겟 광고를 표시하는 데 사용됨
<쿠키의 주요 유형>
1. 세션 쿠키 (Session Cookie)
- 특징:
- 웹 사이트에서 사용자의 세션을 추적하는 데 사용.
- 브라우저를 닫거나 사용자가 로그아웃하면 삭제됨.
- 만료일이 없으며, 세션이 종료되면 자동 삭제됨.
- 용도:
- 로그인 상태 유지.
- 장바구니와 같은 임시 데이터 저장.
- 예시:
- Alice가 쇼핑 웹사이트에서 로그인한 상태로 청바지 상품 페이지를 탐색할 때, 세션 쿠키가 Alice의 로그인 상태를 유지함.
2. 영구 쿠키 (Persistent Cookie)
- 특징:
- 미리 정의된 만료일 동안 브라우저에 저장됨.
- 몇 시간, 몇 주, 몇 달, 또는 몇 년 동안 유지 가능.
- 브라우저를 닫아도 데이터가 유지됨.
- 용도:
- 사용자 기본 설정 저장 (예: 언어, 테마).
- "자동 로그인" 기능 제공.
- 예시:
- Alice가 웹사이트에서 영어(en-US)를 선택하면, 영구 쿠키가 저장되어 다음 방문 시 동일한 언어로 로드됨.
3. 인증 쿠키 (Authentication Cookie)
- 특징:
- 사용자 세션을 관리하고, 계정 로그인 상태를 유지.
- 로그인 세션과 사용자를 인증하는 데 사용.
- 용도:
- 사용자 인증 및 권한 확인.
- 브라우저를 통한 계정 로그인.
- 예시:
- Alice가 쇼핑몰에 로그인하면, 인증 쿠키가 생성되어 Alice의 계정 정보를 유지하고, 다른 페이지로 이동하더라도 로그인 상태를 유지함.
4. 추적 쿠키 (Tracking Cookie)
- 특징:
- 사용자의 웹 활동을 기록하고 추적.
- 광고 네트워크에서 사용하며, 타겟 광고 제공에 도움.
- 용도:
- 광고 개인화 및 사용자의 관심사 기반 추천.
- 사용자 활동 분석.
- 예시:
- Alice가 청바지 상품 페이지를 방문한 후, 다른 웹사이트에서 청바지 광고가 표시됨.
5. 좀비 쿠키 (Zombie Cookie)
- 특징:
- 삭제된 후에도 다시 생성됨.
- 브라우저의 일반적인 쿠키 저장 위치 외부에 백업 데이터를 생성.
- 부도덕한 광고 네트워크나 사이버 공격자가 악용하기도 함.
- 용도:
- 부적절한 광고 또는 추적.
- 예시:
- Alice가 특정 웹사이트에서 쿠키를 삭제했음에도 불구하고, 쿠키가 다시 나타나서 Alice의 활동을 추적.
- 좀비 쿠키는 삭제한 후에도 어떻게 다시 생성되는 걸까…?
- 브라우저의 대체 저장소 활용:
- 일반적인 쿠키 저장소가 아닌 HTML5 로컬 스토리지, Flash 스토리지(Flash Local Shared Objects), 또는 IndexedDB 등을 사용해 데이터를 저장.
- 사용자가 브라우저의 쿠키를 삭제해도, 대체 저장소에 있는 데이터로 쿠키를 복원.
- 자바스크립트와 브라우저 API 활용:
- 브라우저 API를 이용해 쿠키를 지속적으로 생성.
- 예: 사용자가 삭제한 쿠키를 자바스크립트를 통해 감지하고, 백업된 데이터를 바탕으로 새 쿠키를 만듦.
- 플러그인 의존성:
- Adobe Flash 또는 Silverlight와 같은 브라우저 플러그인을 통해 데이터를 저장하고 쿠키를 재생성.
- ETag 및 캐시 활용:
- HTTP ETag(캐시 검증을 위한 태그) 또는 브라우저 캐시를 이용해 쿠키 데이터를 저장하고, 이 데이터를 기반으로 쿠키를 다시 생성.
- 브라우저의 대체 저장소 활용:
- 여러 방식들이 있겠지만 대표적으로 좀비 쿠키가 생성되는 방식들 정리:
- 좀비 쿠키로 발생할 수 있는 사이버 공격 구체적으로 정리
- 좀비 쿠키는 사용자를 추적하고 감시하는 것 뿐만 아니라 session hijacking(좀비 쿠키가 세션 정보를 복원해서 세션을 탈취), cross-site tracking(악의적인 도메인이 좀비쿠키 사용해서 사용자의 활동 추적해서 데이터 탈취 후 그 데이터 악용), 악성 코드 전파 등 여러 악의적인 목적으로 사용될 수 있음
- 그러면 좀비 쿠키 어떻게 방어해야될까요??
- 브라우저 설정 및 플러그인 관리:
- 브라우저의 "서드파티 쿠키 차단" 옵션 활성화.
- Flash 또는 Silverlight 플러그인 사용을 제한.
- 쿠키 및 스토리지 완전 삭제:
- 브라우저 쿠키와 함께 HTML5 로컬 스토리지, Flash 스토리지 등 대체 저장소 데이터 삭제.
- 보안 브라우저 사용:
- 쿠키와 추적 방지 기능이 강화된 브라우저(예: Brave, Firefox Focus) 사용.
- 추적 방지 확장 프로그램 설치:
- AdBlock Plus, Privacy Badger, Ghostery 등 추적 방지 도구 설치.
- HTTPS 사용 및 SameSite 쿠키 설정:
- Secure 및 SameSite 속성을 사용해 쿠키를 안전하게 관리.
- 브라우저 설정 및 플러그인 관리:
<타사 쿠키 (Third-party Cookie)란?>
- 특징:
- 사용자가 방문한 도메인(1차 당사자)과 다른 도메인에서 생성된 쿠키.
- 광고 네트워크 및 추적 목적으로 사용.
- 용도:
- 여러 웹사이트에서 사용자를 추적.
- 광고 네트워크를 통한 데이터 공유.
- 예시:
- Alice가 jeans.example.com에서 쇼핑을 하며 세션 쿠키를 사용해 로그인 상태를 유지하지만, 동시에 example.ad-network.com에서 타사 쿠키가 저장되어 Alice의 활동을 추적.
쿠키와 사용자 개인정보 보호
- 개인정보 보호에 미치는 영향:
- 쿠키는 광고 및 브라우징 활동 기록에 사용되어 사용자 행동이 추적될 수 있음.
- 사용자는 자신의 온라인 행동이 어떻게 추적되는지에 대한 통제권과 투명성 부족.
- 일부 쿠키는 익명성을 유지하지만, 특정 조건에서는 사용자의 검색 활동을 실제 신원과 연결 가능.
- 악용 가능성:
- 원치 않는 광고 노출.
- 사용자 모니터링, 스토킹, 괴롭힘 등의 위험.
- 법적 규제:
- EU ePrivacy Directive:
- 사용자는 쿠키 사용에 대해 고지받고 동의해야 함.
- 단, "반드시 필요한 쿠키"는 예외.
- GDPR:
- 쿠키 식별자를 개인 데이터로 간주.
- 쿠키로 수집된 개인 데이터는 GDPR 규정의 적용을 받음.
- EU ePrivacy Directive:
- 쿠키 배너:
- 많은 웹사이트는 쿠키 배너를 통해 사용자가 쿠키 사용 여부를 검토하고 제어할 수 있도록 함.
새롭게 알게 된 것 & 어려웠던 부분
- 맞춤형 광고가 생성되는 이유가 타사 쿠키에 의한 것이었음을 이번 조사 과정에서 더욱 자세히 알게 되었다.
- 좀비 쿠키를 들어보긴 했지만, 좀비 쿠키를 악의적으로 사용해서 정말 다양한 종류의 사이버 공격이 일어날 수 있음을 새롭게 알게 되었다.
'프론트엔드 부트캠프' 카테고리의 다른 글
트러블 슈팅 정리 (MBTI) (0) | 2024.11.28 |
---|---|
[React 심화] 인증, 인가 - 쿠키, 세션, 토큰, JWT (0) | 2024.11.27 |
팀과제 + DB에 대해서 (1) | 2024.11.18 |
클린 코드 (Clean Code) (1) | 2024.11.15 |
CORS에 대해서 (2) | 2024.11.14 |