정보보안

DOS / DDOS / DRDOS

qk2275 2026. 6. 5. 17:43

글 흐름 , 목표 확인

- Dos는 한 공격자가 한 대상의 자원을 고갈시키는 공격

- DDos는 여러감염 pc 또는 봇넷이 동시에 공격하여 대상의 네트워크 대역폭 , 세션 , cpu / 메모리 고갈

- 패킷에서 무엇을 봐야 공격을 구분하는지 아는게 중요

  ex) Fragmented IP , 출발지 = 목적지 , 브로드캐스트 주소 , SYN 반복 , 불완전한 HTTP 헤더 등

 - 어떤공격이 무엇을 고갈시키는지 확인

 


실습준비

kali ( 20.20.20.20)
공격자
   hping3 / ping  =>        GNS
      라우터
ICMP / TCP /UDP => Rocky ( 10.10.10.10)
서버
확인
서버 ( iftop ) - 트래픽
Wireshark - 패킷

 

구성요소 IP / 역활 설명
서버 Rocky Linux 10.10.10.10 공격 트래픽을 받는 실습 서버 , iftop 으로
TX / RX 확인
Kali Linux 20.20.20.20 hping3 , ping , slowhttptest 등으로
트래픽 발생 시킴
추가 SEVAS 30.30.30.30 Smurf 실습에서 브로드캐스트 네트워크 쪽 호스트로 사용
Wireshack vmnet1 / vmnet3 단편화 , 브로드캐스트 , SYN , UDP 등
패킷 특징 확인

실습환경 기본 틀

 

서버에서 iftop 실행

 

kali에서 용량큰 ICMP ping 서버에 전송

 

서버 iftop에서 트래픽 확인

TX - 서버가 내보낸 트래픽 , RX - 서버가 받는 트래픽

공격여부 확인은 RX 증가량을 통해 확인


Dos / DDos / DRDos 개념

- Dos 는 공격 대상의 자원을 고갈시켜 정상 사용자가 서비스를 이용하지 못하게 만드는 공격

- DDos 는 여러 감염pc 나 봇넷이 동시에 공격하는 분산 서비스 거부공격

- DRDos 는 반사 서버를 이용해 트래픽을 증폭시키는 분산 반사공격

용어정리

- C&C ( Command & Control ) : 좀비 pc에게 명령을 내리는 제어 서버

- 좀비 pc / Botnet : 악성코드 감염 후 공격 명령을 수행하는 pc 또는 그 집합

- DRDos : DNS , NTP 같은 서버에 피해자 IP로 위조 요청을 보내 응답이 피해자에게 몰리게 하는 방식

공격유형

 


IP Spoofing

- IP Spoofing은 패킷의 출발지 IP를 실제 공격자의  IP가 아닌 다른 IP로 바꾸는 것

- 공격자를 숨기거나 반사 공격에서 응답이 타깃으로 가게 만들 때 사용

 

출발지 IP를 20.20.20.40 또는 30.30.30.40 으로 바꿈

hping3 -1 -a 30.30.30.40 10.10.10.10

-1 : ICMP 모드
-a IP : 출발지 IP 변경
10.10.10.10 : 목적지 서버

출발지 IP를 랜덤으로 바꿈

와이어샤크 관찰 포인트

- 출발지 IP가 계속 바뀐다.

- IP는 다른데 같은 구간에서 MAC 주소가 돌일하게 보이면 Spoofing 가능성 있음

대응

- 내부망에서는 NAC ,포트보안 , IP-MAC 매핑을 사용

- 라우터 / 방화벽 에서 비정상 출발지 주소를 필터링

- 외부에서 내부 사설 IP를 출발지로 하는 패킷은 차단

 


Ping of Death

- 용량이 큰 ICMP 패킷을 보내 IP 단편화가 많이 발생하도록 만드는 공격

- 대상이 재조립하는 과정에서 부담을 받게 하는 공격

 

ICMP 데이터 크기 지정

hping3 -1 -d 40000 10.10.10.10

-d 40000 : ICMP 크기를 40000으로 지정

와이어샤크 vmnet1 에서 Fragmented IP protocol 확인

Wireshark 봐야할 곳

Fragmented IP protocol 확인
off = 0 , off = 1480 , off = 2960 . . .

 

Ping of Death = 큰 ICMP 패킷 + IP 단편화 ( Fragmented ) + 재조립 부담

 


