기사 자격증(알기사, DDoS, DRDoS)

반응형

 

DDoS

- 여러대의 컴퓨터를 일제히 동작시켜 특정 시스템 / 사이트를 공격하여 엄청난 분량의 패킷을 동시에 범람시켜 N/W 성능저하, 시스템 마비 시키는 방식

 ※ DoS는 단일 컴퓨터를 이용하여 서비스를 거부

- 피해는 크고 심각하지만 공격자 및 발원지를 파악하는 것이 거의 불가능에 가깝기 때문에 확실한 대책은 없다.

- 구성요소

구성요소

설명

공격자, 봇마스터

공격을 주도하는 컴퓨터

C&C서버에 공격 명령을 전달하는 컴퓨터

마스터, C&C 서버

공격자에게 직접 명령을 받은 시스템

여러대의 에이전트를 관리

핸들러 프로그램

마스터 시스템의 역할을 수행하는 프로그램

에이전트

공격 대상에 직접적인 공격을 가하는 시스템

악성코드에 감염된 시스템

slave, zombie라고도 함

데몬 프로그램

에이전트 시스템 역할을 수행하는 프로그램

표적

공격 대상이 되는 시스템

- 공격순서

 

- 대응절차

1. 공격 예방 및 선취(공격 이전)

- 공격을 당한 표적이 정상 클라이언트에게 서비스 거부하지 않으면서 공격 시도를 이겨낼 수 있도록 함

- 자원 소모에 대한 정책 및 필요할 때 가용한 자원을 백업으로 제공하는 방법 제공

2. 공격 탐지 및 필터링(공격 중)

- 공격이 시작되면 탐지 시도하고 즉시 응답하므로 공격효과를 최소화 한다.

- 의심스러운 움직임을 찾아내 공격의 일부라고 생각하고 패킷을 필터링해 제거

3. 공격 근원지 역추적 및 확인(공격 후)

- 공격 근원지를 알아내 추후 공격을 막기 위한 과정

- 대응방안

유형

설명

라우터의 ACL 이용

ACL에 공격주소 포트를 등록하여 필터링을 한다.

라우터의 Ingress 필터링

Ingress 필터링을 통해 지정한 IP만이 라우터를 통과하게 끔 한다.

라우터의 Egress 필터링

IP주소가 위조된 패킷이 인터넷으로 나가는 것을 ISP 단계에서 막음

라우터의 약속된 접근비율

(CAR)

CAR : 단위시간동안 일정량 패킷 이상이 라우터로 들어오는 경우 일정량 이상 패킷이 통과되지 않도록 하는 기능

CAR을 이용해 DDoS 패킷을 차단

방화벽

방화벽의 포트 필터링을 이용하여 방지

시스템 패치, 핫 픽스

취약점 / 버그를 이용하는 악성코드 및 침입 방지

안정적인 N/W 설계

취약시스템이 존재하지 않도록 설계

단일실패지점이 존재하지 않도록 설계

IDS 이용

침입탐지 시스템을 이용해 DDoS 공격을 탐지

로드 밸런싱

로드밸런싱을 통해 대용량 트래픽 분산, N/W 대역폭 성능 강화

서비스 별 대역폭 제한

서비스별 대역폭을 제한하여 공격에 따른 서비스 피해 최소화

DPI

네트워크 트래픽을 조정하기 위해 쓰이는 기술

데이터 파일 검토, 우선순위 부여해 덜 중요한 온라인 물질 정리

트래픽이 진행되는 동안 패킷이 그 목적지로 가야하는지 또는 막히거나 연기되어야하는지 결정

DNS 싱크홀

- 악성 봇을 조종하는 조종자 탐지, 감염된 PC와 조종자 사이의 접속을 탐지해 2차 피해예방하는 방식

- DDoS 차단 방법 중 하나

- 감염된 PC가 특정 주소 연결을 원할 때 실제 해당 주소가 아니라 싱크홀 네트워크가 대신 응답하여 패킷이 외부로 전달되지 않도록 처리

- 동작 과정

1. KISAC&C서버 목록을 ISPDNS 싱크홀 적용기관에 전송

2. DNS 싱크홀 적용기관은 받은 목록을 주기적 업데이트

3. DDoS에 감염된 PC가 싱크홀 적용된 DNSC&C 서버에 대한 질의 요청

4. DNS는 감염된 PC에게 싱크홀 서버 IP주소 반환

