[정보보안 기사 - 국가기술자격] [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

 

 

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 모드 설정

 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

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

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 침투테스트(취약점검점검, 모의해킹) 문의 / 답변 졸리운_곰 2017.12.10 28360
92 [보안뉴스] 당신 폰을 훤히 들여다본다... ‘백도어 해킹’의 신무기 스파이칩 file 졸리운_곰 2023.03.26 78
91 [보안뉴스] 전 세계에서 가장 흔한 20개의 비밀번호는 무엇? file 졸리운_곰 2022.11.29 99
90 [보안뉴스] 디지털 바이러스, 그놈이 다시 창궐한다 file 졸리운_곰 2022.03.13 105
89 [보안뉴스] “해결 방법 없다” 구글이 본 제로클릭 공격의 위험 file 졸리운_곰 2022.01.19 132
88 [보안뉴스] 멕시코서 1200억 턴 北해커, 한국 계좌로 송금...누구에게? file 졸리운_곰 2021.02.19 175
87 [단독]”남한 은행 모조리 털어라” 돈줄 마른 북한, 이런 해킹팀까지 file 졸리운_곰 2021.02.12 140
86 "저쪽 애들에게 당했어" 北해킹에 10년 베테랑 기자도 낚였다 file 졸리운_곰 2020.07.05 210
85 北 3개 해킹조직, 亞서 6800억원 규모 암호화폐 탈취 file 졸리운_곰 2020.02.09 156
84 일본 호텔에 근무하는 로봇들, 몰카로 변신시킬 수 있다 file 졸리운_곰 2019.10.25 271
83 [주말판] 프라이버시 침해가 판치는 인터넷에서 살아남기 file 졸리운_곰 2019.01.20 175
82 "애플·아마존 서버에 중국 스파이칩… 한국도 안전 장담 못해" file 졸리운_곰 2018.10.06 207
81 1사분기의 디도스 공격, 숨으려 하지 않았다 file 졸리운_곰 2018.07.06 222
80 갠드크랩 랜섬웨어, 국내 피해 갈수록 확산 file 졸리운_곰 2018.04.22 233
79 [김민석의 Mr. 밀리터리] 가공할 북한 사이버 공격력, 한국은 기능부전 file 졸리운_곰 2018.02.23 270
78 대북제재로 더 과감해지는 北 해킹…美 "전세계가 해킹 표적" file 졸리운_곰 2018.02.21 182
77 인텔 CPU 보안패치 업데이트 했더니 더 심각한 오류가… file 졸리운_곰 2018.01.23 224
76 핵티비스트들이 가장 선호하는 취약점 두 개는? file 졸리운_곰 2018.01.23 245
75 [카드뉴스] 온라인 게임 사기 예방수칙 5 file 졸리운_곰 2018.01.07 196
74 앱 보안 취약한 원인은 오픈소스와 코드양 때문 file 졸리운_곰 2018.01.04 293
73 [카드뉴스] 오늘의 가상화폐 이슈 모아보기 file 졸리운_곰 2017.12.10 136
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED