최근 DDoS 공격 패턴에 대한 고찰

최근 들어 마구잡이식으로 행해지는 중국발 DDoS 공격에 대해
많은 사이트들이 무방비 상태로 그 피해가 확산되고 있는 상황입니다..

최근 수개월 간 행해진 중국발 DDoS 공격은 그 패턴이 아직까지는 단순한 형태여서..
공격 자체는 가공할 만한 트래픽으로 웹사이트를 수초내지 수십초 안에 드러눕게 만들고 있지만..
그 패턴들을 분석해보면 딱히 사이트의 취약점을 노려 공격하는 소위 크래킹 시도는 드물며 말 그대로 단순 무식(?)한 방법들이 대부분입니다..

앞으로의 일이 물론 더 걱정이긴 합니다. 8월에 예상되는 DDoS 대란설..
(그러나, 전 8월에 휴가를 갑니다..^^)
결과적으로 그들의 근본적인 공격방식은 전세계(특히 중국이나 한국 등)의 일반 사용자의 PC에 악성 프로그램을 설치하거나 IRC를 이용한 좀비 PC 들을 양산하여 한꺼번에 공격명령을 하달, 그 공격이 시작되는 형태이기 때문에..
이러한 좀비 PC 들의 동일한 공격 패턴만 신속하게 파악하여 차단한다면..
공격을 받는다 할지라도 큰 무리없이 피해가거나 막아낼 수 있지 않을까 싶습니다..

DDoS 공격 패턴의 종류..

  • UDP 를 이용한 Bomb Attack
    좀비PC들을 이용한 UDP DDoS 공격으로 UDP 80번 포트로 대량의 데이터(보통 UDP 패킷으로 한번에 1MByte 정도 보내며 초당 수백~수천대가 동시 공격)를 를 신나게 쏘아댑니다..
    UDP 프로토콜의 특성상 서버는 TCP와는 달리 곧이 곧대로 데이터를 쭉~ 받아들이게 되는데 이러한 상황이 지속되면 서버는 수초에서 수십초를 버티지 못하고..그대로 먹통이 되어버립니다..
    참으로 무식한 방법이긴 합니다만 대부분의 사이트는 이 공격을 받고 할당된 네트워크 대역폭을 모두 소진하여 결국 서비스는 멈추게 됩니다.
    이 공격은 특정 프로토콜 UDP 로의 공격이기 때문에 서버의 상단 네트워크 장비, 혹은 ISP나 IDC의 백본 스위치에서 UDP 80 으로의 트래픽을 모두 Null 처리 함으로써 비교적 손쉽게 방어가 가능합니다.
    대부분의 경우 서버측 UDP 80 포트로의 인바운드 패킷에 대해 Null 처리를 하더라도 일반 웹서비스(TCP 80)에는 전혀 지장이 없습니다.
    단, 전제조건은 이를 처리하는 장비가 트래픽을 견더낼 정도의 대역폭을 가져야 된다는 것이죠..스위치 장비가 이를 못견뎌내면 결국 서버가 다운되기도 전에 스위치가 다운되는 상황이 발생하기도 합니다..
  • 웹사이트의 페이지 요청을 통한 DDoS 공격
    역시나 단순 무식한 방법입니다만..이는 정상적인 웹서비스(TCP 80) 포트로 페이지요청을 통해 웹서버를 공격하는 방법입니다.
    이 공격의 경우 UDP 공격과는 달리 네트워크 대역폭을 많이 차지하지는 않으나 웹서버(Apache, IIS 등)의 페이지 요청을 한계까지 끌어올려 결국 사이트가 안열리는 상황까지 만들어 냅니다.. 이 역시 최근의 공격 사례로 볼 때 수초에서 수십초 안에 게임은 끝납니다..
    공격은 수시간 동안 지속되며 그 동안의 경험으로 볼 때 많은 좀비 PC들을 컨트롤 해야하는 부담으로 쉽게 공격 URL을 변경하지는 못하는 것으로 보여집니다.
    하지만 특정 URL이 아닌 웹사이트에 지정된 기본페이지로의 공격을 하게되면 단순한 페이지 변경만으로는 방어할 수 없으며 이 경우 웹서비스 자체에서, 즉 서버에서 직접 공격을 차단하여야 합니다.(웹 방화벽이 없다는 전제하에..^^)
    웹 방화벽이 있으면 간단하게 공격이 차단되겠지만..그 부하는 고스란히 웹방화벽이 가져가는 상황이기에 대당 수천만원이나 하는 값 비싼 웹 방화벽을 한두대 장만하느니 웹서버를 수십대로 늘려 L4 스위칭이나 DNS 라운드로빈 등으로 부하를 분산해주는 것이 더 나을 수도 있을 것 같습니다.
    어차피 웹 방화벽이나 DDoS 방어장비는 공격이 없을때는 애물단지일 뿐입니다. 새로 구입한 웹서버는 다른 용도로라도 쓸 수 있겠죠..^^;;
    (또, 지극히 개인적인 추측입니다만..공격의 배후에 혹시 보안업체가 있지 않나 하는 의심도 해봅니다..^^)
    이 공격의 경우 웹 방화벽 또는 웹서버를 증설하는 것은 기본이며 웹로그를 통해 공격 패턴을 쉽게 찾아낼 수 있으므로 해당 페이지 요청을 웹 방화벽에서 정책을 추가하여 제한하거나 웹방화벽이 없다면 서버측에서 (리눅스/유닉스의 경우) IPTable 을 통해 동일 아이피에서의 웹 연결 수를 제한하면 되고, 윈도우의 경우는 IIS에 ISAPI 필터를 적용(패턴 분석 후 개발)하여 차단이 가능합니다.
    하지만 이러한 서버측의 보안정책들을 통해 공격(웹페이지 요청)을 처리하는 것은 말 그대로 “처리”하는 것이기 때문에 서버로의 웹 요청은 전혀 줄지 않으나 정상적인 웹요청과 비정상적인 웹요청(공격)은 구분이 가능하여 이를 버리거나 처리하기 때문에 웹서비스(Apache, IIS 등)의 큐는 현저히 줄어들어 서비스는 지속 될 수 있을 것으로 보입니다.
    경험상 이 공격은 리눅스나 유닉스 보다는 윈도우가 조금 더 취약한 경향이 있습니다. 이유는 ISAPI 필터 개발에 따른 시간적, 인적 한계가 있기 때문이며 공개된 WebKnight 등으로는 방어가 불가능 합니다. 윈도우에서도 ISAPI 필터 보다 IPTable 같은 네트워크 계층에서의 필터링이 가능한 방화벽이 있다면 더 효과적일 것으로 생각됩니다. 

