TCP 세션 하이재킹

eunsiver·2022년 12월 10일

정보보안

목록 보기
2/11

🧨TCP 세션 하이재킹

  • ID를 도용할 수 있는 방법 중 하나

🧶세션?

  • 논리적인 연결
  • 사용자와 컴퓨터 또는 두 컴퓨터간 활성화된 상태

🧶세션 하이재킹?

  • 사용자와 컴퓨터 간에 활성화되어 있는 상태인 세션을 가로채는 행위

🧶하이재킹을 함으로써 공격자의 입장의 이점?

  • ID와 패스워드를 입력하고 확인하는 절차를 건너뛸 수 있음
  • 두 컴퓨터 간의 세션은 ID, PW를 통해 만들어짐
  • 세션을 가로챔 = ID, PW를 가로챔

🧶 TCP 세션 두가지 상태

  • 동기화 상태: 정상적인 접속 상태
  • 비동기화 상태: 일시적으로 접속이 끊어진 상태

🧶 TCP 세션 하이재킹 동작 방식


동기화 상태 -> 비동기화 상태 -> (시퀀스 넘버 제어) 하이재킹

RST:

  • 세션을 리셋할 수 있는 패킷
    -> 일시적으로 TCP 세션을 끊음
  • 공격자가 새로운 시퀀스 넘버를 보냄
    -> 클라이언트의 리셋으로 위장
  • 공격자의 세션을 빼앗고 인증

🧶비동기화를 만드는 방법

  1. 서버에서 초기 설정 단계의 접속 끊음
    -> 다른 시퀀스 넘버로 새로운 접속 생성
  2. 대용량의 'null' 데이터를 보냄
    -> 서버를 비동기화 상태로 만듦

🧶TCP 세션 하이재킹 공격 순서

  1. 클라이언트는 서버와 모두 접속되어 있는 Established 상태
  2. 세션이 완전히 끊어지지 않는 시퀀스 넘버 범위에서 RST 패킷을 생성하여 서버에 전송 -> 서버는 잠시 closed 상태(비동기 상태)
  3. 공격자는 A_Client_My_Seq를 생성 -> 서버에 전송
  4. 서버는 SYN 수신 후 ACK를 재생성하여 공격자에게 보낸 후 SYN_Receiced 상태
  5. 공격자는 정상 연결처럼 서버와 시퀀스 넘버를 교환, 공격자와 서버 모두 Established 상태

🧶 세션 하이재킹 대응 방안

  1. 데이터 전송의 암호화
  2. 비동기화 상태 탐자 -> 세션 하이재킹의 전조적인 증상들을 파악
  3. ACK Storm 탐지 -> 대용량의 널 데이터가 송수신됨으로써 비동기 상태로 빠지는 부분을 미리 감지
  4. 패킷의 유실과 재전송 증가 탐지
  5. 기대하지 않은 접속의 리셋
profile
Let's study!

0개의 댓글