세션 하이재킹 (Session Hijacking)

이주안·2024년 8월 10일

세션 하이재킹 (Session Hijacking)

공격자가 두 컴퓨터 간의 유효한 세션을 장악할 때 발생.
공격자는 시스템에 침입하여 데이터를 스누핑하기 위해
유효한 세션 ID를 훔침

대부분의 인증은 TCP 세션이 시작될 때만 발생
TCP 세션 하이재킹에서는, 공격자가 세션 중간에 두 시스템 간의 TCP 세션을 장악하여 접근 권한을 획득

세션 하이재킹이 발생하는 이유

유효하지 않은 세션 ID에 대한 계정 잠금이 없다.

취약한 세션 ID 생성 알고리즘

안전하지 않은 취급

무기한 세션 만료 시간

짦은 세션 ID

일반 텍스트로 전송

세션 하이재킹 과정

  1. 스니프(Sniff): 중간자(man-in-the-middle, MITM) 공격을 수행. 공격받는 컴퓨터와 서버 사이의 자기 자신을 위치.

  2. 모니터링(Monitor): 서버와 사용자 사이에 흐르는 패킷을 관찰.

3.차단(Break): 공격받는 컴퓨터의 연결을 종료.

4.제어(Take control): 세션을 제어.

5.주입(Inject): 공격받는 컴퓨터의 세션 ID를 사용하여 서버에 새로운 패킷을 주입.

세션 하이재킹으로부터의 보호

보안 쉘(SSH)을 사용하여 보안 통신 채널을 생성.

HTTPS 연결을 통해 인증 쿠키를 전달.

사용자가 세션을 종료할 수 있도록 로그아웃 기능을 구현.

로그인 성공 후 세션 ID를 생성.

사용자와 웹 서버 간에 암호화된 데이터를 전달.

문자열이나 길이가 긴 난수를 세션 키로 사용.

0개의 댓글