01 KICS 최종본.hwp

Similar documents
WAN에서 다자간 통신을 위한 계층적 오류복구 기법

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

1217 WebTrafMon II

DBPIA-NURIMEDIA

완전자동화페이로드시그니쳐업데이트시스템 Fully Automatic Payload Signature Update System 심규석, 구영훈, 이성호, 김명섭고려대학교컴퓨터정보학과 {kusuk007, gyh0808, 요 약 오늘날네트워

°í¼®ÁÖ Ãâ·Â

6-윤성호KICS hwp

09권오설_ok.hwp

<4D F736F F D20C3D6C1BE202D D E7420B1E2B9DD20B4DCB8BB20C8A3BDBAC6AE20BFEEBFB5C3BCC1A620C0DAB5BF20C6C7BAB02E646F63>

DBPIA-NURIMEDIA

thesis-shk

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

12 김명섭 B-RN (2).hwp

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

WAN에서 다자간 통신을 위한 계층적 오류복구 기법

게시판 스팸 실시간 차단 시스템

UDP Flooding Attack 공격과 방어

09È«¼®¿µ 5~152s

0125_ 워크샵 발표자료_완성.key

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

À±½Â¿í Ãâ·Â

<31325FB1E8B0E6BCBA2E687770>

디지털포렌식학회 논문양식

05( ) CPLV12-04.hwp

Microsoft PowerPoint - thesis_rone.ppt

DBPIA-NURIMEDIA

패킷 역전 및 중복 문제를 해결한 통계기반 트래픽 분석 시스템

WAN에서 다자간 통신을 위한 계층적 오류복구 기법

#Ȳ¿ë¼®

10 이지훈KICS hwp

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

WAN에서 다자간 통신을 위한 계층적 오류복구 기법

3ÆÄÆ®-14

012임수진

0. 들어가기 전

08김현휘_ok.hwp

김기남_ATDC2016_160620_[키노트].key

14.531~539(08-037).fm

일반적인 네트워크의 구성은 다음과 같다

인문사회과학기술융합학회

APOGEE Insight_KR_Base_3P11

Windows 8에서 BioStar 1 설치하기

Journal of Educational Innovation Research 2017, Vol. 27, No. 2, pp DOI: : Researc

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

04 김영규.hwp

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction

SMB_ICMP_UDP(huichang).PDF

DBPIA-NURIMEDIA

Lumbar spine

슬라이드 제목 없음

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

(Exposure) Exposure (Exposure Assesment) EMF Unknown to mechanism Health Effect (Effect) Unknown to mechanism Behavior pattern (Micro- Environment) Re

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

[Brochure] KOR_TunA

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

07.045~051(D04_신상욱).fm

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 25(3),

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

04-다시_고속철도61~80p

Journal of Educational Innovation Research 2017, Vol. 27, No. 4, pp DOI: A Study on the Opti

DBPIA-NURIMEDIA

Microsoft Word - KSR2014S042

PBNM CIM(Common Information Model) DEN, COPS LDAP 21 CIM (Common Information Model) CIM, specification schema [7]

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Feb.; 29(2), IS

歯홍원기.PDF

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

±è¼ºÃ¶ Ãâ·Â-1

I

45-51 ¹Ú¼ø¸¸

<313120C0AFC0FCC0DA5FBECBB0EDB8AEC1F2C0BB5FC0CCBFEBC7D15FB1E8C0BAC5C25FBCF6C1A42E687770>

시스템, 네트워크모니터링을통한보안강화 네트워크의미래를제시하는세미나 세미나 NetFocus 2003 : IT 관리자를위한네트워크보안방법론 피지피넷 /

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

DBPIA-NURIMEDIA

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

Output file

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

< C6AFC1FD28B1C7C7F5C1DF292E687770>

1. KT 올레스퀘어 미디어파사드 콘텐츠 개발.hwp

Intra_DW_Ch4.PDF

04_이근원_21~27.hwp

PCServerMgmt7


Microsoft PowerPoint - 06-IPAddress [호환 모드]

<31362DB1E8C7FDBFF82DC0FABFB9BBEA20B5B6B8B3BFB5C8ADC0C720B1B8C0FC20B8B6C4C9C6C32E687770>

<5B D B3E220C1A634B1C720C1A632C8A320B3EDB9AEC1F628C3D6C1BE292E687770>

歯I-3_무선통신기반차세대망-조동호.PDF

03-서연옥.hwp

歯1.PDF

#유한표지F

06_ÀÌÀçÈÆ¿Ü0926

<31372DB9DABAB4C8A32E687770>

<332EC0E5B3B2B0E62E687770>

달생산이 초산모 분만시간에 미치는 영향 Ⅰ. 서 론 Ⅱ. 연구대상 및 방법 達 은 23) 의 丹 溪 에 최초로 기 재된 처방으로, 에 복용하면 한 다하여 난산의 예방과 및, 등에 널리 활용되어 왔다. 達 은 이 毒 하고 는 甘 苦 하여 氣, 氣 寬,, 結 의 효능이 있

Transcription:

논문 14-39B-04-01 http://dx.doi.org/10.7840/kics.2014.39b.4.191 시그니쳐계층구조에기반한 HTTP 트래픽분석시스템의처리속도향상 최지혁, 박준상 *, 김명섭 Processing Speed Improvement of HTTP Traffic Classification Based on Hierarchical Structure of Signature Ji-Hyeok Choi, Jun-Sang Park *, Myung-Sup Kim 요 약 최근웹기반의다양한응용과서비스의제공으로인해 HTTP 트래픽의양이급격하게증가하고있다. 따라서안정적인네트워크관리를위해서 HTTP 트래픽에대한분석이필수적으로요구된다. HTTP 트래픽을다양한관점에서분석하기위해서는다양한시그니쳐기반분석방법중에페이로드시그니쳐기반분석방법이효과적이다. 하지만트래픽분류있어서페이로드시그니쳐기반방법은고속링크의대용량트래픽을실시간으로처리하는과정에서헤더정보및통계정보이용방법론에비해상대적으로높은부하를발생시키며처리속도가느린단점을갖는다. 따라서본논문에서는 HTTP 시그니쳐의계층구조에기반하여 HTTP 트래픽을다양하게분류할수있는방법론을제시한다. 또한계층구조의특징을반영하여패턴매칭의처리속도향상을위한방법을제안한다. 제안하는방법을학내망의실제트래픽에적용하여평가한결과, Aho-Corasick 알고리즘보다더빠른처리속도를보일수있었다. Key Words : HTTP traffic classification, processing speed, hash, signature hierarchy ABSTRACT Currently, HTTP traffic has been developed rapidly due to appearance of various applications and services based web. Accordingly, HTTP Traffic classification is necessary to effective network management. Among the various signature-based method, Payload signature-based classification method is effective to analyze various aspects of HTTP traffic. However, the payload signature-based method has a significant drawback in high-speed network environment due to the slow processing speed than other classification methods such as header, statistic signature-based. Therefore, we proposed various classification method of HTTP Traffic based HTTP signatures of hierarchical structure and to improve pattern matching speed reflect the hierarchical structure features. The proposed method achieved more performance than aho-corasick to applying real campus network traffic. 본연구는 BK21 플러스사업의지원을받아수행된결과임. First Author : ETRI, jihyeok_choi@etri.re.kr, 정회원 Corresponding Author : Korea University Network Management Lab. Dept. of Computer and Information Science, tmskim@korea.ac.kr, 정회원 * Korea University Network Management Lab. Dept. of Computer and Information Science, junsang_park@korea.ac.kr, 학생회원논문번호 : KICS2013-12-534, Received December 12, 2013; Revised January 3, 2014; Accepted April 21, 2014 191