LAND Attack

- 출발지 IP와 목적지 IP를 같게 조작하는 공격

- 대상 시스템이 자기 자신과 통신하는 것처럼 처리하게 만들어 자원부담 유발

 

출발지와 목적지를 10.10.10.10 으로 동일하게 지정

 

뒤에 -d 40000 을 붙혀 ping of death 공격까지 같이 이뤄지게 만듬

 

와이어샤크 관찰포인트

- 출발지와 목적지 IP 가 같은지 확인

대응

- 출발지와 목적지가 같은 same - ip 패킷 차단

 

서버에서 트래픽 증가 확인

ping of death ( -d 40000 --flood ) 공격이 잘 이뤄지나 RX 증가량 확인

 


UDP Flood

- UDP 패킷을 대량으로 보내 네트워크 대역폭을 소모시키는 공격

- 특정서비스 하나가 아니라 네트워크 전체에 영향을 줄 수 있음

 

hping3 -2 --rand-source -d 40000 -p 50-53 --flood 10.10.10.10

-2 : UDP 모드
--rand-source : 출발지 IP 랜덤 위조
-d 40000 : 데이터 크기 지정
-p 50-53 : 포트범위 지정
--flood : 빠르게 전송

 

특징

- udp flooding 은 네트워크 banwidth를 소모하여 특정서비스가 아니라 모든 시스템에 영향을 줌.

- ip filter로 차단이 힘듬 (특정포트가 열릴 필요가 없음)

- 단일호스트로는 피해를 주기 어려움

- 주로 DDOS에서 공격이 이루어진다.

대응

- Anti-DDos 장비씀 ( 가장 최상단 장비 )

- 임계치 이상의 부하가 생기면 차단시킴

- clock rate 처럼 속도조절해서 부하를 줄임

 


Smurf Attack

- 공격자는 출발지 IP를 타깃으로 위조하고 목적지는 희생 네트워크의 브로드캐스트 주소로 보냄

  이러면 희생 네트워크의 여러 pc가 타깃에게 응답해 트래픽이 증폭됨

 

 

smurf attack 실습준비

- sevas.zip 한개 더 풀어주고 vm웨어에서 vmnet3 추가

- vmnet3에 dhcp 체크 풀어주고 host-only

- 기존 ens 라우터에 host vmnet3 한대 더 연결

- vm웨어에서 새로만든 sevas에 vmnet3 주고 mac주소 초기화

- 핑 되나 확인

 

vm웨어 VMnet3 설정

 

GNS설정 vmnet3 라우터설정은 nat설정없이 주소만 추가

 

ens 라우터

기본적으로 브로드캐스트 통신은 막혀있음 막혀있는걸 열어줌

라우터에서 브로드캐스트 막는거 시험나옴

 

vmnet3 sevas(30.30.30.30)

 

새로만든 서버에서 기본적으로 1로 설정되어 막혀있는 브로드캐스트를 0으로 설정해서 열어줌

 

브로드캐스트 주소로 ICMP 요청

대응

- 서버에서는 브로드캐스트 호출하는 패킷을 차단

- 라우터에서는 no ip directed-broadcast 로 막아놈

 

Smurf = 브로드캐스트 주소 + 출발지 IP 위조 + 여러 pc가 타깃에게 응답

 

* 스머프 공격을 해커한테 받아서 내 피시가 다른pc를 공격하게 되면 내가 손해배상 다 해야됨

 


SYN Flood

- TCP 3 - way handshake 중 첫 단계 SYN을 대량으로 보내 서버가 연결 대기 상태를 많이 만들게 하는 공격

- 마지막 ACK가 오지 않으면 서버의 대기 큐와 자원이 부담을 받음

 

정상은 3way를 다 끝내지만 SYN공격자는 안끝냄

 

실습준비

- 서버에 기본적으로 막혀있는걸 먼저 열어줘야됨

- 인터넷 쿠키삭제

 

tcp_syncookies 파일 확인

 

tcp_syncookies 와 tcp_max_syn_backlog 값 변경

 

kali에서 SYN Flood 명령 실행

 

http 접속해보면 현재는 커널에서 어느정도 처리를 하기때문에 잠깐 먹힘(로딩걸리는 정도)

공격보낸후 vmnet3 와이어샤크에서 확인

서버접속은 문제없이 되지만 와이어샤크에 핑은 계속 올라감

