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

DDOS 공격의 진화 : TCP Middlebox reflection

by FixedSeat 2023. 8. 18.

분산 서비스 거부 공격은 서버의 정상적인 기능을 방해하는 것을 목표로 합니다. 가장 일반적인 사용 사례(유일한 경우는 아니지만)에서 사이버 공격자는 봇넷을 사용하여 수천 개의 요청을 전송하고 이러한 유형의 문제를 유발하지만, 최근에는 리소스가 낮은 장치까지 이용할 수 있는 새로운 공격이 발견되었습니다. 한 가지 변형은 DrDoS인데, 공격의 기반으로 사용될 서비스에 대한 요청 또는 액세스 패킷이 가능한 한 많은 패킷을 생성하기 위해 작은 크기로 생성되도록 하고, 이어서 증폭 계수를 사용하여 응답 패킷의 크기와 복잡성을 증가시킵니다.

2021년 8월, 볼더에 있는 메릴랜드 대학과 콜로라도 대학의 연구원들은 TCP에 대한 DrDoS 공격을 수행할 수 있는 수천 개의 middlebox가 있다는 것을 보여주는 연구를 발표했습니다. 이 새로운 TCP reflection 공격의 증폭을 증가시켜 기존의 UDP 기반 공격보다 더 증폭된 규모의 순서를 만들 수 있었습니다.

 

middlebox는 방화벽, NAT, balanceadores de carga, IDS 등과 같이 패킷 전송 이외의 목적으로 트래픽을 변환, 검사 및 필터링하는 장비의 네트워크 장치입니다. 일부 국가에서는 제한된 콘텐츠를 검열할 목적으로 사용되기도 합니다.

 

이 조사 결과는 이 공격이 이미 존재하는 UDP에 대한 가장 큰 증폭 기반 공격만큼 위험하다는 것을 암시합니다. 그들은 memcached(51.000x)보다 더 큰 증폭 계수를 제공하는 미들 박스로 수백 개의 IP 주소와 DNS 및 NTP보다 더 큰 증폭 계수를 제공하는 수십만 개의 IP 주소를 탐지했습니다.

 

Akamai의 게시물에 보고된 바와 같이 그러한 공격의 한 예는 이미 발생하였는데, 여기에는 1.5Mpps(초당 100만 패킷)에서 최대 11Gbps의 반사 TCP 공격이 감지되고 분석되어 고객을 대상으로 하며 TCP middlebox 리플렉션 기술을 사용하는 것으로 보고되어 있습니다. 또한 Akami 보안 운영 명령 센터는 은행, 여행, 게임, 미디어 및 인터넷 스토리지 부문을 대상으로 하는 여러 middlebox 공격 캠페인을 모니터링했습니다.

 

공격자는 증폭 벡터를 통해 공격의 위력을 높이고 리소스를 절약하여 대상 IP를 스푸핑하고 상대적으로 작은 데이터 패킷을 잘못 구성된 서버로 보낼 수 있습니다. Akamai는 33바이트 페이로드를 가진 단일 SYN 패킷이 2,156바이트의 응답을 생성하여 크기가 6.533% 증가하는 것을 관찰했습니다. 일부 middlebox 구현을 통해 공격자는 TCP 볼륨 공격 자체뿐만 아니라 SYN, ACK 또는 PSH+ACK 플러딩을 공격에 추가할 수 있습니다.

검색 및 탐지

Usenix 연구의 논문은 잠재적으로 취약한 middleboxes를 탐지하기 위해 IPv4 주소를 검색하는 데 사용되는 두 가지 방법을 설명합니다:

숫자 시퀀스가 포함된 SYN 패킷 다음으로, 숫자 시퀀스 s+1이 포함된 PSH+ACK이 금지된 리소스( middlebox가 차단하도록 구성된 URL)에 대한 HTTP GET 페이로드 요청을 포함하고 금지된 리소스에 대한 페이로드 HTTP GET 요청이 포함된 SYN 패킷을 검색합니다.

 

이러한 스캐닝 방법을 사용하여 Shadowserver에서 수행한 분석은 middlebox에서 TCP DrDoS 공격에 취약한 1,880만 개의 IPv4 주소 수치를 보고했습니다. 국가별로 나누어 보면 중국, 이란, 인도네시아가 각각 상위 3위를 차지하고 있습니다.

 

 

권장 사항 및 솔루션

제대로 구성되지 않았거나 남용된 middlebox을 가진 사용자/조직에 영향을 미칠 수 있는 이러한 유형의 DrDoS 공격의 영향을 완화하기 위한 권장 사항은 다음과 같습니다:

- 중간 상자에서 생성되는 차단 응답의 크기를 제한하고 공격의 증폭을 줄이기 위해 금지된 TCP 연결에 대해 간단한 RST를 반환하도록 선택합니다.

- 양방향 middlebox를 권장합니다. 양방향 middlebox를 사용하면 클라이언트와 서버의 트래픽을 볼 수 있고 패킷의 수정사항을 유추할 수 있습니다. 이는 스푸핑 기법을 사용하여 통신의 원점을 변경할 수 있습니다.

- middlebox가 구성된 지역에서만 응답하고 트래픽을 수신하도록 구성합니다.

- HTTP 트래픽 응답을 비활성화합니다. HTTP 트래픽 응답은 HTTPS에 해가 되는 더 이상 사용되지 않는 프로토콜입니다.

- 방화벽의 경우 ACL(Access Control List)을 사용하여 알려진 잘못된 패턴을 차단할 수도 있습니다. 예를 들어 아래 규칙과 같은 규칙을 사용하여 패킷 길이가 100보다 큰 포트 80에서 들어오는 SYN 패킷을 폐기할 수 있습니다. (deny tcp any eq 80 host x.x.x.x match-all +syn -ack packet-length gt 100)

- middlebox에 대한 이 공격의 기본은 TCP 통신 상태에 대한 제어 부족에 있습니다. SYN 패킷은 이 통신에서 3way handshake를 설정할 때 사용되고 각 당사자가 보낸 첫 번째 패킷에만 사용됩니다. 실제 데이터 전송에는 사용되지 않으므로 SYN 플래그가 활성화되고 일정 크기를 초과하는 모든 패킷을 효과적으로 탐지하고 차단할 수 있습니다.

- 불량 패킷을 탐지하기 위한 스푸핑 방지 시스템 또는 모듈을 사용합니다.

 

 

middlebox는 생성하는 트래픽의 IP 주소를 스푸핑하므로 공격자가 반사된 트래픽의 소스 IP 주소를 middlebox 뒤의 임의의 IP 주소로 만들 수 있음을 의미합니다. 일반적으로 이 문제를 해결하려면 모든 제조업체가 middlebox를 업그레이드하고 이러한 기계를 배포한 모든 조직이 인프라도 업그레이드하는 것이 바람직하므로 장치에 대한 관련 보안 업데이트를 기다리는 것이 좋습니다.