2010년 1월 14일 목요일

분산서비스거부공격(DDos)

분산서비스거부공격(Distributed Denial of Service, 이하 DDoS)은 이미 세간에 많이 알려진 바와 같이 인터넷의 구조적인 취약성을 공격하여 길게는 수일 동안 정상적인 서비스의 지연 혹은 마비상황을 불러일으키는 해킹 공격을 말한다. 기업에게는 거의 재난에 가까운 엄청난 피해사태를 일으켜 기업의 신뢰도에 심각한 손상을 입힐 수 있으며, 심지어는 대대적인 소송까지 휘말려 직·간접적인 피해보상을 해야 하는 최악의 사태를 초래할 수도 있다.
기존의 일반적인 해킹 방법은 해커가 기업의 네트워크에 불법적인 방법으로 침투해서 중요한 시스템의 슈퍼 사용자 권한을 획득하고, 그 내부에 들어있는 기밀 정보를 탈취하는 것이 대표적이었다. 하지만 DDoS 공격은 기업이 대고객 서비스를 운영하고 있는 운영 서버들(웹 서버, DNS 서버 등)과 네트워크 장비(라우터, 방화벽 등)에 임의로 조작된 엄청난 양의 공격성 트래픽을 전송해서 시스템 자체를 지연 혹은 마비시켜 버림으로써 고객들이 기업의 서비스를 이용할 수 없는 서비스거부(Denial of Service) 상황을 만드는 목적을 가진다는 점에서 그 성격이 다르다고 볼 수 있다.
최근의 공격 추세를 보면 기업의 개별적인 서비스 웹 사이트나 기타 서버들에 대한 공격을 통해 서비스를 마비시키는 공격 형태에서 점차 인터넷서비스 제공업체의 코어(Core) 라우터, DNS 서버들을 직접 공격해서 인터넷 인프라 자체를 완전히 마비시키는 형태로 발전해 가고 있다. 뿐만 아니라 이런 공격방법이 정치적인 핵티비즘(Hactivism, Hacking과 Activism의 합성어)의 목적과 사이버 테러리스트들의 테러 목적을 수행하는 강력한 도구가 되는 경우가 빈번해서, 비단 일반 기업뿐만 아니라 국가나 정부 차원의 대응이 절실하게 필요하다는 인식이 확산되고 있다. 또한 최근에 일어난 대규모 사고의 사례를 보면, 전 세계적으로는 2002년 10월에 발생했던 13개의 최상위 루트 DNS (Domain Name Service) 서버들에 대한 대규모의 무차별적 공격으로 적지 않은 혼란을 주었던 사례가 있었다. 루트 DNS 서버는 전 세계의 모든 인터넷 통신을 위한 종합지도라고 표현할 수 있을 정도로 가장 핵심적인 역할을 하고 있는 서버들이다. 국내의 대표적인 사례를 보면 2003년 1월에 발생했던 1.25 인터넷 대란을 들 수 있다. 이 사건도 슬래머 웜에 의한 공격이 발단이 되었지만 결국 그 형태는 DDoS 공격이었으며, 이로 인해 야기되었던 참혹한 피해 상황은 재차 언급하지 않아도 될 것이다.
필자는 최근에 가장 뜨거운 감자로 논란이 되고 있는 DDoS 공격, 다시 말해 분산 서비스 거부공격(Denial of Service Attack)을 효과적으로 거부(Denying)하기 위한 대응방안을 모색하기 위해 다음의 4가지 주요 주제로 얘기를 풀어가고자 한다.
1. DDoS 공격의 동작 원리와 공격 형태
2. DDoS 공격으로 발생되는 막심한 피해
3. 기존의 네트워크 장비와 보안 장비의 한계점
4. 또 한 가지의 대안-리버헤드사의 DDoS 방어 솔루션


DDoS 공격의 동작 원리와 공격 형태