Ⅰ. 서론 Ⅱ. 관련연구 HTTP 프로토콜을사용하는웹기반의서비스와응용프로그램이급격히증가하고있는추세이다. 전통적인웹기반서비스뿐만아니라, 특정 P2P 서비스는네트워크방화벽에의한차단을피하기위하여 HTTP를사용하고있다. 이와같은현실속에서네트워크의원활한서비스를제공하기위해서는응용계층프로토콜단위가아닌응용서비스단위분석이중요하게되었다. 트래픽엔지니어링, QoS 정책수립, SLA(Service Level Agreement) 등의네트워크관리정책의신뢰성을보장하기위해서는다양한종류의 HTTP 기반트래픽을응용서비스단위로정확하게분류할수있는방법이요구된다 [1,2]. HTTP 트래픽을응용서비스별로정확하게분석하고, 동시에높은분석률을보장하기위해서는페이로드시그니쳐기반분석방법이적합하다 [3-6]. 하지만분류시스템의처리속도에있어현재의고속네트워크상에서발생하는대용량트래픽을실시간으로처리하기에부적합한방법이다. HTTP 프로토콜에기반한응용서비스의종류가다양해지고, 대용량의트래픽을발생시키는서비스의사용이증가하고있는추세를고려했을때페이로드기반분석방법의처리속도문제는반드시해결되어야하는과제이다. 본논문에서는 HTTP트래픽분석결과의다양한활용목적을고려하여다각적인트래픽분류기준을제시한다 [7,8]. 제안한분류기준에부합하는분류결과를도출하기위해서 HTTP프로토콜의개별필드를계층화하여시그니쳐모델을정의한다. 계층적구조의시그니쳐모델은다각적분석이가능하며, 시그니쳐의탐색공간을최소화하여분류시스템의처리속도향상시킬수있다. 또한시그니쳐의각계층을해시키기반으로매칭하여분류시스템의처리속도를향상시킬수있는방법론을제안한다. 제안하는방법론을학내망의실제트래픽에적용하여처리속도를분석한결과, 문자열매칭에많이사용되고있는 Aho-Corasick 알고리즘보다제안하는방법이더빠른처리속도를보이는것을확인하였다. 본논문의구성은다음과같다. 서론에이어, 2장에서는관련연구에대해기술하고, 3장에서는제안하는방법론을기술하고, 4장에서는제안하는방법을학내망에적용하여그타당성을증명한다. 마지막으로 5장에서는결론및향후연구에대해기술한다. 웹기반의다양한응용과서비스의제공으로인해 HTTP 트래픽의양이증가하고있는추세이지만기존의응용레벨트래픽분석연구는응용계층프로토콜기준의분석이주를이루고있다. Garcia-Dorado et. al은 ISP와캠퍼스네트워크에서발생하는트래픽을대상을트래픽트렌드을분석하였다 [9]. ISP와캠퍼스네트워크모두 30% 이상의 HTTP 트래픽을사용하고하고있을것을알수있다. 따라서 HTTP 트래픽을세분화된서비스단위로분석하여네트워크관리를위한활용도높은결과를제시하여야한다. HTTP 트래픽이점유하는비율이높아짐에따라서최근에는 HTTP 트래픽을세분화하여분류하는연구가진행되고있으나비디오, 오디오와같은단순한트래픽유형별로분류하는방법론이제안되었다. Samruay K. et. al은 HTTP 트래픽을 HTTP Content-type필드의시그니쳐와패킷의통계정보를이용하여분석하는방법을제안하였다. 또한 Tomasz B. et. al은머신러닝기법을이용하여 HTTP 트래픽을분류하는기법을제안하였다 [10]. 하지만제안하는방법은 HTTP를통해전송되는비디오와오디오등과같은트래픽의유형별로분석하여결과의활용도가부족하다. 현재의 HTTP 기반트래픽은 HTML 문서의전송뿐만아니라파일전송, 스트리밍등의다양한목적으로활용되고있기때문에세부적인서비스별분류결과를제공해야한다. 다양한분석결과를얻기위해서는그에맞는시그니쳐모델이정의되야한다. 하지만기존의시그니쳐모델들은분석하고자하는트래픽의특성에맞게기술되어있지않고, 분석알고리즘에맞게정의된경우가많았다 [11]. 따라서동일한시그니쳐를다른분석장비에적용하면동일한성능을보장할수없는문제가발생한다. 따라서페이로드시그니쳐모델은분석대상이되는트래픽의특징을반영하여기술되야하고, 매칭알고리즘또한트래픽특징에맞게수정되어야한다. HTTP 트래픽을빠르고정확하게분류하기위하여여러가지의방법이존재하는데패킷의페이로드까지정밀하게검사해야높은정확도의분류가가능하다. 페이로드시그니쳐기반분석에사용되는도구로오픈소스기반시스템인 Snort가널리사용되고있다 [12]. Snort의모듈단위수행시간을비교한결과, 70% 의시간이패턴매칭과정에서소모되었다. Snort 에서는패턴매칭알고리즘으로 Aho-Corasick을사용한 192

논문 / 시그니쳐계층구조에기반한 HTTP 트래픽분석시스템의처리속도향상 다 [13,14]. Aho-Corasick은멀티플패턴매칭에기반한알고리즘으로복수개의시그니쳐를하나의트리로구성하여한번의트리탐색으로분류가가능하기때문에시그니쳐에대한탐색공간을줄일수있다. 하지만이러한방법은 HTTP 트래픽을응용서비스로분류하기위한트래픽의특성을반영하지않기때문에제한적인성능향상을나타낸다. HTTP 트래픽의다양성을고려하여세부적인서비스별로정확하게분류할수있는방법론과많은양의시그니쳐를빠르게분석할수있는기법에대한연구가요구된다. HTTP 트래픽분석시스템의처리속도를향상시키기위해서는매칭알고리즘의성능개선이필요하다. 따라서본논문에서는 HTTP 트래픽을서비스별로분석할수있는페이로드시그니쳐를정의하고, 시그니쳐를계층화하여시그니쳐간의중복성을제거하고, 탐색공간을줄여줌으로써처리속도를향상시킨다. 또한트래픽과매칭시해시구조를사용함으로써, 하나의트래픽을여러개의시그니쳐와매칭하지않고, 하나의시그니쳐와매칭할수있게하였다. 표 1. 분류기준 Table 1. Classification criteria Criterion Service Application Function Ⅲ. 제안하는방법 본장에서는 HTTP 트래픽을응용서비스별로분석할수있는방법과처리속도를극대화할수있는구현방법에대해기술한다. 3.1 HTTP 트래픽분류방법본절에서는 HTTP 트래픽을세분화하여분석하기위한분류기준, 시그니쳐, 분류방법을기술한다. HTTP 트래픽을응용서비스별로다양한관점으로분석하기위해서는트래픽분류기준이필요하다. 본논문에서제안하는분류기준은서비스, 응용, 기능측면의다각적분석결과를제공함으로써트래픽의이해도와활용도를높일수있다. 표 1은본논문에서제안하는트래픽분류기준과각기준에대한정의를보여준다. Definition 사용자에게 content 를제공되기위해개발된모든형태의 IT 서비스 서비스를이용하기위해 Client 에서사용된응용프로그램 사용자행동기준에따른트래픽의발생목적 본논문에서는플로우기반트래픽분석을수행하며, 1개의플로우는서비스, 응용, 기능측면으로분류할수있다. 각분류기준의필요성은기존의연구를통해그타당성을확인하였다 [7, 8]. 이러한분석결과는더욱정확하고세밀한분석결과를제공할수있다. 예를들어, 사용자가 Chrome 브라우저를사용하여 youtube 멀티미디어사이트에서뮤직비디오를감상하는행위을했다고가정한다. 1개의플로우는 youtube 서비스, chrome 응용, video_streaming 기능으로분석될수있다. 이처럼다차원적분석은 1개의플로우를 3가지관점으로분석함으로써트래픽에대한사용자의이해를넓힐수있고, 다양한목적의트래픽분석에폭넓게사용될수있다. 예를들어, 특정브라우저에서악성코드가유포되고있는상황이라면해당브라우져에서발생하는트래픽을차단할수있고, youtube 서비스의 video_streaming 기능에의해서트래픽이과다하게발생하여업무용트래픽에영향을미치는경우에는해당서비스의기능단위로트래픽을제어할수있다. 1개의 HTTP 플로우를 3가지분류기준으로분석하기위해서는각분류기준을구별할수있는정보를트래픽으로부터추출할수있어야한다. HTTP 프로토콜에서정의하고있는다양한필드중 User-Agent, Host, Uri 필드는 3가지분류기준을식별할수있는정보를포함하고있다. 그림 1는토렌트를사용할때발생하는 HTTP 패킷의첫요청패킷과응답패킷의내용을보여준다. Uri는요청하는자료의경로와요청에필요한속성 Request Packet GET /checkupdate.php?cl=&v=103246420 HTTP/1.1 Host : update.utorrent.com:7070 User-Agent : BTWebClient/3130(27220) AcceptEncoding : gzip Connection : Close Response Packet HTTP/1.1 200 OK Server : nginx/1.4.1 Date : Fri, 09 Aug 2013 01:54:16 GMT Content-Type : text/html Content-Length : 1459 Connection : close X-Powered-By : PHP/5.4.16 Expires : Thu, 21 Jul 1980 00:00:00 GMT Cache-Control : private Last-Modified : Fri, 09 Aug 2013 01:54:16 GMT 그림 1. HTTP 요청 / 응답패킷페이로드 Fig. 1. HTTP request/reply packet payload 193

