← 질문 목록
#345깊이 0

세션 하이재킹은 왜 성립하는가?

인프라 · 보안심화보안 공격인증·인가

대개의 세션이 토큰만 제시하면 통하는 방식이라서다. 서버는 유효한 토큰을 낸 요청을 그 사용자의 요청으로 처리한다.

  1. 로그인
  2. 그다음은 서버가 세션 토큰을 발급한다입니다. 그다음

    서버가 세션 토큰을 발급한다
  3. 그다음은 토큰이 새 나간다(스크립트 접근·도청·추측)입니다. 그다음

    토큰이 새 나간다(스크립트 접근·도청·추측)
  4. 그다음은 공격자가 같은 토큰을 제시한다입니다. 그다음

    공격자가 같은 토큰을 제시한다
  5. 그다음은 서버는 토큰만 보고 그 사용자로 처리한다입니다. 그다음

    서버는 토큰만 보고 그 사용자로 처리한다

방어는 새 나가는 길을 하나씩 좁히는 것이다. HttpOnly는 스크립트가 쿠키를 읽는 길을 막고, TLS는 전송 구간의 도청을 막는다. 토큰은 암호학적 난수로 충분히 길게 만들어 추측을 어렵게 한다.

로그인에 성공하면 토큰을 새로 만들고 이전 것을 폐기한다. 공격자가 미리 심어 둔 토큰이 로그인 뒤에도 통하는 세션 고정 공격을 이것이 끊는다.

IP나 기기 정보를 보조 신호로 검사할 수도 있다. 다만 이동 통신에서는 정상 사용자의 IP도 자주 바뀌므로, 어긋났다고 바로 끊으면 멀쩡한 사용자를 쫓아내게 된다.

토큰을 키에 묶는 방식도 있다. 소지만으로는 안 통하게 만들면 탈취 자체가 덜 아프다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

세션 하이재킹은 왜 성립하는가?