DDoS 공격의 동작 원리
DDoS 공격은 어떻게 동작하는 것일까? 아는 바와 같이 인터넷의 표준인 TCP/IP 프로토콜은 태생적으로 구조적인 보안의 취약점을 가지고 있다. 모든 인터넷 사용자는 TCP/IP 프로토콜을 이용하여 임의의 데이터 패킷을 발송자의 IP 주소(Source IP)를 가지고 목적지의 IP 주소(Destination IP)로 발송할 수 있다. 이때 이 IP주소에 대한 특별한 인증 절차 없이 무제한적으로 대규모의 데이터 패킷을 전송할 수 있다는 것이 문제이며, DDoS 공격은 이러한 인터넷의 취약점을 악용하는 공격이다.
DDoS 공격은 수백 혹은 수천 개의 좀비 시스템(공격자가 사전에 공격 도구를 설치해 놓은 일반 인터넷 사용자들의 시스템)들을 이용해서 공격의 목적이 되는 타깃 시스템(혹은 Victim System, 공격대상 시스템)을 공격하는 형태를 가진다. 이때, 이 수많은 좀비 시스템들은 자신의 시스템에 어떤 일이 일어나고 있는지도 인지하지 못한 채 공격 명령이 떨어지면 그 순간 피해자에서 가해자로 돌변하여 불가항력적으로 일제히 타깃 시스템을 공격하게 된다. 이렇게 수많은 좀비 시스템들이 각자 뿜어내는 무차별적인 공격의 볼륨은 굳이 계산해보지 않아도 짐작할 수 있을 것이다. 결국, DDoS 공격은 엄청난 볼륨의 패킷들을 발송하거나 불완전한 형태의 요청 패킷을 발송하여 공격 대상이 되는 네트워크 장비나 서버가 정상적인 서비스 요청을 받아들일 수 없는 상태, 혹은 자신의 능력으로 처리할 수 있는 용량을 초과하여 처리불능의 상태에 빠지게 만드는 형태이다.

DDoS 공격의 형태
DDoS 공격은 기본적으로 다음 두 가지 형태를 가진다.
●대역폭 공격(Bandwidth Attacks): 이 형태의 공격은 엄청난 양의 패킷을 전송해서 네트워크의 대역폭이나 장비 자체의 리소스를 모두 소진시켜버리는 형태이다. 라우터, 서버, 방화벽 같은 주요 장비들은 모두 자신만의 제한적인 처리용량을 가지고 있기 때문에 그 용량을 초과하는 이런 형태의 공격을 받게 되면 정상적인 서비스 요청을 처리 못하게 되거나 아예 장비 자체가 죽어버려서 네트워크 전체가 마비되는 사태를 초래할 수 있다. 이 형태의 대표적인 공격은 패킷 오버플로 공격인데, 이것은 정상적으로 보이는 엄청난 양의 TCP, UDP, ICMP 패킷들을 특정한 목적지로 보내는 것이다. 또한, 발송지의 주소를 스푸핑(Spoofing, 발송지의 주소 노출을 방지하기 위해서 이를 허위주소로 조작하는 기법)해서 발송하기 때문에 공격의 탐지가 쉽지 않다.
●애플리케이션 공격(Application Attacks): 이 형태의 공격은 TCP와 HTTP 같은 프로토콜을 이용해서 특정한 반응이 일어나는 요청 패킷을 발송하여 해당 시스템의 연산처리 리소스를 소진시켜서 정상적인 서비스 요청과 처리가 불가능한 상태로 만드는 것이다. 이 형태의 대표적인 공격은 HTTP half-open attack과 HTTP error attack 등이 있다.

DDoS 공격으로 발생되는 막심한 피해