확인 후 핑 종료

 

실습 후 원복

 

원복 후

칼리에서 이 방법도 실습 가능 nping --tcp-connetct -p 80 -rate=90000 -c 90000 -q 10.10.10.10

 

대응

- SYN cookie 활성화 해서 3 way - handshack 가 완료된 것만 로그기록


TCP Connection Flooding

- SYN만 보내고 끝나는 것이 아니라 실제 TCP 연결을 많이 맺어 서버의 세션 자원을 고갈시키는 방식

- 3 way - handshack 과정을 과도하게 유발

- 기존의 SYN Flooding 보안대책을 무력화 시킴

 

대응

- tcp_syncookie 활성화

- ip당 세션제한 (ips, 웹서버에서 커넥션 모듈설치) 해서 막을 수 있음

 


Slowloris Attack

- http 요청 헤더를 일부만 천천히 보내 웹 서버가 요청이 끝나기를 계속 기다리게 만드는 공격

- 서버는 연결을 오래 유지하느라 정상 사용자를 처리하기 어려워질 수 있음

 

실습준비

 

dnf 와 apt-get 비교

 

kali(20.20.20.20)에서 slowhttptest 설치 및 실행

 

와이어샤크 패킷 확인

 

와이어샤크 관찰포인트

- 패킷한개 내용 확인시 0d 0a 0d 0a 가 나와야 그 패킷이 처리됨

  이게 안나오면 다음 패킷들은 들어와도 계속 기다림

대응

- 세션 임계치 제한 서버응답시간 timeout 최소설정

- 헤더정보이후에 psh 패킷이 들어올 수 없도록함

- 웹 서버 설정에서 불완전 요청을 오래 유지하지 않게 하기

- WAF / IPS 에서 Slow http 계열 공격탐지

 

비슷한공격

get flooding (메모리 과다공격)

hulk attack (url 뒤에 파라미터값을 무작위로 변경)

 


각 공격 한줄요약

1. Ping of Death
= 큰 ICMP 패킷으로 부하 유발

2. IP Spoofing
= 출발지 IP를 위조하여 공격자 은닉
( 방어: IP-MAC 검증, NAC)

3. LAND Attack
= 출발지 IP와 목적지 IP를 동일하게 설정

( 방어: same = ip 패킷차단)


4. Smurf Attack
= Broadcast(255.255.255.255)를 이용한 ICMP 증폭 공격

( 방어: 서버 , 라우터에서 브로드캐스트 호출 차단 )

5. SYN Flood
= SYN만 보내고 ACK를 보내지 않는 세션 고갈 공격
( 방어: SYN Cookies 활성화)

6. SYN Connection Flooding
= 정상 TCP 연결을 대량 생성하여 세션 자원 고갈
( 방어: IP당 세션 수 제한)

7. Slowloris
= HTTP 연결을 오래 유지하여 웹 서버 연결 슬롯 고갈
( 방어: Session Timeout 단축)

 

DOS 서비스 거부공격 (denial - of - service attack)

 - 1:1 로 공격대상의 리소스를 고갈

 

1. 네트워크 대역폭 소모 (UDP , ICMP)

 - UDP flooding , icmp flooding (smurf , ping of death) , land-attack

 

2. 서비스 자원고갈 (포트 tcp)

 - syn flooding , tcp connection flooding

 

3. 어플리케이션 취약점 공격 (httpd)

 - sloworis , get flooding

 

DDos 분산서비스 거부공격 (Distributed Denial of service)

-봇넷 , c&c

  -c&c서버 ( command & control ) 와 봇넷 ( botnet or zombie_pc ) 을 활용하여

  다수의 pc로 공격대상의 리소스를 고갈시킴

 

DRDos 분산 반사 서비스 거부 공격 (Distributed Reflection Denial of Service)

- DDOS의 진화형태 smuf공격과 유사하지만 tcp나 udp를 이용한 서비스 자원공격을 하는것이 특징

- NTP ( network time protocol ) , DNS , 오픈서버 IP spoofing 을 사용하기 때문에 로그남기는게 의미없음

- 봇넷이 굳이 필요 없음.

- ddos 공격중에도 출발지 주소를 계속 변조 해버리기 때문에 잡힌사례가 손에 꼽을 정도로 없다.

 

특징

1. ip spoofing

2. 반사체 공격