5. 이를 통해 감염 PCC&C서버가 아닌 싱크홀 서버로 접속해 피해 방지

- DDoS 공격 사례

1. 트리누(Trinoo)

- 19996월 말 ~ 7월 사이에 퍼지기 시작

- UDP flood 서비스 거부 공격 유발

2. TFN

- Trinoo 보다 약간 발전한 공격 방법

- 많은 소스에서 한 개 또는 여러개의 목표 시스템에 대해 서비스 거부 공격 실행

- UDP flood 뿐 아니라 TCP SYN flood, ICMP Echo, ICMP 브로드캐스트 공격 가능

3. Stacheldraht

- 독일어로 철조망이라는 뜻

- 199910월에 처음 출현

- TFN을 참고하여 제작

- 에이전트와 데몬 사이 암호화 기능 추가

4. TFN2K

- TFN의 발전한 형태

- 특정 포트를 사용하지 않음

- 암호화 되어 있음

- 여러개의 프로토콜이 복합적으로 사용

- 포트도 임의로 결정

- 지정된 TCP 포트에 백도어 실행 가능

 

최신 DDoS 공격유형 분류

문자값

대역폭 소진 공격

서비스 마비 공격

공격유형

UDP / ICMP, SYN Flooding

HTTP GET Flooding

공격 형태

1. UDP / ICMP Flooding

-UDP/ICMP Flooding, DNS querry Flooding

2. TCP Traffic Flooding

-SYN Flooding, SYN+ACK Flooding

3. IP Flooding

-LAND Attack, Tear Drop, HTTP Continuation

1. HTTP Traffic Flooding

-GET Flooding, CC ATTACK

2. HTTP Header / Option Spoofing

-slowris, Pyloris

3. TCP Traffic Flooding

-TCP Session, SYN Flooding, TCP slow read

4. 7계층 서비스 Flooding

- Hash DoS, Hulk DoS

프로토콜

3 ~ 4계층 : IP, UDP, TCP, ICMP

7계층 프로토콜 : HTTP, DNS, FTP

공격대상

네트워크 인프라

웹서버, 정보보호 장비

스푸핑 여부

사용 / 미사용

미사용

증상

회선 대역폭 고갈

동일 네트워크 사용하는 모든 서비스 접속 장애 발생

HTTP 서버 과다 접속으로 인한 장애

공격대상만 피해

 

UDP / ICMP Traffic Flooding

1. UDP /ICMP Flooding

- 공격자가 다량의 UDP / ICMP 패킷을 서버로 전송해 서버의 대역폭을 가득 채워 다른 클라이언트의 접속을 불가능하게 함

- UDP / ICMP 프로토콜이 비연결형이라는 특징 악용해 소스 IP 변조

2. DNS Query

- 공격자가 DNS 쿼리 데이터를 다량으로 서버 전송해 서버의 DNS 전송을 방해

- UDP / ICMP Flooding과 공격 유형 비슷

 

TCP Traffic Floodig

1. SYN Flooding

- 공격자가 다량의 SYN 패킷을 서버로 전달해 서버의 대기큐를 가득채워 새로운 클라이언트의 연결요청을 무시해 장애 유발

- TCP의 특징중 데이터 보내기 전 연결을 먼저해야 한다는 점을 악용

2. TCP Floag Flooding

- 공격자가 TCPFlag값을 임의로 조작하여 서버에 보내면 서버는 이러한 패킷을 수신할 경우 해당 패킷을 검증하면서 자원을 소모하게 하는 방법

 

HTTP Traffic Flooding

1. GET Flooding

- 공격자가 TCP3-hand-shaking 과정을 통해 정상적 접근 후 GET 메소드를 무한대로 실행하여 서버의 자원을 고갈시키는 공격

- 지정된 웹 페이지를 지속적으로 요청하는 서비스 거부 공격 웹 방화벽을 통해 방어 가능

2. GET Flooding with Cache-Control(CC Attack)

- 공격자가 HTTP 메시지의 캐시옵션을 조작하여 캐시서버가 아닌 웹서버가 직접 처리하도록 하여 캐싱서버 무력화 및 웹서버 자원 소진

- 지정된 웹 페이지를 지속적으로 요청하는 서비스 거부 공격 웹 방화벽을 통해 방어 가능

3. 동적 HTTP Request Flooding

- CC Attack, GET Flooding과 달리 웹 방화벽 우회하기 위해 지속적으로 요청 페이지를 변경하여 웹 페이지 요청하는 방식

 

