DRDOS(분산 반사 서비스 거부 공격)

DDOS : PC를 감염시켜 여러대의 좀비 피시를 만들고 한 곳으로 대량의 트래픽을 집중시켜 서비스를 마비시키는 공격

 

DRDOS : 외부의 정상적인 서버들을 이용해 공격을 수행. 공격자를 쉽게 숨길 수 있고 공격력을 향상 시킬 수 있어 추적과 방어가 어렵다.

 

DRDOS에서 피해자에게 공격을 가하는 시스템은 반사체(Reflector)이다.

반사체란 외부의 공격자와 타겟과는 무관한 서버들이 사용되며, 공격자는 반사체가 표적을 공격하게끔 유도한다.

이 과정에서 IP Spoofing이 사용되는데, 요청 패킷의 송신자 IP를 피해자의 IP로 위조한 다음 반사체에게 보내는 방식이다.

출처 : https://www.cloudflare.com/ko-kr/learning/ddos/glossary/ip-spoofing/

그렇게 되면 공격자가 보내는 request에 대한 src IP는 피해자의 IP로 변조되어 서버로 날아가고 서버에서 응답을 주는 reply는 피해자의 IP로 전송되기 때문에 이 개념을 이용해 다수의 반사체로 공격을 시도해 서비스를 마비시키는 공격이다.

 

DRDos의 공격 방법

1. 공격자는 출발지 IP를 victim IP로 spoofing해 SYN 패킷을 공격 경유지 서버로 전송한다.

2. SYN 패킷을 받은 경유지 서버는 spoofing된 IP(victim)로 SYN/ACK를 전송한다.

3. victim 서버는 수 많은 SYN/ACK를 받게 되어 서비스가 마비된다.

 

공격은 TCP/IP의 취약한 원리를 이용하며, 출발지 IP에 대한 변조, 경유지 서버에서 아무런 의심없이 변조된 IP로 SYN/ACK를 돌려주며 공격이 시작된다.

대량의 SYN/ACK 패킷이 유입되며 victim 서버 혹은 victim 서버단의 라우터가 대량 패킷 전송에 의해 패킷 유실이 발생하고, 경유지 서버는 SYN/ACK에 대한 ACK 패킷(3 way-Handshake의 원리)을 받지 못해 재전송이 발생하며 상황이 더 악화된다.

 

간단한 예시로, 내가 천진우라는 피해자의 전화번호를 송신자로 지정 후 연락처에 있는 여자 100명에게 고백하는 메시지를 전송했다고 가정하자 

메시지를 받은 여자들은 송신자가 천진우로 왔으므로 천진우에게 답장 메시지를 할 것이다.

100개의 메시지가 천진우에게 도착하기 때문에 그는 100명의 여자들에게 온 메시지를 처리하느라 본인이 해야 할 일을 못할 것 이다.

이렇게 나는 천진우의 가용성을 해치는 공격을 성공시켰다.

이게 DRDOS의 원리이다.

 

DRDOS는 첫 번째로 추적방지의 이점이 있다.

DDOS 공격은 좀비가 자기 자신을 은폐하지 않기 때문에 피해자를 공격 시 피해자에게 log가 남게 된다.

IP주소를 알고 있다면 ISP를 통해 쉽게 실제 물리적인 컴퓨터의 위치를 알 수 있고, 역추적 시 master의 정보를 좀비 pc가 소지하고 있기 때문에 바이러스 감염 경로, 로그 등을 이용해 공격자를 추적하기 쉬워진다.  

 

그러나 DRDOS는 공격자가 보내는 패킷이 IP spoofing 되어있으므로 당장 공격자 IP를 찾아내기 어렵고, 반사체에 공격자의 흔적을 남기지 않기 때문에 공격 매체를 뒤져봐도 공격자를 찾을 수 없다.

물리적으로 추적을 하려 해도 반사체를 해외로 지정을 해버린다면 수사가 불가능하다.

 

DRDOS는 두 번째로 공격력 강화의 이점이 있다.

DRDOS는 증폭 공격이 가능한데 증폭 공격이란 같은 양으로 공격을 하더라도 피해자는 더 많은 공격을 받게 된다.

즉 좀비의 대수와 관계없이 최소 공격으로 최대 공격량을 뽑는 '가성비' 적인 공격이다.

반사체를 통해 증폭 공격을 하는데 공격 요청을 보내면서 반사체가 최대한 큰 응답을 하게 유도하는 방법이다.

   

예를 들어 반사체 크기가 1500byte가 넘으면 MTU 값에 의해 1500byte로 데이터를 분할 전송(패킷단편화)하는데, 

이 분할된 데이터들은 개별적인 패킷이 되어 전송된다.

트래픽의 용량만큼 패킷의 숫자가 증폭되므로 DNS 증폭 같은 경우 최대 4096byte의 응답을 만들 수 있기 때문에 

1500 1500 1096 이런식으로 3개의 패킷을 만들 수 있다.

좀비pc도 동일하게 증폭이 가능하기 때문에 공격의 파워가 급격하게 커진다.

 

그러나, IP spoofing같은 공격은 유명한 공격 기법이기 때문에 사용할 수 없는 환경이나 막으려는 시도가 많다.

보통 IP spoofing은 출발지 라우터에서 차단되는 경우가  많다. 좀비 pc에도 동일하게 차단되기 때문에 spoofing 환경이

열린 좀비도 일일이 찾아야 한다.

또 반사체 자체에서 요청량을 감당하지 못하고 다운되거나, 반사체 자체에서 차단할 수 있기 때문에 조건에 맞는 반사체를 찾기도 힘들다.

 

대응방안

Ingress Filtering : ISP에서 위조 패킷이 망에 전달되지 않도록 직접적으로 차단한다.

ICMP 차단 : ICMP를 사용하지 않을 시 차단해둔다.

DNS 서버 점검 : 특정 byte 이상 DNS 질의에 대한 응답을 차단

NTP 서버 점검 : monlist 명령 해제, NTP 설정 파일 수정으로 monlist 기능 비활성화

 

     

 

 

 

 

 

 

 

 

 

'해킹기법' 카테고리의 다른 글

Cookie Poisoning  (0) 2023.10.11
좀비 pc 생성  (0) 2023.08.07
주요정보통신기반시설 가이드라인  (0) 2023.07.31
LAND Attack, SYN Flooding, Ping Of Death 실습  (0) 2023.07.27
Nessus  (0) 2023.07.26