3. 다수의 서버에게 요청 (대표적 : DNS , NTP 시간서버 )

 

효과

1. 공격증폭 (봇넷 필요X)

2. 공격자 특정 어려움

 


단편화공격 (반복적인 재요구와 수정) : Teardrop / Bonk / Boink = 실습안되서 이론만

공통점 - IP 패킷 조각을 재조립하는 과정을 악용

 

1.teardrop - offset중복 (시스템다운 , 블루스크린)

  - 버퍼오버플로 , 조각의 offset이 겹치도록 만들어 재조립 오류 유발

2.bonk - 동일한 offset반복 ( 시스템 과부하 , 마비 )

  - 패킷 처음부터 바뀐다 , 동일한 offset을 반복해 시스템 과부하나 마비 유발

3.boink - 변형된 bonk 공격 (시스템 과부하 , 마비 )

  - 패킷 중간부터 바뀐다, 패킷중간부터 offset 이상이 나타나는 방식

대응

- 체크섬 검사

- IDS / IPS 탐지정책 사용

 


보안솔루션

용어 정리 쉽게 이해하기
UTM ( Unified Threat Management ) 하나의 장비에서 방화벽 , IDS / IPS , VPN 등 여러 보안 기능 통합제공 보안기능을 한 장비에 모은 종합세트
IDS ( Intrusion Detection System ) 침입 탐지 시스템 , 공격을 탐지하고 알림 CCTV처럼 보고 알려주는 장비
IPS ( Intrusion Prevention System ) 침입 차단 시스템 , 탐지 후 차단까지 수행 수상한 트래픽을 발견하면 막는 장비
NAC ( Network Access Control ) 단말인증 , 접근제어 , 무결성 검사 인증된 사용자와 pc만 네트워크 접속 허용
ESM ( Enterprise Security Management) 보안이벤트 / 로그를 통합 수집 , 분석 , 관리 여러 보안장비 로그를 모아보는 관제화면
PMS ( Patch Management System ) 패치 관리 시스템 운영체제 , 프로그램 업데이트 관리

 

추가설명

IDS(intrusion Detection system)

- 내부호스트 확인위해서 씀

 

IPS ( Intrusion Prevention system) 

- 방화벽과 ips차이점 ips는 상태정보를 활용해 유연한 설정이 가능함

 

NAC

- 내부네트워크 보안을 위해서 발전한 솔루션

 

ESM (enterprise service management)

- 원격지의 장비의 상태 성능장애를 모니터링하고 관리하는 시스템

- snmp 161/udp 와 관련있음

 


Black & White

구분 White List Black List
의미 문제 있는 것만 차단 허용된 것만 통과
장점 운영이 쉬움 보안성이 높음
단점 새로운 공격에 취약 정책관리가 까다로움
사용 예 일반 차단 정책 중요망 / 폐쇄망 / ICS 접근제어

 


방화벽 세대 , 구조 비교

구분 특징 장점 단점
1세대 ( packet filter ) 패킷의 주소 정보만 보고
허용 / 차단
빠르고 단순 내용확인불가 , 유연성 낮음
2세대( application layer gate way) 프록시가 중간에서 내용 검사 http , ftp 등 내용 검사 가능 느릴 수 있고 설정 복잡
3세대 ( 상태 기반검사 ) 통신 흐름을 기억하고 정상 연결인지 판단 정상 / 비정상 흐름 구분가능 세션 관리부담 , 설정 복잡

 

추가설명

2세대 방화벽

- iptables  = 1세대방화벽이 발전해서 나온거 ,  os에서 쓰게 만듬

 

3세대방화벽

- 상태정밀검사 = l3 l4 정보를 기억하여 동적으로 실시간보안정책 적용가능

- 해당패킷중에 정상경로로 온거는 통과시키는등 유연하게 설정할 수 있음

- 제한하거나 풀거나 할수있음 1세대는 못함

- dynamic packet filtering

  접속상태를 감시하고 상태에 따라 패킷 허용/거부가 가능

 

hybrid ( 혼합방식 )

packet filtering + application gateway 방식등의 혼합 유연하지만 관리가 복잡함

 

*방화벽과 ips 의 차이점

방화벽은 패킷필터만 확인

ips는 상태기반 검사를 통해 유연하게 판단


 

방화벽 구축 형태

용어정리

