세션 하이재킹(Session Hijacking) 탐지 방법

세션 하이재킹(Session Hijacking)이란 공격자가 사용자의 세션을 가로채어 인증된 사용자로 가장하는 공격 기법을 의미합니다. 이는 웹 애플리케이션, 네트워크 프로토콜, 시스템 수준에서 발생할 수 있으며, 탐지하지 못하면 심각한 보안 사고로 이어질 수 있습니다. 본 글에서는 세션 하이재킹을 탐지하는 주요 방법을 깊이 있게 설명합니다.

비동기화 상태 탐지 (Desynchronization Detection)

세션 하이재킹 공격이 발생하면 공격자가 정상적인 사용자와 서버 간의 통신을 가로채거나 조작하여 세션이 비동기화될 수 있습니다. 즉, 서버는 특정 사용자가 특정 위치에서 연결을 유지한다고 인식하지만, 실제로는 공격자가 세션을 조작하여 제어하는 경우가 발생합니다.

탐지 방법

  • 세션 ID 검증

    • 사용자의 요청에서 전달된 세션 ID와 서버에 저장된 세션 ID를 비교합니다.

    • 한 개의 세션 ID가 서로 다른 IP 주소에서 동시에 사용되는 경우 이를 비정상적인 활동으로 간주해야 합니다.

    • 보안 로그에서 특정 세션 ID가 여러 장치에서 동시에 인증된 이력이 있는지 추적합니다.

  • 클라이언트 요청 타임스탬프 분석

    • 사용자의 일반적인 활동 패턴(예: 로그인 빈도, 사용 시간, 지역 등)을 기준으로 비정상적인 시간대에 요청이 발생하는지를 분석합니다.

    • 갑작스러운 시간 차이(예: 사용자가 1분 전 한국에서 로그인했는데, 1분 후 미국에서 요청을 보내는 경우)가 발생하면 경고를 생성해야 합니다.

  • 이전 요청과의 응답 지연 비교

    • 동일한 세션에서 요청 간 응답 시간이 급격히 증가하거나, 갑작스러운 네트워크 지연이 발생하는지를 확인합니다.

    • 공격자가 중간에서 데이터를 가로채거나 조작하면 서버 응답 속도가 불규칙해질 수 있습니다.

ACK STORM 탐지 (ACK Storm Detection)

TCP 기반의 세션 하이재킹에서 가장 일반적인 형태 중 하나는 공격자가 TCP 패킷을 가로채거나 변조하는 것입니다. 이 과정에서 서버와 클라이언트 간 통신이 비정상적으로 이루어지며, ACK 패킷이 폭증하는 ‘ACK Storm’ 현상이 발생할 수 있습니다.

탐지 방법

  • 네트워크 트래픽 모니터링

    • 동일한 TCP 세션에서 과도한 ACK 패킷이 생성되는지를 분석합니다.

    • 정상적인 트래픽에서는 클라이언트가 요청을 보내고 서버가 응답하는 형태이지만, 공격이 발생하면 ACK 패킷이 주기적으로 비정상적으로 증가할 수 있습니다.

  • 비정상적인 ACK 패킷 패턴 감지

    • 정상적인 세션에서는 일정한 패턴으로 ACK 패킷이 오갑니다.

    • 하지만 세션이 하이재킹되면 동일한 세션에서 비정상적으로 많은 ACK 패킷이 감지되며, 클라이언트와 서버 간의 패킷 흐름이 불규칙해질 수 있습니다.

    • IDS/IPS(침입 탐지 및 방지 시스템)를 이용하여 이상 패턴을 자동 감지하도록 설정할 수 있습니다.

  • 패킷 손실률 증가 감지

    • 과도한 ACK 패킷으로 인해 네트워크 과부하가 발생하면서 패킷 손실률이 급격히 증가할 수 있습니다.

    • 정상적인 환경에서는 일정한 패킷 손실률을 유지하지만, 세션 하이재킹 시 특정 세션에서 패킷 손실이 급격히 증가할 가능성이 있습니다.

