수년에 걸쳐 DDoS(분산 서비스 거부)는 호스팅된 서비스(예:웹 사이트 또는 PlayStation Network와 같은 일부 서비스)가 적어도 한동안은 빛을 보지 못하도록 하는 매우 안정적인 방법이었습니다.
이러한 공격이 휘두르는 힘은 사람들로 하여금 그 배후의 메커니즘에 대해 궁금해하게 만듭니다. 그래서 우리는 시간을 들여 어떻게 작동하는지 설명하고 이러한 공격 중 일부가 그들 중 하나는 수백만 명의 사람들을 위해 인터넷의 전체 부문을 차지할 수도 있습니다. 그러나 대응책(예:DDoS 보호)이 작동하는 방식에 대한 공개 토론은 거의 없습니다.
DDoS 방어 논의의 문제
인터넷은 하나의 거대하고 지저분한 공허를 가로질러 연결된 방대한 네트워크 배열입니다. 전 세계적으로 거의 빛의 속도로 이동하는 수조 개의 작은 패킷이 있습니다. 혼란스럽고 신비한 내부 작동을 이해하기 위해 인터넷은 그룹으로 나뉩니다. 이러한 그룹은 종종 하위 그룹 등으로 나뉩니다.
이것은 실제로 DDoS 보호에 대한 논의를 약간 복잡하게 만듭니다. 가정용 컴퓨터가 DDoS로부터 스스로를 보호하는 방식은 수백만 달러 규모의 회사 데이터 센터가 하는 방식과 비슷하면서도 약간 다릅니다. 그리고 우리는 아직 인터넷 서비스 제공자(ISP)에 도달하지도 않았습니다. 수십억 개의 연결, 클러스터, 대륙 교환 및 서브넷으로 인터넷을 구성하는 다양한 부분을 분류하는 것만큼이나 DDoS 보호를 분류하는 방법도 많습니다.
이 모든 것을 고려하여 문제의 관련성 있고 중요한 세부 사항을 모두 다루는 외과적 접근 방식을 시도해 보겠습니다.
DDoS 방어의 원리
DDoS가 작동하는 방식에 대한 명확한 지식 없이 이 글을 읽는다면 앞서 링크한 설명을 읽어보길 권합니다. 그렇지 않으면 다소 부담스러울 수 있습니다. 수신 패킷에 대해 수행할 수 있는 두 가지 작업은 다음과 같습니다. 무시 또는 리디렉션 . 패킷의 소스를 제어할 수 없기 때문에 도착하는 것을 막을 수는 없습니다. 이미 여기에 있으며 소프트웨어에서 무엇을 해야 하는지 알고 싶어합니다.
이것은 우리 모두가 준수하는 보편적인 진리이며 우리를 인터넷에 연결하는 ISP를 포함합니다. 그렇기 때문에 많은 공격이 성공합니다. 소스의 동작을 제어할 수 없기 때문에 소스가 연결을 압도할 만큼 충분한 패킷을 보낼 수 있습니다.
소프트웨어 및 라우터(가정 시스템)의 작동 방식
컴퓨터에서 방화벽을 실행하거나 라우터에 방화벽이 있는 경우 일반적으로 한 가지 기본 원칙에 얽매이게 됩니다. DDoS 트래픽이 유입되면 소프트웨어는 불법 트래픽으로 들어오는 IP 목록을 만듭니다.
초당 50회 이상과 같이 부자연스러운 빈도로 무언가가 많은 가비지 데이터 또는 연결 요청을 보낼 때 이를 감지하여 이를 수행합니다. 그런 다음 해당 소스에서 오는 모든 트랜잭션을 차단합니다. 차단함으로써 컴퓨터는 내부에 포함된 데이터를 해석하는 데 추가 리소스를 소비할 필요가 없습니다. 메시지는 목적지에 도착하지 않습니다. 컴퓨터의 방화벽에 의해 차단되어 연결을 시도하면 보내는 모든 내용이 단순히 무시되기 때문에 연결 시간 초과가 발생합니다.
이것은 공격자가 자신의 작업이 진행되고 있는지 확인하기 위해 확인할 때마다 연결 시간 초과를 확인하기 때문에 단일 IP 서비스 거부(DoS) 공격으로부터 보호하는 한 가지 훌륭한 방법입니다. 분산 서비스 거부를 사용하면 공격하는 IP에서 오는 모든 데이터가 무시되기 때문에 작동합니다.
이 계획에 문제가 있습니다.
인터넷 세상에서 '수동적 차단'이란 존재하지 않습니다. 당신에게 오는 패킷을 무시하더라도 리소스가 필요합니다. 소프트웨어를 사용하는 경우 공격 지점은 컴퓨터에서 멈추지만 종이를 관통하는 총알처럼 라우터를 통과합니다. 즉, 라우터가 모든 불법 패킷을 사용자 방향으로 라우팅하기 위해 쉬지 않고 작동합니다.
라우터의 방화벽을 사용하는 경우 모든 것이 거기에서 멈춥니다. 그러나 이는 라우터가 각 패킷의 소스를 스캔한 다음 차단된 IP 목록을 반복하여 무시할지 아니면 통과를 허용할지 여부를 확인한다는 의미입니다.
이제 라우터가 내가 초당 수백만 번 언급한 작업을 수행해야 한다고 상상해 보십시오. 라우터의 처리 능력은 유한합니다. 한도에 도달하면 어떤 고급 방법을 사용하든 정상적인 트래픽의 우선 순위를 지정하는 데 문제가 발생합니다.
이 모든 것을 제쳐두고 다른 문제를 논의해 보겠습니다. 처리 능력이 무한한 마법 같은 라우터가 있다고 가정하면 ISP는 여전히 제한된 양의 대역폭을 제공합니다. 대역폭 한도에 도달하면 웹에서 가장 간단한 작업도 수행하는 데 어려움을 겪을 것입니다.
따라서 DDoS에 대한 궁극적인 솔루션은 무한한 처리 능력과 무한한 대역폭을 갖는 것입니다. 누군가가 그것을 달성하는 방법을 알아낸다면 우리는 황금입니다!
대기업이 부하를 처리하는 방법
기업이 DDoS를 처리하는 방식의 아름다움은 우아함에 있습니다. 기존 인프라를 사용하여 다가오는 위협에 대응합니다. 일반적으로 이것은 로드 밸런서, CDN(콘텐츠 배포 네트워크) 또는 이 둘의 조합을 통해 수행됩니다. 소규모 웹사이트와 서비스는 광범위한 서버를 유지 관리할 자본이 없는 경우 이를 제3자에게 아웃소싱할 수 있습니다.
CDN을 사용하면 웹 사이트의 콘텐츠가 여러 지역에 분산된 대규모 서버 네트워크에 복사됩니다. 이를 통해 웹사이트에 연결할 때 전 세계 어디에 있든 웹사이트가 빠르게 로드됩니다.
로드 밸런서는 데이터를 재배포하고 다른 서버에 카탈로그화하여 작업에 가장 적합한 서버 유형에 따라 트래픽의 우선 순위를 지정하여 이를 보완합니다. 대용량 하드 드라이브가 있는 저대역폭 서버는 많은 양의 작은 파일을 처리할 수 있습니다. 엄청난 대역폭 연결을 가진 서버는 더 큰 파일의 스트리밍을 처리할 수 있습니다. ('YouTube'라고 생각하세요.)
작동 방식은 다음과 같습니다.
내가 이걸 가지고 어디로 가는지 볼까? 공격이 한 서버에 도달하면 로드 밸런서는 DDoS를 추적하고 네트워크의 다른 곳에서 모든 합법적인 트래픽을 리디렉션하면서 해당 서버를 계속 공격하도록 할 수 있습니다. 여기에서 아이디어는 분산 네트워크를 사용하여 필요한 곳에 리소스를 할당하여 공격이 "유인물"을 겨냥하는 동안 웹사이트나 서비스가 계속 실행될 수 있도록 하는 것입니다. 꽤 똑똑하죠?
네트워크가 분산되어 있기 때문에 단순한 방화벽과 대부분의 라우터가 제공할 수 있는 보호 기능에 비해 상당한 우위를 점합니다. 여기서 문제는 자신의 작업을 시작하려면 많은 현금이 필요하다는 것입니다. 기업은 성장하는 동안 더 큰 전문 제공업체에 의존하여 필요한 보호를 제공할 수 있습니다.
베히모스가 하는 일
우리는 소규모 홈 네트워크를 둘러보고 심지어 거대 기업의 영역으로 모험을 떠났습니다. 이제 이 퀘스트의 마지막 단계로 들어갈 시간입니다. 인터넷 연결을 제공하는 회사가 어두운 심연에 빠지지 않도록 보호하는 방법을 살펴보겠습니다. 조금 복잡해질 것 같지만 다양한 DDoS 방어 방법에 대해 군침이 도는 논문 없이 최대한 간결하게 설명하겠습니다.
ISP에는 트래픽 변동을 처리하는 고유한 방법이 있습니다. 대부분의 DDoS 공격은 거의 무제한의 대역폭에 액세스할 수 있기 때문에 레이더에 거의 등록되지 않습니다. 오후 7~11시(일명 '인터넷 러시아워')의 일일 트래픽은 평균 DDoS 스트림에서 얻을 수 있는 대역폭을 훨씬 초과하는 수준에 도달합니다.
물론, 이것이 우리가 이야기하는 인터넷이기 때문에 트래픽이 레이더에 포착되는 것 이상의 무언가가 되는 경우가 있습니다.
이러한 공격은 강풍과 함께 발생하며 소규모 ISP의 인프라를 압도하려고 시도합니다. 공급자가 눈썹을 치켜들면 이 위협에 맞서 싸울 수 있는 도구 모음에 빠르게 도달합니다. 이 사람들은 막대한 기반 시설을 마음대로 사용할 수 있으므로 이를 중단할 수 있는 여러 가지 방법이 있음을 기억하십시오. 가장 일반적인 것은 다음과 같습니다.
- 원격으로 트리거된 블랙홀 – 공상과학 영화에서나 나올 법한 이야기지만 RTBH는 Cisco에서 문서화한 실제입니다. 이를 수행하는 방법은 여러 가지가 있지만 "빠르고 더러운" 버전을 알려 드리겠습니다. ISP는 공격이 발생한 네트워크와 통신하고 해당 방향으로 흘러가는 모든 나가는 트래픽을 차단하도록 지시합니다. 들어오는 패킷을 차단하는 것보다 나가는 트래픽을 차단하는 것이 더 쉽습니다. 물론 대상 ISP의 모든 것이 이제 공격 소스에서 연결하는 사람들에게 오프라인인 것처럼 보이지만 작업이 완료되고 많은 번거로움이 필요하지 않습니다. 나머지 세계 트래픽은 영향을 받지 않습니다.
- 스크러버 – 일부 초대형 ISP에는 DDoS 트래픽에서 합법적인 트래픽을 분류하기 위해 트래픽 패턴을 분석할 수 있는 처리 장비로 가득 찬 데이터 센터가 있습니다. 많은 컴퓨팅 성능과 확립된 인프라가 필요하기 때문에 소규모 ISP는 이 작업을 다른 회사에 아웃소싱하는 경우가 많습니다. 영향을 받는 섹터의 트래픽은 필터를 통과하며 대부분의 DDoS 패킷은 차단되고 합법적인 트래픽은 통과됩니다. 이것은 엄청난 양의 컴퓨팅 성능을 희생시키면서 ISP의 정상적인 작동을 보장합니다.
- 일부 교통 부두교 – "트래픽 형성"이라는 방법을 사용하여 ISP는 DDoS 공격이 가져오는 모든 것을 대상 IP에 집어넣고 다른 모든 노드는 그대로 둡니다. 이것은 기본적으로 나머지 네트워크를 저장하기 위해 희생자를 버스 아래에 던질 것입니다. 네트워크가 심각한 위기에 처해 있고 전체의 생존을 보장하기 위해 신속하고 단호한 조치가 필요한 경우 매우 추악한 솔루션이며 종종 ISP가 마지막으로 사용하는 솔루션입니다. "다수의 필요가 소수의 필요를 능가하는" 시나리오라고 생각하십시오.
DDoS의 문제는 그 효율성이 컴퓨터 성능 및 대역폭 가용성의 발전과 함께 간다는 것입니다. 이 위협에 맞서기 위해서는 일반 가정 사용자의 능력을 훨씬 능가하는 고급 네트워크 수정 방법을 사용해야 합니다. 가정이 종종 DDoS의 직접적인 표적이 되지 않는다는 것은 좋은 일입니다!
그건 그렇고, 이러한 공격이 어디에서 실시간으로 일어나고 있는지 확인하고 싶다면 디지털 공격 맵을 확인하십시오.
집이나 직장에서 이러한 종류의 공격을 받은 적이 있습니까? 댓글로 여러분의 이야기를 들려주세요!