DDoS 공격의 피해사례
DDoS 공격이 성공했을 때 기업에 미치는 유·무형적 피해는 실로 엄청나다. 네트워크가 완전히 다운되는 경우는 논외로 친다고 할지라도, 단지 네트워크 속도가 급감하고 서비스가 불안정하게 되는 경우만 생각해보더라도 심각한 결과를 초래하게 될 것이다. 서비스를 24시간 이용하고 있는 수많은 고객들이 짜증과 불만족을 느끼며 급격하게 경쟁사로 이탈하게 될 수도 있고, SLA(서비스수준협약, Service Level Agreement)에 위배되어 막대한 규모의 금전적인 피해보상을 하는 경우도 있을 수 있다. 또한 대규모의 집단소송에 휘말릴 가능성도 배제할 수 없을 것이며, 이로 인한 기업 이미지 실추, 주가하락, 매출감소 등 파장은 실로 엄청날 것이다.
실제로 DDoS 공격에 노출되었던 기업들의 금전적인 피해액수만 보더라도 현기증이 날 지경이다. 시장조사 기관인 포레스트, IDC 등에서 집계한 객관적인 통계치를 보면, 시스코사가 24시간 동안 서비스 마비 상황에 이르게 되면 3천만 달러(약 400억 원)의 금전적인 손실이 직접적으로 발생한다고 한다. 양키 그룹의 집계에 의하면 2000년 2월에 발생했던 아마존, 야후, 이베이, E-트레이드 등 미국의 대표적인 인터넷 사이트들에 대한 대규모의 DDoS 공격에 의한 직접적인 피해 액수는 12억 달러(약 1조 5천억 원)에 이른다. 또한, 2001년 1월에 마이크로소프트사의 인터넷 사이트가 며칠 동안 DDoS 공격을 받았을 때 발생했던 손실 규모는 5억 달러(약 6천5백억 원)로 집계되었다.

DDoS 공격의 빈도와 심각성은 폭증세 
DDoS 공격이 발생되는 빈도에 대한 통계자료를 보면 결코 운 나쁜 어떤 기업이 어쩌다가 불행한 사고를 당했다고 생각하고 넘어갈 성격이 아니라는 것을 알 수 있다. CAIDA(Cooperative Association for Internet Data Analysis)가 집계한 통계자료를 보면, 2001년 한해 동안 주당 4000건의 DDoS 공격이 발생하였고, 시간당 100건 이상의 공격이 동시에 일어나고 있다고 한다. 또한 심각한 문제는 DDoS 공격 기술이 매우 정교한 스푸핑 기법과 더불어 인터넷 사용에 필수적인 기본 프로토콜을 사용하고 있는 등 공격기술이 한층 더 은밀하고도 심각한 피해를 주는 형태로 급속하게 발전하고 있다는 것이다.

