공시 한 판

정보보호론 개념서 · 해킹 기법과 사회공학

세션 하이재킹

설명 영상 세션 하이재킹 · 1:53

핵심 정리

세션 하이재킹은 공격 대상이 이미 시스템에 접속해 세션이 연결된 상태에서 그 세션을 가로채는 공격이다. 적법한 사용자의 아이디와 패스워드를 모르더라도 연결된 세션을 빼앗아 시스템 자원이나 데이터를 사용할 수 있다는 점이 핵심이다. 공격 대상은 사용자 계정이 아니라 연결된 통로 자체다. 시퀀스 번호 제어의 문제점을 악용하는 TCP 세션 하이재킹은 이 구조를 TCP 연결에 적용한 형태다. TCP 세션 하이재킹은 TCP 시퀀스 번호 제어의 문제점을 파악해 악용하는 공격이다. 시퀀스 번호는 TCP가 주고받는 데이터의 순서와 확인 응답을 맞추는 기준이므로, 이 번호를 알아내거나 조작하면 상대의 연결 안으로 끼어들 수 있다.

공격은 기존 연결을 끊은 뒤 조작한 번호로 연결을 다시 세우는 흐름으로 설명할 수 있다. 공격자는 RST 세그먼트로 세션을 끊고 조작한 시퀀스 번호로 새 연결을 맺어 세션을 탈취한다. 세션을 탈취한 뒤 공격자는 정상 사용자가 있던 자리에서 상대 시스템과 통신하고, 상대는 그 통신을 정상 사용자의 요청으로 받아들인다.

세션을 빼앗으려면 연결이 기대하는 시퀀스 번호를 알아야 한다. 공격자는 TCP 시퀀스 번호를 예측하거나 가로채 연결된 세션을 빼앗는다. 번호를 맞히지 못하면 상대는 패킷을 정상 데이터로 받아들이지 않으므로, 이 요건이 공격의 성패를 가른다. 시스템은 연결된 세션을 정상 사용자의 것으로 보고 요청을 처리하므로 공격자의 요청도 정상 요청처럼 처리된다. 따라서 세션 하이재킹은 인증 정보를 훔치지 않고도 자원과 데이터에 접근하는 수단이다.

자세히

연결이 흔들릴 때 나타나는 징후

TCP는 보낸 데이터마다 시퀀스 번호를 붙이고, 수신 측은 확인 응답인 ACK 번호로 다음에 받을 번호를 알려 준다. 양쪽의 번호가 서로 맞아야 세션의 동기화 상태가 유지된다. 세션 하이재킹 과정에서는 ACK 패킷이 폭주하는 ACK Storm이 발생한다. 같은 과정에서 패킷 유실과 재전송도 함께 증가한다. TCP 순서 번호가 정상 범위를 벗어나 비동기 상태가 되는 것은 세션 하이재킹의 징후이다. 이 세 현상은 번호 흐름이 흐트러진 연결에서 나타난다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 절 읽기