세 가지 유형 한눈에 비교
유형별로 ‘무엇이 한계에 도달하는가’가 다르므로 측정 단위와 방어 방법도 달라집니다. 분류는 보안 업계에서 흔히 쓰는 틀을 따른 것이며 자료마다 세부 구분이 조금씩 다릅니다.
| 유형 | 노리는 자원 | 흔한 측정 단위 | 대표 예 |
|---|---|---|---|
| 볼류메트릭 | 회선 대역폭 | bps(Gbps, Tbps) | UDP 플러드, 증폭 공격 |
| 프로토콜 | 서버·방화벽·로드밸런서의 연결 상태 자원 | pps | SYN 플러드 |
| 애플리케이션 계층 | 웹 서버·애플리케이션 기능 | rps | HTTP 플러드, 슬로로리스 |
증폭의 정도도 프로토콜마다 크게 다릅니다. 위키백과(Denial-of-service attack)의 UDP 증폭 표에는 DNS가 최대 약 179배, NTP가 약 556.9배, memcached가 약 5만 배로 실려 있습니다. 이는 특정 조건에서의 최대치이고 이후 버전에서 개선된 것도 있으므로(memcached 1.5.6, NTP 4.2.7p26에서 수정) 오늘의 위험을 그대로 나타내지는 않습니다.
공개 사후 보고로 본 실제 사고
사례 1. 2016년 10월 21일 Dyn DNS 사고
2016년 10월 21일 DNS 서비스 업체 Dyn이 세 차례의 DDoS 공격을 받았습니다(위키백과 기준 UTC 11:10~13:20, 15:50~17:00, 20:00~22:10). Dyn은 많은 웹사이트의 도메인 이름을 IP 주소로 풀어 주는 업체여서, Dyn이 흔들리자 Amazon, Twitter, Netflix, GitHub, Reddit, PayPal 등 수많은 서비스가 유럽과 북미, 특히 미국 동부에서 접속되지 않았습니다. 표적은 개별 사이트가 아니라 DNS라는 공통 의존 지점이었던 것입니다. Dyn은 ‘수천만 개의 IP 주소’에서 악의적 요청이 들어왔다고 밝혔고, 공격은 Mirai 악성코드에 감염된 프린터, IP 카메라, 가정용 게이트웨이, 베이비 모니터 등 사물인터넷 기기의 봇넷으로 추정되었습니다. Mirai의 소스 코드가 몇 주 전 공개되어 있었던 점이 배후를 가리기 어렵게 했다고 브라이언 크렙스가 지적했습니다. 2017년 12월 미 법무부는 Mirai 및 클릭 사기 봇넷 관련 사건에서 세 명의 유죄 인정을 발표했습니다. 배울 점은 두 가지입니다. 하나는 서비스가 의존하는 DNS를 한 업체에만 두는 구조의 위험, 다른 하나는 보안이 허술한 가정용 IoT 기기가 대규모 공격의 병력이 된다는 점입니다.
사례 2. 2018년 2월 28일 GitHub 1.35Tbps 공격
GitHub가 공개한 사고 보고에 따르면 2018년 2월 28일 GitHub는 정점 1.35Tbps(초당 1억 2,690만 패킷)의 트래픽을 받았습니다. 공개 인터넷에 UDP가 켜진 채 노출된 memcached 서버를 이용한 증폭 공격이었고, 증폭 배율은 최대 약 5만 1천 배라고 설명되었습니다. GitHub.com은 17:21~17:26 UTC에 접속이 불가했고 17:26~17:30 UTC에 간헐적으로 불안정했습니다. GitHub는 17:26에 Akamai의 방어망을 통해서만 경로를 광고하도록 바꿔 추가 처리 용량을 확보했고, 이후 경계에서 접근 제어 목록으로 공격을 걸러냈습니다. GitHub는 데이터의 기밀성이나 무결성이 위험에 처하지 않았다고 밝혔고, 대응 자동화와 복구 시간 단축을 다음 과제로 제시했습니다. 배울 점은 대규모 공격이라도 외부 방어 전문 사업자(스크러빙)와의 사전 연결이 있으면 수 분 안에 복구할 수 있다는 점, 그리고 증폭의 근본 원인은 인터넷에 노출된 잘못 설정된 서버라는 점입니다.
상황별 대응 점검표 (가상 예시)
아래는 실제 사건이 아닌 가상 예시입니다. 소규모 쇼핑몰 운영자가 ‘사이트가 갑자기 느려졌다’는 문의를 받았다고 합시다. CISA는 이런 증상(느린 성능, 특정 사이트 접속 불가)이 공격이 아닌 일반적인 기술 문제나 점검에서도 나타날 수 있다고 안내합니다. 그러므로 먼저 아래 순서로 원인을 좁힙니다.
- 호스팅·클라우드 사업자의 장애 공지와 상태 페이지를 확인합니다.
- 트래픽 모니터링(방화벽, 호스팅 대시보드)에서 평소와 다른 급증이 있는지 봅니다.
- 의심되면 네트워크 관리자와 인터넷 서비스 제공업체(ISP)에 문의합니다. 공격이 다른 침입의 위장일 수 있으므로 다른 시스템도 함께 감시합니다.
- 평소에 DoS 방어 서비스 가입과 장애 대응 계획(연락처, 복구 순서)을 준비해 둡니다.
흔한 오해와 정정
- 오해: DDoS를 당하면 개인정보가 유출된다. 실제: DDoS의 목적은 서비스 방해이며, 유출 자체는 다른 침해입니다. 다만 공격이 다른 침입의 눈속임으로 쓰이기도 한다는 CISA의 주의가 있으므로 별도로 점검해야 합니다.
- 오해: 대역폭만 크면 막을 수 있다. 실제: 애플리케이션 계층 공격은 트래픽 양이 적어도 서버 기능을 마비시킬 수 있습니다.
- 오해: 봇넷에 쓰이는 기기는 항상 해킹당한 PC다. 실제: Dyn 사례처럼 카메라, 프린터, 공유기 같은 IoT 기기가 쓰일 수 있고, CISA도 기본 비밀번호의 IoT 기기를 지적합니다.
한계와 더 알아볼 점
Dyn 사고의 배후는 사고 직후 여러 집단이 주장했지만 확인되지 않았고, 위키백과는 이후 Mirai 관련 사건의 유죄 인정과 2020년 한 명의 유죄 인정을 언급하는 정도로만 설명합니다. 이 글에는 공격 규모의 최근 기록도 담지 않았습니다. 기록은 계속 갱신되므로 CISA와 각 사업자의 최신 보고서를 확인하는 편이 정확합니다. 또 방어 방법의 효과는 환경마다 달라서 위 점검표는 일반 정보일 뿐이며, 실제 서비스 운영에는 전문 보안 업체와의 상담이 필요합니다.
다른 해킹·보안 위협도 함께 알아두면 좋아요
해커의 목적과 유형이 궁금하다면 해커의 종류 완전정복을, 사회공학적 공격 수법이 궁금하다면 소셜 엔지니어링 공격 관련 글도 확인해보세요. 트래픽 분산에 쓰이는 CDN 기초와 방화벽 기초도 방어 이해에 도움이 됩니다.
내 홈 네트워크 보안도 점검해보세요
내 공유기나 IoT 기기가 봇넷에 이용되지 않도록 기본 보안 설정을 점검하고 싶다면홈 네트워크 보안 설정하는 방법을 참고해보세요.
자주 묻는 질문
DDoS 공격은 왜 완전히 막기 어렵나요?
공격 트래픽이 수많은 서로 다른 IP 주소(감염된 좀비 기기들)에서 동시에 발생하기 때문에, 특정 IP 몇 개만 차단하는 방식으로는 대응이 안 됩니다. 게다가 애플리케이션 계층 공격은 정상 사용자의 요청과 매우 비슷해 보여, 실제 사용자를 차단하지 않으면서 공격만 걸러내기가 쉽지 않습니다.
내 컴퓨터가 봇넷의 일부가 됐는지 어떻게 알 수 있나요?
평소보다 인터넷 사용량이 눈에 띄게 늘거나 컴퓨터가 이유 없이 느려지는 경우 의심해볼 수 있지만, 정교한 악성코드는 눈에 띄는 증상 없이 조용히 작동하기도 합니다. 신뢰할 수 있는 백신 프로그램으로 정기적인 검사를 하고, 운영체제와 공유기 펌웨어를 최신 상태로 유지하는 것이 가장 기본적인 예방입니다.
DoS와 DDoS는 공식 문서에서 어떻게 구분하나요?
CISA는 DoS를 정당한 이용자가 시스템이나 네트워크 자원에 접근하지 못하게 하는 공격으로, DDoS를 여러 기기를 동원해 같은 일을 하는 공격으로 설명합니다. 동원된 기기 중 상당수는 약한 비밀번호의 IoT 기기라고도 설명합니다.
Dyn 사고에서 왜 Dyn과 관계없는 사이트까지 접속이 안 됐나요?
사이트 자체는 멀쩡해도, 이름을 IP 주소로 바꿔 주는 DNS 업체가 응답하지 못하면 이용자가 접속 주소를 얻지 못하기 때문입니다. 그래서 DNS를 한 업체에 의존하는 구조가 약점이 될 수 있습니다.
가정에서 DDoS를 당하면 어떻게 하나요?
일반 가정이 직접 표적이 되는 일은 드뭅니다. 접속이 이상하게 느리거나 끊기면 CISA 안내처럼 ISP에 먼저 문의해 장애인지 공격인지 확인하세요.