기존 네트워크 및 보안 장비의 한계점
DDoS 공격에 대응하기 어려운 가장 큰 이유는 해커가 발송하는 비정상적인 공격성 패킷과 고객이 발송하는 정상적인 서비스 요청 패킷을 정확히 구분하는 것이 무척 어렵기 때문에 DDoS 공격을 탐지하는 것 자체가 힘들다는 점이다. 또한 정확히 탐지를 한다고 해도 라우터나 방화벽을 통한 필터링을 하게 되면 그 장비 자체가 죽어버리는 경우가 많기 때문이다.
그러면 현재까지는 이 DDoS공격에 대해 어떠한 방법으로 방어를 하고 있었는지 살펴보고 그 방법들의 한계점을 살펴보기로 하자. 가장 대표적인 방어기법은 블랙홀링과 라우터 필터링 기법이라고 말할 수 있다. 이 방법은 아주 정교한 공격에 대해서는 속수무책인 경우가 많고 대응속도가 너무 느리며 정상적인 서비스 트래픽을 죽이는 빈도가 높다. 방화벽의 경우에는 부분적인 방어가 가능하지만 정확한 탐지가 어려우며 그 자체가 죽는 현상이 생길 수 있다. IDS의 경우는 부분적인 탐지 기능을 제공하고 있지만 방어할 수 있는 기능은 제공하지 않는다. 마지막으로 로드 밸런싱이 있는데 이 방법으로는 엄청난 볼륨의 공격에 대해서는 역시 한계점을 가질 수밖에 없으며, 과다한 비용이 소요된다는 한계점을 가지고 있다.
●블랙홀링(BlackHoling): 블랙홀링 기술은 라우터에서 특정 목적지(Victim)로 전송되는 모든 트래픽을 차단한 후 블랙홀이라고 하는 일종의 폐기장소로 보내서 소멸시키는 방법이다. 하지만, 해당 목적지로 전송되는 악성공격 패킷들뿐만 아니라 정상적인 패킷들도 포함한 모든 트래픽이 소멸되기 때문에 이 방법은 해결책이 될 수가 없다.
●라우터(Router): 라우터는 ACL(Access Control List)을 이용한 필터링 기능을 제공하는데, 이 기능만으로는 현재의 고도화된 DDoS 공격을 방어하기 어렵다. 첫째, 라우터는 핑(Ping) 공격같은 인터넷 통신에 꼭 필요하지 않은 몇 가지 간단한 DDoS 공격에 대해서는 필터링 메커니즘을 통해 방어할 수 있다. 하지만 최근의 DDoS 공격은 인터넷을 사용하기 위해서 가장 기본적이고 필수적인 프로토콜을 사용하기 때문에 특정 프로토콜 자체를 모두 필터링하는 방법은 사용할 수가 없는 것이다. 둘째, 스푸핑된 공격에 대해서는 uRPF를 이용한 방어법이 권고되고 있으나 실제로 구현하는 것은 한계가 있다. 셋째, 라우터의 ACL기능은 소스가 스푸핑 되었는가 여부에 상관없이 HTTP 에러와 HTTP half-open 커넥션 공격 같은 애플리케이션 레이어의 공격에 대해선 그 효과를 발휘하기 어렵다는 한계점을 가진다.
●방화벽(Firewall): 많은 방화벽 공급업체들 역시 자사의 방화벽이 DDoS 방어 기능을 제공한다고 주장하지만 역시나 한계점을 가지고 있다. 첫째, 방화벽은 네트워크 트래픽이 흐르는 경로의 내부(In-line)에 위치하기 때문에 방화벽 자체가 공격의 대상이 되어서 대용량의 공격 트래픽을 견디지 못하고 다운되는 경우가 많다. 이렇게 되면 전체 네트워크가 마비되는 문제가 발생할 수 있다. 둘째, 인터넷 서비스를 위해서 모든 외부 사용자에게 개방해야만 하는 Web, DNS같은 일반적인 인터넷 프로토콜을 이용한 공격은 방어하기가 어렵다. 셋째, 설사 방화벽이 비정상적인 행위를 정확히 탐지할 수 있다고 할지라도 개별 패킷들에 대해서 정상적인 것인지 아닌지의 여부를 구분할 수 있는 기능이 없기 때문에 스푸핑된 소스에서의 공격은 방어하기 어렵다.
●침입탐지시스템(IDS): 첫째, 기존의 시그니처 방식에만 의존하는 IDS는 정상적인 패킷으로 가장한 변형된 형태의 공격에 대해서는 해당 공격 시그니처가 없이는 방어가 어렵다. 둘째, 최신의 IDS는 행위 기반 혹은 변칙(anomaly) 기반의 알고리즘을 제공하여 최근의 DDoS 공격을 탐지할 수 있는 기능을 가진다. 하지만, 이를 위해선 전문가의 세밀한 커스터마이징이 필요하며, 너무 빈번하게 발생하는 오탐(False Positive) 문제, 그리고 모든 형태의 공격에 대해서 100% 탐지하지 못하는 한계점이 있다. 셋째, 아마도 DDoS 공격을 방어하는 수단으로서 IDS의 가장 큰 한계점은 단지 공격을 탐지만 할 수 있고, 방어할 수 있는 어떠한 수단도 제공하지 못한다는 점이다. IDS는 효과적인 방어 솔루션과 통합/연계되어 상호 보완적인 기능을 수행하는 형태로 활용되어야 할 것이다.
●매뉴얼 반응(Manual Response): 사람이 직접 수작업을 통해 방어를 하는 경우는 그 대응이 너무 부분적이며 즉각적인 반응이 어려울 것이다. DDoS 공격을 당했을 때 전형적인 첫번째 반응은 해당 ISP에 연락해서 소스를 밝혀달라고 요청하는 일이다. 스푸핑된 주소일 경우에는 다수의 ISP들이 협력해서 검증해야 하는 복잡하고 오랜 작업이 필요하다. 또한, 소스가 밝혀진다고 할지라도 그것을 차단한다는 것은 모든 트래픽을 차단한다는 의미가 되므로 장단점이 있다고 할 수 있다.
●로드 밸런싱(Load Balancing): 마지막으로 로드 밸런싱 혹은 이중화, 삼중화 등을 통해서 더욱 용량이 큰 트래픽에 대해서도 처리할 수 있도록 네트워크의 대역폭 및 성능을 강화시키는 방법이다. 하지만, 이런 방법은 비용 대비 효과적인 대안이 되지 못한다고 할 수 있다. 비용 대비 효과 문제를 떠나서라도, 결국 얼마간 기간이 지나면 또다시 그 용량을 초과하는 형태의 공격이 발생하게 될 것이 자명한 일이기 때문에 임시방편에 그칠 수 있는 것이다.