HTTP Header / Option Spoofing Flooding

1. Slow HTTP POST DoS(RUDY)

- HTTPPOST 지시자 이용

- 대량의 데이터장시간 걸쳐 분할 전송하여 연결을 장시간 동안 시키는 공격

2. Slow HTTP Header DoS(Slowris)

- 웹서버는 HTTP의 메시지 수신시 헤더를 가장 먼저 수신해 이후 수신할 데이터 판단

- Slowris 공격은 공격자가 헤더를 비정상적 수정해 서버가 헤더를 구분 못하게 하여 연결을 장시간동안 시키는 공격

3. Slow HTTP Read DoS

- 공격자가 TCP 연결시 윈도우 크기와 데이터 처리율을 저하 시킨 후 HTTP 데이터 전송해 웹서버가 정상적으로 응답 못하게 DoS 발생

- 서버는 정상상태 회복시까지 대기상태에 빠져 정상 Client의 접속을 방해

 

기타 서비스 마비 공격

1. 해시도스 공격

- HTTP의 매개정보를 조작하여 서버가 모든 해시테이블을 검사하게 하여 CPU 자원을 소진시키는 공격

2. HulkDoS 공격

- 웹 서버의 가용량을 모두 사용하여 정상 서비스를 불가하게 하는 GET Flooding 공격

- 공격대상 URL을 지속변경해 임계치 DDoS 방어 장비 우회

 

공격유형에 따른 차단정책

1. 대역폭 소진 공격 대응

1. UDP / ICMP Flooding - ACL 설정

2. TCP Flooding - 소스 IP 임계치 설정

 

2. 웹서버 자원 소모 공격

1. SYN Flooding - 소스 IP PPS 임계치 설정, 패킷 헤더검사

(PPS : 초당 패킷 수)

2. Slow Header / Data Flooding - 연결 타임아웃 설정

 

3. DB 연결 부하유발 공격

1. GET, POST Flooding - 클라이언트 연결요청 임계치 설정, HTTP 헤더 확인 후 표준이 아닌 헤더는 차단 시그니처 설정하기

 

DRDoS

- 분산 반사 서비스 거부공격

- DDoS의 발전단계

- TCP3-hand-shaking의 취약점 이용 공격

- DRDoS의 유형

1. TCP3-hand-shaking 취약점 공격 : 위조된 주소의 SYN 요청을 반사사버로 전송해 SYN+ACK를 희생자에게 향하도록 하는 공격

2. ICMPEcho Request, Echo Reply 이용 : 위조된 주소의 Echo Request를 반사서버로 전송하여 Echo Reply를 희생자에게 향하도록 하는 공격

3. UDP 프로토콜을 이용한 공격

1. DNS 증폭 DRDoS - DNS 서버에 Record 정보 요구하는 DNS 질의 요청해 희생자에게 대량 트래픽 유발

2. NTP 증폭 DRDoS - NTP에 최근 접속한 client 목록 요청에 대량의 응답 트래픽 증가

3. SNMP 증폭 DRDoS - SNMP agentMIB와 같은 정보 대량 요청으로 피해자에게 대량 트래픽 유발

4. Chargent 증폭 DRDoS - Chargen 서버 접속시 대량의 문자열 전송해 대량트래픽 유발

- DRDOS의 공격위협

1. 패킷의 전송경로가 무수히 많다

2. 반사서버의 단계적사용 및 확산

3. 희생자 IP 사용으로 인한 역추적의 어려움

- 공격 방식

 

1. 공격자는 송신지 IP를 희생자 IP로 하여 대량의 SYN 패킷 반사서버로 전송

2. SYN 패킷을 받은 장비는 SYN+ACK 패킷을 피해자에게 전송

- 대응방법

1. N/W서 대응 - IP 주소가 위조된 패킷이 들어오지 못하게 Ingress 필터링

2. 반사서버 대응 - ICMP가 필요 없는 경우 스위치 or 서버에 ICMP 프로토콜 차단하게 한다.

3. 희생자의 대응

- ICMP 프로토콜 사용하지 않을 경우 ICMP 프로토콜 차단하게 함

- 내부 사용자용 DNS 서버 사용시 내부 사용자만 Recursive Query 가능하게 함

- 특정 byte 이상 질의 DNS 응답 차단, 초당 DNS 응답 개수 제한

반응형