과속성값을기술하는필드이다. 따라서 HTTP 트래픽의기능을식별할수있는정보를포함하고있다. 그림 1의 Uri 필드에 checkupdate라는키워드를통해업데이트기능임을알수있다. 그림 1과같이 HTTP 의호스트필드는도메인명 (utorrent.com) 과호스트명 (update) 으로구분할수있다. 도메인은분류기준중에서비스의이름을식별하기위한시그니쳐사용되며, 호스트필드는해당도메인에서제공하는기능을나타낸다. User-Agent 필드는 3 가지분류기준중에클라이언트에서사용하는응용프로그램의정보를명시해주는필드이다. 그림 1에서 User-Agent는 BTWebClient로 utorrent 서비스를사용할때나타나는클라이언트프로그램이다. HTTP의 Uri, 호스트, User-Agent 필드는 Uri, 호스트, 도메인, User-Agent 로구분되어서비스, 응용, 기능의분류기준에적합한시그니쳐형태로기술된다. 네가지필드로이루어진시그니쳐포맷은다음과같다. <signature code= 1 > <msg= utorrent BTWebClient update > <payload = User-Agent : BTWebClient, Domain : utorrent, Host : update, Uri: checkupdate> 시그니쳐코드는시그니쳐에대한식별자이며, msg 는 3 가지분류기준에해당하는서비스, 응용, 기능을명시한다. 페이로드는 User-Agent, 도메인, 호스트, Uri에해당하는시그니쳐를명시한다. 3가지분류기준에모두해당하는경우에시그니쳐로등록된다. 예외적으로시그니쳐를추출하는정답지트래픽에서 4 가지필드를모두추출할수없는경우에는 User-Agent와도메인중 1개만이도추출가능하다면시그니쳐인정한다. User-Agent나도메인이누락되는트래픽의양은미미하지만이러한트래픽또한분석대상으로포함하여서비스또는응용으로식별하는것을목표로한다. 필드단위로시그니쳐를추출하고분석하기때문에정확한분류결과를도출하기위해서는각필드의시그니쳐를추출하는시점과분류시점에동일한필드추출방법이요구된다. 그림 2는그림 1의요청패킷에서 4 개필드를추출하는방법을보여준다. 시그니쳐를추출하는대상패킷은플로우의첫번째요청패킷이다. 이로인해플로우의통계정보 (e.g. Packet Inter arrival Time Mean, Packet count, Byte Size) 에기반한분석방법에비해상대적으로빠른분석이가 능하다. 시그니쳐추출작업은반자동화로이루어진다. User-Agent, 도메인필드에대한시그니쳐는추출시스템에의해추출되고, 호스트필드는시그니쳐추출시스템에의해서추출되지만시그니쳐로사용여부는관리자가판단한다. Uri필드는추출시스템에서전체 uri가추출되며시그니쳐로사용가능한문자열은관리자가추출한다. 호스트필드의포트번호와 User-Agent 필드의버전정보는제거한후, 해당필드값으로추출된다. 추출된시그니쳐는제공되는서비스의종류에비해상대적으로클라이언트프로그램종류, 기능의개수는적기때문에프로그램의종류와기능은중복적으로나타난다. 중복된부분의필드를분류시스템에서반복하여매칭하는것을불필요한과정이다. 따라서본논문에서는계층구조기반의시그니쳐트리를제안한다. 계층구조기반의시그니쳐트리는동일한필드를트리의노드로구성하여반복매칭을방지할수있다. 또한트리의부모노드에포함된시그니쳐만을탐색하기때문에분석시스템의시그니쳐탐색공간을최소화할수있다. 그림 3은시그니쳐트리구조의예시를나타내고있다. 루트를제외한트리의깊이는 4 레벨로구성된다. Request packet GET /checkupdate.php?cl=&v=103246420 HTTP/1.1 Host : update.utorrent.com:7070 User-Agent : BTWebClient/3130(27220) AcceptEncoding : gzip Connection : Close field User-Agent Domain Host Uri Extraction method User-Agent 키워드다음부터 /, \n 전까지 ( 버전정보는시그니쳐에서제외 ) Host 키워드다음부터 :, \n 전까지파싱한후 com과같은 1레벨도메인바로앞에오는키워드를도메인이라정의 ( 포트번호, IP 제외 ) 도메인바로앞에오는키워드를호스트로정의 Method필드다음부터 HTTP 버전전까지를 Uri로정의 ( 시그니쳐가될만한키워드를관리자가직접추출 ) Result User-Agent = BTWebClient Host = update 그림 2. 필드별추출방법 Fig. 2. Extraction method for each field Domain = utorrent Uri = checkupdate 194