리버헤드사의 DDoS 방어 솔루션

위에서 언급한 수많은 DDoS 공격 방어기법 외에 최신의 방어 메커니즘으로 주목받고 있는 리버헤드 솔루션이 있다.
리버헤드 솔루션은 디텍터(탐지장비)와 가드(방어장비) 두 가지의 구성요소로 이루어져 있는데, 이 두 가지는 각각 탐지와 방어의 통합된 상호작용을 수행하며 어떤 형태의 DDoS 공격에 대해서도 방어가 가능하다.
●리버헤드 디텍터: 디텍터는 모든 종류의 DDoS 공격을 신속하고 정확하게 탐지하는 기능을 하는 조기경보(Early Warning) 시스템과 같은 역할을 수행한다. 디텍터는 수동적으로 네트워크 트래픽을 모니터링하고 있다가 비정상적이거나 DDoS 공격의 징후를 보이는 행위를 탐지한다. DDoS 공격이 탐지되면 디텍터는 가드에게 즉각적으로 경보(Alert)를 날려주는 기능을 한다.
●리버헤드 가드: 가드는 고성능 DDoS 방어 장비로서 DDoS 공격 트래픽을 효과적으로 차단하는 역할을 수행한다. 디텍터(디텍터 외에 다른 IDS같은 모니터링 장비와 대체 가능)가 DDoS 공격을 탐지하고 경보를 보내주면, 가드는 해당 타깃(Victim)으로 향하는 모든 트래픽만을 우선 가드로 우회(Diversion) 시켜준다. 이 트래픽들은 가드 내부에서 다섯 단계의 세밀한 분석/검증 과정을 거치게 되고, 이 결과에 따라 공격성 트래픽은 차단하고 정상적인 트래픽은 다시 원래의 경로로 안전하게 되돌려 보내지게 된다. 또한, 가드는 기존의 서비스 네트워크와 분리된 네트워크 인터페이스에서 라우터나 스위치에 연결되기 때문에 정상적인 서비스 트래픽에는 전혀 지장을 주지 않는다는 특징이 있다.


리버헤드 솔루션의 메커니즘

리버헤드사의 Anti-DDoS 솔루션은 아래 4가지의 종합적인 방어 메커니즘을 통해 효과적인 DDoS 방어 솔루션을 제공하고 있다.
- 모든 종류의 DDoS 공격에 대한 탐지(Detecting)
- 타깃으로 향하는 공격 트래픽만을 리버헤드 가드로 우회(Diverting)
- 정상적인 트래픽에 영향을 주지 않으면서 공격성 트래픽만을 분석하고 필터링
- 원활한 서비스의 제공을 위해 악성 트래픽 이외의 정상적인 트래픽은 다시 원래의 목적지로 안전하게 전달

리버헤드 솔루션의 특징
- 중요한 데이터 경로가 아닌 곳에 위치
- 정상 네트워크 서비스 영향 최소화
- 라우터 장비의 리소스를 사용하지 않음
- 네트워크 재구성 및 설정 불필요
- 모든 종류의 DDoS 공격 탐지 및 방어 가능
- Active한 악성 트래픽 제거 가능
- 다양한 IDS 솔루션과 연동 가능

