차이점
Dos (Denial of Sertvice)
- 공격자가 단일 컴퓨터를 통해 공격하는 경우를 말함
DDOS (Distributed Denial of Service)
- 분산된 다수의 컴퓨터(좀비 PC)를 통해 공격하는 경우를 말함
공통점은 둘 다 서버를 과부하시켜서 정상적인 시스템을 운영하지 못하도록 하는 것 (가용성 침해)
Dos 공격의 분류
- 파괴공격 : 디스크, 데이터, 시스템 파괴
- 시스템 자원 고갈 공격 : CPU, 메모리, 디스크의 사용에 과다한 부하 가중
- 네트워크 자원 고갈 공격 : 쓰레기 데이터로 네트워크 대역폭 고갈
Half-Open 연결이란?
- 직역하면 절반 개방 연결 상태를 말하는데
TCP 3-Way Handshake 과정 중 연결이 완전히 성립되지 않은 불완전한 상태를 의미하는 것이다
- 이를 이용해 TCP SYN Flooding Attack으로 이어진다.
Why? 왜 그럴까?
- 정상적인 TCP 3-Way Handshake라면
정상적인 연결 (Established)를 클라이언트가 SYN을 보내고 서버가 SYN + ACK로 응답을 하고
다시 클라이언트가 ACK로 마무리해서 연결을 완료하는 게 일반적인데
여기 나오는 Half-Open 상태로 되면 SYN을 보내고 SYN+ACK를 서버가 보냈는데 클라이언트에서 ACK가 오지 않는 상태임
때문에 이를 악용(Half-Open 상태로 대기)하여 서버의 접속 대기 큐인 (Backlog Queue)가 꽉 차버리게 하여서, 접속해야 할 정상적인 사용자가 연결 요청을 거부하게 만드는 원리이다.
그럼 대응방법은 뭐가 있을까?
1. 임계치를 설정하는 것이다 방화벽, DDOS 대응장비를 이용해서 동일 Clinet(IP)의 연결(SYN) 요청에 대한 임계치를 설정을 통해 과도한 연결요청이 발생하는 것을 차단한다. 대표적으로 iptables가 있음
iptables -A INPUT -p TCP --dprot 80 --syn -m connlimit --connlimit-above 5 -j DROP
이 명령어를 쓰면 이제 connlimit 임계치를 설정했다는 것이고 연결 시도가 5번을 초과할 시 DROP으로 차단시켜 버림
2. 시퀀스넘버 사용하기 (번호표라고 생각하면 됨) 다만 SYN-cookie를 곁들인..
여기서 SYN-Cookie란 무엇인가? 서버가 자원을 할당하기 전, 클라이언트가 정당한지 암호학적 확인을 거치는 방식
즉, 서버에서 암호화 기술을 이용해 인정 정보가 담긴 시퀀스 넘버를 생성하여 클라이언트에게 보내는 것
3. First SYN Drop 설정하기 이게 무엇이냐?
클라이언트부터 전송된 첫 번째 SYN은 DROP 한다 즉, 말 그대로 첫 번째 꺼는 차단하고 본다라는 뜻
TCP통신의 기본원리는 신뢰성이다. 클라이언트가 SYN 요청을 서버에게 보냈는데 응답이 없으면, 클라이언트는 유실이 되었나?라고 판단하고 재전송을 함 → First SYN Drop은 이점을 노림
1. 첫 번째 요청은 일부러 차단시킴
2. 정상적인 사용자와, 공격자의 차이
정상적인 사용자 : TCP 규정에 따라 잠시 뒤에 재전송 패킷을 보냄 (SYN)
공격자 : 일단 지르고 보는 스타일임 엄청난 얌을 SYN에 쏟아붓고 이것을 그냥 막 서버로 보냄
이 점을 기준으로 이렇게 보낸 패킷은 보안장비에서 걸러짐 정상적인 사용자는 통과시킴
그렇다면 공격자는 왜 이 방식을 사용하고, 방어하는 입장에선 왜 First SYN Drop을 적용시키는가?라는 궁금증이 생겼다
자료를 찾아본 결과
공격자는 SYN Flooding 공격으로 Backlog Queue (연결 대기열)을 가득 채우는 목적임 (가용성 침해)
First SYN Drop을 적용 시 가짜 공격 패킷들은 1바이트도 써보지 못하고 입구에서 컷당함 때문에 서버의 자원을 보호할 수 있게 되는 것임
글쓴이가 생각하는 비유로는 복싱을 하는데 일부러 잽을 한 대 맞아줌 그리고 상대스타일을 간파해서 방어하는 거라는 생각이 들었다
(생각이 아닐 수도 있음) 흠흠..
장점과 단점
장점 : 서버의 리소스 소모 (CPU, 메모리) 소모를 줄일 수 있다, 구현이 단순하다
단점: 정상적인 사용자가 최초 접속 속도가 약간 느려질 수 있음 (재전송 때문에)
'정보보안기사 > 네트워크 보안' 카테고리의 다른 글
| SMURF Attack (0) | 2026.04.13 |
|---|