논문 / 시그니쳐계층구조에기반한 HTTP 트래픽분석시스템의처리속도향상 그림 3. 시그니쳐트리구조 Fig. 3. Signature tree structure 1-level User-Agent, 2-level 도메인, 3-level 호슽, 4-level Uri로구성된다. 레벨을정의하는기준은시그니쳐의포함관계에의해서규정된다. 1-level의 User-Agent를구성하는시그니쳐는대부분브라우져 (IE, Chrome, firefox) 를나타내기때문에서비스의종류에비해상대적으로개수가적다. 또한 1개의브라우져를통해서다양한서비스가제공되기때문에여러개의서비스시그니쳐를포함하고있다. 2-level 의도메인필드는서버에서제공하는서비스의이름을추출하는필드로 1개의도메인은여러개의호스트를포함하고있다. 3-level은호스트필드로서도메인이포함하고있는여러기능을나타낸다. 마지막으로 4-level uri 시그니쳐는 1개의호스트에서제공하는기능에대한정보를나타내기때문에해당호스트에서제공하는기능에대한 Uri필드로정의한다. 시그니쳐트리구조는서비스별로분류가가능하며중복된필드에대한반복매칭을방지할수있다. 또한각각의레벨은포함관계를통해서정의되기때문에시그니쳐의탐색공간을줄일수있는장점을갖는다. 3.2 해시테이블기반처리속도향상방법본절에서는계층구조기반의 HTTP 트래픽분석방법론의분류속도를향상시킬수있는구현방법에대하여기술한다. 계층구조기반의시그니쳐구조를통해서탐색공간을줄일수있지만, 자식노드로연결된시그니쳐는순차적으로탐색해야하기때문에자식노드가많은경우에는탐색공간이증가하는문제점이있다. 따라서본논문에서는트리의각레벨을해시테이블로구성하고해시키기반으로시그니쳐의탐색공간을최소화한다. 그림 4는제안하는 HTTP 트래픽분류시스템의전체구성도를나타내고있다. 분석시스템은 HTTP 트래픽과필드단위로기술된시그니쳐리스트를입력으로받아서 3가지분류 그림 4. 전체구성도 Fig. 4. Overall architecture 기준이식별된플로우를결과값으로도출한다. 입력된 HTTP 플로우의페이로드는 HTTP 필드단위로파싱되며, 해시함수를통해키값으로변환되어분류모듈의입력으로제공된다. HTTP 시그니쳐리스트의각필드는키값으로변환되고트리형태로메모리에적재된다. 본논문에서사용하는해시함수는 ELF(Executable and Linkable Format) 함수와 BJ(Bob Jenkins) 함수이다. [15,16] 두함수를모두사용해서해시구조를만들고해시테이블의크기와충돌빈도를고려하여스트링매칭에적합한해시함수를적용한다. 그림 5는해시기반트리구조를보여준다. 해시기반트리구조는총 3-level로구성되어있다. 1-level 은 User-Agent와도메인으로구성되며, User-Agent와도메인필드스트링을합하여 1개의키값을생성한다. 2-level과 3-level은각각호스트와 Uri로구성되어있다. 2-level은호스트필드의스트링과변환된키값으로구성된다. 3-level의 uri는스트링값으로만구성된다. 그림 5. 시그니쳐해시테이블구조 Fig. 5. Signature hash table structure 195

