상기 문제점을 해결하기 위하여 본 발명의 실시예는, 클라우드 컴퓨팅 환경에서 복수의 클라이언트로부터 정보를 수집하여 DDoS 공격을 탐지하는 것을 목적으로 한다.
또한, 실행 중인 프로그램을 모니터링하기 위한 에이전트 프로그램을 클라이언트 컴퓨터에 설치하여 복수의 클라이언트로부터의 정보 수집을 용이하게 하는 것을 목적으로 한다.
또한, 서버에서 파일DNA를 데이터베이스로 관리함으로써 클라이언트에서 실행되는 프로그램의 악성 여부를 효과적으로 판단하는 것을 목적으로 한다.
또한, 피해자 서버 단이 아닌 공격자 클라이언트 단에서 DDoS 공격을 탐지하고 방어함으로써 원천적인 DDoS 공격 탐지 및 차단을 구현하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명의 일 측면은, 서버에 연결된 복수의 클라이언트를 이용하여 DDoS 공격을 탐지하고 차단하는 방법으로서, 상기 클라이언트에 설치되어 상기 클라이언트에서 실행 중인 파일을 모니터링하는 에이전트를 이용하여 상기 파일에서 추출된 파일DNA와 상기 파일이 유발하는 네트워크 트래픽에 관한 트래픽정보를 상기 서버가 상기 클라이언트로부터 수집하는 정보수집단계와, 상기 파일의 상기 파일DNA 및 상기 트래픽정보에 기반하여 상기 서버가 상기 DDoS 공격의 위험도를 분석하는 분석단계와, 상기 분석된 위험도에 따라 상기 클라이언트에 상기 파일의 차단 여부에 관한 명령을 전송하는 명령단계를 포함하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 분석단계는, 상기 복수의 클라이언트로부터 수집된 상기 파일DNA를 분석한 파일DNA통계정보가 저장된 파일DNA 통계 데이터베이스에 상기 서버가 상기 파일의 상기 파일DNA를 질의하여 상기 파일을 정상, 악성, 또는 미확인으로 분류하며, 상기 네트워크 트래픽이 기 설정된 DDoS 임계치 이상이면서 상기 파일이 악성으로 분류된 경우 상기 위험도가 높다고 분석하고, 상기 네트워크 트래픽이 상기 기 설정된 DDoS 임계치 이상이면서 상기 파일이 미확인으로 분류된 경우 상기 파일의 상기 파일DNA에 대한 통계적 분석을 통하여 상기 위험도를 분석하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 통계적 분석은, 상기 복수의 클라이언트에 있어서 동일한 파일 또는 하나 이상의 미확인 파일이 생성하는 네트워크 트래픽이 상기 기 설정된 DDoS 임계치 이상이거나, 상기 복수의 클라이언트에 있어서 동일한 목적지에 대하여 발 생되는 네트워크 트래픽이 각각 상기 기 설정된 DDoS 임계치 이상이거나, 상기 복수의 클라이언트에 있어서 동일한 목적지에 대하여 상기 기 설정된 DDoS 임계치 이상의 네트워크 트래픽을 발생하는 클라이언트의 대수가 기 설정된 DDoS 대수 임계치 이상인 경우, 상기 위험도가 높다고 분석하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 파일DNA 통계 데이터베이스에 상기 파일의 상기 파일DNA가 존재하지 않는 경우, 상기 파일의 상기 파일DNA를 상기 파일DNA 통계 데이터베이스에 저장하고, 상기 파일이 실행될 때 함께 실행되는 연관파일의 파일DNA를 상기 파일DNA 통계 데이터베이스에 질의하며, 상기 연관파일 중 하나 이상이 악성으로 분류되면 상기 파일을 악성으로 분류하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 명령단계는, 상기 파일이 미확인으로 분류된 경우, 상기 클라이언트에 상기 파일을 지속적으로 모니터링하도록 하는 명령을 전송하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 기 설정된 DDoS 임계치 또는 상기 기 설정된 목적지 단 합산 DDoS 임계치 중 어느 하나 이상은 상기 서버에 저장된 과거의 목적지별 네트워크 트래픽에 관한 통계적 분석결과에 기반하여 결정되는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 파일DNA 통계정보는, 상기 복수의 클라이언트로부터 수집된 상기 파일DNA에 대응하는 파일의 파일명, 파일DNA생성일, 데이터베이스 등록횟수 중 하나 이상을 포함하는 속성정보의 통계분석결과, 상기 복수의 클라이언트로부터 수집된 상기 파일DNA에 대응하는 파일과 함께 실행되는 다른 파일의 파일DNA를 포함하는 연관정보의 통계분석결과, 및 상기 복수의 클라이언트로부터 수집된 상기 파일DNA에 대응하는 파일이 수행하는 파일접근, 레지스트리접근, 메모리접근, 네트워크접근 중 하나 이상을 포함하는 행동정보의 통계분석결과를 포함하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 네트워크 트래픽은, 상기 네트워크 트래픽의 순간 측정치 또는 기 설정된 시간 구간 내에서의 상기 네트워크 트래픽의 통계치로 결정되는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 명령단계는, 상기 위험도가 높다고 분석된 경우 상기 파일을 차단하도록 하는 명령을 상기 클라이언트에 전송하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 파일을 포함하는 프로그램의 행위, 상기 파일의 프로세스의 네트워크 행위, 및 상기 파일의 프로세스에 포함되어 상기 DDoS 공격을 위한 트래픽을 생성하는 스레드의 네트워크 행위 중 어느 하나 이상을 차단대상으로 하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 에이전트를 상기 서버가 상기 클라이언트에 제공하는 제공단계를 더 포함하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 클라이언트는 보호하고자 하는 목적지에 관한 보호목적지 리스 트를 상기 서버로부터 전송 받아 저장하고, 상기 네트워크 트래픽이 기 설정된 DDoS 임계치를 넘고 상기 네트워크 트래픽의 목적지가 상기 보호목적지 리스트에 포함되어 있는 경우 상기 클라이언트가 상기 파일을 차단하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
또한, 상기 서버는 상기 네트워크 트래픽이 기 설정된 DDoS 임계치 이상일 경우에 상기 클라이언트에 상기 트래픽정보를 전송하도록 요청하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 방법을 제공한다.
상기 목적을 달성하기 위하여 본 발명의 다른 측면은, 복수의 클라이언트에 연결되어 DDoS 공격을 탐지하고 차단하는 서버로서, 상기 클라이언트에 설치된 모니터링 프로그램인 에이전트를 이용하여 상기 클라이언트에서 실행 중인 파일에서 추출된 파일DNA와 상기 파일이 유발하는 네트워크 트래픽에 관한 트래픽정보를 상기 클라이언트로부터 수집하는 정보수집부와, 상기 복수의 클라이언트로부터 수집된 상기 파일DNA를 분석한 파일DNA통계정보를 저장하는 파일DNA 통계 데이터베이스와, 상기 파일의 상기 파일DNA 및 상기 트래픽정보에 기반하여 상기 DDoS 공격의 위험도를 분석하는 분석부, 및 상기 분석된 위험도에 따라 상기 클라이언트에 상기 파일의 차단 여부에 관한 명령을 전송하는 명령부를 포함하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
또한, 상기 분석부는, 상기 파일DNA 통계 데이터베이스에 상기 파일의 상기 파일DNA를 질의하여 상기 파일을 정상, 악성, 또는 미확인으로 분류하며, 상기 네트워크 트래픽이 기 설정된 DDoS 임계치 이상이면서 상기 파일이 악성으로 분류되 면 상기 위험도가 높다고 분석하고, 상기 네트워크 트래픽이 기 설정된 DDoS 임계치 이상이면서 상기 파일이 미확인으로 분류되면 상기 파일의 상기 파일DNA에 대한 통계적 분석을 통하여 상기 위험도를 분석하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
또한, 상기 통계적 분석은, 상기 복수의 클라이언트에 있어서 동일한 파일 또는 하나 이상의 미확인 파일이 생성하는 네트워크 트래픽이 상기 기 설정된 DDoS 임계치 이상이거나, 상기 복수의 클라이언트에 있어서 동일한 목적지에 대하여 발생되는 네트워크 트래픽이 각각 상기 기 설정된 DDoS 임계치 이상이거나, 상기 복수의 클라이언트에 있어서 동일한 목적지에 대하여 상기 기 설정된 DDoS 임계치 이상의 네트워크 트래픽을 발생하는 클라이언트의 대수가 기 설정된 DDoS 대수 임계치 이상인 경우, 상기 위험도가 높다고 분석하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
또한, 상기 분석부는, 상기 파일DNA 통계 데이터베이스에 상기 파일의 상기 파일DNA가 존재하지 않는 경우, 상기 파일의 상기 파일DNA를 상기 파일DNA 통계 데이터베이스에 저장하고, 상기 파일이 실행될 때 함께 실행되는 연관파일의 파일DNA를 상기 파일DNA 통계 데이터베이스에 질의하며, 상기 질의의 결과 상기 연관파일 중 하나 이상이 악성으로 분류되면 상기 파일을 악성으로 분류하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
또한, 상기 복수의 클라이언트로부터 수집한 상기 네트워크 트래픽의 유발주체, 목적지, 및 트래픽량을 포함하는 트래픽통계정보를 저장하는 트래픽통계 데 이터베이스를 더 포함하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
또한, 상기 에이전트를 저장하는 에이전트 저장부, 및 상기 에이전트를 상기 클라이언트에 전송하는 에이전트 전송부를 더 포함하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
또한, 상기 DDoS 공격으로부터 보호하고자 하는 목적지에 관한 보호목적지 리스트를 저장하는 보호목적지 데이터베이스를 더 포함하며, 상기 에이전트는 상기 네트워크 트래픽이 기 설정된 DDoS 임계치를 넘고 상기 네트워크 트래픽의 목적지가 상기 보호목적지 리스트에 포함되어 있는 경우 상기 클라이언트가 상기 파일을 차단하도록 하는 클라우드 컴퓨팅을 이용한 DDoS 공격 탐지 및 차단 서버를 제공한다.
본 발명의 실시예에 따르면, 클라우드 컴퓨팅 환경에서 모니터링 에이전트가 설치된 복수의 클라이언트로부터 실시간으로 파일DNA 및 트래픽 정보를 수집함으로써, DDoS 공격을 정확하게 탐지할 수 있다.
또한, 서버에서 파일DNA 및 네트워크 트래픽 통계를 데이터베이스로 관리함으로써, 클라이언트 측의 보안 프로그램 부담을 줄이면서도 DDoS 공격을 효과적으로 방어할 수 있다.
또한, 클라우드 컴퓨팅 환경에서 서버와 클라이언트 간의 상호협력을 통하여 피해자 서버 단이 아닌 공격자 클라이언트 단에서 DDoS 공격을 탐지 및 방어함으로써 DDoS 공격에 원천적으로 대응할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 클라우드 컴퓨팅 환경에서의 DDoS 공격 상황을 도시한 것이다. 클라우드 컴퓨팅 환경(100) 내에서 복수의 클라이언트(201~206)는 복수의 서버(301~303)와 네트워크로 상호 연결되어 있으며, 서버(301~303)는 클라이언트(201~206)로부터 각종 정보를 수집하여 분석하는 역할을 한다. 침입된 DDoS 공격도구 프로그램이 설치되어 있는 클라이언트(201~206)는 DDoS 공격용 좀비 컴퓨터로 이용되는데, 좀비 컴퓨터가 된 복수의 클라이언트(201~206)들은 해커의 제어를 받아 공격대상(150)에 일제히 DDoS 공격을 개시한다. 이 때 서버(301~303)는 DDoS 공격의 징후를 탐지하기 위하여 클라우드 컴퓨팅 환경(100) 내의 복수의 클라이언트(201~206)로부터 각종 정보를 수집하여 이용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트의 프로그램 모니터링을 도 시한 것이다. 클라이언트(200)는 개인용 컴퓨터(PC), 노트북, 휴대용 단말기 등 네트워킹이 가능한 다양한 형태의 장비로 구현될 수 있다. 클라이언트(200)는 마이크로프로세서 등의 내부의 범용 정보처리장치를 이용하여, 클라이언트(200)를 실시간 모니터링하는 보안 프로그램인 에이전트(agent)(210)를 구동시킬 수 있다.
에이전트(210)는 클라이언트(200) 내부에서 실행되는 각종 정상 프로그램(222), 악성 프로그램(224), 미확인 프로그램(226) 등의 실행을 감시하면서, 실행 중인 프로그램을 구성하는 파일에 대하여 파일명, 생성일, 특징값 등에 관한 속성정보, 그 파일과 함께 실행되는 다른 파일에 관한 연관정보, 및 그 파일이 수행하는 파일접근, 레지스트리접근, 메모리접근, 네트워크접근 등에 관한 행동정보를 추출할 수 있다. 네트워크접근 등의 행동정보를 추출하는 과정은 별도의 네트워크 보안장비와 연동하여 이루어질 수도 있다. 이후 에이전트(210)는 추출된 파일DNA를 서버(300)의 파일DNA 통계 데이터베이스(320)에 질의하여 해당 파일이 악성인지 여부를 포함하는 다양한 정보를 얻을 수 있다.
여기서, 파일DNA란 파일의 특정 위치에서 발견되는 파일 고유의 패턴, 식별자 내지 핑거프린트(fingerprint) 등의 파일 아이덴티티(identity)에 관한 속성정보를 말한다. 파일DNA는 파일을 식별할 수 있도록 하는 최소한의 속성정보만을 포함할 수 있으나, 해당 파일과 함께 실행되는 다른 파일의 파일DNA 등의 연관정보, 또는 해당 파일의 파일접근, 레지스트리접근, 메모리접근, 네트워크접근 등의 행동정보도 함께 포함할 수 있다. 실시예에 따라 파일DNA는 약 16byte 정도의 식별자(ID)로 추출 내지 가공될 수 있다. 에이전트(210)는 실행 중인 파일로부터 속성 정보만을 포함하는 파일DNA를 추출하여 이를 서버(300)에 질의하거나, 파일의 속성정보, 연관정보 및 행동정보를 모두 포함하는 파일DNA를 추출하여 서버(300)의 파일DNA통계 데이터베이스(320)에 이를 저장할 수 있다.
도 3은 본 발명의 일 실시예에 따른 DDoS 공격 탐지 및 차단 서버(300)의 개략적인 구성을 도시한 블록도이다. 하나의 서버(300)는 복수의 클라이언트(201~206)와 연결되어 이들로부터 다양한 정보를 수집한다. 서버(300)의 내부는 에이전트 저장부(310), 에이전트 전송부(315), 파일DNA 통계 데이터베이스(320), 정보 수집부(330), 트래픽 통계 데이터베이스(335), 분석부(340), 명령부(350), 보호목적지 데이터베이스(355)를 포함할 수 있다. 이들은 하나의 서버 내에서 동작하는 세부 모듈로서 하드웨어 형태로 구현될 수도 있고, 범용 서버 또는 컴퓨터의 프로세서에서 수행되는 가상적인 기능블록의 형태로 구현될 수도 있으며, 이들 중 일부는 별도의 서버로 구현될 수도 있다.
에이전트 저장부(310)는 클라이언트(201~206)에 설치되어 클라이언트(201~206)에서 실행 중인 파일을 모니터링하는 보안 프로그램인 에이전트를 저장한다. 에이전트 저장부(310)는 서버(300)가 복수의 클라이언트(201~206)로부터 수집한 정보에 기반하여 새로운 DDoS 공격 분석결과를 내 놓을 때, 이를 반영하여 저장된 에이전트를 업데이트(update)할 수 있다. 에이전트는 백신 등 기존의 보안 프로그램과 통합하여 구현될 수도 있고, 별도의 프로그램으로 구현될 수도 있다.
에이전트 전송부(315)는 에이전트가 설치될 클라이언트(201~206)에 에이전트 프로그램을 전송한다. 에이전트 전송부(315)는 클라이언트(201)의 요청에 응답 하여 에이전트 저장부(310)에 저장된 에이전트를 전송할 수도 있고, 클라이언트(201)에 이미 에이전트가 설치된 경우에는 그것이 최신 버전인지 여부 등을 파악하여 자동으로 최신 버전의 에이전트를 전송할 수도 있다.
파일DNA 통계 데이터베이스(320)는 복수의 클라이언트로부터 수집된 수천만 개의 파일DNA들을 분석하여 구축한 유형별 파일 DNA통계정보의 데이터베이스이다. 파일DNA 통계 데이터베이스(320)에 저장되는 파일DNA통계정보는, 파일DNA에 대응하는 파일의 파일명, 파일DNA생성일, 데이터베이스 등록횟수 등을 포함하는 속성정보의 통계분석결과, 그 파일DNA에 대응하는 파일과 함께 실행되는 다른 파일의 파일DNA를 포함하는 연관정보의 통계분석결과, 및 그 파일DNA에 대응하는 파일이 수행하는 파일접근, 레지스트리접근, 메모리접근, 네트워크접근 등을 포함하는 행동정보의 통계분석결과를 포함할 수 있다. 파일DNA통계정보는 클라우드 컴퓨팅 환경(100) 내의 수많은 클라이언트(200)에서 특정한 파일DNA가 다른 파일과 어떠한 연관관계를 가지고 어떠한 행동을 하는지에 대한 대용량의 정보를 수집하여 분석한 것이다. 파일DNA통계 데이터베이스(320)에 일정 수 이상의 파일DNA에 대한 관찰결과가 모이면 해당 파일DNA에 대응하는 파일 또는 프로그램이 악성인지 여부에 대한 판단도 가능해지며, 파일DNA통계정보는 이러한 정보를 포함할 수 있다.
이로써, 클라이언트(201~206)는 내부에 악성코드 시그니처에 관한 정보를 가지고 있지 않더라도, 파일DNA 통계 데이터베이스(320)에 파일DNA를 질의하는 것만으로 해당 파일DNA에 대응하는 파일 또는 프로그램의 악성 여부에 대한 실시간 분류 내지 판단을 할 수 있게 된다. 이러한 관점에서 파일DNA 통계 데이터베이 스(320)에 저장된 파일DNA통계정보는 종래의 시그니처(signature)가 확장된 개념으로 볼 수도 있다. 파일 DNA 통계 데이터베이스(320)는 서버(300) 내부 및 외부의 다양한 보안관련 시스템과 연동하여 클라이언트(201~206)로부터 수집되는 파일DNA를 분석하고 이를 데이터베이스로 구축할 수 있다. 이 과정에는 정보수집부(330), 분석부(340)를 비롯하여 다양한 프로그램 정보, 평판 시스템, 행위(behavior) 기반 분석, 파일간 관계(relation) 분석, 악성코드 배포 경로 분석 등 다양한 기법이 반영된 지능형 시스템이 사용될 수 있다.
정보수집부(330)는 클라이언트(201~206)에 설치되어 클라이언트(201~206)에서 실행 중인 파일을 모니터링하는 에이전트를 이용하여 클라이언트(201~206)에서 실행 중인 파일의 파일DNA와 그 파일이 유발하는 네트워크 트래픽에 관한 트래픽정보를 클라이언트(201~206)로부터 수집한다. 트래픽정보를 수집하는 과정은 별도의 네트워크 장비와 연동하여 이루어질 수도 있다.
트래픽통계 데이터베이스(335)는 복수의 클라이언트(201~206)로부터 수집한 네트워크 트래픽의 유발주체, 목적지, 및 트래픽량을 포함하는 트래픽통계정보를 저장한다.
분석부(340)는 파일의 파일DNA 및 트래픽정보에 기반하여 DDoS 공격의 위험도를 분석한다. 분석 과정에는 파일DNA 통계 데이터베이스(320)에 대한 질의 결과, 트래픽통계 데이터베이스(335)를 이용한 통계적 분석, 보호목적지 데이터베이스(355)에 대한 검색 등이 사용될 수 있다. 분석부(340)가 수행하는 DDoS 공격의 위험도 분석 과정은 뒤에서 자세히 설명한다.
명령부(350)는 분석부(340)에서 분석된 위험도에 따라 클라이언트(206)에 해당 파일의 차단 여부에 관한 명령을 전송한다. 명령부(350)는 위험도가 높다고 판단된 파일을 차단하도록 하는 명령을 클라이언트(201~206)에 전송할 수 있다. 실시예에 따라 명령부(350)는, 해당 파일을 포함하는 프로그램의 모든 행위, 해당 파일의 프로세스의 네트워크 행위, 및 해당 파일의 프로세스에 포함되어 DDoS 공격을 위한 트래픽을 생성하는 스레드의 네트워크 행위 등을 차단대상으로 할 수 있다.
보호목적지 데이터베이스(355)는 DDoS 공격으로부터 보호하고자 하는 목적지에 관한 보호목적지 리스트를 저장할 수 있다. 보호목적지 리스트는 서버(300) 단 또는 클라이언트(200) 단에서 입력될 수 있다. 서버(300) 내의 보호목적지 리스트는 클라이언트(201~206)로 전송되어 에이전트(210)가 특정 프로그램을 즉각 차단하는 데에 사용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 DDoS 공격 탐지 및 차단 방법의 수행과정을 도시한 흐름도이다. 본 실시예에서 제시하는 DDoS 공격 탐지 및 차단 방법은 서버에 연결된 복수의 클라이언트를 이용하여 DDoS 공격을 탐지하고 차단하는 방법으로서 아래의 각 단계를 포함할 수 있다.
먼저, 클라이언트(200)에서 실행 중인 파일을 모니터링하기 위하여 클라이언트(200)에 에이전트(210)를 제공한다(410). 클라이언트(200) 내부에서 서버(300)와 각종 정보를 송수신하며 클라우드 컴퓨팅 환경에서의 DDoS 공격 탐지 및 차단 방법을 실현하는 것은 에이전트(210) 프로그램이기 때문에, 본 발명의 DDoS 공격 탐지 및 차단 방법을 실행하기 위해서는 클라이언트(200)에 에이전트(210)가 설치 되어 있어야 한다.
다음으로, 에이전트(210)를 이용하여 해당 파일로부터 추출된 파일DNA와 해당 파일이 유발하는 네트워크 트래픽에 관한 트래픽정보를 서버(300)가 클라이언트(200)로부터 수집한다(S420). 클라우드 컴퓨팅 환경에서 서버(300)는 복수의 클라이언트로부터 파일DNA 및 트래픽정보를 비롯한 각종 정보를 수집하여 파일DNA 통계 데이터베이스(320) 및 트래픽통계 데이터베이스(335) 등의 데이터베이스를 구축할 수 있다.
그 다음, 해당 파일로부터 추출된 파일DNA 및 그 파일의 트래픽정보에 기반하여 서버(300)가 DDoS 공격의 위험도를 분석한다(S450). 실시예에 따라 위험도 분석 과정에서는 파일DNA 통계 데이터베이스(320), 트래픽통계 데이터베이스(335), 보호목적지 데이터베이스(355) 등이 다양한 분석 기법과 함께 사용될 수 있으며, 외부의 보안 시스템과 연동하면서 상호 협력하여 DDoS 공격의 위험도를 분석하는 방식을 사용할 수도 있다. 분석단계(S450)의 구체적인 실시 형태에 대해서는 뒤에서 자세히 설명된다.
마지막으로, 분석된 위험도에 따라 클라이언트(200)에 해당 파일의 차단 여부에 관한 명령을 전송한다(S460). 차단 여부에 관한 명령은 클라이언트(200)에 특정 프로그램에 대한 차단 명령의 형태로 직접적으로 전달될 수도 있고, 에이전트(210)에 포함된 특정 프로그램에 대한 처리 루틴(routine)의 형태로 간접적으로 전달될 수도 있다.
도 5는 본 발명의 일 실시예에 따른 DDoS 공격의 위험도 분석 과정을 도시 한 것이다. 본 실시예의 정보수집단계(S420) 이후의 위험도 분석 과정은, 파일DNA 통계 데이터베이스(320)에 대한 질의(S430), 질의 결과에 따른 파일의 유형 분류(S440), 분류 결과 및 트래픽정보를 이용한 DDoS 위험도 분석(S451~S455)를 포함할 수 있다.
먼저, 클라이언트(200)는 서버(300)에 에이전트(210)가 추출한 파일DNA를 질의한다(S430). 서버(300)는 파일 DNA통계 데이터베이스(420)에 저장된 다수의 프로그램들에 대한 파일DNA통계정보를 확인하여 질의된 파일DNA에 해당하는 파일 또는 프로그램이 정상인지, 악성인지, 또는 알려지지 않은 미확인 파일 또는 프로그램인지를 응답한다. 이에 따라, 파일DNA 통계 데이터베이스(320)에 대한 질의 결과인 응답에 기반하여 분석부(340)는 질의된 파일DNA에 대응하는 파일 또는 프로그램을 정상, 악성, 또는 미확인으로 분류한다(S440).
이후 분석부(340)는, 파일DNA에 의한 분류 결과에 따라 각각 아래와 같은 프로세스를 통하여 DDoS 공격의 위험도를 분석한다(S451~S455). 이러한 분석에는 클라이언트(200)에서 실행되는 파일 또는 프로그램의 파일DNA 및 트래픽정보가 종합적으로 이용된다.
첫째, 질의된 파일DNA에 대응하는 파일 또는 프로그램이 악성인 경우, 분석부(340)는 트래픽정보로부터 해당 파일 또는 프로그램이 유발하는 네트워크 트래픽이 기 설정된 DDoS 임계치 이상인지 여부를 비교하여 판단한다(S451). 클라이언트(200)에서 실행되던 파일 또는 프로그램이 악성이고 그 파일 또는 프로그램이 유발하는 네트워크 트래픽이 DDoS 임계치 이상이면, 분석부(340)는 DDoS 공격의 위험 도가 높다고 분석할 수 있다(S452).
둘째, 질의된 파일DNA에 대응하는 파일 또는 프로그램이 정상인 경우, 분석부(340)는 DDoS 공격의 위험도가 낮다고 분석할 수 있다(S453).
셋째, 질의된 파일DNA에 대응하는 파일 또는 프로그램이 미확인인 경우, 분석부(340)는 트래픽정보로부터 해당 파일 또는 프로그램이 유발하는 네트워크 트래픽이 기 설정된 DDoS 임계치 이상인지 여부를 비교하여 판단한다(S454). 클라이언트(200)에서 실행되던 파일 또는 프로그램의 특성에 관한 정보가 파일DNA 통계 데이터베이스(32)에 저장되어 있지 않지만 그 파일 또는 프로그램이 유발하는 네트워크 트래픽이 DDoS 임계치 이상이면, 분석부(340)는 클라우드 컴퓨팅 환경(100) 내의 다른 클라이언트(201~206)로부터 얻은 정보들을 사용한 통계적 분석을 통하여 DDoS 공격의 위험도를 분석할 수 있다(S455). 통계적 분석의 구체적인 과정은 뒤에서 자세히 설명된다. 실시예에 따라, 파일DNA통계 데이터베이스(320)에 파일의 파일DNA가 존재하지 않는 경우에는, 질의된 파일DNA에 대응하는 파일 또는 프로그램이 미확인이라고 분류하기 전에, 도8에서 제시하는 각 단계(S441~S445)를 통하여 연관파일 분석을 통한 악성 여부 분류과정을 먼저 거치도록 할 수도 있다.
분석부(340)의 분석 결과 DDoS 공격의 위험도가 높다고 분석된 경우에는 명령부(350)가 해당 파일 또는 프로그램을 차단하도록 하는 명령을 클라이언트(201~206)에 전송할 수 있다. 그리고, 명령부(350)는 통계적 분석의 결과 위험도가 높다고 판단되면 해당 파일 또는 프로그램을 차단하도록 하는 명령을 전송할 수 있다. 또한, 통계적 분석의 결과 위험도가 높다고 판단되지 않는 경우에는, 해당 미확인 파일 또는 프로그램의 특성을 판단할 수 있는 정보가 클라우드 컴퓨팅 환경(100) 내의 복수의 클라이언트(201~206)로부터 수집되어 서버(300)의 파일DNA 통계 데이터베이스(320) 등에 축적될 때까지 해당 미확인 파일 또는 프로그램을 클라이언트(200) 내의 에이전트(210)가 지속적으로 모니터링하며 추가로 수집되는 각종 정보를 서버(300)로 전달하도록 하는 명령을 전송할 수 있다.
도 6은 본 발명의 일 실시예에 따른 통계적 분석 과정에서 DDoS 공격의 위험도가 높다고 판단되는 경우를 도시한 것이다.
도 6a를 참조하면, 복수의 클라이언트(611, 612, 613)에 있어서 동일한 파일(620)이 생성하는 네트워크 트래픽(640)이 기 설정된 DDoS 임계치 이상인 경우 DDoS 공격의 위험도가 높다고 분석하는 통계적 분석의 실시예가 도시되어 있다. 동일한 파일(620)에 의한 DDoS 임계치 이상의 네트워크 트래픽(640)인 경우에는 목적지 사이트(631, 632, 633)가 달라도 DDoS 공격의 위험도가 높다고 분석하는 것이다. 실시예에 따라, 복수의 클라이언트(611, 612, 613)에 있어서 하나 이상의 미확인 파일이 생성하는 네트워크 트래픽(640)이 기 설정된 DDoS 임계치 이상인 경우에도 DDoS 공격의 위험도가 높다고 분석하는 통계적 분석 기법이 사용될 수도 있다. 이러한 통계적 분석을 위하여 분석부(340)는 트래픽통계 데이터베이스(335)에 저장된 네트워크 트래픽 통계자료와 파일DNA 통계 데이터베이스(320)에 저장된 파일DNA 통계정보를 사용할 수 있다.
도 6b를 참조하면, 복수의 클라이언트(661, 662, 663)에 있어서 동일한 목적지(680)에 대하여 발생되는 네트워크 트래픽(690)이 기 설정된 DDoS 임계치 이상 인 경우 DDoS 공격의 위험도가 높다고 분석하는 통계적 분석의 실시예가 도시되어 있다. 동일한 목적지(680)에 대한 DDoS 임계치 이상의 네트워크 트래픽(690)인 경우에는 실행되는 파일(671, 672, 673)이 달라도 DDoS 공격의 위험도가 높다고 분석하는 것이다.
예를 들어, 클라우드 컴퓨팅 환경(100) 내의 클라이언트(661, 662, 663)들이 DDoS 임계치를 넘는 네트워크 트래픽(690)으로 목적지 xxx.victim.com(680)에 접속하는 것이 서버(300)로 보고되는 상황이 있을 수 있다. 이러한 상황에서 서버(300)가 평소부터 트래픽통계 데이터베이스(335) 등의 데이터베이스에 목적지 xxx.victim.com(680)에 접속하는 클라이언트 수 내지 네트워크 트래픽에 대한 통계분석 자료를 가지고 있다면, 분석부(340)는 갑자기 목적지 xxx.victim.com(680) 에 비정상적인 트래픽(690)을 가지는 클라이언트들(661, 662, 663)의 접속이 급격히 증가했다는 사실을 알아낼 수 있고, 이러한 통계적 정보를 바탕으로 하여 비정상적인 트래픽(690)은 DDoS 공격 때문에 발생한 것이라고 판정할 수 있다.
이 때 DDoS 임계치로는 복수의 클라이언트(661, 662, 663)의 출력단으로부터 측정되는 각각의 네트워크 트래픽에 대한 제1임계치가 사용될 수도 있고, 동일한 목적지(680)로 입력되는 복수의 클라이언트(661, 662, 663)로부터의 네트워크 트래픽을 클라우드 컴퓨팅 환경(100) 내의 서버(300)가 간접적으로 합산한 합산결과에 대한 제2임계치가 사용될 수도 있다. 실시예에 따라, 제1임계치를 사용하는 경우에는, 제1임계치 이상의 네트워크 트래픽을 유발하는 클라이언트가 일정 대수 이상일 경우에 DDoS 공격의 위험도가 높다고 판정하도록 구현할 수 있으며, 이러한 경우 기준이 되는 클라이언트의 대수에 대한 별도의 임계치를 설정할 수 있다. 또 다른 실시예에서 제2임계치를 사용하는 경우에는, 복수의 클라이언트(661, 662, 663)의 출력단 각각으로부터 클라우드 컴퓨팅 환경(100) 내의 서버(300)를 통해 간접적으로 합산된 네트워크 트래픽에 기반하여 DDoS 공격의 위험도를 탐지한다고 하더라도, 실질적인 차단은 클라우드 컴퓨팅 환경(100)으로 연결된 서버(300)를 이용하여 각각의 클라이언트(661, 662, 663) 단에서 이루어지도록 할 수 있다.
도 7은 본 발명의 일 실시예에 따라 파일을 파일유형 및 목적지로 분석한 결과를 정리한 것이다. 본 실시예에서는 네트워크 트래픽이 기 설정된 DDoS 임계치 이하인 경우에는 DDoS 공격의 위험도가 높다고 판단되는 경우가 없으므로, 아래에서 설명되는 상황들은 모두 네트워크 트래픽이 기 설정된 DDoS 임계치 이상인 경우에서 제시되는 조건들이다.
먼저, 파일DNA 통계정보가 저장된 파일DNA 통계 데이터베이스(320)에 파일DNA를 질의한 결과 정상 파일 또는 프로그램으로 분류된 경우, 분석부(340)는 DDoS 공격의 위험도가 낮다고 분석하며, 명령부(350)는 클라이언트(200)에 질의된 파일 또는 프로그램의 실행을 허용하도록 처리할 수 있다.
그리고, 파일DNA 통계 데이터베이스(320)에 질의된 파일이 악성 또는 미확인으로 분류된 경우에는, 트래픽정보 등에 포함된 네트워크 트래픽의 목적지 정보에 따라 처리가 달라진다. 먼저, 질의된 파일이 유발하는 네트워크 트래픽의 목적지가 보호목적지 데이터베이스(355)에 저장된 보호목적지 리스트에 포함되어 있는 경우에는, 분석부(340)는 DDoS 공격의 위험도가 높다고 판단하며, 명령부(350)는 클라이언트(200)에 질의된 파일 또는 프로그램의 실행을 즉각 차단하도록 처리할 수 있다. 실시예에 따라 보호목적지 리스트가 클라이언트(200) 단에 저장되어 있다면 에이전트(210)가 이러한 즉각 차단을 직접 수행할 수 있다.
한편, 질의된 파일이 유발하는 네트워크 트래픽의 목적지가 보호목적지 데이터베이스(355)에 저장된 보호목적지 리스트에 포함되어 있지 않은 경우에는, 질의된 파일의 유형에 따라 각각 다르게 처리된다. 질의된 파일이 악성으로 분류되면, 분석부(340)는 DDoS 공격의 위험도가 높다고 판단하며, 명령부(350)는 해당 파일 또는 프로그램의 실행을 차단하도록 처리할 수 있다.
반면, 질의된 파일이 미확인으로 분류되면, 분석부(340)는 앞서 설명한 통계적 분석을 실행하게 되며, 명령부(350)는 통계적 분석의 결과에 따라 해당 파일 또는 프로그램의 실행을 차단하거나 또는 계속 모니터링하면서 각종 정보를 서버(300)에 전달하도록 처리할 수 있다.
본 실시예에서는 DDoS 공격을 탐지하고 차단하기 위한 기준으로 네트워크 트래픽의 DDoS 임계치 초과 여부(a), 파일DNA의 정상, 악성 또는 미확인 여부(b), 네트워크 트래픽 목적지의 보호목적지 리스트 포함 여부(c) 등을 사용하였다. 실시예에 따라 이러한 기준들이 각각 판단되는 순서는 달라질 수 있다.
예를 들어 제1실시예에서는, 분석단계(S450)가 (b)-(a)-(c)의 순서로 수행될 수 있다. 먼저, 복수의 클라이언트(200)에서 실행되는 프로그램에서 추출한 파일DNA의 정상, 악성 또는 미확인 여부를 먼저 서버(300)에 질의한다(b). 그리고, 질의 결과가 악성 또는 미확인인 경우에 서버(300)가 클라이언트(200)에 경고를 보 내고 네트워크 트래픽을 감시하도록 한다(a). 네트워크 트래픽이 DDoS 임계치 이상이면서 네트워크 트래픽의 목적지가 보호목적지 리스트에 포함되어 있는 경우 해당 파일 또는 프로그램을 즉각 차단하고, 네트워크 트래픽이 DDoS 임계치 이상이지만 보호목적지 리스트에 포함되어 있지 않은 경우에는 통계적 분석 등의 결과에 따라 이를 차단하거나 계속 모니터링하면서 각종 정보를 서버(300)에 전달하도록 처리할 수 있다(c).
또 다른 제2실시예에서는, 분석단계(S450)가 (a)-(c)-(b)의 순서로 수행될 수도 있다. 본 실시예에서는 네트워크 트래픽을 먼저 감시한다(a). 네트워크 트래픽이 DDoS 임계치 이상인 경우에 대하여, 네트워크 트래픽의 목적지가 보호목적지 리스트에 포함되어 있는지 여부를 파악한다(c). 보호목적지 리스트에 포함되어 있는 경우에는 해당 파일 또는 프로그램을 즉각 차단하고, 네트워크 트래픽의 목적지가 보호목적지 리스트에 포함되어 있지 않은 경우에는 클라이언트(200)에서 실행되는 프로그램에서 추출한 파일DNA의 정상, 악성 또는 미확인 여부를 서버(300)에 질의한다(b). 질의 결과가 악성인 경우에는 해당 파일 또는 프로그램을 차단하고, 질의 결과가 미확인인 경우에는 통계적 분석 등의 결과에 따라 이를 차단하거나 계속 모니터링하면서 각종 정보를 서버(300)에 전달하도록 처리할 수 있다.
도 8은 본 발명의 일 실시예에 따른 파일 DNA 통계 데이터베이스에 파일DNA가 존재하지 않는 경우의 파일분류 과정을 도시한 것이다. 이 과정은 파일DNA 통계 데이터베이스(320)에 저장되어 있지 않은 파일DNA 중에서 악성일 확률이 높은 일정한 경우에, 파일 간의 연관관계를 근거로 하여 파일DNA 통계 데이터베이스(320)에 존재하지 않는 파일DNA를 미확인이 아닌 악성으로 간주하여 처리한다.
먼저, 질의된 파일DNA를 파일DNA 통계 데이터베이스(320)에 저장한다(S441). 이때 저장되는 파일DNA는 파일DNA 통계 데이터베이스(320)의 파일DNA통계정보와 같이 파일의 속성정보뿐만 아니라 파일의 연관정보 및 행동정보를 모두 포함할 수 있다.
파일DNA통계정보란, 상술한 바와 같이, 파일DNA에 대응하는 파일의 파일명, 파일DNA생성일, 데이터베이스 등록횟수 중 하나 이상을 포함하는 속성정보의 통계분석결과, 파일DNA에 대응하는 파일과 함께 실행되는 다른 파일의 파일DNA를 포함하는 연관정보의 통계분석결과, 및 파일DNA에 대응하는 파일이 수행하는 파일접근, 레지스트리접근, 메모리접근, 네트워크접근 중 하나 이상을 포함하는 행동정보의 통계분석결과를 모두 포함할 수 있다. 파일의 속성정보는 식별자 수준으로 작은 용량으로 추출된 파일DNA만으로도 해당 파일의 악성 여부를 분류할 수 있도록 하기 위해서 필요하고, 연관정보는 파일DNA 통계 데이터베이스(320)에 저장되지 않은 파일 중 악성일 가능성이 높은 파일에 대해서도 일정한 경우 DDoS 공격을 판정할 수 있도록 하기 위해서 필요하며, 행동정보는 복수의 클라이언트(201~206)로부터 수집된 파일DNA로부터 통계적으로 해당 파일의 악성 여부를 판단할 수 있도록 하기 위해서 필요하다.
다음으로 해당 파일이 실행될 때 함께 실행되는 연관파일의 파일DNA를 파일DNA 통계 데이터베이스(320)에 질의한다(S442). 알려지지 않은 파일DNA가 질의된 경우라도 이와 함께 실행되는 파일 또는 프로그램 중 하나 이상이 악성이라 면(S443), 해당 미확인 파일 또는 프로그램도 악성일 가능성이 높다는 가정 하에서 연관파일이 악성일 경우 해당 파일도 악성으로 간주함으로써(S444), 알려지지 않은 악성 파일 내지 DDoS 공격의 위험을 원천적으로 차단할 수 있다. 반대로, 알려지지 않은 파일DNA와 함께 실행되는 파일 또는 프로그램 중 악성으로 분류되는 것이 하나도 없다면 해당 파일을 미확인으로 분류하고, 해당 파일을 정상 또는 악성 중 어느 하나로 분류할 수 있을 정도의 정보가 수집될 때까지 계속 모니터링하면서 각종 정보를 서버(300)로 전달하도록 처리할 수 있다.
본 실시예의 각 단계(S441~S445)는, 도 5에서 제시된 파일 분류과정(S440)에서 질의된 파일DNA에 대응하는 파일 또는 프로그램이 파일DNA통계 데이터베이스(320)에 존재하지 않는 경우, 해당 파일 또는 프로그램을 미확인이라고 분류하기 전에 먼저 수행되도록 구현될 수 있다.
도 9는 본 발명의 일 실시예에 따른 파일의 차단 범위를 도시한 것이다. 구조적으로 파일은 특정 프로그램에 속하며, 실행 중인 파일의 프로세스는 하위 개념으로 스레드(thread)를 가질 수 있다. 실시예에 따라 이러한 관점에서 계층별로 차단 수준을 설정하는 것이 가능하다.
첫 번째 실시예로, DDoS 공격의 위험도가 높다고 판단되는 파일(파일A1)의 프로세스에 포함되어 DDoS 공격을 위한 트래픽을 생성하는 스레드(스레드A1-1b)의 네트워크 행위를 차단할 수 있다. 파일DNA 질의 및 검사를 통하여 특정한 파일이 DDoS 공격을 유발할 가능성이 높다고 판단되었다고 하더라도, 실제로 과도한 네트워크 트래픽으로 DDoS 공격을 직접적으로 유발하는 스레드는 그 중 일부에 불과할 수 있기 때문이다.
두 번째 실시예로, DDoS 공격의 위험도가 높다고 판단되는 파일(파일A1)의 프로세스(프로세스A1-1)의 네트워크 행위를 차단할 수 있다. 일반적으로 DDoS 공격은 엄청난 양의 네트워크 트래픽을 발생시켜 특정 시스템을 마비시키는 것을 목적으로 하므로, 해당 파일 중 DDoS 임계치 이상의 네트워크 트래픽을 유발하는 프로세스의 네트워크 행위를 차단시키는 수준의 조치를 취하도록 할 수 있다.
세 번째 실시예로, DDoS 공격의 위험도가 높다고 판단되는 파일(파일A1)을 포함하는 프로그램(프로그램A)의 모든 행위를 차단할 수 있다. DDoS 공격은 네트워크 행위 이외에도 개인정보 유출이나 악성코드 전파, 시스템 손상 등을 유발할 수 있으므로, 파일 조작, 레지스트리 조작, 메모리 조작, 네트워크 조작 등 해당 파일이 속하는 프로그램의 모든 행위의 차단이 필요할 수 있기 때문이다.
도 10은 본 발명의 일 실시예에 따른 네트워크 트래픽의 DDoS 임계치 이상 검출시점을 도시한 것이다. 시간에 따라 네트워크 트래픽이 변동하는데, 실시예에 따라 어느 시점부터 네트워크 트래픽이 기 설정된 DDoS 임계치를 넘어서는 것으로 판단할 것인가를 다르게 설정할 수 있다.
도 10a를 참조하면, 측정된 네트워크 트래픽이 기 설정된 DDoS 임계치를 순간적으로 넘어서는 시점(1001)부터 네트워크 트래픽이 DDoS 임계치 이상이라고 판단하는 경우가 도시되어 있다.
도 10b를 참조하면, 일정한 길이로 기 설정된 시간구간 안에서 집계된 네트워크 트래픽의 평균값이 기 설정된 DDoS 임계치를 넘어서는 시점(1002)부터 네트워 크 트래픽이 DDoS 임계치 이상이라고 판단하는 경우가 도시되어 있다. 실시예에 따라서는 단순한 평균값 이외에 다른 형태의 통계치가 사용될 수도 있다.
본 실시형태의 모듈, 기능 블록들 또는 수단들은 전자 회로, 집적 회로, ASIC (Application Specific Integrated Circuit) 등 공지된 다양한 소자들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다.
이상과 같이 본 발명의 이해를 위하여 그 실시예를 기술하였으나, 당업자라면 알 수 있듯이, 본 발명은 본 명세서에서 기술된 특정 실시예에 한정되는 것이 아니라, 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 변경 및 대체될 수 있다. 예를 들어, 문자 대신 기타 LCD 등 디스플레이에 의해 표시될 수 있는 그림, 영상 등에도 본 발명의 기술이 적용될 수 있다. 따라서, 본 발명의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 특허청구범위에 의하여 모두 포괄하고자 한다.