· 국내에서도 소량의 DDoS 공격이 있었습니다.
· SYN, UDP, ICMP 플러딩이 주요 공격 기법으로 사용되었으며, SYN 플러딩의 경우 고객을 위한 세션 사용량을 보유하고 있어 가장 위험한 공격이었으며, IP를 수정하여 잡기도 어려웠다.
※ DDoS가 나오기 전 과부하 공격 방식은 무엇이었나?
· smuf : 원격지의 네트워크 대역에 직접 브로드캐스팅하여 모든 대역을 공격하는 방식
Land: 목적지 IP와 소스 IP를 동일하게 조작하여 사용자 수를 점유하고 SYN 플러딩 등 서버 CPU에 부하를 주어 공격하는 방식
죽음의 핑: 핑 패킷을 최대한 길게 보내는 방법(서버에서 핑만 차단하면 되기 때문에 방지하기 쉬움)
티어드롭: 조각난 패킷에서 비트를 조작하고 전송하는 방법
1세대 수비 트렌드
로컬 회선 증설로 용량 증대
서버 CPU 성능 향상(분산 처리, 서버 처리 속도 향상)
라우터 CPU 성능 향상(CPU 역할 분리: 테이블 구축 CPU, 패킷 포워딩 CPU, 페이로드 CPU)
· 즉, 하드웨어 성능이 향상되었습니다.
2세대 공격 동향 (~2007)
· DDoS 공격 도구는 네이버 카페에서 판매되어 대중에게 확산되었습니다.
· 광랜이 등장하면서 좀비 PC도 성능이 좋아지고 공격도 강화됐다.
도구 판매 등으로 피싱 공격이 성행하면서 좀비 PC 감염률 증가(악성 첨부파일, 악성 URL)
· 좀비 PC는 잘 알려진 포트 80을 사용하여 공격하여 좀비 PC를 식별하기 어렵게 만듭니다.
– 2세대 주요 공격 방식
SYN, SYN-ACK, ACK 플러딩을 변조하여 공격
→ ACK 플러딩의 경우 대용량 파일 전송과 패턴이 유사하기 때문에 DDoS 방어체계에서 잡아내기 어렵다.
· 세션 기반 Flooding 공격 – TCP 세션만 설정하고 세션을 조용히 유지하는 공격
→ TCP와 IP 변조를 식별하는 기능이 개발되면서 공격 방식이 변경되었습니다.
→ 리소스가 과도한 대역폭을 소모하지는 않지만 서버의 세션 사용량을 소모하기 때문에 방지하기 어렵습니다.
· 웹 기반 플러딩 공격 – HTTP GET 헤더를 조작하여 공격
→ HTTP 레벨에서 정상적으로 TCP 세션이 성립되고 HTTP GET도 정상적으로 전송되는 것 같으나 코드가 완료되지 않아 서버가 대기한다.
→ POST 패킷의 내용 길이를 과도하게 조작하여 세션을 강제로 대기
· 반사 기반 플러딩 공격 – 프로토콜 규칙을 이용한 공격
→ 좌측의 공격자, 중앙의 웹서버, 우측의 타겟 서버가 중앙의 리플렉터 서버를 공격하면 공격자는 소스 IP를 타겟 서버로 수정하여 SYN 플러딩을 서버로 보낸다.
→ 리플렉터 서버는 타겟 서버로부터 SYN 시그널을 받았다고 생각하고 타겟 서버로 SYN-ACK를 보낸다.
→ 중앙 서버가 웹 서버가 아니면 RESET을 보낸다.
→ 최근 유행하는 증폭 공격의 모체가 되었다.
2세대 수비 트렌드
DDoS 사이버 방어 시스템, 호스팅 업체를 통한 방어
– DDoS 방어 시스템의 특징
평소보다 많은 트래픽이 수신되면 방어 시스템이 작동하여 공격을 방어합니다.
각 공격 방식에 따른 특화된 방어 체계 운용 방법
그러나 이러한 방어 시스템은 3세대 공격 경향으로 인해 오래 가지 못했다.
3세대 공격 동향(현재)
사용한 라인을 가득 채워 공격(증폭 공격)
IOT 센서, 스마트폰 등 좀비PC의 매체는 다양해졌다.
※ 최근 DDoS 이슈
멤캐시드 공격(2018.02.28): 깃허브 서버에서 트래픽 1.35테라 bps에 순식간에 도달하는 DDoS 증폭 공격
· (관련 뉴스: http://www.dailysecu.com/?mod=news&act=articleView&idxno=31010)
– Memcached 동작방식(반사공격과 유사)
네트워크 속도를 향상시키는 Memcached 서버는 원래 공용 네트워크에 노출되어서는 안 되지만 현재 100,000개 이상의 기업 및 중소형 Memcached 서버가 보호 없이 노출되어 있으므로 공격자가 Memcached를 사용할 수 있습니다. 이를 통해 매우 대규모 공격이 가능합니다.
· Memcache 키가 요청되면 Memcache 서버는 Memcache 키 값을 증폭하여 대상 서버로 보냅니다. (최대 51000회)
– DNS를 이용한 증폭 공격
IP를 수정하여 인터넷에 공개된 재귀 질의를 업로드한 DNS 서버에 DNS ANY 질의를 보내면 DNS 응답을 받는다. (SNMP도 비슷하게 적용할 수 있습니다.)
· 이 공격의 증폭률은 낮지만 SNMP와 같이 전 세계적으로 적용되는 시스템이 많아 문제가 되었다.
※ 과거에는 좀비 PC가 외부 서버를 공격할 때 서버의 인프라 수준에서 DDoS 공격은 무시할 수 있었지만 트래픽이 매우 크기 때문에 Memcached와 같은 공격에 대한 방어가 어렵습니다. 따라서 사용하지 않는 대역 포트를 차단하거나 취약점을 패치하고 정기적인 점검을 통해 이를 방지할 필요가 있다.
3세대 방어 동향(현재)
DDoS 공격은 완전히 막을 수 없으며 DDoS 방어 장비 → ACL → ISP → 스크러빙 센터 요청 순으로 대응
스크럽 센터?
기존 사이버 쉘터의 확장으로 DDoS 공격에 최적화된 클라우드 서비스
· 고객의 트래픽을 DNS를 통해 우회, 흡수, 검수하여 정상적인 트래픽만 고객의 인프라로 전달하는 서비스입니다.
퍼블릭 클라우드 외에 오픈소스 기반 프록시 배포 서버로의 트래픽은 프록시 처리를 통해 처리된다.
HTTP 공격은 차단하기 어렵지만 TCP 계층 공격은 차단할 수 있습니다.
· 웹프록시의 동작으로 인해 많은 SYN 패킷이 들어올 경우 스스로 바인딩하여 원본서버로 보내지 않는다.
· 즉, 전 세계에 널리 분산된 센터에서 흡수한 증폭된 트래픽을 클라우드에 분산시키고 각 지역의 DDoS 방어 장비로 차단하기 때문에 현재의 DDoS 공격 경향에 최적화되어 있습니다.
단점: 매우 비쌉니다.
전류 제한
네트워크 장비 및 보안 장비가 할 수 있는 일 : Access List, Null Routing, DNS Round Robin, DNS 정보 변경 등을 통해 일부 DDoS 공격에 대응이 가능하지만 현실적인 한계가 있음
엔터프라이즈 보안 장비가 할 수 있는 것: 세션 검증(SYN 없는 SYN-ACK, SYN-ACK 없는 ACK의 비우발적 세션 검증)
· PS에서 할 수 있는 것: 패턴 확인(HTTP GET에서 캐시 제어 문자열 확인, PAYLOAD에서 공격 도구에만 포함된 블록 확인 문자열), 무결성 확인(HTTP 헤더에 연결 및 프록시 연결 헤더가 모두 존재하지 않는지 확인)
· 이것들이 있지만 방화벽에서 대용량 트래픽을 차단하는 데는 한계가 있습니다.