본문 바로가기

정보보호/정보보호론(박승철)

정보보호론-(7) 세션 하이재킹, APT, 스피어 피싱, 스미싱, 랜섬웨어

정보보호론-(7) 세션 하이재킹, APT, 스피어 피싱, 스미싱, 랜섬웨어

세션 하이재킹 공격(Session Hijacking Attak)
세션(Sesson)이란?
- 통신 당사자들간에 구별가능한(Identifiable) 통신이 진행중인 상태
- TCP 연결, 쿠키기반의 웹 세션

세션 하이재킹(Session Hijacking)이란?
- 인증 작업이 완료되어 정상적으로 통신이 이루어지고 있는 다른 사용자의 세션을 가로채서 별도의 인증 작업없이 가로챈 세션으로 통신을 지속하는 행위 
- 생체 인증, OTP, 챌린지/응답 기법등 강력한 사용자 인증 수단을 무력화 시킬 수 있음
- TCP 연결 하이재킹(TCP Connection Hijacking)
- 웹 세션 하이재킹(Web Session Hijacking)

TCP 연결 하이재킹(TCP Connection Hijacking)
- 다른 사용자의 TCP 연결을 가로채는 공격
- 순서 번호 추론 TCP 연결 하이재킹
- 스니핑 기반 TCP 연결 하이재킹

순서 번호 추론 TCP 연결 하이재킹
- 공격 대상자를 DoS 공격으로 무력화 시킨 뒤, 공격 대상자와 서버간의 TCP SYN Sequnce number를 추론하여 서버와 TCP 연결을 수행함
- 서버가 ISN(Initial Sequence Number)값을 고정값을 사용하거나 추정하기 쉬운 값을 사용하는 경우 취약함

<그림 1: 순서 번호 추론 TCP 연결 하이재킹>

- 그러나, 순서 번호 추론 TCP 연결 하이재킹은 공격자->서버 방향의 일방향 통신만 수행할 수 있음

스니핑 기반 TCP 연결 하이재킹
(1) 스니핑을 통해 공격 대상자와 서버간의 트래픽을 스니핑하여 패킷 가공에 필요한 정보를 확보(IP 주소, 포트 번호, seq 값)
(2) 사용자와 서버간의 TCP 연결을 RST 패킷 전달을 통해 취소시킨 뒤 그 이후의 사용자와 서버간의 TCP 연결을 비동기화 시킴으로써 상호간 TCP 연결을 차단시킴
(3) 공격자는 사용자로 위장하여 서버와 TCP 통신을 수행

# 동기화 상태(Synchronization State)
- 클라이언트와 서버가 수신된 데이터의 순서번호(SEQ)와 상대방에게 수신을 확인한 확인번호(ACK)의 차이를 수신 버퍼의 빈 공간의 크기를 나타내는 수신 윈도우(WIND)보다 작게 유지하는 상태

# 동기화 조건
Sever_ACK <= Clinet_SEQ <= Server_ACK + Server_WIND
Cline_ACK <= Server_SEQ <= Client_ACK + Clinet_WIND

<그림 2: TCP 3-way handshaking, window size>
<그림 3: TCP Segment 구조>

# 비동기화 상태
- 동기화 조건 미 충족 상태
- 수신 버퍼 오버플로우 발생 가능(= 데이터를 수신할 수 없는 상태)

# ACK 스톰(ACK Storm)
- 비동기화 상태에서 패킷을 수신하면 정상 패킷 송신을 유도하기 위해 클라이언트와 서버가 ACK 패킷 송신을 계속 반복하는 형상

<그림 4: 스니핑을 통한 TCP 연결 하이재킹>

- 중간자 공격 방식으로 사용자와 서버간 통신하는 패킷을 스니핑(Sniffing, 훔쳐보다)
- 사용자와 서버간의 통신을 차단하기 위해 사용자, 서버간 TCP 연결 상태를 '비동기화 상태'로 만듦
- '비동기화 상태'로 만들기 위한 U값 설정이 핵심

웹 세션 하이재킹(Web Session Hijacking)
- 비상태형 프로토콜(Stateless Protocol)
- 일련의 HTTP 요청 메시지-응답 메시지들은 상호 연관관계 없이 각각 독립적으로 처리됨(HTML 1.0)

웹 세션
- 일련의 HTTP 요청 메시지와 응답 메시지를 연계시켜 상태형(stateful) 웹 서비스를 제공하기 위해 도입
- HTML 1.1

웹 세션 식별자(Cookie, 쿠키)
- stateful 웹 서비스를 위해 웹 서버가 웹 클라이언트에게 할당해 주는 식별값.
- 최초 1회에 한해 클라이언트와 서버간 인증절차를 거치면 추후의 클라이언트와 서버간의 연결은 쿠키값 식별을 통해 별도의 인증 절차를 생략함
- 세션 식별자 = 인증 토큰(Authentication Token)

<그림 5: HTML 프로토콜의 쿠키>

세션 고정 공격(Session Fixation Attack)
- 공격자가 먼저 서버로부터 세션 식별자를 획득 한 뒤 임의의 사용자가 해당 세션 식별자를 통해 서버에 접근하여 로그인하여 사용자의 접근 권한을 획득하는 방법

<그림 6: Session Fixation Attack>

APT(Advanced Persistent Threat)
- 특정 군사, 산업기관의 주요 설비를 목표로 특별하게 설계되어 고도화 시킨 공격 행위

스피어 피싱(Spear Phishing)
- 특정 기관의 구체적인 개인 또는 그룹을 '목표'로 진행되는 매우 specific한 피싱 공격

스미싱 공격(Smishing)
- SMS + phishing의 합성어로 SMS 문자 메시지를 통한 악성 소프트웨어 설치를 유도하고 개인 민감 정보를 탈취하는 행위

Reference
1. 

제7강_세션하이재킹_APT_스피어피싱_스미싱_랜섬웨어공격.pdf
0.64MB

2. https://www.youtube.com/watch?v=wCH2OdGCtak