- 전체
- 보안뉴스
- 제로데이취약점
- 해킹프로그래밍
- 웹해킹
- 해킹기법
- 정보보호
- 정보보안기사 - 국가기술자격
- 악성코드분석_리버싱
- 시큐어코딩_개발보안진단원
- CISSP
- CISA
- 모의해킹_penetration-test
- deepweb / tor network
- Kali Linux
[정보보안 기사 - 국가기술자격] [Kali Linux] Dos(Denial of Service) 공격 및 방어
Dos 공격이란?
- 시스템이나 네트워크의 구조적인 취약점을 이용하거나 대량의 데이터를 보내어 타깃 시스템이 정상적인 서비스를 하지 못하도록 마비시키는 공격
- 1 대 1 공격 방식이다.
Dos 공격의 종류
- 물리적인 파괴(디스크 및 시스템 파괴)
- 시스템 자원 공격(CPU, MEM, DISK의 자원고갈)
- 네트워크 자원 공격(대역폭 고갈)
1. Ping Of Death(POD)
- 최대 IP 패킷 사이즈보다 큰 Ping 패킷에 대한 검사를 하지 않음으로써 문제가 발생한다.
- 타깃은 해당 쪼개진 패킷을 재조합하는 과정에서 buffer overflow 및 시스템 충돌이 발생한다
2. Land Attack
- 자신으로부터 전달된 TCP SYN 패킷에 대해 검증 없이 스스로에게 응답을 함으로써 발생한다.
- 출발지 주소/포트 와 목적지 주소/포트가 같은 곳으로 설정한다.
- SYN Flooding 공격과 같이 타깃의 자원 고갈로 인한 서비스 장애를 유발한다.
- POD공격과 Land Attack공격은 현재 보안 기술이 적용되어있어 사용되지 않는다.
3. SYN Flooding 공격
- TCP Three-way Handshake 과정에서 타깃은 SYN 패킷을 받은 후 Backlog Queue의 자원을 할당해 주며, 이에 대한 SYN/ACK 응답을 한 후 ACK 패킷이 들어올 때까지 기다린다.

- 이러한 TCP/IP 프로토콜의 구조적인 문제는 다수의 SYN 요청으로 인한 Backlog Queue의 자원을 낭비하여 일반 유저 들에 대한 서비스 장애를 초래 (Half-Open을 저장할 공간이 남아있지 않게 된다.)

Kali Linux에서 SYN Flooding 공격
네트워크 구성

- Kali Linux(2.2.2.1)에서 Web Server(10.1.250.3)에게 STN Flooding 공격을 실시하려고 한다.
1. 공격전 WebServer 확인
- netstat -an 명령어로 현재 TCP 연결 상태를 확인한다.
- 대부분의 TCP가 LISTENING 상태인 것을 확인할 수 있다.

2. Kali Linux에서 hping3 공격(SYN Flooding)
--rand-source: 랜덤한 출발지 주소
www.ictsec.com: 목적지 주소
-p 80: 포트번호 80번으로 전송
-S: SYN Flooding 공격

3. Wireshack로 패킷 확인
- 랜덤한 출발지 IP에서 SYN Flooding이 발생하는 것을 확인할 수 있다.

4. Web Server에서 확인
- netstat an 명령어를 사용하면 SYN_RECEIVED 메시지가 있는 것을 확인할 수 있다.

Dos 공격 방어 방법
- Dos 공격 방어 방법은 TCP Intercept, CoPP 2가지 방법이 존재한다.
1. TCP Intercept
- SYN Flooding 공격을 방어할 수 있는 방법 중 하나이다.
- SYN Flooding 공격은 Firewall, L4 / L7 스위치에서 방어할 수 있다.
- L4/L7 스위치의 TCP Delay Binding 기능을 활성화하면 SYN Flooding 공격이 발생됐을 때 서버에게 공격이 전달되지 않는다.
- TCP Delay Binding 기능을 L3 장비에서 구현한 것이 TCP Intercept이다.
- TCP Intercept 기능이 구성된 장비는 클라이언트와 서버 사이에서 TCP 3-Way-Handshakes 과정을 감시하는 것이 가능하다.
Intercept 모드
1. Default(기본) 모드
- L3 장비가 자신이 서버 인척 클라이언트와 TCP Connection을 맺고, 정상적으로 TCP Connection이 생성되면 (Established) 해당 Connection 정보를 서버에게 전달한다. (스위치가 중간자 역할을 수행한다.)
- Attacker가 마지막 Ack를 일정 시간 동안 전송하지 않을 경우 해당 Half-Open 상태를 서버에게 전달하지 않기 때문에 서버에게 부하를 주지 않는다.
DSW1, 2 스위치에 Intercept 모드 설정