리버헤드 솔루션의 필터링기법, MVP 아키텍처
리버헤드사의 차세대 DDoS 방어 솔루션인 가드는 리버헤드사의 특허 기술인 MVP(Multi-Verification Process) 아키텍처를 기반으로 하고 있다. MVP는 정상적인 트래픽과 공격 트래픽을 정확하게 인식하고 구분할 수 있도록 하는 리버헤드의 통합 아키텍처이며, 이는 다음의 다섯 가지의 모듈로 구성되어 있다.

●다이내믹 필터링(Dynamic Filtering): 이 모듈은 스태틱 필터와 다이내믹 필터 두 가지로 구성되어 있다. 먼저 스태틱 필터는 타깃으로 향하는 트래픽을 사전에 정의된 공격 패턴과 비교해서 1차적으로 알려진 공격들을 차단하게 된다. 다음에 다이내믹 필터는 1차에서 차단되지 않은 트래픽에 대한 세밀한 행위 관찰과 추가적인 패킷 분석을 통해서 공격성으로 판단되는 트래픽을 다시 한번 차단하게 된다.
●안티-스푸핑(Anti-Spoofing): 이 모듈은 타깃으로 전송되는 패킷들이 스푸핑되었는지 아닌지 여부를 검증한다. 리버헤드만의 특허 기술인 소스 어드레스 검증 메커니즘을 통해서 스푸핑된 패킷은 이 모듈에서 차단된다. 이 고유의 메커니즘을 통해 스푸핑 되지 않은 정상적인 패킷들이 차단되는 위험요소를 배제할 수 있다.
●변칙 인식(Anomaly Recognition): 이 모듈은 앞의 두 가지 필터와 안티-스푸핑 모듈에서 차단되지 않은 트래픽을 관찰하면서 그 결과값을 정상적인 트래픽의 통계치와 비교해서 그 편차를 찾아내는 것이다. 타깃으로 향하는 트래픽의 패턴이 일정 기간동안 정상적인 운영환경에서 발생되는 트래픽의 패턴과 현격하게 차이가 날 경우에는 다시 한번 필터 모듈로 돌려보내서 공격을 차단하게 된다.
●프로토콜 분석(Protocol Analysis): 이 모듈은 HTTP-에러 공격 같은 유형의 애플리케이션 레벨의 공격을 방어하기 위한 장치이다. 프로토콜 분석 모듈은 불완전한 트랜잭션이나 에러 같은 모든 종류의 프로토콜 트랜잭션의 오류를 탐지하고 차단한다.
●비율 제한(Rate Limiting): 이 모듈은 더 상세한 모니터링을 수행하여 비정상적인 행위에 의해 타깃이 무력화되는 것을 방지해준다. 예를 들면, 비정상적으로 오랜 시간동안 비정상적으로 과다한 리소스(bandwidth, connection 등)를 소비하는 소스 어드레스를 차단하는 기능이다.

DDoS 공격을 위한 보다 강력한 공격 도구들이 개발되어 인터넷에서 광범위하게 유통되고 있고, 여전히 인터넷은 구조적인 보안의 문제점들을 가지고 있다. 특히 기업들의 인터넷 의존도가 점차 높아지는 등 외부환경과 더불어 DDoS 공격은 그 규모나 심각성 측면에서 점차 문제로 부각되고 있는 추세다.
또한, 이를 방어하기 위해 존재하는 현재의 기술들은 최신의 DDoS 공격에 대한 완벽한 방어에 부족한 점이 많은 것이 사실이다. 기존의 정적인 차단솔루션에 접목된 수동적인 탐지기술만으로는 최신의 고도화된 공격을 효과적이며 즉각적으로 방어하기 어렵다. 지금 필요한 것은 고도화된 DDoS 공격을 단순히 탐지하는 것뿐만 아니라 정상적인 비즈니스 트랜잭션에 지장을 주지 않으면서 다양한 공격을 차단할 수 있는 새로운 개념의 차세대 기술로서 사업의 연속성(Business Continuity)을 보장할 수 있어야 할 것이다.

댓글 없음:

댓글 쓰기