본문 바로가기

미분류

DDoS 공격 유형 정리#1


공격유형 

요약 

 SYN Flooding

공격자는 다량의 Syn 패킷을 서버로 전달하여 서버의 대기큐를 가득채워 새로운 클라이언트의 연결요청을 무시하도록 하여 장애를 유발 시키는 공격 

상세설명

- TCP 연결과정(3-Way Handshaking)의 처음 단계인 SYN 패킷 전송 단계에서 공격자는 대량의 SYN패킷을 생성하여 서버로 전달. 


- TCP 연결요청을 수용할 때 사용하는 서버의 대기 큐(Backlog Queue) 가 가득(Full)차게 되어, 이후 들어오는 연결요청을 무시하도록 하는 서비스 거부 상태가 됨 


※ SYN 패킷만 전송하고 SYN-ACK에 대한 응답인 ACK 패킷을 전송하지 않으면 Half Open상태(75초)가 되며 이때 계속해서 Syn 패킷을 보내 Backlog Queue를 가득 채우고 더이상의 TCP 신규 접속을 받지 못하게됨.

 



공격유형 

요약 

 UDP Flooding

UDP Flooding은 DoS 공격(Denial-of-service attack)의 한 종류로써 많은 수의 UDP packet을 victim에 전송하여 정상적인 서비스가 불가능하도록 하는 공격이다.

상세설명

UDP packet은 spoofed IP와 port를 사용하여 IP filter를 이용해서는 차단하기가 어렵다. 네트워크 bandwidth를 소모하기 때문에 특정 서비스가 아니라 victim의 모든 서비스가 불가능해지며 특정 포트가 열려있을 필요도 없다. 모든 flooding 공격류의 특징이 그러하듯 패킷 자체에는 특이점이나 패턴이 존재하지 않으므로 차단하기가 쉽지 않다.


UDP 공격의 경우 synflood와 달리 네트워크 bandwidth 를 소모시키는 것이 목적이다. 따라서, 단일 호스트로는 효과를 볼 수 없기 때문에 ,DDoS로 구성해서 공격이 이루어진다. 

(DDoS를 수행하기 위해서는 최소 수백대의 Zombie호스트가 필요) 


공격유형 

요약 

ICMP Flooding

대량의 ping 패킷을 보내는 공격

상세설명


대상 시스템에 막대한 양의 ICMP 에코 요청 패킷(ping 패킷)을 보내는 방법이다. 유닉스 계열의 시스템에서는 ping 명령을 이용하며, ping 응답을 기다리지 않고 되도록 빨리 ICMP 패킷을 보내는 ping 옵션을 활용하는 것이 가장 효율적인 방법이다.

 대상 시스템에 부하를 일으키기 위해서는 ping을 보내는 쪽의 네트워크 대역폭이 대상 시스템이 확보한 네트워크 대역폭보다 더 크면 된다.



공격유형 

요약 

 NTP Amplification DDoS Attack

 NTP 의 monlist 기능을 이용한 DDoS Attack 취약점 발생 

상세설명

NTP 의 monlist 기능을 이용하여 최근에 접속한 호스트(최대 600개)에 변조된 IP로 monlist 명령에 대한 응답패킷을 대량으로 전달하는 취약점 발생 ( monlist 요청 시 IP에 대한 검증이 이루어지지 않아 변조된 IP로 대량 응답패킷전달 가능)


공격유형 

요약 

 CLDAP DDoS Attack

해커가 여러 LDAP서버에 자기 자신의 IP를 타겟 IP로 변조하여 쿼리를 보내면, 서버는 데이터를 처리한 후 증폭된 응답 패킷을 변조된 타겟 IP로 보내는 방식

상세설명


  [자료 : 한국인터넷진흥원(KISA)]
  • CLDAP(Connection-less Lightweight Directory Access Protocol)란
    - LDAP란 경량 디렉토리 엑세스 프로토콜의 약자로 사이버 TCP/IP에서 디렉토리 서비스를 조회하고 수정하는 응용 프로토콜을 말함
    - CLDAP란 클라이언트들이 마이크로소프트 액티브 디렉토리 네트워크로부터 서버의 사용자 계정과 비밀번호에 접근할 때 사용됨
    - 최근 DDoS공격 중 LDAP/CLDAP 두 개의 프로토콜을 이용하는 공격이 자주 발견되고 있음


1) 공격자들이 특별히 제작된 패킷을 인터넷을 통해 여러 UDP 서버로 보낸다.
2) 이 패킷은 디도스 공격의 표적이 될 시스템의 IP로부터 나온 것처럼 보인다.
3) UDP 서버가 그에 대한 응답을 표적 시스템(피해 시스템)의 IP로 보낸다.
4) 이 때 그 응답은 1)번 단계의 패킷 조작을 통해 매우 용량이 커진 상태다.
5) 큰 용량의 응답을 받은 표적 시스템은 마비가 된다. 