트리구조와다른점은 User-Agent, 도메인레벨이관리자의개입이없이시그니쳐를만들수있기때문에하나의레벨로구성된다는것이다. User-Agent는세가지분류기준중에응용만을식별하기위한시그니쳐고, 도메인은서비스만을식별하기위한시그니쳐이다. 기능을식별하기위한호스트필드와 Uri 필드는관리자의개입이필요한시그니쳐이기때문에트래픽의필드값과시그니쳐의필드값이다를수있기때문에하나의레벨로구성되지않는다. 다른레벨과다르게 Uri레벨은키값이아닌스트링형태로되어있다. Uri 필드는그림 2의추출과정에서도알수있듯이, 필드전체를시그니쳐로사용하지않는다. 관리자의판단에의해필요한부분만시그니쳐로정의하기때문에트래픽의 Uri 필드와키매칭이성립되지않는다. 해시기반트리구조와 HTTP 트래픽을매칭하는과정은그림 6과같다. 입력으로들어온하나의플로우는먼저 User-Agent와도메인레벨로구성된 U-D 레벨키매칭을수행한다. 키매칭이성공하면 U-DLevelTextMatch() 함수를호출하여텍스트매칭을수행하여해시키매칭에대한검증과정을거친다. 해시키를생성하는함수에서다른스트링이지만 1: SLHT : Service Level Hash Table 2: HLHT : Host Level Hash Table 3: UL SLHT : Sub uri list of SLHT node 4: UL HLHT : Sub uri list of HLHT node 5: 6: for unlabeled each flow do 7: if U-DLevelKeyMatch(flow, SLHT) 8: if U-DLevelTextMatch(flow, sig) 9: if sig.termflag setsigcode() 10: else return unknown 11: 12: if HostLevelKeyMatch(flow, HLHT) 13: if HostLevelTextMatch(flow, sig) 14: if sig.termflag setsigcode() 15: if UriLevelTextMatch(flow, UL HLHT) 16: setsigcode() 17: else 18: if UriLevelTextMatch(flow, UL SLHT) 19: setsigcode() 20: else 21: if UriLevelTextMatch(flow, UL SLHT) 22: setsigcode() 23: return sigcode 24: 25: else return unknown 26: done 그림 6. 매칭알고리즘슈더코드 Fig. 6. Pseudocode of matching algorithm 같은키를생성할수도있기때문에스트링매칭을통한검증과정이요구된다. 텍스트매칭까지일치할경우, 종료플래그를확인한다. 종료플래그가셋되어있으면 U-D 레벨에서매칭을종료할수도있다. 하지만더자세한분석을위해호스트레벨과 Uri레벨의검사를진행하고실패할경우, U-D레벨의시그니쳐로분석이된다. 호스트레벨에서의검사는 U-D레벨과마찬가지로키매칭을우선적으로하고, 매칭이성공할경우텍스트매칭을수행한다. 텍스트매칭이성공하면종료플래그를확인하고 Uri 레벨매칭을수행한다. 호스트레벨에종료플래그가셋되어있고, Uri 매칭이실패할경우호스트레벨로분석이되고, Uri 레벨매칭이성공할경우에는 Uri 레벨로분석이완료된다. 2레벨인호스트레벨이없을경우에는 Uri 레벨로매칭이수행되며, 호스트레벨다음에 Uri 레벨이없을경우에는호스트레벨에서매칭은종료된다. Ⅳ. 성능평가 본장에서는 3장에서제안한방법론을학내망의실제트래픽에적용하여분류기준별시그니쳐통계를확인하고, 서비스기준에서의분석결과를보여준다. 또한해시기반트리구조에서사용한두가지해시함수의성능차이를비교하고, 마지막으로 Aho-Corasick 기반분류방법과처리속도차이를비교하여그타당성을증명한다. 실험은 Intel Core i7 3.40GHz CPU, 8GB 메모리, 리눅스커널 2.6.32 환경에서수행되었다. 표 2는실험에사용된트래픽트래이스와실험기간을보여주고있다. 학내망과인터넷의연결지점에서하루동안 3,000여대의호스트에서발생한트래픽을페이로드데이터를포함한플로우형태로수집하였다. 전체트래픽중에 HTTP 트래픽은플로우기준으로총 25.8% 가발생되었고, 패킷기준으로는 42.2%, 바이트기준으로는 48.6% 가발생되었다. 바이트기준으로약 50% 가 HTTP 트래픽이고점점증가하는추세를보이고있기때문에, HTTP 트래픽분석이필요하다. 표 2. 트래픽트래이스 Table 2. Traffic trace Flow Packet Byte Duration Total 41,365K 2,712M 2,263G 1day HTTP 10,672K 1,144M 1,088G 1day 196

