14
Session Hijacking 발발 발 발발 발발발 , 발발발

Session Hijacking

Embed Size (px)

DESCRIPTION

Session Hijacking. 발표 및 실습 최인범 , 홍승우. 하이재킹에 대해 알아보기 전에 ... 하이재킹의 사전적 의미 ☞ 강탈 / 약탈 / 납치하다 세션 설정을 위한 3 Way-Handshaking 의 과정 동기화 상태 (Synchronized) 비동기화 상태 (Desynchronized). SYN(Synchronization) - 세션 설정을 위한 동기화를 위하여 보내는 패킷 . ACK(Acknowledgement) - PowerPoint PPT Presentation

Citation preview

Page 1: Session Hijacking

Session Hijacking

발표 및 실습 최인범 , 홍승우

Page 2: Session Hijacking

하이재킹에 대해 알아보기 전에 ...

• 하이재킹의 사전적 의미☞강탈 /약탈 /납치하다

• 세션 설정을 위한 3 Way-Handshaking의 과정

• 동기화 상태 (Synchronized) 비동기화 상태 (Desynchronized)

Page 3: Session Hijacking

명 칭 설 명 CLT_MY_SEQ 클라이언트가 생성한 자신의 시퀀스 넘버 CLT_SVR_SEQ 클라이언트가 알고 있는 서버의 시퀀스 넘버 SVR_MY_SEQ 서버가 생성한 자신의 시퀀스 넘버 SVR_CLT_SEQ 서버가 알고 있는 클라이언트의 시퀀스 넘버

DATA_LEN 데이터의 길이

SYN(Synchronization)- 세션 설정을 위한 동기화를 위하여 보내는 패킷 .

ACK(Acknowledgement)- 송신측으로 부터의 수신이 성공적이었음을 알리는 패킷 .

Page 4: Session Hijacking

3 Way-Handshaking 의 과정

Page 5: Session Hijacking

Established 상태란 ?

A B

각자의 SEQ No. 를 교환하여 저장하면 일단 Established 상태로 전환 .

I know B’s SEQ No.

I know A’s SEQ No.

Page 6: Session Hijacking

유의 사항하이재킹에 의한 공격자가 개입된 상태에서는

통신 양자간에 모두 Established 상태라 해도 세션 설정이 되었다는 보장은 없다 .(통상적으로는 세션 설정 성립 .)

하이재킹은 공격자가 CLT 와 SVR 간의 동기화 상태를 비동기화 상태로 고의적으로 만드는 것에서 본격적으로 시작된다 .

세션설정의 과정을 거치기전에 이미 CLT 는 인증과정을 거친 상황 .( 예 -ID 와 Password 일치 )

Page 7: Session Hijacking

SVRCLT

ATT①SYN

③ACK

②ACK + SYN ②도청

④RST

⑤SYN

⑦ACK

⑥ACK + SYN

CLT_Est.

SVR_Est.

CLT_Est.

SVR_Est.

Normal packet

ACK

ACK

ACK

ACK

ACK

ACK Storm

Page 8: Session Hijacking

Attacker

3Way-Handshaking 의 두 번째 단계에서 CLT 와 SVR의 시퀀스넘버 , 포트번호 등의 중요 정보를 공격자가 획득 .

과정 - ②

Page 9: Session Hijacking

과정 - ④

RST 패킷의 역할 - 비정상적인 종료를 알림 .공격자가 도청한 정보를 바탕으로 RST

패킷을 보내면 서버는 일시적인 장애로 인해종전의 세션이 설정된 CLT 와 연결이 끊긴것으로 인식 .

RST 패킷을 보냄으로써 연결이 끊긴 상태지만 세션 설정하기 전의 인증과정을 다시 거칠 필요는 없다 . ( 하이재킹의 장점 )

Page 10: Session Hijacking

과정 - ⑤⑥⑦

공격자가 CLT 와 SVR 의 세션 설정을 끊은 후 , 자신과 SVR 간에 세션 설정을 위해 3Way-Handshaking 과정을 거침으로서 , CLT 가 확보했던 세션권한을 공격자가

갈취하게 됨 .과정⑦까지의 상황이 될 때까지 CLT 가

가만히 있기만 한다면 CLT 자신은 세션을 갈취당한 사실 조차 모른다 .

Page 11: Session Hijacking

ACK Storm

CLT 와 SVR 은 모두 Established 상태이지만 정작 중요한 시퀀스 넘버는 서로 일치하지 않는 상태이므로 정상적인 통신은 불가능 .

시퀀스 넘버가 서로 일치하지 않기 때문에 동기화를 위해 CLT 와 SVR 은 서로 ACK패킷을 끊임없이 주고 받게 됨으로써

☞ACK Storm 발생 .

Page 12: Session Hijacking

ACK Storm 발생 우려 없는 보다 안전한 하이재킹

앞서 배운 arp 스푸핑을 이용하여 CLT 와 SVR 간의 모든 패킷이 공격자를 거치도록 한다 .

Page 13: Session Hijacking

비동기화 상태 탐지 .

ACK Storm 탐지 .

패킷의 유실 및 재전송 증가 탐지 .

접속 초기 시 리셋의 탐지 .

세션 하이재킹의 탐지

Page 14: Session Hijacking

전송 데이터의 암호화 .- 스니핑 방지를 위함 .

지속적인 인증 .

- 공격자는 인증절차를 건너 뛴 상태 .

아직까지는 근본적인 대응책은 없음 .

대응책