[보안] 세션 하이재킹 (Session Hijacking)

koline·2023년 9월 14일
0

세션 하이재킹 (Session Hijacking)


공격자가 인증 작업 등이 완료되어 정상통신을 하고있는 다른 사용자의 세션을 가로채서 별도의 인증 작업 없이 가로챈 세션으로 통신을 계속하는 행위이다.

인증 작업이 완료된 세션을 공격하기 때문에 OTP, Challenge/Response 기법을 사용하는 사용자 인증을 무력화시킨다.



공격 방법


DoS 관련 포스팅의 SYN 플러딩에서 설명 한것 처럼일반적인 TCP 연결은 아래와 같이 흘러간다.

클라이언트 : SYN(문열어줘)
서버          : SYN(너도 문여셈)/ACK(ㅇㅋ)
클라이언트 : ACK(ㅇㅋ)

이걸 그림으로 조금 있어 보이게 표현하면 아래와 같다.

이미지 출처: 세션 하이제킹(Session Hijacking)이란?


세션 하이재킹 공격은 이렇게 서버와 연결이 되어있는 클라이언트의 세션을 가로채서 서버와 소통하는 것이다. 만약 로그인이 되어 있다면 해당 피해자의 정보를 탈취하거나, 혹은 만약 해당 피해자가 관리자라면 큰 피해를 줄 수 있게 된다.

이미지 출처: 세션 하이제킹(Session Hijacking)이란?




특징


  • TCP Sequence Number의 보안상 취약점으로 발생한다.
  • Victim과 Server 사이의 패킷을 Sniffing하여 Sequence Number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만든 뒤, Sniffing하여 획득한 Sequence Number를 이용해 공격한다.
  • 비동기화 상태로 패킷이 유실되어 재전송 패킷이 증가한다.
  • 세션 하이재킹을 통해 ACK Storm 증가, 네트워크 부하 증가 현상이 발생한다.



탐지 방법


  • 비동기화 상태 탐지
  • ACK 패킷 비율 모니터링
  • 특정 세션에서 패킷 유실 및 재전송이 증가되는 것 탐지
  • 기대하지 않은 접속의 리셋 탐지



참고


[보안] 소프트웨어 개발 보안

세션 하이제킹(Session Hijacking)이란?

profile
개발공부를해보자

0개의 댓글

관련 채용 정보