Online learning system 개발을 통한 지속적인 DDoS 탐지방안 제시해

 

 우리 학교 산업및시스템공학과 김세헌 교수 연구팀이 PCA로 Ap-plication layer DDoS 공격을 탐지하는 방법을 최초로 개발했다. 이번 연구결과는 무선통신분야 학술지인 <EURASIP Journal on Wi-reless Communications and Net-working> 8월호에 게재되었다.

서버의 과부화를 일으키는 Application layer DDoS

 기존의 DDoS 공격은 트래픽 양을 늘려서 서버의 네트워크 라인을 과부화시키거나, TCP/IP에서 제공되는 자료전송서비스인 TCP의 포트 할당수를 모두 차지해 서버를 불능상태로 만들었다. 이 때 트래픽은 일정 시간에 흐르는 정보량을 말한다. 반면 2009년 악성코드가 설치된 다량의 좀비 PC를 이용해 국내외 공공기관, 대형언론사 등 국내 유수의 사이트들을 공격했던 77 DDoS 사건은 기존과는 다른 DDoS 공격을 해 화제가 되었다. 이 때 사용된 DDoS 공격은 App-lication layer DDoS공격으로 서버의 과부화를 늘리는 데 초점을 맞춘 공격이다. 이는 대용량 이미지 혹은, 동영상 등의 영상자료를 내려받거나, 동일한 검색을 수백 번 반복하는 등 서버에 부담이 되는 행위를 가한다. 77 DDoS 사건 당시 존재하던 대부분의 DDoS 방어 장비는 이러한 Application layer DDoS의 공격 앞에 무력했다.

▲ 그림 1. Application layer DDoS 공격을 도식화한 그림. 기존 DDoS와는 다른 Application layer DDoS의 4가지 주요 특성을 나타냈다

Application layer DDoS 탐지의 선행 연구

 그 뒤로 Application layer DDoS 공격을 탐지해내는 연구가 활발히 진행되어 두 가지 대표적인 방안이 제시되었다. 첫 번째 방안은 CAP TCHA라고 부르는 전산학적인 방법이다. CAPTCHA는 ‘Completely Automated Public Test to tell Computers and Humans Apart’의 약자다. CAPTCHA는 프로그램의 이미지 인식능력에 한계가 있음을 이용한 것이다. 이미지에 변형을 가하고 사용자가 읽을 수 있는지를 확인해 악성프로그램인지 사람인지를 구분한다. 이 방법은 악성프로그램의 과부하요청을 효과적으로 막을 수 있다는 장점이 있다. 하지만 CAPTCHA를 웹 페이지마다 적용하면 사용자들이 웹을 이용하기에 불편한 점이 많다.

 두 번째 방안은 Application la-yer DDoS 공격이 가해질 시 악성프로그램이 웹을 방문하는 알고리즘과 사용자가 웹을 방문하는 알고리즘의 차이를 구분해 탐지하는 방법이다. Application layer DDoS는 대용량 이미지만 요구하거나 영상자료의 다운로드만을 요구한다. 따라서, Application layer DDoS의 공격은 똑같은 웹페이지를 계속해서 방문하는 등 동일한 알고리즘을 반복한다. 반면, 사용자는 다양한 웹페이지를 자신이 원하는 순서대로 방문한다. 또는 여러 번의 웹페이지 검색으로 자신이 원하는 정보를 찾는다. 이렇게 웹을 검색할 때 순차적인 방법을 이용하는 것을 Sequence-order라고 부른다.

PCA로 사용자와 악성프로그램 구분해

 김 교수팀은 사용자들이 항상 웹페이지를 차례대로 방문하는 것은 아니라는 점에서 착안해 연구를 시작했다. 사용자는 즐겨찾기에 자신이 선호하는 사이트를 등록하는 등 갑자기 방문할 수 있다. 즉 Se-quence-order는 사용자가 순차적으로 웹을 방문하지 않을 때 사용자를 오해한다는 단점이 있다. 그래서 김 교수팀은 통계기법인 PCA를 이용해 Application layer DDoS와 사용자를 구분했다. PCA는 데이터 집합을 분석하는 기법의 하나로, 다차원 벡터에서 그 벡터들을 가장 잘 표현하는 주성분을 추출한다. 주성분 벡터로 데이터들을 표현해 데이터의 차수를 낮추고 데이터 간 구분을 쉽게 하는 기법이다. 정보의 차수를 낮춘다는 말은 예를 들어 n차원 정보를 n-1차원 정보로 축약시킨다는 말이다. 김 교수팀은 트래픽들을 그래프에 나타내고 사용자의 패턴을 파악했다. Appli-cation layer DDoS는 주성분패턴에서 벗어난 비정상트래픽의 양이 사용자보다 상대적으로 많으므로, 이를 이용해 Application layer DDoS와 사용자를 구분했다.

Online learning system으로 지속적인 DDoS 공격 탐지 가능성 선보여

 악성프로그램은 다양한 방법으로 서버를 공격할 수 있다. 김 교수팀은 이번 연구의 알고리즘을 이용해 온라인상에서 악성프로그램의 변화에 따라 update 할 수 있게 만든 Online learing system을 구축하려 한다. 김 교수팀은 Online lear-ning system 개발을 통해 효과적이고 지속적인 DDoS 탐지에 활용할 계획이다.

 이번 연구 결과에 대해 논문의 제2저자 김기성 학우(박사과정)는 “Sequence-order에 독립적인 공격도 잡아낼 수 있다는 점에서 획기적인 연구이다”라며 “Online learn-ing system으로 발전시킬 수 있는 추가연구를 해, 실제로 DDoS를 효과적으로 방어하는 데 도움이 되고 싶다”라고 밝혔다.

 

저작권자 © 카이스트신문 무단전재 및 재배포 금지