※특징

CLDAP 프로토콜은 통신할 때 TCP가 아닌 UDP를 사용하기 때문에 패킷 송신 IP를 확인하지 않고, 이를 이용한 DDoS 공격의 증폭은 56%가 넘는다고 함


“CLDAP 반사 공격의 원리는 다른 UDP 기반의 반사 공격의 그것과 동일하다”고 설명한다. “하지만 증폭이 월등하죠. CLDAP를 통한 디도스 공격의 증폭은 56%가 넘습니다.” - 보안뉴스 기사 발췌


공격유형 

요약 

TCP Connection Flooding

  TCP Connection Flooding 은 TCP 3-Way Handshake 과정을 과도하게 유발함으로써 서비스의 과부하를 야기시키는 공격 유형이다.

상세설명

 공격 트래픽을 수신하는 서버는 정상적인 TCP 세션을 지속적으로 세션 연결을 하여 서비스를 위하여 수행하는 서버의 세션 처리 자원(Resource)를 고갈시켜 정상적인 세션 연결을 더 이상 수행하지 못하게 한다. 결국 정상적으로 접근하는 사용자가 더 이상 서비스에 접근할 수 없게 된다. 이 공격 기법을 세분화하면 크게 세 가지로 나눠볼 수 있다.


1. TCP 세션 연결을 유지하는 DDoS 공격
2. TCP 세션 연결/해제를 반복하는 DDoS 공격
3. TCP 세션 연결 후 정상적인 트랜잭션(Transaction)처럼 보이는 트래픽을 발송하는 DDoS 공격




공격유형 

요약 

Http GET Flooding

  일반적으로 DDoS 공격은 웹 서버(Web Service)를 대상으로 DDoS 공격이 발생되며, TCP 세션 연결 이후 발생하는 일반적인 공격 형태가 바로 HTTP Get Flooding 형태가 그것이다. 다시 말하면, HTTP Get Flooding 은 정상적인 TCP 연결 과정 이후 정상적으로 보이는 HTTP Transaction 과정이 수행되는 DDoS 공격 기법이다.

상세설명

앞서 설명한 TCP Connection Flooding 의 경우 TCP 3-Way Handshake 과정 이후 정상적인 트랜잭션이 일어나지 않는 반면 TCP 3-Way Handshake 과정 이후 정상적으로 보이는 트랜잭션이 추가적으로 발생되는 DDoS 공격 기법이다. 


공격 트래픽을 수신하는 서버는 정상적인 TCP 세션과 함께 정상적으로 보이는 HTTP Get 요청을 지속적으로 요청하게 되므로, 서비스를 위하여 수행하는 서버는 기본적인 TCP 세션 처리뿐만 아니라 HTTP 요청 처리까지 수행해야 한다. 이 경우 HTTP 처리 모듈의 과부하까지도 야기시킬 수 있는 DDoS 공격 기법이다.


전통적인 DDoS 공격 대응 장비에서 이러한 HTTP Get Flooding 공격을 방어하기 위해서는 일반적으로 임계치 기반의 방어 기법을 적용한다. 즉 HTTP Get Flooding 시 수행되는 TCP 연결 요청의 임계치 값과 HTTP Get 요청의 임계치 값의 모니터링을 통하여 비정상적으로 많은 트래픽을 발생하는 출발지 IP에 대한 선별적인 차단 적용이 가능해 진다. 다행히도 이러한 세션 연결 기반 공격의 경우 출발지 IP는 변조될 수가 없기 때문에 출발지 IP 기준의 임계치를 통하여 방어가 가능하다.



공격유형 

요약 

 RUDY

(R-U-Dead-Yet)

 HTTP Post method를 사용하여 이루어지는 공격으로 서버로 전달할 대량의 데이터를 장시간ㅇ에 걸쳐 분할 전송하며, 서버는 Post데이터를 모두 수신하지 않았다고 판단하여 연결을 장시간 유지하므로 가용량을 소비하게되어 다른 클라이언트의 정상적이 서비스를 방해하는 서비스 공격.

상세설명

긴 데이터를 segmentation 하여 HTTP로 전송하는 방식으로 서비스 거부를 유발, 공격은 Console을 통해 이루어지며 Post Method를 이용하여 설정파일에 기록된 URL을 대상으로 공격을 수행함


많은데이터(Content-length : 100,000,000Byte)를 보낼꺼라 통보해놓고 정작 1Byte 단위로 발송하게 되는데 이 과정에서 해당 event를 처리하는 서버측은 부하가 발생하게 되는것



'미분류' 카테고리의 다른 글

DDoS 공격유형 정리#2  (3) 2018.06.18
DDoS 공격 대응  (0) 2018.06.15
170317 동적할당 과 malloc함수  (0) 2017.03.19
170316 어셈블리 언어  (0) 2017.03.16
170316 Caller & Callee , 함수 호출 규약  (0) 2017.03.16