용어 간단한 설명 주의할 점
Untrusted Network 인터넷처럼 믿을 수 없는 외부망 공격자가 들어올 수 있는 방향
Trusted Network 회사 내부 pc , 내부 DB 등이 있는 신뢰망 가장 보호해야 하는 영역
DMZ 외부에 공개해야 하는 서버를 따로 두는
중간구영
웹 / 메일 서버처럼 외부 접속이 필요한
서버를 여기에 둠
Screening Router 최상단에서 IP / Port 기준으로 1차 필터링하는 라우터 ACL , 패킷 필터링 NAT 역활 같이 수행
Bastion Host 외부 공격에 노출될 수 있으므로 특별하게 만든 서버 프록시 , 게이트웨이 , 인증 , 로그 수집 역활 수행 가능

 

구조 핵심위치 간단설명 장점 단점
스크리닝 라우터 인터넷과 내부망 사이
최상단
입구에서 주소표만 보고 1차 검사 단순하고 빠름 내용검사는 약함
베스천 호스트 보안이 강화된 중요 서버 외부와 맞닿을 수 있는
대표 방어서버
서버 단위 보안 강화 뚫리면 위험이 큼
듀얼 홈드 호스트 랜카드 2개를 가진
베스천 호스트
외부망과 내부망 사이를 한 서버가 중계 망을 물리적으로 나누기 쉬움 서버 장애 / 침해 시 영향 큼
스크린드 호스트 스크리닝 라우터 +
베스천 호스트
라우터가 1차 , 베스천이 2차 방어 방어단계가 2개 설정 복잡
스크린드 서브넷 외부망 - DMZ - 내부망 공개서버와 내부 DB/PC 를 분리 회사에서 많이 쓰는
안정적 구조
비용과 관리 난이도 증

 


스크리닝 라우터 구조 - 최상단 1차 패킷 필터링

 

확인

- Screening Router 가 인터넷과 내부망 사이의 최상단에 있음

- 내부망 전체 앞에 하나의 경계 장비가 서있는 구조 ( 망 경계 1차 필터 )

- 망분리 1개

간단설명

장점 - 구조가 단순하고 빪

단점 - 패킷 내용까지 깊게 보지 못함

packet filtering , ACL , L3 / L4 , 최상단 경계장비

 


베스천 호스트 구조 - 보안 강화 서버를 중심으로 보호

 

확인

- Bastion Host 는 외부 공격에 노출 될 수 있어서 특별히 강화한 서버

- 내부네트워크만 관리

- 망분리를 안해놔서 방화벽이 뚫리면 보안취약

간단설명

장점 - 중요한 서비스나 프록시 기능을 한 곳에서 집중 관리할 수 있음

단점 - 베스천 호스트가 침해되면 내부 접근을 쉽게 할 수 있음 , 우회공격에 취약

 


듀얼 홈드 호스트 구조 - NIC 2개로 외부망과 내부망 사이에 위치

 

 확인

- 랜카드가 2개 있는 베스천 호스트

- 한쪽 랜카드는 외부망 , 다른 랜카드는 내부망에 연결

- 두개의 문을 가진 보안 서버

 


 

스크린드 호스트 구조 - 라우터 1차 + 베스천 2차 방어

 

확인

- Screening router , Bastion host를 함께 사용

- 외부에서 들어오는 트래픽은 라우터가 거르고 필요한 서비스는 베스천 호스트가 처리

- 1차 라우터필터 + 2차 베스천 호스트 검사 구조

 

간단설명

장점 - 단순 베스천 호스트보다 방어단계가 늘어남

단점 - 라우터 ACL 과 베스천 설정을 둘 다 관리 해야됨

 


스크린드 서브넷 구조 - DMZ와 내부망을 분리

 

확인

- DMZ를 따로 두어 외부 공개 서버와 내부망을 분리

- 외부에서 접근해야 하는 WEB , MAIL 서버는 DMZ에 둠

- DB 서버는 보통 외부에 직접 노출하지 않기 때문에 내부망에 둠

 


 

생체인증 <= 나중에함

FAR = 허가가 안되는녀석이 허가되는경우 보안수준이 낮은그룹

FRR = 허가가 돼야하는데 거부가 되는경우 보안수준이 높은그룹

CER = FAR과 FRR의 중간값

'정보보안' 카테고리의 다른 글

OSPF  (0) 2026.06.22
SSH key , tunnel  (0) 2026.06.22