선릉역 1번 출구
DRDoS 공격 유형 본문
DRDoS란 취약한 서버를 경유하여 내가 공격하려는 서버의 대역폭을 고갈시키는 공격임
핵심
1. 취약한 서버는 적은 요청으로 다량의 응답을 만들어냄
2. 목적지 변조(공격하려는 대상의 IP로 변조함)
*보통 DRDoS는 UDP 프로토콜을 사용함
DRDoS 유형
1. DNS 서버(53/UDP)
- 다량의 응답을 만들어내는 ANY record 질의
해결책
- 53/UDP이면서 목적지 주소가 DNS server가 아닌 것 차단
2. NTP 서버(123/UDP)
- 다량의 응답을 만들어내는 monlist 요청
*monlist: 최근 접속한 최대 600개의 접속 호스트에 대한 정보를 응답 받을 수 있는 명령어(최근 버전에서는 삭제됨)
해결책
- 패킷에 monlist 값 포함 시 차단
- 지정된 NTP 서버만 허용하도록 설정
- 출발 포트가 123/UDP인 것 차단
- 해당 기능 비활성화(/etc/ntpd.conf -> disable monitor -> 재시작)
*취약 버전 확인(ntpdc -n -c [ip주소], 결과가 timed out이면 안전)
3. CLDAP 서버(389/UDP)
- CLDAP 서버가 가진 모든 entry와 attribute 값을 요청하여 다량의 응답 생성
*CLDAP: 네트워크상에서 디렉토리를 연결/검색/수정하기 위해 사용되는 프로토콜
해결책
- 외부에 노출된 CLDAP를 악용하기 때문에 LDAP 외부노출되지 않도록 함
(ldapsearch -x -h [서버IP] -s base를 통해 출력되면 외부 노출된 상태임)
4. SSDP 서버(1900/UDP)
- ssdp:all or ssdp:rootdevice 값이 포함된 search 명령을 IoT에게 요청함
*SSDP: UPnP 장치를 탐색할 때 주로 사용되는 프로토콜, IoT
해결책
- 해당 프로토콜은 원래 내부에서만 사용하도록 설정됨 -> 외부에서 들어오는 SSDP 패킷 차단
- 외부에 노출된 IoT 기기들을 악용하므로, 외부에 노출되지 않도록 해야함
5. memcached 서버(11211/UDP)
- memcached 서버로부터 캐싱 데이터를 요청하는 request 명령을 통해 다량의 응답 생성
- (key값 및 Data를 미리 확보해야함) 사전에 확보한 Key 값에 대한 data를 요청하는 것임
*emecached: DB 부하감소 및 응답속도 증가를 위해 분산된 메모리에 데이터를 캐싱하는 서비스, 내부에서만 접근하도록 설계됨(key, value형식)
해결책
- 외부에서 오는 memcached 요청 차단
6. WS-Discovery Reflection Attack(3702/UDP)
- 윈도우 기반 기기들에게 고의적으로 XML 오류 응답 메시지를 반복적으로 유발시키는 명령을 요청함
*ws-discovery: 윈도우 기반 기계들이 네트워크 프린터 등을 자동으로 찾아 연결 설정을 완료하는데 사용되는 서비스로 내부 네트워크에서만 이용
해결책
- 내부에서만 사용되는 프로토콜이기 때문에 외부에서 들어오는 패킷 차단(3702)
7. ARMS 프로토콜(3283/TCP&UDP)
- 외부에 노출된 Apple 기기들의 목록을 확보하여 기기들에게 대량의 request 패킷 요청
*ARMS: apple 기기들의 원격 제어 기능 활성화 시 사용하는 프로토콜
해결책
- 인가된 사용자만들 대상으로 허용해야하며, 외부에서 들어오는 3283 패킷 차단
8. CoAP(5683/UDP)
- 사전에 외부에 노출된 CoAP 프로토콜 사용기기의 목록을 확보하여 GET Request 전달함(HTTP 형식과 유사한 모양을 보임)
*CoAP: costrained application protocol은 IoT 기기들을 위해 사용되는 프로토콜의 일종으로 저전력 컴퓨터들을 위해 만들어진 간단한 UDP 프로토콜
해결책
- 내부망에서만 사용되는 프로토콜이기 때문에 5683번 포트로 인입되는 UDP 프로토콜 패킷 차단
- CoAP 기기 외부 노출 확인
9. Jenkins 툴(33848/UDP)
취약 버전에서 Jenkins 검색을 위해 사용되는 프로토콜의 요청을 검증없이 응답함, 검색 요청 packet을 받으면 요청 값에 관계없이 Jenkins 메타데이터의 XML 결과값 응답함
해결책
- Jenkins 자동 검색 서비스는 외부에 노출되지 않도록 설정해야하기에 인입되는 UDP 프로토콜중 33848 패킷은 차단
- 취약한 Jenkins 서버 조치 필요
10. 기타 reflection attack
(19) - chargen
(161) - snmp
(111) - SunRPC: 원격으로 함수를 호출하여 사용할 수 있게하며, RPC mapper를 이용해 mapper response 패킷을 피해 시스템에게 보냄