SmartNIC용 BIG-IP VE를 통한 클라우드/NFV 환경의 향상된 DDoS 보호
요약:
분산 서비스 거부(DDoS) 공격은 활동가, 범죄자, 게이머, 심지어 정부가 자행하는 방해 행위의 한 형태로 점점 더 흔해지고 있습니다. 서비스 제공업체가 5G 인프라를 구축하고 기업이 디지털 전환을 추진함에 따라 잠재적 공격의 규모와 표적이 될 수 있는 영역도 확대될 것으로 예상됩니다. 이처럼 위험이 증가하는 가운데 조직이 효율적이고 비용 효과적인 소프트웨어 정의 아키텍처로 전환하는 추세까지 더해지면서, 클라우드/NFV 환경을 위한 DDoS 완화의 중요성이 그 어느 때보다 커지고 있습니다.
이 백서에서는 DDoS 공격 메커니즘에 대한 정보를 제공하고, F5의 소프트웨어 DDoS 완화 솔루션을 Intel의 FPGA PAC N3000 SmartNIC과 결합하여 SmartNIC에 내장된 FPGA로 처리를 오프로드함으로써 최대 300배 규모의 DDoS 공격까지 완화할 수 있는 방법을 설명합니다.
배경:
디지털 기술에 의존하며 상호 연결된 오늘날의 세계에서 사이버 공격은 기업, 서비스 제공업체 및 정부 기관에 심각한 악영향을 미칠 수 있습니다. 언론은 해커가 협박과 금품 갈취에 이용할 기밀 정보를 훔치는 행위에 주목하지만, 많은 악의적 행위자는 단순히 금전적 피해를 입히려는 의도를 가지고 있습니다.1 서비스 거부 공격(DoS)에서 공격자는 인터넷에 연결된 서비스(예: 웹사이트 또는 메일 서버)를 표적으로 삼아 서비스가 중단되거나 응답하지 않도록 만듭니다. DoS 공격은 서버 소프트웨어의 오작동을 유발하도록 특수하게 조작된 요청으로 인해 발생할 수 있습니다.
최근 몇 년간 코딩 관행과 회귀 기법이 개선되면서 단순한 서비스 거부(DoS) 공격의 효과가 감소했습니다. 그 결과 분산 서비스 거부(DDoS) 공격이 더욱 빈번해졌으며, 서비스 제공업체가 5G 인프라와 엣지 컴퓨팅을 도입함에 따라 이러한 추세는 계속될 것으로 예상됩니다. DDoS 공격은 흔히 악의적인 개인이 주도하며, 네트워크에 연결된 감염된 컴퓨터 장치들로 구성된 조직화된 봇넷을 통해 분산 수행됩니다. 이러한 장치에는 피해 장치나 서비스로 공격 트래픽을 전송하라는 명령을 내릴 수 있습니다.1 일반적인 처리량 기준으로 볼 때 감염된 장치 한 대가 미치는 영향은 미미하지만, 대규모 봇넷에 속한 수천 대 또는 수만 대의 장치가 조직적으로 공격하면 많은 서비스 제공업체가 감당할 수 없는 수준의 처리량에 이를 수 있습니다.
온라인 서비스에 의존하는 기업의 경우 서비스 품질 저하와 가동 중단은 수익에 악영향을 미칩니다. 전자상거래는 특히 서비스 장애에 취약하며, 서비스가 중단되면 분당 수천 달러에서 수백만 달러의 손실이 발생할 수 있습니다. 서비스 중단을 일으키지 않는 공격이라도 성능을 저하시킬 수 있으며, 불편을 느낀 고객이 다른 전자상거래 업체로 이동하면 실질적인 매출 손실로 이어질 수 있습니다.2
소비자의 인터넷 연결 속도가 빨라지고 클라우드에 연결되는 기기가 보편화되면서 DDoS 공격의 가능성이 커지고 있습니다. 연결된 기기는 특히 우려되는 요소이며, 온라인 서비스의 안전성과 신뢰성을 유지하려면 이러한 기기의 보안을 확보하는 것이 필수적입니다. 이러한 공격의 가능성이 커지는 가운데, 많은 조직이 소프트웨어 중심 아키텍처로 전환함에 따라 DDoS 공격 위험도 증가하고 있습니다. 대부분의 소프트웨어 기반 DDoS 방어 솔루션은 대규모 공격을 방어하는 데 필요한 처리 용량과 성능이 부족합니다. 다행히 최신 세대 네트워크 인터페이스 카드인 SmartNIC은 네트워크 및 보안 기능을 소프트웨어 솔루션에서 오프로딩하여 가용 CPU의 부담을 줄임으로써 이러한 상황을 바꿀 수 있습니다.
이 보고서에서는 실제 공격 사례의 증거를 바탕으로 여러 공격 메커니즘을 정의한 후, F5의 소프트웨어 DDoS 완화 솔루션인 F5® BIG IP® Advanced Firewall Manager™ Virtual Edition(BIG-IP AFM VE)을 Intel의 PAC 3000 SmartNIC과 결합하여 성능을 강화하는 방법을 설명합니다. 또한 이 통합 솔루션(BIG-IP Virtual Edition for SmartNICs 솔루션)이 동급의 소프트웨어 전용 솔루션보다 최대 300배 더 큰 규모의 DDoS 공격을 완화할 수 있음을 보여줍니다.
공격 방식
비상태 기반 공격
비상태 저장형 공격은 상태 저장형 프로토콜을 대상으로 사용할 수 있지만, 공격자가 악성 연결의 상태를 추적할 필요는 없습니다. 최소한의 리소스만 필요하고 출발지 IP 주소 스푸핑과 함께 사용할 수 있어 널리 이용됩니다. 가장 전형적이고 널리 사용되는 공격 방식은 서버에 상태 저장형 연결을 열도록 허위 요청을 보내는 것으로 시작하며, 공격 클라이언트(주로 봇넷 노드)는 이 요청에 대한 서버의 응답을 절대 확인하지 않습니다.[1] (https://www.f5.com/resources/white-papers/augmented-ddos-protection-for-cloudnfv-environments-with-big-ip-ve-for-smartnics#footnote01) TCP SYN 플러드 공격이 대표적인 예입니다. TCP 연결을 설정할 때 3방향 핸드셰이크는 클라이언트가 SYN 패킷을 전송하면서 시작됩니다. 서버는 클라이언트로부터 SYN 패킷을 수신하면 튜플, 시퀀스 번호 및 세션 상태를 저장하는 TCP 소켓 데이터 구조에 즉시 메모리를 할당합니다. 그런 다음 서버는 SYN-ACK 패킷으로 클라이언트에 응답합니다.
일반적인 상황에서는 패킷 손실이나 통신 지연으로 인해 SYN-ACK 패킷이 늦게 도착하거나 완전히 유실될 수 있습니다. 서버는 리셋을 전송하고 다른 작업에 사용할 메모리를 해제하기 전에 소켓을 반개방 상태로 얼마나 오래 유지할지 결정해야 합니다.3 널리 사용되는 DDoS 기법 중 하나는 대량의 SYN 패킷을 생성하여 피해 서버가 수천 개의 가짜 세션에 TCP 소켓과 메모리를 할당하도록 유도하는 것입니다. 초당 수천 개의 SYN 패킷을 전송하는 공격은 웹 서버가 빠르게 모든 메모리를 소진하게 만듭니다. 이 예에서는 악의적인 공격자가 유리합니다. 공격자는 어떤 세션도 사용되지 않을 것임을 알고 있으므로 이러한 세션을 추적하기 위한 메모리를 확보할 필요가 없습니다. 따라서 공격자는 모든 시스템 리소스를 추가적인 가짜 SYN 패킷을 전송하는 데 집중할 수 있습니다.
상태 비저장 프로토콜은 위조된 출발지 주소를 사용해도 원활하게 작동하므로 악용하기 쉽습니다.4 상태 비저장 프로토콜은 핸드셰이크가 필요하지 않으므로 조작된 패킷 하나만 서버로 전송해도 즉각적인 응답을 유도할 수 있으며, 공격자 장치의 리소스를 거의 사용하지 않으면서 공격자의 신원을 숨길 수 있습니다.5 피해자의 데이터 응답 패킷은 위조된 IP로 전달되며, 이 IP는 또 다른 피해자의 주소일 수 있습니다. 이러한 패킷이 대량으로 전송되면 인터넷 연결이나 서버의 속도가 느려지거나 작동이 중단되어 공격의 효과가 더욱 커질 수 있습니다.
증폭 공격
증폭 공격으로 알려진 별도의 비상태 기반 공격 범주에는 DNS 플러드와 NTP 플러드가 포함됩니다. 두 공격 모두 공격 벡터의 일부로 주소 스푸핑을 사용합니다. 증폭 공격은 서버의 응답이 원래 요청보다 몇 배나 클 수 있기 때문에 특히 큰 피해를 줍니다.
2018년, 개발자들이 선호하는 인기 코드 관리 서비스인 GitHub는 당시 사상 최대 규모의 DDoS 공격을 받았습니다. 공격이 절정에 달했을 때 이 서비스로 유입된 트래픽은 초당 1.3테라바이트(Tbps)에 달했습니다. 이는 널리 사용되는 데이터베이스 캐싱 시스템인 Memcached를 이용해 증폭 효과를 악용한 memcached DDoS 공격이었습니다. 공격자는 위조된 요청을 Memcached 서버에 대량으로 보내 공격 규모를 50,000배까지 증폭할 수 있었습니다.6
상태 비저장 공격은 흔한 유형의 DDoS 위협이지만, 공격 방식이 단순하기 때문에 쉽게 탐지하고 예방하거나 완화할 수 있습니다.
상태 저장형 공격
상태 저장형 DDoS 공격은 성공 가능성이 더 높고 방어하기도 어렵습니다. 상태 저장형 공격은 피해 대상과 핸드셰이크를 완료한 후 정상적인 사용자처럼 행동합니다. 이 유형의 공격 벡터는 기존 DDoS 방어 메커니즘을 속일 수 있으며, 공격 시스템에 더 많은 컴퓨팅 성능과 메모리가 필요합니다. 공격 성공의 핵심은 정상적인 요청처럼 행동하는 데 있습니다. 이러한 공격을 완화하려면 실제 사용자의 요청과 악의적인 요청을 정확히 분류해 구분해야 합니다.
상태 저장형 공격의 간단한 예로는 다수의 공격자(예: 봇넷)를 동원해 정상 사용자의 행동을 모방함으로써 충분히 많은 트래픽을 생성하는 방식이 있습니다. 이러한 볼류메트릭 공격은 피해자가 모든 요청을 수용하거나 처리할 수 없을 때, 또는 서비스의 인터넷 연결이 최대 용량에 도달해 포화될 때 성공합니다. 트래픽이 정상 사용자의 행동을 모방하도록 만들어지기 때문에 악성 트래픽을 탐지하고 정상 트래픽과 구분하기가 훨씬 더 어렵습니다. 특정 유형의 핸드셰이크 메커니즘(예: 챌린지-응답, 비밀 인코딩 또는 쿠키 교환)을 사용하는 서비스의 경우, 유효한 응답을 손쉽게 생성할 수 있는 응답 체계의 취약점이 발견되지 않는 한 볼류메트릭 공격이 피해자를 공격할 수 있는 유일한 방법일 수 있습니다.7
고급 상태 기반 공격의 한 유형은 특정 애플리케이션 계층 서비스를 표적으로 삼습니다. HTTP 프로토콜을 공격하는 대표적인 예로는 ‘슬로로리스(Slowloris)’가 있습니다. 이 공격은 악의적인 공격자가 웹 서버에 불완전한 HTTP ‘GET’ 요청을 여러 개 전송하여 서버가 허용하는 최대 동시 연결 수를 모두 소진시키는 방식으로 시작됩니다. HTTP 프로토콜은 클라이언트가 요청 명령을 전송하는 동안 연결을 계속 열어 두며, 요청 명령 자체도 여러 패킷으로 나누어 전송할 수 있기 때문에 이러한 공격이 가능합니다. 악성 클라이언트는 요청을 끝내지 않은 채, 길게는 수 분의 간격을 두고 불완전한 HTTP 요청을 서버에 주기적으로 전송합니다.
Slowloris와 유사한 방식으로는 HTTP “POST” 명령을 이용해 아무런 의심도 하지 않는 웹 서버에 데이터 응답을 천천히 전송하는 “Are You Dead Yet”, 즉 “RUDY” 공격이 있습니다.8 두 방식 모두 실행에 필요한 리소스가 매우 적으며, 많은 웹 서버에서 HTTP 연결을 열린 상태로 유지하는 기본 제한 시간이 5분이기 때문에 필요한 대역폭도 매우 적습니다.[1] (https://www.f5.com/resources/white-papers/augmented-ddos-protection-for-cloudnfv-environments-with-big-ip-ve-for-smartnics#footnote01)
프래그먼트 플러드 공격도 효과적인 상태 기반 공격이 될 수 있습니다. 이 기법은 단일 대상을 겨냥해 여러 소스 포트와 주소를 사용하도록 조정할 수 있습니다. 공격받는 엔드포인트는 각 프래그먼트 패킷을 재조립하려고 시도하면서 모든 패킷의 상태를 저장합니다. 고유한 소스 포트와 주소 조합마다 공격받는 시스템에 별도의 프래그먼트 버퍼를 할당해야 합니다. 여러 악성 시스템이 프래그먼트 패킷을 전송하면, 공격받는 시스템이 모든 프래그먼트 트랜잭션의 상태를 유지하는 과정에서 가용 리소스가 고갈될 수 있습니다.
상태 저장형 공격은 피해자에게 유효한 응답을 생성하는 방식에 의존하므로, 일반적으로 공격자의 출발지 주소를 위조할 수 없습니다. 단, 공격자가 정상 트래픽이 통과하는 라우터나 네트워크 매체를 장악할 수 있다면 예외입니다. 이 경우 공격자는 출발지 주소를 위조하고 피해자의 응답을 스니핑한 뒤 그에 맞춰 연결 상태를 추적하면서 유효한 상태 저장형 응답을 생성할 수 있습니다.7
DDoS 공격 테스트
다양한 유형의 DDoS 공격을 완화하는 F5 솔루션의 효과를 평가하기 위해 IXIA 테스트 시스템을 사용하여 테스트 환경을 구성했습니다. IXIA XT80은 정상적인 ‘합법적’ 클라이언트 트래픽과 서버 응답을 생성하고, IXIA XGS12는 악성 클라이언트 공격 트래픽을 생성했습니다. 테스트는 안정적인 정상 클라이언트-서버 트래픽 기준선을 설정한 후 공격 트래픽을 점진적으로 늘려, 공격 트래픽이 정상 트래픽의 성공적인 전송을 방해하기 시작하는 수준을 파악하도록 구성되었습니다. 이를 통해 완화 효과를 재현 가능한 방식으로 평가하고 비교할 수 있었습니다. 각 테스트에서는 설정된 기준선 대비 정상 트래픽이 10% 감소한 것이 관찰되면 DDoS 공격이 시스템에 영향을 미치는 데 성공한 것으로 판단했습니다.
테스트 환경
정상 트래픽 기준선은 BIG-IP AFM 모듈이 프로비저닝된 8vCPU 고성능 VE인 BIG-IP VE 시스템 용량의 20%로 구성되었습니다. 이 시스템은 40Gbps의 트래픽을 처리할 수 있으므로 정상 트래픽 기준선은 8Gbps로 유지되었습니다.
BIG-IP AFM VE를 사용한 소프트웨어 완화
BIG-IP AFM VE는 다양한 트래픽 분류(예: UDP, 조각화된 패킷, TCP SYN 등)에 허용 임계값을 설정하여 DDoS 공격을 완화합니다. 특정 트래픽 유형이 임계값을 초과하면 해당 분류와 일치하는 모든 트래픽을 삭제하도록 시스템을 구성할 수 있습니다. 이를 통해 시스템은 해당 유형의 트래픽을 처리하는 데 드는 추가 비용을 줄일 수 있습니다. 소프트웨어 기반 DDoS 솔루션은 보호되지 않는 시스템에 비해 어느 정도 이점을 제공할 수 있지만, 소프트웨어가 회선 속도로 패킷을 처리하는 능력에는 한계가 있으므로 소프트웨어 기반 완화만으로는 DDoS 공격의 영향을 완전히 방지할 수 없습니다.
테스트의 다음 단계는 소프트웨어 솔루션만 적용된 상태에서 정상 트래픽을 방해하기 시작하는 데 필요한 DDoS 트래픽 속도를 파악하는 것이었습니다. 이는 소프트웨어 전용 솔루션과 SmartNIC용 BIG-IP VE 솔루션의 성능을 비교하기 위한 것이었습니다. BIG-IP AFM 테스트의 시스템 아키텍처 구성은 그림 6에서 확인할 수 있습니다.
보다 포괄적인 분석을 위해 세 가지 DDoS 공격 유형에 대한 BIG-IP AFM VE의 DDoS 완화 성능 데이터를 수집했습니다. 이 시뮬레이션에 포함된 공격 유형은 다음과 같습니다.
- 공격 유형 1 – UDP 플러드 공격: 이 무상태 볼류메트릭 공격은 대상 서버에 대량의 사용자 데이터그램 프로토콜(UDP) 패킷을 전송하여 해당 서버의 처리 및 응답 능력에 영향을 주는 방식으로 수행됩니다.
- 공격 유형 2 – 크리스마스 트리 공격: 이 공격은 모든 옵션이 ‘켜짐’으로 설정되어 어떤 프로토콜이든 사용할 수 있기 때문에 마치 “크리스마스 트리처럼 불이 켜진” 것처럼 보이는, 이른바 크리스마스 트리 패킷을 사용합니다. 이러한 패킷은 다른 패킷보다 훨씬 더 많은 처리 능력을 필요로 하며, 대량으로 전송될 경우 엔드 디바이스의 연산 용량을 빠르게 소진할 수 있습니다.
- 공격 유형 3 – IP 짧은 조각 공격: 이 일반적인 대용량 DDoS 공격은 데이터그램 단편화 과정을 악용하여 네트워크를 마비시킵니다. 일반적으로 재조립할 수 없고 네트워크의 최대 전송 단위(MTU)보다 큰 위조 패킷을 전송하는 방식으로 이루어지며, CPU 리소스를 고갈시켜 서버를 빠르게 마비시킵니다.
그림 7은 BIG-IP AFM VE(소프트웨어 전용)를 사용할 때 이러한 각 공격 유형이 정상 트래픽에 영향을 미치는 데 필요한 트래픽 양을 Gbps 단위로 보여줍니다.
모든 DDoS 공격이 동일한 것은 아닙니다. 일부 공격은 다른 공격보다 시스템 전반에 더 광범위하게 분산되며, 어떤 공격은 식별하기 전에 더 많은 패킷 검사와 구문 분석이 필요합니다. 이로 인해 DDoS 공격의 효과는 위 그래프에서 볼 수 있듯이 공격 유형에 따라 달라집니다. 이 세 가지 모의 공격 방식은 소프트웨어 전용 솔루션을 사용할 경우 비교적 낮은 처리량의 DDoS 공격으로도 정상 트래픽이 영향을 받을 수 있음을 보여줍니다.
SmartNIC용 BIG-IP VE를 사용한 SmartNIC 지원 완화
SmartNIC용 BIG-IP VE 솔루션은 Intel FPGA PAC N3000 SmartNIC과 통합된 8vCPU 고성능 AFM VE(소프트웨어 전용 테스트에 사용된 것과 동일)로 구성됩니다. 이를 통해 DDoS 방어 기능을 SmartNIC으로 오프로드할 수 있습니다. 이 SmartNIC에 내장된 FPGA는 100가지가 넘는 알려진 DDoS 공격 유형을 자동으로 탐지하고 차단하는 동시에, 행동 분석을 활용하여 알려지지 않은 진화하는 위협을 완화하도록 프로그래밍되어 있습니다.
FPGA는 수신 트래픽 내에 프로그래밍된 모든 트래픽 프로파일의 패킷 수신 속도를 모니터링하고 이를 구성된 허용 임계값과 비교하여 임계값 초과 여부를 판단할 수 있습니다. 임계값이 초과되면 FPGA는 적절한 정책을 적용하여 구성된 최대값을 초과하는 트래픽을 폐기합니다. 이를 통해 DDoS 완화 정책에 따라 결국 폐기될 패킷 트래픽을 CPU 서브시스템이 처리하지 않도록 보호합니다. FPGA는 CPU 서브시스템과 달리 회선 속도로 패킷 트래픽을 분류할 수 있으므로, SmartNIC 지원 솔루션은 소프트웨어 전용 솔루션보다 확실한 이점을 제공합니다.
이 데모의 다음 단계에서는 테스트 환경에서 SmartNIC 지원 솔루션을 이전과 동일한 세 가지 DDoS 공격에 노출했습니다. 앞서와 마찬가지로 정상 트래픽 흐름에 영향을 미치는 데 필요한 DDoS 트래픽 속도를 파악하는 것이 목적이었습니다. 그림 8은 SmartNIC용 BIG-IP VE 테스트의 시스템 아키텍처 구성을 보여 줍니다.
이 테스트의 결과는 그림 9에 나와 있습니다.
결론
F5의 소프트웨어 전용 DDoS 솔루션(BIG-IP AFM VE)은 정상 트래픽에 악영향이 발생하기 전까지 소규모 공격에 대해 일정 수준의 보호를 제공할 수 있지만, 대규모 공격으로 인한 부정적인 영향은 방지하지 못하는 것으로 나타났습니다. BIG-IP AFM VE를 Intel의 FPGA PAC N3000 SmartNIC과 통합하여 BIG-IP VE for SmartNICs 솔루션을 구성한 결과, 성능이 크게 향상되었습니다. DDoS 위협 완화 작업을 BIG-IP AFM VE에서 SmartNIC 내 FPGA로 오프로드함으로써, 통합 솔루션은 30Gbps 이상의 공격을 포함해 규모가 41배에서 381배 더 큰 공격도 견딜 수 있었습니다. 클라우드 우선 전략을 추진하는 조직과 서비스 제공업체에 이 솔루션은 클라우드 환경의 유연성과 민첩성을 제공하는 동시에, 특수 목적 하드웨어의 고성능 보호 기능을 제공합니다. 또한 FPGA는 재프로그래밍이 가능하므로 위협의 변화에 따라 다른 네트워크 및 보안 기능을 보강할 수 있습니다.
1 G. D. Hakem Beitollahi, 분산 서비스 거부 공격에 대한 잘 알려진 대응책 분석, Computer Communications, 2012.
2 H. W. Chuan Yue, "전자상거래 웹사이트의 수익 인지형 과부하 방지," Journal of Network and Computer Applications, 제32권, 347~356쪽, 2009.
3 A. M. Christos Douligeris, "DDoS 공격 및 방어 메커니즘: 분류와 최신 기술 동향," Computer Networks, 제44권, 제5호, 643~666쪽, 2004.
4 G. D. Hakem Beitollahi, "분산 서비스 거부 공격에 대한 잘 알려진 대응책 분석," Computer Communications, 제35권, 제11호, 1312~1332쪽, 2012.
5 M. Prince, "DNS 증폭 DDoS 공격 심층 분석," CloudFlare, 2012년 10월 30일. [온라인]. 제공: https://blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-attack. [접속일: 2015년 11월 1일].
6 US-CERT, "UDP 기반 증폭 공격," 2015년 8월 19일. [온라인]. 제공: https://www.us-cert.gov/ncas/alerts/TA14-017A.
7 Y. T. W. D. Shigang Chen, "상태 저장형 DDoS 공격 및 표적 필터링," Journal of Network and Computer Applications, 제30권, 제3호, 823~840쪽, 2007.
8 https://www.incapsula.com/ddos/attack-glossary/rudy-r-u-dead-yet.html, "R.U.D.Y. (R-U-Dead-Yet?)," [온라인]. 제공: https://www.incapsula.com/ddos/attack-glossary/rudy-r-u-dead-yet.html [접속일: 2015년 12월 9일].
2020년 7월 27일 게시