인터넷트래픽분석을위한행위기반시그니쳐생성방법론개발과적용에관한연구 윤성호 O, 김명섭고려대학교컴퓨터정보학과 {sungho_yoon, tmskim}@korea.ac.kr A Study of the Development and Application of Behavior-based Signature Creation Method for Internet Traffic Identification 요 약 최근급격한인터넷의발전으로효율적인네트워크관리를위해응용트래픽분석의중요성이강조되고있다. 본논문에서는기존분석방법의한계점을보완하기위하여행위기반시그니쳐를이용한응용트래픽분석방법을제안한다. 행위기반시그니쳐는기존에제안된다양한트래픽특징을조합하여사용할뿐만아니라, 복수개플로우들의첫 request 패킷을분석단위로사용한다. 제안한행위기반시그니쳐의타당성을검증하기위해국내외응용 5 종을대상으로정확도를측정하고페이로드기반시그니쳐와비교한결과를제시한다. 1. 서론 1 초고속인터넷의보급과인터넷기반의서비스가다양화됨에따라네트워크관리의중요성이강조되고있다. 네트워크이용자 (end user) 측면에서는고품질서비스의안정적인제공에대한요구가증대되고, 사업자 (ISP: Internet Service Provider, ICP: Internet Contents Provider) 측면에서는망관리비용을최소화하면서다양한고품질의서비스를제공하기위한요구가증대되고있다 [1,2]. 하지만한정적인네트워크자원과급증하는트래픽은네트워크의부담을가중시킨다. 네트워크트래픽의응용을탐지하는트래픽분석은다양한네트워크관리정책들을적용하기위해서반드시필요한선행기술이다. 트래픽분석방법론또는시스템의최종목표는분석하고자하는대상네트워크의모든트래픽을응용별로정확하게분석하는것이다. 트래픽분석을위해다양한트래픽특징을이용한방법론들이제안되었지만, 실제네트워크관리에활용하기에는많은한계점을가지고있다. 대표적인한계점으로는동적또는임의포트사용, 시그니쳐생성및관리, 계산복잡도, 사생활침해, 실시간제 이논문은정부 ( 교육과학기술부 ) 의재원으로 2010 년도한국연구재단 - 차세대정보컴퓨팅기술개발사업 (20100020728) 및 2012 년도한국연구재단 (2012R1A1A2007483) 의지원을받아수행된연구임. 어문제등이있다. 본논문에서는기존분석방법의한계점을보완하기위하여행위기반시그니쳐를제안한다. 대부분의인터넷응용들은특정기능 ( 로그인, 파일전송, 채팅등 ) 을사용할때, 2 개이상의플로우를발생시킨다. 이때발생되는플로우에서추출된특징들은다른응용과구별되는패턴을가지고있다. 따라서본논문에서는이러한패턴을이용하여행위기반시그니쳐를제안한다. 본시그니쳐는기존에제안된다양한트래픽특징을조합하여사용할뿐만아니라, 복수플로우의특정패킷들을조합한플로우간 (inter-) 단위를사용함으로써특정응용을매우정확하게분석할수있다. 본논문은다음과같은순서로기술한다. 2 장에서는기존행위기반방법론들에대해살펴보고, 3 장에서는행위기반시그니쳐를정의한다. 4 장에서시그니쳐추출알고리즘을제시하고 5 장에서는타당성을증명하기위한실험결과를기술한다. 마지막으로 6 장에서는결론과향후연구를언급한다. 2. 관련연구 트래픽분석방법론은대용량트래픽의발생과다양한인터넷응용이개발됨에따라지속적으로연구가진행되고있다. 단순히포트번호를이용한분석방법부터페이로드, 통계정보, 상관관계에이르기까지다양한트래픽특징을이용한분석방법 7
이제안되었다. 분석방법론의발전과함께인터넷응용개발자들은자신이개발한응용이인터넷상에서원활히사용될수있도록트래픽의발생형태를점점복잡다양하게하고있다. 따라서오늘날에는단순히트래픽의특정특징만을사용하는방법보다는응용의고유한트래픽발생행위를분석하는행위기반트래픽분석방법론들이제안되고있다. 본장에서는기존에제안된대표적인행위기반분석방법과한계점에대해설명한다. T. Karagiannis[3] 는페이로드와포트정보를사용하지않고인터넷트래픽을분석하기위해호스트에서발생하는트래픽의행위를 3 가지레벨 (social, functional, application) 로구분하였다. 이방법은매우간단하고사용하기용이하여다양한네트워크에적용이가능하지만, 특정호스트가단일응용만사용한다는가정과세밀한응용별분석이불가능하다는한계점을가진다. L. Bernaille[4] 는응용별실시간분석을위해초기 K 개패킷크기 (K-data-packetsize) 를사용하여트래픽을분석한다. 페이로드정보를사용하지않고단순히해당패킷의크기와방향을이용하기때문에사생활침해문제를해결할수있지만, 동일프로토콜을사용한응용의경우구별이힘들다는한계점을가지고있다. 또한, 패킷크기라는단일특징을사용하기때문에여러응용에서중복되지않는고유한패턴을찾기가쉽지않다. 본논문에서는기존의행위기반분석방법론의한계점을극복하기위해특정행위시발생하는플로우들의첫 request 패킷에서특징을시그니쳐로추출하여트래픽분석에사용한다. 복수개의플로우에서특징을찾기때문에응용별로중복되지않는고유한시그니쳐생성이용이하다. 또한, 고정된위치의페이로드일부만을사용함으로써, 계산복잡도및사생활침해문제를해결한다. 3. 행위기반시그니쳐 본장에서는행위기반시그니쳐를정의하기위해시그니쳐의속성으로사용하는트래픽의특징들과트래픽분석단위를설명한다. 행위기반시그니쳐에서사용하는트래픽특징은총 4 가지이다. 목적지 IP, 목적지포트번호, 전송계층프로토콜, 첫 N 바이트페이로드이다. 트래픽의헤더정보 (IP, 포트, 프로토콜 ) 는해당응용이서버 - 클라이언트연결을사용하거나고정포트를사용하는경우큰의미를가진다. 페이로드정보는응용을식별하는중요한키를가지고있지만최근사생활침해문제와계산복잡도문제로인해사용을꺼리고있다. 이를해결하기위해행위기반시그니쳐는첫 N 바이트만을사용한다. 전체가아닌일부페이로드만을사용함으로써사생활문제를해결할뿐만아니라고정된위치 (offset, length) 의페이로드를사용하기때문에계산복잡도문제도해결할수있다. 그림 1 은트래픽분석시대상이되는트래픽 의다양한단위를보여준다. 본논문에서는패킷단위, 플로우단위트래픽분석의한계점을보완하고각단위의장점을활용하기위해플로우간 (inter) 단위를사용한다. 복수개의플로우를대상으로시그니쳐를생성하기때문에시그니쳐생성범위가넓고특정위치 ( 플로우의첫패킷 ) 를검사하기때문에실시간제어가가능하다. 즉, 단일패킷, 단일플로우를대상으로시그니쳐를적용하는것이아닌여러플로우를대상으로시그니쳐를적용한다. 특히플로우의첫번째 request 패킷들을대상으로시그니쳐를적용함으로써단독으로사용할수없는, 단순한트래픽특징을조합하여시그니쳐로사용할수있을뿐만아니라단일패킷, 단일플로우에적용하는방법보다정확하게트래픽을분석할수있다. inter-flow x y i Req x Reqy y Req i Packet Res x Res1 y Res i 그림 1. 트래픽분석단위 Flow time 행위기반시그니쳐는엔트리 (Entry) 의조합으로구성되며각각의엔트리는트래픽의특징을가진다. 수식 1, 2 는각각행위기반시그니쳐와행위기반시그니쳐를구성하는엔트리를나타낸다. BS = A, T, I, E 1, E 2, E 3,, E n n 2, (1) Src(E 1 ) = Src(E 2 ) = = Src(E n ) E = {2 F F = {ip, port, prot, payload}, E } (2) 행위기반시그니쳐 (BS) 는응용이름 (A), 타입 (T), 인터벌 (I), 2 개이상의엔트리 (E) 로구성되며, 엔트리는목적지 IP(ip), 목적지포트번호 (port), 전송계층프로토콜 (prot), 그리고첫 N 바이트페이로드 (payload) 로구성되는집합의멱집합 (power set) 으로구성되며공집합은제외된다. 즉, 응용의특성상특정속성이의미가없는경우, 의미있는속성만선택하여사용한다. 예를들어특정응용이 P2P 연결형태와임의포트번호를사용하는경우목적지 IP 와목적지포트번호는의미가없기때문에엔트리의원소에서제외한다 ( any 로표기 ). 행위시그니쳐는특정호스트를기준으로추출, 적용되기때문에모든엔트리의출발지 IP 는동일하여야한다. 표 1 은행위기반시그니쳐의각속성에대한설명을나타낸다. 응용이름 (A) 은해당시그니쳐로분석된트래픽에분석결과를명명하기위해기술된다. 타입 (T) 은 Seq(Sequence) 와 Set 타입이있다. Seq 8
표 1. 행위기반시그니쳐속성및설명 속성 설명 A T I 해당시그니쳐로분석된트래픽의응용이름 엔트리적용방법 Seq(Sequence), Set(Set) 모든엔트리가트래픽에적용되는기간 (ms) ip CIDR 표기법의목적지 IP E port prot payload Src(Ex) 목적지포트번호 전송계층프로토콜 TCP, UDP 첫 N 바이트페이로드 HTTP : 10 bytes 이상, Non-HTTP : 2 Byte 이상 엔트리 x 의출발지 IP 는엔트리들의순서와복수플로우에서추출한엔트리가정확하게일치되는것을의미하고 Set 은순서에상관없이일정인터벌이내에모든엔트리가일치되는것을의미한다. 인터벌 (I) 은첫엔트리와마지막엔트리가매칭되는일정한시간간격 (ms) 을의미한다. 즉, 트래픽발생시간을기준으로해당패턴이적용되는기간을의미한다. 엔트리 (E) 은목적지 IP(ip), 목적지포트번호 (port), 전송계층프로토콜 (prot), 첫 N 바이트페이로드 (payload) 로구성된다. 목적지 IP 와포트번호는는해당엔트리가전송되는목적지 IP 주소와포트번호를의미하며, IP 의경우 CIDR 표기법을이용하여표기한다. 전송계층프로토콜은해당엔트리가전송될때사용되는전송계층프로토콜 (TCP, UDP) 를의미한다. 페이로드전체를엔트리구성요소로사용하지않고, 페이로드의최소첫 N 바이트만사용한다. HTTP 를사용하는트래픽의경우트래픽의첫부분에위치하는 Method(GET, POST, PUT 등 ) 를구별하기위해페이로드의첫 10 바이트이상을사용하고 Non-HTTP 인경우, 페이로드의첫 2 바이트이상을사용한다. 4. 추출알고리즘 본장에서는행위기반시그니쳐추출알고리즘을첫 request 패킷추출모듈, 후보시그니쳐추출모듈, 그리고시그니쳐선택모듈로구분하여각각의모듈에대한알고리즘을기술한다. 그림 2 는각세부모듈과입출력데이터를보여준다. 최초, 입력받은트래픽에서첫 request 패킷에서엔트리를추출하여리스트형태로구성하고, 해당리스트에서모든엔트리조합을후보시그니쳐로추출한다. 추출된후보시그니쳐중에서 2 대이상의호스트에서공통으로발생된후보시그니쳐를행위기반시그니쳐를추출한다. 그림 2. 행위기반시그니쳐추출알고리즘 첫 request 패킷추출모듈은플로우단위로구분된패킷들을입력받아각플로우의첫 request 패킷에서행위시그니쳐모델에서정의한엔트리를추출하여리스트로구성한다. 입력받은모든플로우에서첫 request 패킷을통해엔트리리스트를구성하고시간의순서로정렬한다. 후보시그니쳐추출모듈은앞서첫 request 패킷추출모듈의출력인엔트리리스트를입력받아추출가능한모든후보패턴을생성한다. 모든후보시그니쳐를추출하는것은매우높은계산복잡도를가지기때문에최대인터벌 (MAX_INTERVAL) 과최대엔트리개수 (MAX_SIZE) 를임계값으로설정하여해당인터벌이내에최대엔트리개수이내로후보시그니쳐를추출한다. 즉, 입력받은엔트리리스트의첫번째엔트리를시작으로최대인터벌크기만큼구간을설정하고해당구간의엔트리들을대상으로최대엔트리개수이내의추출가능한모든후보시그니쳐를추출한다. 시그니쳐선택모듈은앞서추출된후보패턴중에서최소호스트개수 (MIN_PEER) 을초과한패턴들에한해시그니쳐로선택한다. 행위기반시그니쳐는특정호스트에종속되지않고모든호스트에서특정응용을사용할때공통으로발생하는패턴을의미한다. 5. 실험및평가 본장에서는행위기반시그니쳐의타당성을증명하기위해국내외응용 5 종을선정하여시그니쳐를추출하고평가한결과를기술한다. 국내외에서많은사람들이사용하는응용 5 종 (Nateon: 메신져, DropBox: 웹저장소, UTorrent: P2P 파일전송, Skype: 메신져, Teamviewer: 원격제어 ) 을선정하였다. 정확한성능평가를위해 4 대의서로다른호스트에서다른날짜에 2 회에걸쳐다양한기능을사용하면서응용트래픽을수집하였다. 9
표 2. 행위기반시그니쳐추출결과 응용개수예시 Nateon 48 {Nateon, Seq, 4324, (203.xxx.xxx.91/32, 5004, 6, "PVER 1 4.1.2485 5.0"), (120.xxx.xxx.0/24, 5004, 6, "NCPT 1"), (117.xxx.xxx.17/32, 80, 6, "GET /keyword37_u2.op"), (203.xxx.xxx.117/32, 80, 6, "POST /client/club/ge"), (211.xxx.xxx.0/24, 80, 6, "GET /upload/notice/"), (211.xxx.xxx.0/24, 80, 6, "GET /upload/"), (211.xxx.xxx.0/24, 80, 6, "GET /upload/"), (211.xxx.xxx.0/24, 80, 6, "GET /upload/"), (117.xxx.xxx.12/32", 80, 6, "GET /nateon/ticker H"), (120.xxx.xxx.20/32, 80, 6, "POST /client/countme")} DropBox 1 {DropBox, Seq, 3258, (any, 443, 6, "0x16 0x03 0x01 0x00 0x5B 0x01 0x00 0x00 0x57 0x03 0x01 0x50"), (any, 80, 6, "GET /subcribe?host_")} UTor rent 7 {UTorrent, Set, 5000, (any, any, 17, "d1:ad2:id20:"), (any, any, 17, "A."), (any, any, 17, "d1:ad2:id20:")} Skype 3 {Skype, Seq, 5000, (any, any, 6, "GET /ui/0/5.10."), (any, any, 6, "0x16 0x03 0x01 0x00")} Teamviewer 1 {Teamviewer, Seq, 4991, (any, 5938, 6, ".$"), (any, 5938, 17, "0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00")} 표 3. 정확도측정결과응용구분 Precision Recall Nateon DropBox UTor rent Skype Teamviewer Total 5.1 시그니쳐추출 (447/447) (5064/5064) (193/193) (5303/5303) (2999/2999) (2741745/2741745) (127/127) (1589/1589) (239/239) (8237/8237) (4005/4005) (2761938/2761938) (5064/254110) (5303/35708) 0.17 (2999/18106) 0.66 (2741745/4182441) (127/2088) (1589/103342) 0.63 (8237/215845) 0.18 (4005/21487) 0.57 (2761938/4791446) 본논문에서제안하는알고리즘을통해추출된시그니쳐는표 2 와같다. 본실험에서사용한임계값은 MAX_INTERVAL 5000ms, MAX_SIZE 10, MIN_PEER 는 4 로설정하였다. Nateon 의경우, 총 48 개의시그니쳐가추출되었다. 로그인시다른응용에비해다양한서버 ( 인증서버, 업데이트서버, pop-up 서버, 메인서버등 ) 와통신하는구조로인해실험에서설정한최대엔트리개수 (10) 보다많은플로우를패턴으로가지는경우에서해당패턴의모든부분집합 (subset) 이시그니쳐로추출되었다. 표 2 에기술된 Nateon 시그니쳐예시는총 10 개의엔트리들로구성되어있다. Nateon 응용은서버 - 클라이언트형태로동작하고고정포트번호를사용하기때문에모든속성을사용하였다. 제시한시그니쳐예시는특정인터벌 (4324ms) 이내에 10 개의엔트리를각각첫 request 패킷으로가지는플로우들이순차적 (Seq) 으로발생하는경우해당모든플로우를 Nateon 으로분석한다. UTorrent 의경우, 총 7 개의시그니쳐가추출되었으며, P2P 형태와임의포트번호를사용하기때문에목적지 IP 와목적지포트번호를 "any" 로표기했다. 제시한시그니쳐예시는특정인터벌 (5000ms) 이내에 2 개의엔트리가각각첫 request 패킷으로 표 4. 페이로드기반시그니쳐추출결과응용개수예시 Nateon 42 DropBox 3 UTor rent 13.*naeon\.nate\.nate\.com.* ^PVER.* ^GET /subscribe.host_int=.*.*dropbox,inc.*dropbox\.com.* /*BitTorrent protocol.*.*d1:ad2:id20.* Skype 1.*User-Agent:.*Skype.* Teamviewer 1 ^..\x00\x17\x24\x6a.\x00.* 가지는플로우에임의 (Set) 의순서로발생하는경우모든해당모든플로우를 UTorrent 로분석한다. 5.2 정확도측정해당시그니쳐의정확도를측정하기위해 5 종트래픽을혼합하여검증트래픽을구성하고개별응용별로정확도 (Precision, Recall) 를측정하였다. 정확도를측정하는수식은다음과같다. Precision = Recall = TP TP+FP TP TP+FN TP(True Positive) 는특정응용 X 의시그니쳐가해당응용 X 를정확하게분석된양을의미한다. FP(False Positive) 는 X 의시그니쳐가 X 가아닌응용을 X 라분석한양을의미하고, FN(False Negative) 는 X 의시그니쳐가 X 를 X 가아니라고분석한양을의미한다. 즉, Precision 은해당응용으로분석된트래픽중에정확하게분석된비율을의미하고, Recall 은해당응용의전체트래픽중에정확하게분석된비율을의미한다. 표 3 은응용 5 종의행위기반시그니쳐정확도 (precision, recall) 를보여준다. 추출된모든시그니쳐는정확하게해당응용을분석하였다. 즉, 모든응용별 Precision 의값은 이었다. Recall 의경우, 플로우단위평균 0.18, 바이트단위평균 0.57 로응용과측정단위에따라큰차이를보였다. 이는분석된트래픽의통계적특성 (Heavy 또는 Light 플로우 ) 이응용마다상이하기때문이다. 여러호스트에서공통으로발생하는패턴을시그니쳐로사용하기때문에낮은 Recall 값을가지지만시그니쳐의 (3) (4) 10
응용 Nateon DropBox UTor rent Skype Teamviewer 구분 표 5. 행위기반과페이로드기반시그니쳐분석결과비교 Completeness PS BS PS BS PS BS PS c BS PS BS c 0.73 (543/741) 0.93 (235,143/254,110) 0.26 (64/247) (68/35,708) 0.79 (14,358/18,106) 0.96 (4,020,339/4,182,441) (44/2,088) (51/103,342) (1/385) (1/215,845) (5,064/254,110) (5,303/35,708) 0.17 (2,999/18,106) 0.66 (2,741,745/4,182,441) (127/2,088) (1,589/103,342) (8,237/215,845) 0.73 (543/741) 0.93 (235,143/254,110) (5,303/35,708) 0.80 (14,488/18,106) 0.99 (4,171,534/4,182,441) (127/2,088) (1,589/103,342) (240/385) (8,239/215,845) (5,064/254,110) 0.26 (64/247) (68/35,708) (2,869/18,106) (2,578,702/4,182,441) (44/2,088) (51/103,342) (0/385) (0/215,845) (0/741) (0/254,110) 0.52 (129/247) (5,234/35,708) (140/18,106) (163,043/4,182,441) (83/2,088) (1,538/103,342) (8,237/215,845) 0.13 (96/741) 0.91 (230,079/254,110) (0/247) (0/35,708) 0.63 (11,489/18,106) 0.34 (1,429,789/4,182,441) (0/2,088) (0/103,342) (1/385) (1/215,845) 정확도는매우높았다. 따라서, 응용트래픽분석 (monitoring) 측면보다는응용트래픽탐지및제어 (detection and control) 측면에서활용이가능하다. 행위시그니쳐가분석한트래픽의통계적특성은향후추가적인연구가필요하다. 5.3 페이로드기반시그니쳐와비교 추출된행위기반시그니쳐의성능을평가하기위해페이로드시그니쳐로분석된결과와비교실험을수행하였다. 비교를위해사용한페이로드시그니쳐는 LCS 알고리즘을이용하여생성하였다. 생성된페이로드기반시그니쳐는표 4 와같다. 표 5 는행위기반시그니쳐와페이로드시그니쳐를동일한트래픽에적용한후, 분석된결과를나타낸다. 성능을확인하기위한수식은다음과같다. Completeness = Identified Traffic Total Traffic PS 는페이로드시그니쳐로분석한비율을나타내고 BS 는행위기반시그니쳐로분석한비율을나타낸다. PS BS 는두시그니쳐로분석된총비율을나타내며 PS BS 는두시그니쳐가공통적으로분석한비율을나타낸다. 또한, PS c BS 는페이로드시그니쳐가분석하지못한트래픽을행위기반시그니쳐가분석한비율이고, PS BS c 는그반대의경우이다. Nateon 의 PS c BS 값은 0 이다. 이는프로토콜암호화를거의사용하지않는 Nateon 의특성때문에페이로드시그니쳐가분석하는트래픽이행위기반시그니쳐가분석하는트래픽을모두포함하기때문이다. 이와대조적으로 Dropbox, Teamviewer, skype 는행위기반시그니쳐가페이로드시그니쳐를포함한다. Dropbox 는데이터암호화를위해 HTTPS 트래픽을많이발생하는특성이있다. LCS 를통해 HTTPS 트래픽이시그니쳐로생성되더라도이를단독으로사용하기에는정확도가떨어진다. 하지만, (5) 행위기반시그니쳐는여러엔트리의조합으로사용하기때문에매우정확하게트래픽을분석한다. 6. 결론및향후과제 본논문에서는복수플로우의첫 request 패킷에서트래픽특징을추출하여행위기반시그니쳐를추출하는방법을제시하였다. 이는기존패킷단위및플로우단위트래픽분석의한계점을보완한다. 제안한행위기반시그니쳐의타당성을증명하기위해국내외응용 5 종의시그니쳐를추출하고정확도를추출하였다. 비록 Recall 측면에서는낮은값을보이는응용이존재했지만, 모든응용에서 100% Precision 을보였다. 이는분석된트래픽은정확하게분석되었다는의미이다. 또한, 기존 LSC 기반페이로드시그니쳐와비교실험을통해행위기반시그니쳐의성능을타당성을증명하였다. 향후연구로써는추출된시그니쳐가응용의어떤기능을탐지하는지확인하는 "Function Naming" 모뮬을추가하는연구를진행할계획이다. 7. 참고문헌 [1] Myung-Sup Kim, Young J.Won, James Won-Ki Hong, "Application-Level Traffic Monitoring and an Analysis on IP Networks," ETRI Journal Vol.27, No.1, February, 2005. [2] S. Sen, J. Wang, "Analyzing peer-to-peer traffic across large networks," Internet Measurement Conference (IMC), Proc. Of the 2nd ACM SIGCOMM Workshop on Internet measurement, pp.137-150, 2002. [3] Karagiannis, T., Papagiannaki, K., Faloutsos, M., "BLINC: Multilevel Traffic Classification in the Dark," ACM SIGCOMM 2005, August/September 2005. [4] L. Bernaille, R. Teixeira, and K. Salamatian. Early Application Identification. In The 2 nd ADETTI/ISCTE CoNEXT Conference, Lisboa, Portugal, December 2006. 11