본문 바로가기
카테고리 없음

DDOS 공격 : CoAP Amplification Attack

by FixedSeat 2023. 8. 23.

일단 CoAP 란?

Constrained Application Protocol(CoAP)은 제한된 자원 및 대역폭을 가진 장치와 네트워크 환경에서 동작하는 프로토콜로서, 인터넷의 사물간 통신을 위한 경량 프로토콜입니다. CoAP은 주로 IoT(Internet of Things) 디바이스와 같이 자원이 제한된 환경에서 작동하며, HTTP와 유사한 방식으로 동작하지만 더 가벼우며 효율적인 특징을 가지고 있습니다. 또한 UDP 기반 프로토콜로 연결 설정 없이도 데이터를 전송할 수 있으며, 빠른 속도와 낮은 지연 시간을 제공합니다.

대용량 데이터 전송을 위해 블록 전송 기능을 지원합니다. 큰 리소스를 여러 작은 블록으로 분할하여 전송하고, 클라이언트는 이를 조합하여 전체 리소스를 얻을 수 있습니다.관찰(Observe) 기능을 제공하여 클라이언트가 리소스의 변화를 지속적으로 모니터링할 수 있습니다. 이를 통해 실시간 데이터 변화를 추적하거나 상태 변경을 감지할 수 있습니다.

 

이러한 특성을 이용하여 공격자들은 CoAP Amplification 및 Reflection 공격을 하기 시작했습니다.

 

 

CoAP Amplification 공격 시나리오

1. 공격자의 목표 설정: 공격자는 대상 서버를 공격하고자 선택합니다.

 

2. Reflector 식별: 공격자는 CoAP 프로토콜을 이용하여 Reflector 목록을 탐색합니다. Reflector는 요청을 받아서 해당 요청의 응답을 생성하여 전송하는 장치로서, 이러한 장치들은 대량의 응답을 생성할 수 있는 봇넷과 같은 구조를 형성할 수 있습니다. 21바이트의 GET요청의 경우 평균 응답은 720바이트 였습니다. 평균 증폭 계수가 34임을 의미하고 이는 반사/증폭을 위해 남용되는 UDP 프로토콜의 중간 범위입니다.

 

3. 대량의 요청 생성: 공격자는 Reflector 목록을 이용하여 대량의 CoAP 요청을 생성합니다. 이 요청들은 소스 주소를 대상 서버의 IP 주소로 위조하여 전송됩니다. 이로써 Reflector는 대상 서버에게 보내는 응답을 해당 요청의 소스 주소로 전송하게 됩니다.

 

4. 서버 공격: Reflector로부터 생성된 응답들이 대상 서버로 전송됩니다. 대상 서버는 이러한 요청에 대한 응답을 생성하고, 응답을 보내는 동안 자원을 소모하게 됩니다.

 

5. 대역폭 및 자원 고갈: 대량의 Reflector를 사용하는 경우, 대상 서버는 응답을 생성하고 보내는 동안 대량의 트래픽에 의해 대역폭이 고갈되고 서버의 리소스가 고갈되어 서비스의 정상적인 동작이 마비될 수 있습니다.

 

6. 서비스 거부 발생: 대상 서버는 고갈된 자원으로 인해 정상적인 클라이언트 요청을 처리할 수 없게 되며, 결과적으로 서비스 거부 상태가 발생합니다. CoAP 장치는 본질적으로 일시적이며 2주 이내에 80% 이상의 주소가 변경되었습니다. 공격자는 공격에 사용할 IP 주소를 설정하기 위해 지속적으로 다시 검색해야 하므로 노출된 장치의 악용 가능성을 약화시킬 수 있습니다.

 

CoAP Amplification 공격의 세부 내용

1. CoAP로 알려진 제한된 애플리케이션 프로토콜은 IoT(사물 인터넷) 또는 모바일 장치와 같이 신뢰할 수 없는 네트워크의 저전력 컴퓨터를 위한 간단한 UDP 프로토콜입니다. 가장 단순한 프로토콜은 GET 및 PUT과 같은 친숙한 동사가 있는 HTTP처럼 보입니다. HTTP와 달리 CoAP는 UDP 포트 5683을 통해 작동하는 바이너리 형식입니다. URI /.well-known/core에 대한 GET 요청은 아래와 같습니다. 이 잘 알려진 URI는 장치가 해당 기능을 게시하기 위한 것입니다.

 

2. 위협 행위자는 CoAP에 응답하는 IP 목록을 구축하고 의도한 대상의 스푸핑된 소스 주소가 포함된 대량의 패킷을 지속적으로 보낼 수 있습니다. CoAP 활동을 모니터링하기 시작한 이후 UDP 포트 5683에 대한 스캔 스트림이 꾸준히 있었으며 /.well-known/core에 대한 거의 모든 GET 요청이 있었습니다.

 

3. CoAP 장치의 81%가 중국에 있으며 이는 브라질, 모로코, 한국 및 미국의 다음으로 큰 인구를 압도합니다. 중국의 315,594개 CoAP 장치 중 382개를 제외한 모든 장치가 QLC 체인(이전의 Qlink) 응답으로 /.well-known/core에 대한 요청에 응답했습니다.

4. QLC 체인은 "서비스로서의 분산형 네트워크를 위한 차세대 공개 체인"이라고 광고하는 P2P 네트워크입니다. 임시 장치에서 주로 사용되는 프로토콜의 흥미로운 측면은 해당 장치의 IP 주소가 자주 변경된다는 것입니다. 2주 간격으로 수행된 스캔을 비교하면 두 스캔 모두에 주소의 20%만 나타납니다. 유사한 증폭 요소를 자랑하는 SSDP와 비교할 때 CoAP 장치의 일시적 특성은 공격자가 효과적이기 위해서는 지속적으로 악용 가능한 주소를 검색해야 함을 의미합니다.

 

 

CoAP 증폭 공격은 Reflector를 악용하여 공격자의 IP 주소를 감추고 대량의 응답을 생성하여 대상 서버에 대한 서비스 거부 공격을 수행하는 것입니다. 이를 방지하기 위해서는 Reflector를 통한 공격 트래픽을 차단하거나 필터링하는 방법, 네트워크 장비나 서비스의 보안 설정을 강화하는 방법 등이 활용될 수 있습니다.