C-LSTM 신경망을이용한웹트래픽이상탐지 김태영조성배 b 연세대학교공과대학컴퓨터과학과 120-749, 서울시서대문구연세로 50 Tel: +82-2-2123-2710, Fax: +82-2-365-2579, E-mail: taeyoungkim@yonsei.ac.kr, sbcho@yonsei.ac.kr 요약 웹트래픽이상탐지는웹서버를보호하기위한보안프레임워크의가장중요한구성요소로서정상동작을따르지않는웹트래픽구간을빠르고정확하게탐지하는것이무엇보다중요하다. 인터넷트래픽은서비스의종류와사용자의접속패턴에따라상이한특성을가지고있으며패턴의분포가매우불규칙하여정상트래픽과비정상트래픽을판단하기매우어렵다. 본논문에서는컨볼루션신경망 (CNN) 과 Long Short-Term Memory (LSTM) 를하나의통합구조로결합한 C-LSTM 신경망을적용하는웹트래픽이상탐지시스템을제안한다. 웹트래픽은시간의흐름에따라다양한형태로발생한다. 이러한웹트래픽데이터의시간정보와공간정보를보다잘모델링하기위해 CNNs 과 LSTM 을사용하였다. 제안하는웹트래픽이상탐지시스템은다른딥러닝알고리즘기반이상탐지시스템의분류성능과비교하여 0.89 의 Recall 성능을달성하였다. 핵심어 : 웹트래픽 ; 이상탐지 ; 딥러닝 ; C-LSTM 1. 서론 인터넷기술이발달함에따라컴퓨터네트워크의중요성이점점증대되고있다. 복잡하게연결된네트워크를바탕으로형성된거대한인프라는우리사회와경제에큰영향을미치고있다. 방대한양의정보교환이인터넷웹서버를통해서이루어지고있으며이를통해다양한서비스가제공되고있다 [1]. 하지만인터넷서비스의증가와함께네트워크를통한공격도점차고도화되고다양화되어가는추세이다. 다양한네트워크공격은웹서비스운영에심각한손상을초래하여사회적, 경제적손실을야기한다 [2]. 따라서네트워크인프라를위협하는여러공격에대한사전관리와예방이필수적이다. 최근네트워크를통한다양한공격과위협으로부 터서비스의신뢰성과안전성을확보하기위한연구가활발하게진행되고있다. 웹트래픽이상탐지는웹서버보호를위한보안프레임워크의가장중요한구성요소로서정상동작을따르지않는웹트래픽구간을빠르고정확하게탐지하는것이무엇보다중요하다. 웹트래픽이상탐지는이상트래픽영역을명확하게정의하기어렵고실제발생패턴이매우복잡하여예측이어렵다 [3]. 또한트래픽의비정상상태가정상상태에비해매우적어패턴을분류하는데어려움이따른다. 본논문에서는 CNN 과 LSTM 을하나의통합구조로결합한 C-LSTM 신경망기반웹트래픽이상탐지시스템을제안한다. 웹트래픽은제공되는서비스의종류와사용자의접속패턴에따라상이한특성을가지고있으며패턴의분포가매우불규칙하기때문에통계적접근방법으로비정상패턴을탐지하기어렵다 [4]. 따라서불규칙한패턴을가진트래픽데이터를보다잘모델링하기위해서는시계열데이터의특성인시간정보와공간정보를함께추출하는것이중요하다. 이를위해서는각정보의특성을모델링할수있는신경망알고리즘이필요하다. CNN 은컨볼루션연산을통해공간변화를줄여주는역할을수행하므로공간정보를모델링하기에적합하다. LSTM 은 3 개의게이트와재귀적모형을이용하여시간순서로발생한데이터에대한장기기억을수행하기때문에시간정보를모델링하기적합하다. 신경망알고리즘을통해변형된데이터의특성은트래픽데이터의정상상태와비정상상태를분류하는과정에서효과적인역할을수행한다 [5]. 2. 관련연구 웹트래픽이상탐지분야에서웹트래픽데이터의특징을추출하여패턴을정확하게분류하기위한다양한시도가있었다. 첫번째는웹트래픽데이터간의유사도를비교하는통계적기법을적용하여데이터를분류하는것이다. Fuzzy C-means clustering 과 Gaussian mixture model 등이실제군집화를수행하는통계적알고리즘으로사용되었다 [6, 7, 8, 9]. 이방법은웹트래픽데이터에서발생한통계적이상치에
표 1. 웹트래픽데이터분류방법및특징추출 저자 분류방법 특징추출 W. Wang 2D CNN 2D 이미지매핑 M. L. Martin 2D CNN 타임스탬프, 속성매핑 W. Wang 1D CNN 1D 시퀀스윈도우 M. Cheng LSTM 시간단위벡터 Q. Ding LSTM 분단위특징벡터 T. Guo LSTM 정상시퀀스시간정보 H. Alizadeh Gaussian 통계기반군집 D. Liu K-Means 차원축소군집 Y. Wang K-Means 차원축소군집 J. Zhang Bayesian 이산화통계함수 대해높은분류성능을보이는장점이있다. 하지만정상트래픽데이터와같은분포를갖는비정상트래픽데이터에대해서는분류를제대로수행하지못하는단점이있다. 두번째는웹트래픽데이터의시간적특성을모델링하여예측기반알고리즘을통해분류하는것이다. 주로 LSTM 과같은재귀신경망알고리즘을사용하여정상트래픽에대해서만학습을진행한후예측한트래픽데이터와실제트래픽데이터간차이를비교하여임계값을기준으로분류를수행하였다 [10, 11, 12]. 이방법은주기성을갖는웹트래픽데이터를잘예측하여높은분류성능을기록한다는장점이있다. 하지만웹트래픽데이터의패턴이일정한주기를갖지않는경우에는예측트래픽데이터가실제트래픽데이터를제대로분류하지못하는것이단점이다. 세번째는복잡하고다양한웹트래픽패턴을이미지로매핑하여공간적특징을모델링하는것이다. 주로컨볼루션신경망알고리즘이공간적특징을추출하기위하여사용되었다 [13, 14]. 이방법은복잡한패턴을가지고있는웹트래픽데이터의공간정보를학습에잘반영하여기존의연구와비교하여가장높은분류성능을얻었다. 하지만시계열특성을가지고있는데이터에서특징을추출할때컨볼루션, 풀링연산에의해기존의시간정보에대한손실이일어난다. 제안하는시스템에서시간정보를모델링하려는시도와공간정보를모델링하려는시도의장점을결합하여트래픽데이터의복잡한패턴에대한분류성능향상을목적으로연구를진행하였다. 3. 방법 3.1. 제안하는웹트래픽이상탐지시스템구조그림 1 은제안하는 C-LSTM 신경망구조이다. 제안하는시스템은 End-to-End 방식으로구성되어있으며실제이상탐지분야에직접적용할수있도록설계하였다. 시스템을학습시키기위해서는많은양의웹트래픽데이터샘플이필요하다. 많은양의 그림 1. 제안하는 C-LSTM 신경망구조 웹트래픽샘플을추출하기위해서는크게세가지과정을거쳐야한다. 첫째로실제발생한웹트래픽데이터의값을식 (1) 을이용하여 0 과 1 사이의값으로변환하여정규화하는과정을거친다. 두번째로슬라이딩윈도우알고리즘을적용하여설정된윈도우사이즈구간만큼의트래픽샘플을추출한다. 마지막으로이상값을포함한트래픽샘플에대해레이블을설정한다. X = X X min X max X min (1) 전처리과정을통해추출된많은양의트래픽샘플은컨볼루션층의입력으로사용된다. CNN 은컨볼루션필터가입력데이터를슬라이딩하면서지역적특징을추출하고이후이특징을최대값으로압축하는과정을통해출력을다음층으로전달한다. 입력된트래픽샘플은컨볼루션층과풀링층을통과하면서트래픽진동수변화가줄어든다. 제안하는시스템구조에서는 1 개의컨볼루션층과 1 개의풀링층을사용하였다. 컨볼루션층에서는 1x5 크기를가지고있는 64 개의필터가사용되었다. 풀링은 1x5 크기를가진최댓값을추출하는풀링을사용하였다. LSTM 층에서는컨볼루션층을통과하여출력된공간정보가감소된트래픽샘플이입력으로사용된다. LSTM 은학습데이터를기억하는특성을갖기에장기의존성을갖는시계열데이터를모델링하기에적합하다. 제안하는구조에서 LSTM 은 64 개의출력을갖는층으로구성하였다. LSTM 의입력으로사용된트래픽샘플은 LSTM 을통과하면서시간변화의정도가줄어들게된다. 완전연결층에서는시간정보와공간정보가모델링된트래픽샘플을기본적인신경망으로분류를수행하고마지막으로식 (2) 와같은소프트맥스함수를통해출력값을 0 과 1 사이의값으로정규화하는과정을거치게된다. P(c p) = max c C p L 1 w L + b L Nc k=1 exp(p L 1 w k ) (2)
그림 2. 웹트래픽데이터윈도우 소프트맥스함수를통해출력된값은실제출력값과식 (3) 의손실함수를이용하여손실을계산한다. 이때경사하강방법을이용하여손실이최소화되는최적점을선택하고역전파알고리즘을이용하여전파단계를수행한다. d ) + (1 t d j=1 e xj i ) log (1 exi i=1 )] (3) d j=1 e xj [t i log ( exi 역전파알고리즘은신경망의각층을거치며가중치를갱신한다. 가중치갱신과정에서는 Chain Rule 을사용하며분류손실을최소화하는최적의가충치로갱신한다. 3.2. 웹트래픽데이터전처리 : 슬라이딩윈도우웹트래픽데이터에서비정상데이터는매우낮은빈도로발생하기에트래픽의탐지범위를넓히면좀더효율적으로비정상패턴을탐지할수있다. 그림 2 는슬라이딩윈도우알고리즘을적용하여추출한웹트래픽윈도우를나타낸다. 위에표시한윈도우는주기성을띄는정상윈도우이고아래표시된윈도우는비정상값을포함하는비정상윈도우이다. 윈도우범위내에비정상값이포함되어있는경우비정상윈도우로레이블을설정하였다. 3.3. 공간정보추출을위한컨볼루션 - 풀링연산 웹트래픽데이터는서비스의종류와사용자의접속에따라상이한패턴을가지고있다. 이러한복잡한패턴을모델링하기위해서는데이터의공간적특징을추출하는것이가장중요한요소이다. 제안하는웹트래픽이상탐지시스템은컨볼루션-풀링연산을사용하여트래픽데이터에서공간정보를추출하였다. 컨볼루션필터가입력데이터를슬라이딩하면서지역적특징을추출하고이후추출된특징에대해최대값으로압축하는과정을거쳐출력을다음층으로전달한다. 컨볼루션연산의일반적인성능은 1차원시퀀스로구성된트래픽데이터에도적용이가능하다. 제안하는웹트래픽이상탐지시스템은컨볼루션층과풀링층으로구성되어있다. l 번째컨볼루션층의커널연산을통해출력되는값 c l ij 와 Timestamp 그림 3. Yahoo A1Benckmark 데이터셋 m m 크기를갖는가중치 w 그리고이전층의출력인 y l 1 을사용한수식 (4) 의계산식을이용하여입력으로사용된웹트래픽윈도우에필터연산을적용하여공간적특징을강조한후다음층에데이터를전달한다. l 번째풀링층에서풀링연산을통해출력되는값 l p ij, n n 입력에대한풀링거리 τ를갖는특정영역에대해수식 (5) 의계산을바탕으로공간영역의대푯값을추출한다 l c ij m 1 m 1 l 1 = w ab y (i+a)(j+b) a=0 b=0 l p ij (4) = max C l 1 ij τ (5) γ R 3.4. 시간정보를저장하는 Long-Short Term Memory 웹트래픽데이터는시간적순서에따라발생하는데이터이며시계열의다양한특징을가지고있다. 일반적인시계열특징을잘모델링하기위해재귀신경망구조를갖는 LSTM 을사용하였다. LSTM 은학습데이터를기억하는특성을갖기에장기의존성을갖는시계열데이터를모델링하기에적합하다. 식 (6) 은 LSTM 게이트입출력을식으로표현한것이다. 메모리셀인 c t 은상태정보를저장한다. 이셀은통제게이트의매개변수에의해입출력이제어된다. 시계열데이터에서시간순서에따라입력값이 LSTM 에들어오면입력게이트는이값들을내부에메모리셀에축적한다. 이전셀인 c t 1 은망각게이트에의해이전정보를기억할지잊을지를결정할수있다. 마지막으로 c t 의출력을최종상태인 h t 로전달할지최종결정을수행한후출력게이트 o t 에의해출력이발생한다. 이렇게시계열데이터를장기기억할수있는 LSTM 의일반화성능웹트래픽이상탐지를위한모델링에도적절하다.
그림 4. Yahoo A1Benckmark Q-Q 플롯 그림 5. 윈도우크기에따른이상탐지성능 i t = σ(w xi x t + W hi h t 1 + W ci c t 1 + b i ) f t = σ(w xf x t + W hf h t 1 + W cf c t 1 + b f ) c t = f t c t 1 + i t tanh(w xc x t + W hc h t 1 + b c ) (6) o t = σ(w xo x t + W ho h t 1 + W co c t + b o ) h t = o t tanh(c t ) 4. 실험및결과 4.1. Yahoo Webscope S5 Anomaly 데이터셋 제안하는웹트래픽이상탐지시스템을검증하기위해총 67 개의파일로구성된 Yahoo Webscope S5 Anomaly benchmark 데이터셋의 A1Benchmark 를사용하였다 [15]. 이데이터는 Yahoo 에서제공하는오픈소스데이터로다른데이터에비해상대적으로큰트래픽의변형을가지고있다 [16]. 데이터수집은한시간단위로발생한실제 Yahoo 서비스의트래픽측정값을시계열로표현하였으며비정상값이수동레이블되었다. 그림 3 에서 Yahoo 데이터셋의예를표시하였다. 그림 4 의 Q-Q 플롯을통해실제데이터셋이정규분포를따르지않는것을확인하였다. 데이터셋의전체트래픽측정값은총 94,866 개로이루어져있고이중에 1,669 개의값이이상값이다. 실제제안하는시스템을실험하기위해트래픽데이터에슬라이딩윈도우기법을적용하여 90,910 개의윈도우를생성하였고그중 8,470 개의비정상윈도우에레이블을설정하였다. 4.2. 윈도우크기별성능비교 그림 5 에서윈도우크기에따른웹트래픽이상탐지시스템의 Precision, Recall, F1 Score 성능을나타내었다. 웹트래픽의비정상값은매우낮은빈도로발생하는만큼이상탐지를수행하기위해서는적절한윈도우크기를결정해주는것이중요하다. 윈도우크기는경험적평가가필요한만큼크기를 10 씩증가시켜가며성능을측정하였다. 윈도우크기는 60 그림 6. 다른딥러닝알고리즘과성능비교 과 90 에서수렴성을보였으며 90 이후에서는발산하는경향을확인하였다. 윈도우크기 90 이 60 에비해더높은성능을나타냈지만성능차이가크지않은경우작은범위를설정하는것이이상탐지에유리하기에적절한윈도우사이즈를 60 으로설정하여전체실험을진행하였다. 4.3. 다른딥러닝알고리즘과비교 그림 6 은제안하는웹트래픽이상탐지시스템과다른딥러닝알고리즘의 Recall 분류성능을측정하여비교한박스플롯을나타낸다. 실험데이터는학습 80%, 검증 10%, 테스트 10% 로분할하였으며검증의타당성을높이기위해모든딥러닝알고리즘에대해 10 겹교차검증을수행하였다. C-LSTM 알고리즘은가장높은정확도 98.6% 를획득하였다. 하지만 Yahoo Webscope S5 데이터셋은비정상윈도우의비율이전체윈도우의 0.1% 로데이터불균형이매우심한편에속한다. 이로인해모든딥러닝알고리즘에서 90% 이상의분류정확도를나타내므로 Precision, Recall, F1 Score 와같은이상탐지성능측정기준이필요하다.
그림 7. C-LSTM 이상탐지혼동행렬 표 2. 딥러닝알고리즘이상탐지성능 Algorithm Precision Recall F1 Score GRU 0.76 0.33 0.46 LSTM 0.78 0.34 0.47 CNN 0.94 0.86 0.90 C-GRU 0.95 0.88 0.91 C-LSTM 0.95 0.89 0.93 Recall 은이상탐지에서가장중요한성능척도이다. 식 (7) 과같이 Recall 수치는전체이상개수에대한실제탐지한이상개수를나타낸다. C-LSTM 을적용한이상탐지에서 0.89 Recall 을기록하였고이는다른딥러닝과비교하여 3% 이상높은수치이다. C-LSTM ㄴ은식 (8) 의 Precision 과식 (9) 의 F1 Score 에서도다른딥러닝알고리즘의성능을상회하였다. 그림 7 은 C-LSTM 으로분류한 Yahoo 데이터셋의혼동행렬을나타낸다. 약 10% 정도의오분류개수를확인할수있다. 표 2 는 10 겹교차검증을수행한딥러닝알고리즘이상탐지성능평균을나타낸다. 4.4. 오분류분석 Recall = Precision = TP TP + FN TP TP + FP Precision Recall F1 Score = 2 Precision + Recall 그림 8 은 t-sne 를사용하여웹트래픽데이터에대한분류결과를저차원으로시각화한것을나타낸다. 초록색영역은정상윈도우가군집을이루는것을나타내고빨간색영역은비정상윈도우가군집을이루는것을나타낸다. 그림 8 의오른쪽에서발생한 (7) (8) (9) 그림 8. t-sne 를통한오분류분석 군집에서는정상패턴과비정상패턴이하나의군집을이루는모습을보였다. 오분류분석을진행한결과트래픽윈도우의끝지점에비정상값이위치하는경우에대해제대로분류하지못하는경향을보였다. 왼쪽의비정상윈도우군집에대해분석을수행한결과윈도우중앙적절한위치에비정상값이위치하는것을확인하였다. 5. 결론 본논문에서는웹트래픽데이터의시간정보와공간정보를모델링하여정상트래픽패턴과비정상트래픽패턴을분류하기위한 C-LSTM 신경망을사용한웹트래픽이상탐지시스템을제안한다. 웹트래픽데이터에서패턴을추출하기위하여슬라이딩윈도우알고리즘을적용하여전처리를진행하였고 CNN 과 LSTM 을결합한구조인 C-LSTM 신경망을이용하여학습을진행하였다. 실험을통해슬라이딩윈도우알고리즘의최적윈도우크기를결정하였고여러딥러닝알고리즘을이용하여웹트래픽데이터에대한이상탐지성능을측정하였다. 실험결과 C-LSTM 은시공간적특징을모델링하여다른딥러닝알고리즘의이상탐지성능을상회하였고공간적특징을모델링하는 CNN 과비교하여 3% 이상높은 Recall 성능을달성하였다. 향후연구의첫번째로웹트래픽데이터의불균형문제를해결하는방법에대한비교가필요하다. 기존에제시된오버샘플링기법과본논문에적용한슬라이딩윈도우알고리즘과의성능비교가필요하다. 두번째로 C-LSTM 의각층별출력값분석이필요하다. 층별분석을통해입력된웹트래픽데이터에대해각각의층이어떤영향을미치는지파악해야한다. 마지막으로 t-sne 의오분류분석을바탕으로윈도우끝지점에서비정상값이존재하는경우에대해학습량을증가시켜성능향상을시도해보는것이필요하다.
감사의글본연구는미래창조과학부및정보통신기술진흥센터의정보통신 방송연구개발사업의일환으로수행하였음. [2017-0-00306, 실외무인경비로봇을위한멀티모달지능형정보분석기술개발 ] 참고문헌 [1] S. Y. Huang and Y. N. Huang, "Network traffic anomaly detection based on growing hierarchical SOM," Dependable Systems and Networks, IEEE, pp. 1-2, 2013. [2] D. Jiang, Z. Xu, P. Zhang and T. Zhu, "A transform domain-based anomaly detection approach to networkwide traffic," Journal of Network and Computer Applications, pp. 292-306, 2014. [3] U. Fiore, F. Palmieri, A. Castiglione and A. D. Santis, "Network anomaly detection with the restricted Boltzmann machine," Neurocomputing, pp. 13-23, 2013 [4] J. Yu, F. Liu, W. Zhou and H. Yu, "Hadoop-based network traffic anomaly detection in backbone," Cloud Computing and Intelligence Systems, IEEE, pp. 140-145, 2014. [5] T. N. Sainath, O. Vinyals, A. Senior and H. Sak, "Convolutional, long short-term memory, fully connected deep neural networks," Acoustics, Speech and Signal Processing, IEEE, pp. 4580-4584, 2015. [6] H. Alizadeh, A. Khoshrou and A. Zuquete, "Traffic classification and verification using unsupervised learning of Gaussian Mixture Models," Measurements & Networking, IEEE, pp. 1-6, 2015. [7] D. Liu, C. H. Lung, I. Lambadaris and N. Seddigh, "Network traffic anomaly detection using clustering techniques and performance comparison," Electrical and Computer Engineering, IEEE, pp. 1-4, 2013. [8] J. Zhang, C. Chen, Y. Xiang, W. Zhou and Y. Xiang, "Internet Traffic Classification by Aggregating Correlated Naive Bayes Predictions," IEEE Transactions on Information Forensics and Security, pp. 5-15, 2013. [9] Y. Wang, Y. Xiang, J. Zhang, W. Zhou, G. Wei and L. T. Yang, "Internet Traffic Classification Using Constrained Clustering," IEEE, pp. 2932-2943, 2014.. [10] M. Cheng, Q. Xu, J. Lv, W. Liu, Q. Li and J. Wang, "MS- LSTM: A multi-scale LSTM model for BGP anomaly detection," Network Protocols, IEEE, pp. 1-6, 2016. [11] Q. Ding, Z. Li, P. Batta and L. Trajkovie, "Detecting BGP anomalies using machine learning techniques,", Systems, Man, and Cybernetics, IEEE, pp. 3352-3355, 2016. [12] T. Guo, Z. Xu, X. Yao, H. Chen, K. Aberer and K. Funaya, "Robust Online Time Series Prediction with Recurrent Neural Networks," Data Science and Advanced Analytics, IEEE, pp.816-825, 2016. [13] W. Wang, M. Zhu, X. Zeng, X. Ye and Y. Sheng, "Malware traffic classification using convolutional neural network for representation learning," Information Networking, pp.712-717, 2017. [14] W. Wang, M. Zhu, J. Wang, X. Zeng and Z. Yang, "Endto-end encrypted traffic classification with onedimensional convolution neural networks," Intelligence and Security Informatics, pp. 43-48, 2017. [15] N. Laptev and S. Amizadeh, Yahoo anomaly detection dataset S5, 2015. [Online]. Available: https://webscope.sandbox.yahoo.com/catalog.php?datat ype=s&did=70 [16] M. Thill, W. Konen and T. Back, "Online anomaly detection on the webscope S5 dataset: A comparative study," Evolving and Adaptive Intelligent Systems, pp. 1-8, 2017.