논문 / 시그니쳐계층구조에기반한 HTTP 트래픽분석시스템의처리속도향상 표 4. 상위 10 개서비스 Table 4. Top 10 services 그림 7. 시그니쳐분포 Fig. 7. Signature distribution 그림 7은 HTTP 트래픽을분석하기위해추출한시그니쳐통계정보를보여준다. 총 HTTP 시그니쳐는 1,065개이고대부분의시그니쳐가서비스와응용기준의분류가가능하다. 표 3은 1,065개의시그니쳐로 HTTP 트래픽을분석한분석결과이다. 추출된 1,065개의시그니쳐로 HTTP 트래픽만을분석했을때, 분석결과는플로우단위로 66.2%, 패킷단위로 74.7%, 바이트단위로 78.6% 를분석할수있었다. 표 4는분석된결과를서비스기준으로재분석하였을때서비스순위를나타낸다. 학내망에서가장많은트래픽을발생시킨서비스는 Naver라는다양한기능을제공하는포탈서비스이다. 분석된 HTTP 트래픽을기준으로했을때, 플로우단위로 37.2%, 패킷단위로 26.1%, 바이트단위로 25.8% 를발생시켰으며, 상위권에위치한대부분의서비스들은 Naver와같은포탈사이트들이라는것을확인할수있다. 해시함수의성능을평가하기위해서 User-agent와도메인시그니쳐를해시키로생성하여해시크기에따른출돌빈도를측정하였다. 그림 8은해시사이즈에따른충돌빈도를비교한그래프이다. 두해시함수중에 BJ가해시사이즈가적을수록충돌이적게난다는것을알수있다. 해시사이즈가커지면두함수의차이는거의없다고볼수있기때문에, 해시사이즈가적을때충돌이적은 BJ 함수가성능이더우수하다고판단할수있다. 또한두해시함수로처리속도또한비교를해보았지만처리속도 Rank Service Flow Packet Byte 1 Naver 1,482K 52,470K 43,172M (37.2%) (26.3%) (25.8%) 2 Korea 649K 43,954K 31,760M (16.3%) (22.1%) (18.9%) 3 Daum 470 19,134K 16,540M (11.8%) (9.6%) (9.9%) 4 Nate 158K 11,163K 11,319M (3.9%) (5.6%) (6.8%) 5 Google 69K 13,435K 10,420M (1.7%) (6.7%) (6.2%) 6 Dropbox 62K 6,458K 5,523M (1.5%) (3.2%) (3.3%) 7 Microsoft 40K 3,415K 3,248M (1.1%) (1.7%) (1.9%) 8 Gmarket 35K 2,224K 2,222M (1.8%) (1.1%) (1.3%) 9 Me2day 32K 2,024K 2,104M (0.8%) (1.0%) (1.2%) 10 youtube 27K 1,913K 1,821M (0.7%) (0.9%) (1.1%) 에서큰차이를보이지않았기때문에본논문에서는충돌횟수가더적은 BJ 해시함수를사용한다. 시그니쳐개수가증가하면트래픽분류시스템의처리속도가느려질수있다. 하지만그림 9와같이해시구조를사용한다면시그니쳐의수가아무리증가한다고해도속도차이에는큰변함이없다는것을알수있다. 제안하는방법의성능평가를위해서 Snort에서적용하고있는 Aho-Corasick 패턴매칭알고리즘과처리속도를비교하였다. 두방법은동일한전체시그니쳐를하나의시그니쳐트리로구성하여매칭을수행한다. 그림 10은해시기반트리구조와 Aho-Corasick 기반분석의처리속도를비교한그래프이다. 학내망트래픽특성상 19시 ~09시까지는트래픽의 표 3. 분류결과 Table 3. Classification result Total HTTP Classified HTTP Flow Packet Byte 10,672K (100%) 7,064K (66.2%) 1,144M (100%) 855M (74.7%) 1,088G (100%) 864G (78.6%) 그림 8. 해시테이블크기에따른충돌비교 Fig. 8. Comparison of hash key conflict according to hash size 197