|
conf t access-list 100 permit tcp any host 10.1.250.3 eq 80 ip tcp intercept mode intercept ip tcp intercept list 100 ip tcp intercept connection-timeout 30 |
패킷 확인
1. netstat -an 확인
- 스위치에서 차단하기 때문에 LISTENING 상태만 표시되게 된다.

2. WireShack 패킷 확인
- WebServer로 들어오는 패킷은 SYN Flooding이 발생하지 않는다.

- DSW1, 2로 들어오는 패킷은 SYN Flooding 공격이 발생하지만 RST 패킷을 보낸다.

3. show tcp intercept statistics 명령어 확인
- 연결이 허용되지 않는 것을 확인할 수 있다. (19 incomplete, 0 established connections)

2. Watch 모드
- Intercept 모드의 경우 L3 장비에 부담이 될 수 있다.
- Watch 모드를 사용할 경우 L3 장비가 대신 연결을 맺는 것이 아니라 클라이언트와 서버의 TCP 연결 과정을 감시하게 된다.
- 클라이언트가 전송해야 하는 마지막 ACK가 30초 이내에 전송되지 않는 경우 자신이 클라이언트 인척 서버에게 RST를 전송하여 연결을 빠르게 종료하도록 유도한다. (Timer 시간 조정 가능하다.)
DSW1, 2 스위치에 Watch 모드 설정

|
conf t access-list 100 permit tcp any host 10.1.250.3 eq 80 ip tcp intercept mode watch ip tcp intercept list 100 ip tcp intercept watch-timeout 30 |
access-list 100 permit tcp any host 10.1.250.3 eq 80: 출발지는 아무나 10.1.250.3 IP의 80번 포트로 가는 패킷을 허용한다.
ip tcp intercept mode watch: watch 모드로 설정한다.
ip tcp intercept list 100: access-list 100번을 watch 대상으로 설정한다.
ip tcp intercept watch-timeout 30: ACK 대기시간을 30초로 설정한다.
패킷 확인
1. show tcp intercept connection 확인
- STNRCVD, SYNSENT 패킷들이 W(Watch) 모드인 것을 확인할 수 있다.

2. Wireshack 패킷 확인
- 패킷을 확인하면 30초가 지나면 RST 패킷을 보내는 것을 확인할 수 있다.
- 이로써 Backlog Queue가 가득 차는 것을 어느 정도 방지할 수 있다.

2. CoPP(Control Plane Policing)
- Server가 아닌 Network Device(Router / Switch 등)를 대상으로 DoS 공격을 진행하는 경우 Copp를 사용하여 공격을 방어하는 것이 가능하다.
네트워크 구성도

- Attacker(Kali Linux)에서 CE Router로 공격을 시도하려고 한다.
- 공격자가 Network Device의 IP 주소를 대량의 Packet을 전송하게 되면 해당 Device는 Control Plane으로 Packet들을 처리하기 때문에 CPU 혹은 메모리 등에 과부하가 발생하게 된다.
- Control-Plane이 정상적으로 동작할 수 없기 때문에 트래픽 처리가 불가능해 질 수 있다.
[출처] https://peemangit.tistory.com/87
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 침투테스트(취약점검점검, 모의해킹) 문의 / 답변 | 졸리운_곰 | 2017.12.10 | 28360 |
| 2 |
주제6.정태황 교수_영업비밀 관리방안_물적보안.pdf
| 졸리운_곰 | 2015.01.30 | 418 |
| 1 | CISSP 자격증을 취득한후... | 졸리운_곰 | 2014.11.03 | 504 |

