AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

`localStorage` 사용 시 보안 위험과 대안

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

보안

대상자

프론트엔드 개발자, 보안 엔지니어, 인증/인가 시스템 설계자

핵심 요약

  • localStorage는 JavaScript 환경 내 모든 스크립트에 접근 가능하여 민감 데이터 유출 위험
  • httpOnly 쿠키 + secureSameSite=Strict 플래그가 인증 토큰 보관에 적합
  • Subresource Integrity(SRI)를 사용해 외부 스크립트 조작 방지

섹션별 세부 요약

1. `localStorage`의 보안 취약점

  • localStorage에 저장된 JWT, 세션 상태 등은 JavaScript 환경 내 모든 스크립트에 접근 가능
  • 악의적인 스크립트(분석 도구, 외부 라이브러리 등)가 localStorage.getItem("token")을 통해 토큰을 유출 가능
  • 예시: console.log(localStorage.getItem("token"))로 즉시 토큰 접근 가능

2. `httpOnly` 쿠키의 보안 강화

  • httpOnly 쿠키는 JavaScript 접근 불가 → XSS 공격에 대응 가능
  • secure 플래그 적용 시 HTTPS 전용 전송 → HTTP로의 유출 방지
  • SameSite=Strict 적용 시 쿠키가 외부 도메인 요청 시 전송되지 않음 → CSRF 공격 방지

3. 외부 스크립트 보안 강화 방안

  • Subresource Integrity(SRI) 사용:
  • SRI 해시 검증을 통해 CDN 스크립트 조작 가능성 최소화

결론

  • 민감한 인증 토큰은 httpOnly 쿠키에 저장하고, secureSameSite=Strict 플래그를 반드시 적용
  • 외부 스크립트는 SRI 해시 검증을 통해 보안 강화
  • 프론트엔드는 필요한 최소 정보만 유지하고, sessionStorage 대신 localStorage 사용 자제

> 보안은 백엔드만의 문제가 아니다. 프론트엔드가 첫 번째 방어선이다.