인터넷트래픽분석을위한멀티레벨트래픽분석프레임워크설계 윤성호, 박준상, 안현민, 김명섭고려대학교컴퓨터정보학과 {sungho_yoon, junsang_park, queen26, tmskim}@korea.ac.kr 요 약 인터넷속도의증가와다양한응용의개발로인해인터넷사용자와이들이발생시키는인터넷트래픽의양이급격히증가하고있다. 안정적인인터넷서비스를제공하기위해서는정확한트래픽분석을기반한효과적인네트워크관리가필요하다. 트래픽분석을위해다양한분석방법론이제안되었지만모든트래픽을정확하게분석하는단일방법론은존재하지않는다. 따라서본논문에서는다양한분석방법을결합하여트래픽을분석하는멀티레벨트래픽분석프레임워크를제안한다. 본프레임워크는다양한모델을기반한시그니쳐들을동시에적용함으로써서로의한계점을보완하고분석결과의정확도와분석률을향상시킬수있는구조이다. 1. 서론 1 멀티미디어응용의개발과인터넷기술의발전으로인해네트워크트래픽은지속적으로증가하고있다. 이러한상황에서인터넷사용자가안정적인인터넷서비스를제공받기위해서는효율적인네트워크관리가필요하다 [1, 2]. 특히, 특정트래픽을차단하거나조절하는트래픽제어정책은한정된네트워크대역폭을모든사용자가공평하게사용할수있게해줄뿐만아니라다양한응용의서비스품질 (QoS) 을보장받을수있게한다. 네트워크정책은트래픽의원천을분석하는트래픽분석결과를기반으로수행된다. 트래픽분석방법론또는시스템의최종목표는분석하고자하는대상네트워크에서발생하는트래픽을모두정확하게빠른속도로분석하는것이다. 트래픽분석방법론은그중요성에따라지속적으로연구가진행되어현재에는다양한트래픽분석방법론이존재한다. 하지만, 오늘날의네트워크에는다양한응용프로그램및서비스가사용됨에따라복잡다양한트래픽이발생하므로하나의단일트래픽분석방법론으로는네트워크내의모든트래픽을분석하기어렵다. 따라서최근에는여러가지트래픽분석방법론을통합한멀티레벨트래픽분석방법론이제안되고있다. 멀티레벨트래픽분석방법론은기존의여러트래픽분석방법론들중몇가지를통합하여만든다. 다양한트래픽특징을사용하는방법론들을통합하여사용하기때문에각방법론이가지는한계점을보완하고분석률과정확도측면의분석성능을향상시킬수있다. 본논문에서는다양한시그니쳐모델을사용하 이논문은 2012 년정부 ( 교육과학기술부 ) 의재원으로한국연구재단 (2012R1A1A2007483) 및 2013 년도정부 ( 미래창조과학부 ) 의재원으로한국연구재단 - 차세대정보. 컴퓨팅기술개발사업 (2010-002072 8) 의지원을받아수행된연구임. 는멀티레벨트래픽분석프레임워크를제안한다. 시스템에적용가능한시그니쳐모델은헤더, 페이로드, 통계, 행위모델이다. 제안된시그니쳐모델은본연구진들이기존에제안한시그니쳐모델을기반으로정의되었으며, 시스템확장성을고려하여향후다양한시그니쳐모델을추가할수있는구조로설계하였다. 본프레임워크는 5 개의세부모듈로구성되며, 트래픽분석에필수적인시그니쳐생성, 트래픽분석, 결과출력모듈뿐만아니라분석기의성능을향상시키는시그니쳐관리와네트워크관리에적용하기위한분석결과활용모듈을포함한다. 본논문은다음과같은순서로기술한다. 2 장에서는기존에제시된트래픽분석관련연구에대해설명하고, 3 장에서는멀티레벨트래픽분석프레임워크를제시한다. 마지막으로 4 장에서는결론과향후연구를언급한다. 2. 관련연구 인터넷트래픽분석은그중요성이증가함에따라다양한방법이제시되고있다. 가장원시적인포트기반분석은 Internet Assigned Number Authority (IANA)[3] 에등록된포트정보를사용하여트래픽을분석한다. 초기인터넷에서는포트번호와대응하는서비스 (HTTP(80), telnet(23), e-mail(25,110), FTP(20,21)) 가트래픽대부분을차지하였기때문에이를기준으로신뢰성과정확성이높은트래픽분석결과를도출할수있었다. 하지만, 최근사용되는응용들은방화벽및 IPS 장비를통과하기위해포트번호를임으로변경하여트래픽을발생시키므로더이상포트번호가특정서비스, 프로토콜을의미하지않는다. 따라서포트기반분류방법론은더이상정확한트래픽분석결과를보장하지못한다 [4]. 페이로드기반분석은패킷의페이로드내에서 1
응용마다가지는특정스트링의포함유무를통해트래픽을분석하는방법이다 [5]. 트래픽의페이로드를직접검사하기때문에분석성능 ( 분석률, 정확도 ) 은매우높지만, 시그니쳐생성및관리의어려움, 암호화트래픽분석불가, 높은계산복잡도, 패킷단편화고려, 사생활침해등과같은많은한계점을가진다. 통계기반분석은트래픽내용을보지않고패킷및윈도우크기, 패킷간시간간격등과같은통계적특징만을이용하여트래픽을분석한다 [6]. 이를위해패킷을플로우라는형태로변환하여사용한다. 플로우는 5-tuple(SrcIP, SrcPort, DstIP, DstPort, Transport Layer Protoco) 이동일한패킷의집합을의미한다. 기존페이로드기반분석방법이가지는한계점을해결할수있지만, 같은엔진기반의응용, 또는같은응용레벨프로토콜을사용하는응용들의경우동일한통계적특징을가지기때문에상세응용분석이어렵다는한계점을가진다. 단일분석방법이가지는한계점을보완하기위해다양한분석방법을통합한멀티레벨분석방법이제안되었다 [7, 8]. 제안된논문에서공통적으로주장하고있는점은여러분석기를통합할경우분석성능 ( 분석률, 정확도 ) 이향상되고, 서로의한계점을보완해준다는것이다. 분석기에입력되는트래픽의형태에따라트래픽분석에사용할수있는트래픽특징이다르다는점을이용하여패킷단위의분석을선행하고분석되지않은트래픽에한해플로우단위로재조합하여분석을수행한다. 플로우는패킷들의집합이기때문에상대적으로다양한트래픽특징을제공한다. 입력데이터의형태가동일한경우, 복잡도가낮은분석기를우선적용하는직렬수행방법과모든분석기를병렬수행하는방법이있다. 직렬로수행하는방법은앞서수행된분석기에서트래픽이분석된경우더이상분석을진행하지않기때문에적용하는분석기의순서가분석결과의정확도에영향을미친다. 병렬로수행하는방법은동일한트래픽을각각의분석기가다르게분석할경우분석결과를통합하는추가적인과정이요구되지만분석결과의정확성은향상시킬수있는장점이있다. 기존에제안된멀티레벨논문에서는여러분석방법론들의통합에만초점을맞추었다. 트래픽을정확하게분석하기위해서는분류체계, 정답지트래픽생성, 입력데이터정의, 시그니쳐관리, 분석결과활용과같은다양한관점의고려가필요하다. 3. 멀티레벨분석프레임워크 본장에서는인터넷트래픽을분석하기위한멀티레벨분석프레임워크에대해설명한다. 그림 1 은본논문에서제안하는멀티레벨트래픽분석프레임워크 (FORMULA: Framework for Multi-Level Application ) 를나타낸다. FORMULA 는총다섯개의세부모듈들로구성된다. 시그니쳐생성부 ( Constructor) 는분류체계를정의하고다양한모델의시그니쳐를생성한다. 트래픽분석부 (Identifier) 는분석대상네트워크의트래픽을수집하여시그니쳐모델별세부분석기를통해트래픽을분석한다. 분석결과출력부 (Visualizer) 는분석된트래픽을시각화하고분석기의성능을검증한다. 시그니쳐관리부 ( Maintainer) 는분석결과를기반으로시그니쳐를관리한다. 마지막으로분석결과활용부 (Utilizer) 에서는분석된결과를다양한관점으로추가분석한다. 3.1 시그니쳐생성부 트래픽분석은다른응용과구별되는고유한트래픽특징인시그니쳐의존재유무를확인함으로써수행된다. 시그니쳐를생성하기위해서는분석대상응용을선정하고해당응용이발생하는트래픽을수집한다. 수집된특정응용의트래픽은다각적이고계층적인분류체계정보와함께시그니쳐생성기의입력으로사용된다. 시그니쳐생성기는기정의된다양한시그니쳐모델을기반으로시그니쳐를생성한다. 발생원천을알고있는정답지트래픽생성 (Ground-truth Generator) 은분석대상응용의트래픽을수집하는역할을한다. 정답지트래픽은시그니쳐생성뿐만아니라분석기성능을확인하기위한분석결과의검증과정에서도활용된다. 정답지를생성하는방법은특정응용만을사용하여트래픽을수집하는수작업방법, 공개프로토콜의키워드를페이로드시그니쳐로사용하는 DPI(Deep Packet Inspection) 방법, 트래픽을발생시키는종단호스트에소켓정보를수집하는프로그램을설치하는에이전트방법이있다. 정답지트래픽의정확성과수집의용이성측면에서에이전트방법이가장적절하다. 분류체계수립 (Category Coordinator) 은분석대상응용의다각적이고계층적인구조를정의하는것이다. 응용의명확한분류체계는분석결과의현황파악을용이하게할뿐만아니라분석결과의활용도측면에서도매우효과적이다. 또한, 시그니쳐모델및방법론의객관적평가와이들간의비교평가를가능하게한다. 본논문에서제안하는분류체계는하나이상의수평적인분류기준 ( 서비스, 응용, 프로토콜, 기능 ) 으로구성되고, 각분류기준은계층화된분류속성 ( 대분류, 중분류, 소분류 ) 을가진다. 이로써동일한트래픽을분류기준개수측면의다각적인분석과각분류기준하위의분류속성에따른계층적인분석이가능하다. 본분석프레임워크에서사용하는분류기준은특정목적을위해사용자에게제공되는서비스, 사용자가사용하는응용, 트래픽을전송하기위해사용하는프로토콜, 사용자가발생하는트래픽의기능으로정의한다. 2
Constructor Identifier Utilizer Category Coordinator Collector Host-level Ground-truth Generator HTTP Modeler N Modeler 2 Modeler 1 Pre-Processor Trend Model Identifier 1 Model Identifier 2 Model Identifier N P2P Maintainer Combiner Visulizer Editor Correlation Identifier Result Verifier Analyzer Identified Result Monitoring 그림 1. 멀티레벨트래픽분석프레임워크 본논문에서제안하는분석프레임워크는다양한형태의시그니쳐모델 ( Modeler) 을지원한다. 응용이발생하는트래픽의형태가점점복잡해지고, 네트워크환경에따라수집가능한트래픽특징이상이하기때문에다양한시그니쳐모델이적용되어야한다. 본시스템에서적용된시그니쳐모델은헤더, 페이로드, 통계, 행위이다. 헤더시그니쳐모델은특정응용서버의 IP address 정보나웹서비스의 DNS 정보를사용한다. 페이로드시그니쳐모델은패킷의 IP 헤더뒤에위치한페이로드의일부분을정규표현식으로변환하여사용한다. 통계시그니쳐는동일세션에서발생한패킷의순서와크기분포를벡터로변환하여사용한다. 마지막으로행위시그니쳐는특정기능을수행할때발생하는고유한패턴을발생순서와시간간격정보와함께사용한다. 3.2 트래픽분석부 분석기는기작성된시그니쳐를사용하여분석대상네트워크에서발생하는트래픽을분석한다. 효과적인분석을위해수집된트래픽을분석에적당한형태로재조합하고, 비정상트래픽분석과운영체제분석등과같은분석성능을향상시키기위한전처리과정을거친다. 시그니쳐모델에특성화된세부분석기는트래픽을병렬분석하며, 각세부분석기가분석한결과는분석결합자에의해통합된다. 통합된분석결과는분석된트래픽과그렇지못한트래픽간의상관관계를이용하여추가적인분석을수행한다. 트래픽분석기는다양한방식으로동작한다. 트래픽이발생됨과동시에분석하는실시간방식, 일정주기마다수집된트래픽을분석하는주기방식, 저장매체에저장된트래픽을분석하는오프라인방식이있다. 네트워크의상황과트래픽분석의목적에따라동작방식을선택할수있다. 트래픽수집 ( Collector) 은분석네트워크의 모든패킷을수집할수있는지점, 즉라우터나스위치에서포트미러닝또는탭핑을통해수집한다. 분석네트워크에서인터넷으로연결된경로가여러가지인경우에는모든지점에서수집하여야정확한분석이가능하다. 수집된패킷단위의트래픽은플로우단위로재조합한다. 플로우단위로재조합된트래픽은질의 (request) 와응답 (response) 과정의트래픽이한단위로구성되어있기때문에더많은트래픽정보를제공하다. 따라서다양한시그니쳐모델을적용할수있게한다. 또한, 메모리에로드되는트래픽의양을줄여시스템의부하를줄일수있다. 본시스템에서사용하는플로우는양방향플로우로써 5-tuple(source IP address/port, destination IP address/port, transport layer protocol) 가동일한패킷들의집합이다. 플로우는시작시간, 종료시간, 패킷개수, 바이트크기, TCP 플래그패킷의개수, 데이터패킷의개수등의통계정보뿐만아니라페이로드정보까지포함한다. 페이로드정보는플로우를구성하는초기 N 개의데이터패킷페이로드를의미하며메모리공간의한계와시그니쳐모델의적용범위에따라 N 의값은조절가능하다. 본시스템에서는이를 flow_with_packet 이라지칭하며, 플로우생성시간과접근시간을최소화하기위해해쉬형태의메모리구조로저장한다. 전처리과정 (Pre-Processor) 은분석속도향상과정확도를높이기위해분석기의입력데이터를최적화시키고트래픽발생호스트의부가적인정보를제공한다. 대표적인전처리과정으로써, 비정상트래픽판별, 호스트운영체제판별, 유무선호스트판별, NAT 공유기판별등이있다. 본논문에서는비정상트래픽판별과호스트운영체제판별에대해소개한다. 악의적인목적을가진네트워크공격이활발해짐에따라비정상트래픽의양이증가하고있다. 이렇게발생된트래픽은분석프레임워크의입력데이터양을증가시켜분석기의부하를증가시킨다. 본시스템은비정상으로 TCP 연결을시작하거나종료하는트래픽을비정상트래픽으로분 3
석하여분석기의입력에서제외한다. 즉, 3- 핸드셰이크 (SYN-SYN/ACK-ACK) 로연결을시작하지않고나 4- 핸드셰이크 (FIN-ACK-FIN-ACK) 또는 3- 핸드셰이크 (FIN-FIN/ACK-ACK) 로종료하지않는경우해당트래픽을비정상트래픽으로분석한다. 다양한형태의단말이사용되면서이를운영하는운영체제또한매우다양해졌다. 응용은운영체제위에서동작하기때문에운영체제마다지원하는응용과응용의버전이상이하다. 트래픽분석에있어호스트운영체제정보는적용해야할시그니쳐의개수를줄여시스템부하를줄이고, 분석결과의정확성을향상시킬수있다. 예를들어안드로이드운영체제사용자로판명된호스트에서발생되는트래픽은안드로이드에서만동작하는응용의시그니쳐를적용시킨다. 이를위해트래픽을호스트별로구분하고해당트래픽의헤더정보를기반으로운영체제를판별한다. 이때사용하는정보로는 TTL, Nop count, time stamp, SACK, window size scale, window size, MSS 등이있다. 시그니쳐모델분석기 ( Model Identifier) 는시그니쳐모델에따른세부분석기들로구성된다. 시그니쳐모델에따라트래픽을분석하는방법이상이하기때문에이를사용하는분석기또한개별적으로동작되어야한다. 예를들어헤더시그니쳐모델의경우헤더정보 (IP address, port number, L4 protocol) 만을사용하기때문에트래픽의헤더정보를검색하는기능만을분석기에적용하고페이로드시그니쳐모델의경우플로우에포함된페이로드정보를검색하는기능을추가적으로적용한다. 또한, 통계시그니쳐모델의경우플로우를구성하는패킷들의방향과크기를비교하는기능을적용한다. 시그니쳐모델에따라분석할수있는분류기준이다르기때문에각세부분석기들은병렬로수행된다. 즉, 특정플로우가하나의세부분석기에의해분석이된경우에도다른모든분석기에적용한다. 이를통해다각적이트래픽분석을가능하게한다. 시그니쳐모델분석기의개별분석기를통해분석된트래픽은분석결합자 ( Combiner) 에의해통합된다. 시그니쳐모델마다분석가능한분류기준이다르기때문에세부분석기의결과를통합하여트래픽당모든분류기준을명시하도록한다. 만약동일한분류기준에서로다른분석기가다른결과로분석하면, 즉분석결과의충돌이발생하면, 결합알고리즘을통해하나의결과를선택한다. 본시스템에서는분석결과의빈도와우선순위기준으로결합알고리즘을수행한다. 분석결과충돌이발생하면가장많이분석한결과를선택한다. 만약, 모든세부분석기의결과가다르면사전에정의한분석기우선순위에따라최종분석결과를선택한다. 상관관계분석기 (Correlation Identifier) 는분석결합자에의해통합된분석결과를입력받아분석된트래픽과그렇지않은트래픽간의상관관계를파 악하고이를통해분석되지않은트래픽을분석한다. 구체적으로일부분석된결과를입력받아트래픽에나타나는여러정보중연관성을가지고있는특정속성값을기준으로트래픽을그룹화하고분석된트래픽이존재하는경우해당그룹에속한전체트래픽을분석된트래픽과동일한결과로분석한다. 본시스템에서는상관관계분석을위해 4 가지알고리즘을사용한다. 공통된 3-tuple(IP address, port, transport layer protocol) 을사용하는트래픽을분석하는서버 - 클라이언트방법, 특정시간에단일호스트에서발생한트래픽을분석하는발생시간방법, 특정두호스트에서발생한트래픽을분석하는호스트 - 호스트방법, 마지막으로유사한통계정보를가지는트래픽을분석하는통계방법이있다. 3.3 분석결과출력부 분석결과출력부는분석기에의해분석된트래픽의분석결과를다양한관점으로시각화하고분석과정에서측정된다양한정보를제공한다. 이와함께분석된트래픽의정확도를판별함으로써분석에사용된시그니쳐의타당성과분석기의성능을검증한다. 본모듈의결과는트래픽분석즉시 Web 을통해시그니쳐생성자, 네트워크관리자, 분석기운영자에게보고된다. 분석결과측정 ( Result Monitoring) 은분석결과를다양한그래프와표를활용하여한눈에확인할수있도록한다. 결과를측정하기위해사용한척도는 Completeness 이다. 본척도는전체트래픽중분석된트래픽의비율을의미한다. 분석된트래픽의결과는다각적이고계층적인분류체계를기반으로분석되었기때문에이를파악할수있는트리구조로설계된다. 또한, 시간의흐름에따라트래피분석결과의추이를확인하기위하여하루, 주, 월단위의분석결과를제공한다. 부가적으로분석프레임워크의하드웨어적성능을파악하기위하여 CPU 사용률, 메모리사용량, 분석시간등부가적인정보를제공한다. 분석결과검증 ( Result Verifier) 은정답지트래픽을통해분석결과를검증한다. 정답지트래픽의생성은시그니쳐생성부에서설명한에이전트방법을사용함으로써분석즉시결과를검증할수있다. 본모듈에서검증을위해사용한척도는분석된트래픽중정확한트래픽의비율을나타내는 Overall_accuracy 와응용또는시그니쳐별성능을측정하는 Precision 과 Recall, 그리고이두척도를하나의수치로표현한 F-Measure 가있다. Precision 은얼마나정확히분석하는지를측정하고 Recall 은얼마나많이트래픽을분석하는지를측정한다. 앞서제시한척도는트래픽에포함된응용의비율에따라편향된결과를나타낼수있다. 따라서응용단위별실제분석수량을보여주는 Confusion_matrix 를같이제공한다. 4
3.4 시그니쳐관리부 시그니쳐관리부는분석결과출력부로부터전송받은분석결과검증정보를토대로시그니쳐분석성능과상태를분석하고이를기반으로분석기에적용한시그니쳐목록을개편한다. 시그니쳐분석기 ( Analyzer) 는시그니쳐성능을수량적인수치로표현하기위하여 5 가지관리요소를사용한다. 시그니쳐의분석량을의미하는시그니쳐분석도, 시그니쳐의사용횟수를의미하는시그니쳐빈도, 단위시간동안대상시그니쳐에의해분석된트래픽중정확하게분석한트래픽비율을의미하는시그니쳐정확도, 대상시그니쳐와해당시그니쳐가분석하는응용의마지막사용시간의차를의미하는시그니쳐유효도, 시그니쳐간 Association Rule 에기반한상관관계를의미하는시그니쳐상관관계도이다. 시그니쳐편집기 ( Editor) 은시그니쳐분석기에의해분석된시그니쳐관리요소에의거하여시그니쳐를개편한다. 시그니쳐분석도와빈도를기준으로자주사용하고많은트래픽을분석하는시그니쳐를시그니쳐목록의앞쪽으로이동시키고, 시그니쳐정확도, 유효도, 상관관계도를기준으로분석성능을저해하는시그니쳐를목록에서제거한다. 3.5 분석결과활용부 분석기에의해분석된결과는단순히분류체계에따른각분류기준별트래픽양만을나타내기때문에이를네트워크관리에활용하기위한추가적인작업이필요하다. 분석결과활용부에서는네트워크관리자, 서비스제공자, 인터넷사용자들의요구에부응하여다양한분석을제공한다. 본시스템에서는트래픽을발생시킨호스트를기준으로트래픽발생현황을분석하는호스트기반분석, 인터넷서비스사용실태를분석하는경향분석, 인터넷트래픽의대부분을차지하는 web 트래픽을분석하는 HTTP 분석, 복잡한형태의트래픽을발생하는 P2P 응용을분석하는 P2P 분석을제공한다. 앞서기술된 4 가지분석이외에도트래픽활용을위한다양한분석이추가될수있다. 그니쳐관리부, 분석된결과를네트워크관리에효과적으로활용할수있는분석결과활용부를제안한다. 향후연구로는본논문에서제안한시스템설계를기반으로실제네트워크에서운영되는시스템을구축할계획이다. 또한, 본시스템에적용할수있는다양한시그니쳐모델을찾고이를적용하겠다. 5. 참고문헌 [1] H. Kim, K. C. Claffy, M. Fomenkov, D. Barman, M. Faloutsos, and K. Lee, "Internet traffic classification demystified: myths, caveats, and the best practices," in Proceedings of the 2008 ACM CoNEXT conference, 2008, p. 11. [2] A. Dainotti, A. Pescape, and K. C. Claffy, "Issues and Future Directions in Classification," Ieee Network, vol. 26, pp. 35-40, Jan-Feb 2012. [3] IANA port number list. Available: http://www.iana.org/assignments/service-names-portnumbers/service-names-port-numbers.xml [4] A. W. Moore and K. Papagiannaki, "Toward the accurate identification of network applications," in Passive and Active Network Measurement, ed: Springer, 2005, pp. 41-54. [5] Y. Wang, Y. Xiang, W. L. Zhou, and S. Z. Yu, "Generating regular expression signatures for network traffic classification in trusted network management," Journal of Network and Computer Applications, vol. 35, pp. 992-1000, May 2012. [6] N. F. Huang, G. Y. Jai, H. C. Chao, Y. J. Tzang, and H. Y. Chang, "Application traffic classification at the early stage by characterizing application rounds," Information Sciences, vol. 232, pp. 130-142, May 2013. [7] G. Szabó, I. Szabó, and D. Orincsay, "Accurate traffic classification," in World of Wireless, Mobile and Multimedia Networks, 2007. WoWMoM 2007. IEEE International Symposium on a, 2007, pp. 1-8. [8] A. Callado, J. Kelner, D. Sadok, C. Alberto Kamienski, and S. Fernandes, "Better network traffic identification through the independent combination of techniques," Journal of Network and Computer Applications, vol. 33, pp. 433-446, 2010. 4. 결론및향후연구 다양한응용의사용과인터넷기술의발전으로인해다양한분석방법을동시에적용할수있는멀티레벨트래픽분석기에대한요구가증가하고있다. 본논문에서는다양한모델의시그니쳐를사용하여트래픽을분석하는시스템구조를제안한다. 시그니쳐생성부, 트래픽분석부, 분석결과분석부와같은기본적인모듈뿐만아니라분석결과의정확성을향상시키고분석기부하를줄일수있는시 5