최근 늘어난 DDoS 공격에 시달리면서 나름대로 경험한 내용들에 대해..정리없이 적어봤습니다..
들리는 소문에는..
이러한 단순 무식한 DDoS 공격이 버틴 후에는..
웹사이트 취약점을 노린 서버 크래킹 시도가 이어질 거라는 우려가 있는데..
전 그들의 능력을 믿습니다..
“겨우” 이 정도일 거라고…;;
다른 이슈 사항들이 발생하면 또 포스팅 하겠습니다..

4 Responses

  1. 준호 댓글:

    오호 글 쓰는 솜씨가 수준급이네요. 형이 쓴거 맞나요? ㅋㅋ

    형의 다재다능한 능력이 부러울 따름입니다. ^^

    계속 시스템 프로그램 쪽만 봐서, 가끔 타분야쪽 보면 참 재미있다는 생각을 많이 합니다.

    그래도 ㅋㅋ 일로 하면 역시 힘들죠?

    암튼 내공 쌓아서 한번 터트릴때가 오겠죠.

    이얍 … ^^

    • 대갈장군 댓글:

      언제부터..내분야가..너한테 타분야가 된거지?
      이러시면 곤란하지요..준호군?
      내공 쌓아서 터트리기전에 내 배가 먼저 터질꺼 같다..

  2. 김도형 댓글:

    문제는 가격이 적당한 솔류션들이 많은데 비싼 장비만을 팔려고 하는 분위기에, 그런 장비를 구입할 수 없는 업체들은 그런 일을 당해도 투자할 돈이 없다는 거죠.

    알약을 만들어낸 루마니어에서 만든 WANGUARD 같은 제품은 가격이 그리 높지도 않습니다. 이 정도 소프트웨어는 한국에서도 충분히 만들 수 있지 않을까 하는데,,, 개발자들이 많이 한국시장을 떠났죠 ???

    • Bighead 댓글:

      비싼장비..급한 맘에 큰돈 들여서 구입한 곳들도..
      대부분 장비 도입후 꾸준한 정책 업데이트등이 부족해 결국 본전도 못 뽑고 애물단지가 되버린 곳이 많습니다..
      사실 장비로 모든걸 해결할 수 없는게 현실이지만 장비업체들의 이야기는 한마디로 “이 장비 하나면 다 막는다” 라는 식으로 영업들을 하고 있더군요..
      현재로서는..공격하는 측이나 방어하는 측이나 서로 귀찮은 일 하나 더 하는 곳이 유리한 상황인듯 합니다.