패킷의 유실 및 재전송 증가 탐지 (Packet Loss & Retransmission Increase Detection)

세션 하이재킹이 발생하면 공격자가 정상적인 사용자와 서버 간의 통신을 방해하거나, 가로채는 과정에서 패킷 유실이 증가할 수 있습니다. 또한 공격자는 세션을 탈취한 후 클라이언트의 연결을 차단하여 재전송 패킷이 급격히 증가하는 현상을 초래할 수 있습니다.

탐지 방법

  • TCP 재전송률 확인

    • 특정 세션에서 TCP 재전송 패킷이 급증하는 경우 의심해야 합니다.

    • 공격자는 정상적인 사용자와 서버 간의 통신을 차단하거나 변조할 수 있으며, 이에 따라 사용자는 데이터를 재전송하려는 시도를 하게 됩니다.

  • 패킷 유실률 모니터링

    • 네트워크의 평균적인 패킷 손실률을 기준으로 특정 세션에서 급격한 증가가 있는지 분석합니다.

    • 세션이 하이재킹되면 불필요한 패킷이 손실되거나 변경되며, 정상적인 데이터 전송이 어려워질 수 있습니다.

  • 유사한 출처에서 오는 중복 요청 분석

    • 동일한 세션 ID를 사용하는 다중 요청이 발생하는지를 탐색합니다.

    • 공격자가 동일한 세션을 재사용하려 할 경우, 서버 로그에서 여러 개의 유사한 요청이 감지될 가능성이 큽니다.

예상치 못한 접속의 리셋 탐지 (Unexpected Connection Reset Detection)

공격자가 세션을 가로채기 위해 기존 사용자의 연결을 강제로 종료시키는 경우, 서버와 클라이언트 간의 연결이 예상치 못하게 끊어지는 현상이 발생할 수 있습니다. 이는 TCP RST 패킷(연결 재설정 패킷)이 비정상적으로 증가하는 형태로 나타납니다.

탐지 방법

  • 이상한 TCP RST 패킷 감지

    • 정상적인 사용자의 네트워크 환경에서는 RST 패킷이 자주 발생하지 않습니다.

    • 그러나 공격자가 세션을 차단하려 할 경우, RST 패킷이 다수 발생하며 정상적인 통신이 불가능해집니다.

  • 클라이언트의 접속 이력 분석

    • 정상적인 사용자의 접속 패턴과 비교하여 갑작스럽게 세션이 종료된 경우 이를 의심해야 합니다.

    • 예를 들어, 사용자가 로그인한 지 몇 초 만에 세션이 종료되고, 다른 IP에서 동일한 세션이 사용되려는 시도를 감지하면 위험 신호로 간주할 수 있습니다.

  • 동일 세션 내에서 다른 IP에서의 재연결 여부 확인

    • 특정 사용자의 세션이 종료된 후 짧은 시간 내에 새로운 IP에서 동일한 세션으로 접속하려는 시도가 있는지 분석합니다.

    • 이는 공격자가 기존 사용자의 세션을 탈취한 후 빠르게 재연결을 시도하는 신호일 수 있습니다.

결론

세션 하이재킹은 사용자 계정 탈취, 데이터 유출, 서비스 악용 등의 심각한 보안 위협을 초래할 수 있습니다. 따라서 비동기화 상태 탐지, ACK STORM 감지, 패킷 유실 및 재전송 증가 모니터링, 예상치 못한 세션 리셋 탐지 등의 방법을 활용하여 이를 신속하게 탐지하고 대응하는 것이 중요합니다. 기업 및 개인 사용자는 네트워크 트래픽 모니터링 도구를 활용하고, 이상 징후를 실시간으로 분석하여 세션 하이재킹 공격을 방어하는 데 집중해야 합니다.

CTR(Block Cipher Counter) 모드란?

2 thoughts on “세션 하이재킹(Session Hijacking) 탐지 방법”

Leave a Comment