Ⅴ. 결론및향후과제 그림 9. 시그니쳐개수에따른처리시간비교 Fig. 9. Comparison of processin time according to the number of signatures 본논문에서는 HTTP 트래픽의서비스별분석을위해서시그니쳐계층구조를정의하고, 이를기반으로분류시스템의처리속도를향상시킬수있는방법을제안하였다. 제안하는분류방법론은 Aho-Corasick 기반분석방법과비교해한시간트래픽을분석하는데최대 5초이상의처리속도를줄일수있었고, 평균적으로 2초이상의처리속도를감소시킬수있었다. 본논문에서는 HTTP 트래픽의분석시스템의처리속도를향상시키기위해서소프트웨어적인해결방안을제시하였다. 제안하는방법을기반으로하드웨어를접목하여고속링크의대용량트래픽을실시간으로분석할수있는프레임워크를구성하는연구를수행할계획이다. References 그림 10. AC 와제안하는방법의처리시간비교 Fig. 10. Comparison of processing time AC vs. proposed method 양이많지않으며, 일과시간동안에는 200Mbps 이상의트래픽이발생한다. Aho-Corasick과해시기반트리구조와의처리속도는트래픽양이적을때는크게차이가나지않는다. 하지만트래픽이양이많을때는 Aho-Corasick과차이가나타나는것을확인할수있다. 1주일간의트래픽을대상으로동일한실험을한결과, 월-금요일까지는동일한패턴으로나타났으며, 주말에는트래픽양이많이않아서 AC와큰성능차이를보이지않았다. 표 5는 Aho-Corasick과제안하는방법의트래픽분석시간최소값, 최대값, 평균값차이를보여준다. 최소 0.4초, 최대 5.5초정도의차이를보이며, 평균적으로는 2초정도차이가발생한다. 표 5. 최소, 최대, 평균처리시간 Table 5. Min, max, average processing time Min(sec) Max(sec) Avg.(sec) Aho-Corasick 5.77 190.77 69.17 Proposed method 5.34 185.02 67.07 [1] W. Li, A. W. Moore, and M. Canini, Classifying HTTP traffic in the new age, in Proc. ACM SIGCOMM, pp. 479-489, Washington, USA, Aug. 2008. [2] Y. Bhole and A. Popescu, Measurement and analysis of HTTP traffic, J. Network and Systems Management, vol. 13, no. 6, pp. 357-371, Dec. 2005. [3] J. S. Park, S. H. Yoon, and M. S. Kim, Performance improvement of the payload signature based traffic classification system using application traffic locality, J. KICS, vol. 38B, no. 7, pp. 519-525, Jul. 2013. [4] S. H. Yoon, H. G. Roh, and M. S. Kim, Internet application traffic classification using traffic measurement agent, in Proc. KICS, pp. 1747-1750, Jeju Island, Korea, Jul. 2008. [5] C. S. Park, J. S. Park, and M. S. Kim, Study on automatic payload signature generation system using protocol filter, in Proc. KICS, pp. 655-656, Jeju Island, Korea, Jun. 2013. [6] F. Risso, M. Baldi, O. Morandi, A. Baldini, and P. Monclus, Lightweight, payload-based traffic classification an experimental evaluation, in Proc. IEEE Commun., pp. 5869-5875, Beijing, China, May 2008. [7] J. H. Kim, S. H. Yoon, and M. S. Kim, 198

논문 / 시그니쳐계층구조에기반한 HTTP 트래픽분석시스템의처리속도향상 Study on traffic classification taxonomy for multiliteral and hierarchical traffic classification, in Proc. APNOMS, pp. 1-4, Seoul, Korea, Sept. 2012. [8] J. H. Kim, S. H. Yoon, and M. S. Kim, Research on traffic taxonomy for internet traffic classification, in Proc. APNOMS, Taipei, Taiwan, Sept. 2011. [9] J.L. Garcia-Dorado, J.A. Hernandez, J. Aracil, J.E.L. Vergara, F.J. Montserrat, E. Robles, and T.P. Miguel, On the duration and spatial characteristics of Internet traffic measurement experiments, IEEE Commun. Mag., vol. 46, no. 11, pp. 148-155, Nov. 2008. [10] T. Bujlow, T. Riaz, and J. M. Pedersen, A method for classification of network traffic based on C5.0 Machine Learning Algorithm, in Proc. ICNC, pp. 244-248, Maui, HI, USA, Feb. 2012. [11] G. Vasiliadis, M. Polychronakis, S. Antonatos, E. P. Markatos, and S. Ioannidis, Regular expression matching on graphics hardware for intrusion detection, in Proc. RAID, pp. 265-283, Saint-Malo, France, Sept. 2009. [12] M. Roesch. Snort lightweight intrusion detection for networks, in Proc. USENIX LISA, pp. 229-238, Washington, USA, Nov. 1999. [13] A. V. Aho and M. J. Corasick, Efficient string matching: An aid to bibliographic search, Commun. ACM, vol. 18, no. 6, pp. 333-340, Jun. 1975. [14] T. H. Cormen, C. E. Leiserson, and R. L. Rivest, and C. Stein, Introduction to Algorithms 3 rd Ed., The MIT press, 2009. [15] ITS Committee, Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2, May 1995. [16] B. Jenkins, A new hash functions for hash table lookup, J. Dr. Dobb s, Sept. 1997. 최지혁 (Ji-Hyeok Choi) 2012년 : 고려대학교컴퓨터정보학과졸업 2014년 : 고려대학교컴퓨터정보학과석사졸업 2014년 ~ 현재 : 한국전자통신연구소연구원 < 관심분야 > 네트워크관리및보안, 트래픽모니터링및분석, 트래픽분류박준상 (Jun-Sang Park) 2008년 : 고려대학교컴퓨터정보학과졸업 2010년 : 고려대학교컴퓨터정보학과석사 2010년 ~ 현재 : 고려대학교컴퓨터정보학과박사과정 < 관심분야 > 네트워크관리및보안, 트래픽모니터링및분석, 트래픽분류김명섭 (Myung-Sup Kim) 1998년 : 포항공과대학교전자계산학과졸업 2000년 : 포항공과대학교컴퓨터공학과석사 2004년 : 포항공과대학교컴퓨터공학과박사 2006년 : Post-Doc. Dept. of ECE, Univ. of Toronto, Canada 2006년 ~ 현재 : 고려대학교컴퓨터정보학과부교수 < 관심분야 > 네트워크관리및보안, 트래픽모니터링및분석, 멀티미디어네트워크 199