쿠키와 보안문제

2023. 6. 27. 15:14·Spring
728x90

 

쿠키를 사용해서 로그인Id를 전달해서 로그인을 유지할 수 있었다. 그런데 여기에는 심각한 보안 문제가 있다.

 

 

보안 문제

 

1. 쿠키 값은 임의로 변경할 수 있다.


클라이언트가 쿠키를 강제로 변경하면 다른 사용자가 된다.
실제 웹브라우저 개발자모드 Application Cookie 변경으로 확인

Cookie: memberId=1 Cookie: memberId=2 (다른 사용자의 이름이 보임)

 

 

 

2. 쿠키에 보관된 정보는 훔쳐갈 수 있다.

만약 쿠키에 개인정보나, 신용카드 정보가 있다면?
이 정보가 웹 브라우저에도 보관되고, 네트워크 요청마다 계속 클라이언트에서 서버로 전달된다. 쿠키의 정보가 나의 로컬 PC에서 털릴 수도 있고, 네트워크 전송 구간에서 털릴 수도 있다.

 

 

3. 해커가 쿠키를 한번 훔쳐가면 평생 사용할 수 있다.


해커가 쿠키를 훔쳐가서 그 쿠키로 악의적인 요청을 계속 시도할 수 있다.

 

 

 

대안

1. 쿠키에 중요한 값을 노출하지 않고, 사용자 별로 예측 불가능한 임의의 토큰(랜덤 값)을 노출하고, 서버에서 토큰과 사용자 id를 매핑해서 인식한다. 그리고 서버에서 토큰을 관리한다.


2. 토큰은 해커가 임의의 값을 넣어도 찾을 수 없도록 예상 불가능 해야 한다.

 

3. 해커가 토큰을 털어가도 시간이 지나면 사용할 수 없도록 서버에서 해당 토큰의 만료시간을 짧게(예: 30분) 유지한다. 또는 해킹이 의심되는 경우 서버에서 해당 토큰을 강제로 제거하면 된다.

728x90

'Spring' 카테고리의 다른 글

JDBC의 등장 이유  (0) 2023.06.27
로그인 처리 (세션)  (0) 2023.06.27
로그인 처리 (쿠키)  (0) 2023.06.27
@ModelAttribute, @RequestBody  (0) 2023.06.26
메시지, 국제화  (1) 2023.06.16
'Spring' 카테고리의 다른 글
  • JDBC의 등장 이유
  • 로그인 처리 (세션)
  • 로그인 처리 (쿠키)
  • @ModelAttribute, @RequestBody
minseououo
minseououo
    250x250
  • minseououo
    StudyRepository
    minseououo
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • 인버터 (5)
      • 자동차 (26)
      • 모터 (5)
      • 검증 (2)
      • Spring (46)
      • 프로젝트 (1)
      • 인공지능 (2)
      • 운영체제 (5)
      • Algorithm (2)
      • 소프트웨어공학 (5)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    MILS
    자동차 네트워크
    자동차 통신
    bsw
    전류 제한원
    백앤드
    EILS
    ASPICE
    park변환
    코깅 토크
    자바
    ASW
    모터제어
    자동차 신차 개발 프로세스
    자동차
    ISO26262
    토크 리플
    약계자제어
    Spring
    자율주행
    mtpa
    스프링
    hils 검증
    AUTOSAR
    인버터
    clarke변환
    PI제어
    java
    dq변환
    SDV
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
minseououo
쿠키와 보안문제
상단으로

티스토리툴바