Two-way-flow기반의 인터넷 트래픽 분석에 관한 - NM Lab at Korea ...

Two-way-flow기반의 인터넷 트래픽 분석에 관한 - NM Lab at Korea ... Two-way-flow기반의 인터넷 트래픽 분석에 관한 - NM Lab at Korea ...

nmlab.korea.ac.kr
from nmlab.korea.ac.kr More from this publisher

2008 년 한국통신학회 추계학술발표대회Remote 개념을 통하여, 플로우의 단위 기준을 발생하는호스트 단위 기준에서 네트워크 단위 기준으로 확장 시킬 수 있다. 네트워크 단위 기준의 two-<strong>way</strong>-flow 포맷은네트워크 단위로 <strong>트래픽</strong>을 분석하는 경우 더욱 효율적이다.또한 네트워크 분석의 한 방법인 <strong>트래픽</strong> 응용 별 분석을 위하여 분석된 결과를 플로우에 표시할 공간이 필요하다. 이를 위해 pCode 영역을 추가 하였다. 이 부분은<strong>트래픽</strong> 응용 별 분석 후 결과가 기록된다. 그리고 플로우를 구성하는 패킷의 시간정보를 저장하는 First 와 Last 영역을 추가하였다.그림 1 은 새로 정의 한 two-<strong>way</strong>-flow 의 포맷을 보여주고 있다.3 <strong>Two</strong>-<strong>way</strong>-flow 의 특성3 장에서는 one-<strong>way</strong>-flow 와 two-<strong>way</strong>-flow 를 비교하고two-<strong>way</strong>-flow 의 uni-flow 의 특성을 실험을 통하여 보여준다. 이를 통해 two-<strong>way</strong>-flow 에서의 uni-flow 의 의미에 대해 알 수 있다.3.1 One-<strong>way</strong>-flow vs. <strong>Two</strong>-<strong>way</strong>-flow그림 3 는 학내 네트워크에서 발생한 하루 동안의 <strong>트래픽</strong>을 기존의 one-<strong>way</strong>-flow 포맷과 two-<strong>way</strong>-flow 포맷으로 수집하여 이들의 개수를 2 시간 단위로 표현한 것 이다.그림 3. One-<strong>way</strong>-flow vs. <strong>Two</strong>-<strong>way</strong>-flow 개수 비교그림 1. two-<strong>way</strong>-flow 포맷one-<strong>way</strong>-flow 를 two-<strong>way</strong>-flow 로 변환하게 되면 쌍이없는 two-<strong>way</strong>-flow 가 존재하게 된다. 즉 two-<strong>way</strong>-flow 안의 IN 혹은 OUT 의 데이터가 없는 경우가 존재한다.two-<strong>way</strong>-flow (uni-flow)one-<strong>way</strong>-flowtwo-<strong>way</strong>-flow (bi-flow)one-<strong>way</strong>-flowone-<strong>way</strong>-flow그림 2. bi-flow 와 uni-flow그림 2 와 같이 쌍이 없는 two-<strong>way</strong>-flow 가 발생하는경우는 호스트 간에 통신에서 한쪽 방향으로만 <strong>트래픽</strong>이발생하는 경우이다. 이러한 경우는 UDP 통신과 비정상<strong>트래픽</strong>(Dos, warm, scanning)에서 많이 발생한다.본 논문에서는 two-<strong>way</strong>-flow 중에서 쌍이 있는 플로우를 bi-flow 라 정의하고 쌍이 없는 플로우를 uni-flow 라 정의 한다. IN, OUT 접두어 부분의 데이터 유무에 따라 biflow인지 uni-flow 인지를 알 수 있다.분석시스템의 I/O 작업 오버헤드를 감소하기 위하여uni-flow 일 경우에는 데이터가 있는 <strong>트래픽</strong>만 포함하게하였다. 포맷 중 Traffic_flag 필드는 uni-flow 와 bi-flow 중어떤 <strong>트래픽</strong>을 포함하는지를 나타낸다.그림 3 에서 보이는 것과 같이 플로우의 개수가 현저히 줄어 든 것을 확인 할 수 있다. 이는 매분 <strong>트래픽</strong>을수집하여 분석하는 시스템에서 <strong>트래픽</strong> 수집에 필요한 오버헤드를 줄 일 수 있다. 오버헤드에 대한 내용은 4 장에서 보이겠다.또한, two-<strong>way</strong>-flow 의 개수가 one-<strong>way</strong>-flow 개수의 50%와 일치하지 않는 것을 확인 할 수 있다. 네트워크 내의모든 호스트들이 정상적인 양방향 통신을 한다면, one<strong>way</strong>-flow개수의 50%와 two-<strong>way</strong>-flow 의 개수가 일치 할것이다. 이 사실은 쌍이 없는 플로우, 즉, uni-flow 가 존재함을 나타낸다. 따라서 효과적인 <strong>트래픽</strong> 분석을 위하여uni-flow 의 정확한 의미를 파악하여야 한다.3.2 Uni-flow2 장에서 two-<strong>way</strong>-flow 는 쌍이 있는 bi-flow 와 쌍이없는 uni-flow 로 구성되어 있음을 보였다. uni-flow 의 정확한 의미를 파악하기 위하여 two-<strong>way</strong>-flow 에서 bi-flow 와uni-flow 가 차지하는 비율을 여러 기준에 대해 조사 하였다.표 1. <strong>Two</strong>-<strong>way</strong>-flow 구성과 비율Bi-flow<strong>Two</strong>-<strong>way</strong>-flowUni-flowFlow 19.32 X 10 6 (86.26%) 3.07 X 10 6 (13.74%)Packet 2.12 X 10 9 (99.56%) 9.40 X 10 6 (0.44%)Byte 1,907GB (99.71%) 5.57GB (0.29%)표 1 은 two-<strong>way</strong>-flow 를 구성하는 bi-flow 와 uni-flow의 각 기준 별(Flow, Packet, Byte) 양과 비율을 나타낸 것이다. 표 1 에 나타난 봐와 같이, uni-flow 는 플로우 개수기준으로 본다면 14% 정도를 차지 하고 있지만, 바이트와 패킷 기준으로 본다면 아주 적은 양을 차지하는 것을알 수 있다. 즉, 대부분의 <strong>트래픽</strong>은 양방향 통신을 하고


2008 년 한국통신학회 추계학술발표대회일부의 <strong>트래픽</strong>만이 한쪽 방향으로만 통신하는 것이다.이러한 한쪽 방향으로만 통신을 하는 <strong>트래픽</strong>들은uni-flow 의 개수를 증가시키다. 따라서 플로우 기반의 <strong>트래픽</strong> 분석 시스템에서는 바이트와 패킷의 양은 적게 차지하면서 플로우 양을 많이 차지하는 uni-flow 의 의미를제대로 파악하여야 <strong>트래픽</strong> 분석의 오버헤드를 줄일 수있고 또한 효과적인 분석을 할 수 있다.대다수가 TCP 의 three-<strong>way</strong> handshaking 의 과정에서 syn요청 후 정상적인 통신이 이루어 지지 않았음을 나타낸다. 또한 비정상 적인 종료를 뜻하는 rst flag 의 비율이 높음은 uni-flow 가 비정상적인 <strong>트래픽</strong> 임을 의미한다.표 2. <strong>Two</strong>-<strong>way</strong>-folw protocol 구성<strong>Two</strong>-<strong>way</strong>-flowBi-flowUni-flowTCP UDP TCP UDP13.79 X 10 6 5.50 X 10 6 1.27 X 10 6 1.71 X 10 6Flow(71.37%) (28.49%) (41.30%) (55.79%)2,070 X 10 6 50.79 XPacket10 6 2.46 X 10 6 6.31 X 10 6(97.54%)(26.18%) (67.13%)(2.39%)1,890GB 14GB 0.61GB 4.89GBByte(99.14%) (0.78%) (11.09%) (87.84%)표 2 는 two-<strong>way</strong>-flow 를 구성하는 bi-flow 와 uni-flow의 protocol 구성을 보인 것이다. 주목할 점은 uni-flow 중TCP 를 사용하는 <strong>트래픽</strong>의 비율이다. TCP 는 연결형 통신으로 양방향 통신이 정상적이다. 하지만, 표 2 에서 알 수있듯이 uni-flow 중 TCP 를 사용하는 <strong>트래픽</strong>도 존재 함을볼 수 있다. TCP 를 사용하는 uni-flow 의 특징은 3.2.1 장에서 자세히 보인다.기준FlowPacketByte표 3. <strong>Two</strong>-<strong>way</strong>-flow IN/OUT 구성Uni-flowINOUTTCP UDP TCP UDP0.50 X 10 6 1.03 X 10 6 0.77 X 10 6 0.68 X 10 61.5M 1.45 X 10 61.29 X 10 6 5.09 X 10 6 1.16 X 10 6 1.21 X 10 66.2M 2.38 X 10 6525MB 4GB 92.94MB 170.90MB4.5GB263MB표 3 는 two-<strong>way</strong>-flow 를 구성하는 bi-flow 와 uni-flow의 IN/OUT 구성을 보인 것이다. 플로우 개수로는IN/OUT 이 비슷하지만, 바이트 기준으로는 IN 이 상당히많고, UDP 를 많이 사용하는 것을 알 수 있다. 또한, TCP<strong>트래픽</strong>도 IN 에 많은 비율이 있는 것을 알 수 있다. 표 3은 한쪽 방향으로만 통신하는 <strong>트래픽</strong>의 대부분이 외부에서 내부로 들어오는 <strong>트래픽</strong>임을 나타낸다.분석의 효율성을 위하여 TCP 와 UDP 를 나누어 분석하였다.3.2.1 TCP in uni-flowUni-flow 중 TCP 를 사용하는 플로우의 특징을 알아내기 위하여 syn, ack, rst, fin 패킷의 비율을 표로 나타내었다.표 4. <strong>Two</strong>-<strong>way</strong>-flow TCP flag 분포 (단위 10 6 )two-<strong>way</strong>-flowTCPbi-flowuni-flowsyn ack rst fin syn ack rst Fin231.16%1,95697.75%40.20%170.89%135.60%1.241.90%0.516.64%0.25.58%표 4 에서 보듯이, uni-flow 의 syn, rst flag 비율이 biflow보다 현저히 많은 것을 알 수 있다. 즉, uni-flow 중그림 4. port scan 과 uni-flow(TCP)그림 4 는 5 시간 동안 네트워크 <strong>트래픽</strong>에서 TCP 를사용하는 uni-flow 의 개수와 중복을 제외한 IP 개수를 보여준다. 중복을 제외한 IP 의 개수가 급격하게 증가하는것을 관찰 할 수 있다. 이는 port scan[5]에 의한 것이다.port scan 은 네트워크 내의 살아있는 port 를 검색하는 방법으로 네트워크 공격에서 많이 사용한다. 살아있는 포트를 검색하기 위해 네트워크 모든 호스트에 연결을 시도함으로 네트워크에서 발생하는 <strong>트래픽</strong>의 IP 개수가 급격히 증가한다.따라서 네트워크 내의 급격한 사용 IP 개수의 증가는port scan 과 관련이 있다. 여기서 주목해야 할 점은 portscan 의 발생 시점과 uni-flow(TCP)의 급격한 증가와 관련이 있다는 점이다. 그림 4 에서 보는 봐와 같이 모든 portscan 이 일어나는 시점에서 uni-flow(TCP)의 개수가 급격히증가 함을 볼 수 있다. 즉, uni-flow(TCP)와 port scan 은 관련성이 있음을 확인 할 수 있다.3.1 UDP in uni-flowUni-flow 중에서 UDP 를 사용하는 플로우는 TCP 와는다른 의미를 가진다. 앞에서 보인 모든 플로우 데이터는1 분 동안 수집한 패킷을 기반으로 작성된 것이다. 그림5 는 수집 기간을 달리하였을 때, 생기는 uni-flow 의 UDP플로우 개수를 그래프화 한 것이다.그림 5. flow period 와 uni-flow


2008 년 한국통신학회 추계학술발표대회그림 5 에서 보는 봐와 같이, 수집 기간이 길수록 uniflow(UDP)의개수가 줄어드는 것을 관찰 할 수 있다.UDP 는 TCP 와 달리 비 연결 통신이기에 통신 기간이 길다. 따라서 위와 같이 긴 기간 동안 패킷을 수집하여 플로우를 생성 하면, uni-flow 의 개수가 줄어드는 것을 관찰할 수 있다. 이러한 플로우들은 비정상적인 것이 아니라프로토콜의 특성상 1 분 단위 플로우에서만 uni-flow 로 나타나는 것이다.그림 6 는 uni-flow(UDP)의 port number 사용하는 빈도를 나타낸 것이다.그림 8. One-<strong>way</strong>-flow vs. <strong>Two</strong>-<strong>way</strong>-flow (개수와 수행시간)포맷을 변경 함으로써 데이터 양과, 개수가 줄어 수행 시간을 감소 시킬 수 있었다.기존의 one-<strong>way</strong>-flow 포맷을 two-<strong>way</strong>-flow 포맷으로변환하고 비정상적인 uni-flow 을 제거해 줌으로써 분석시스템의 오버헤드를 감소 시켰다.그림 6. Uni-flow(UDP)의 port number 와 # flow특정 포트에서 많은 플로우를 사용하는 것을 알 수있다. 이러한 포트들은 특정 P2P 응용프로그램에서 고정적으로 사용하는 것이므로, 대다수의 uni-flow(UDP)가 P2P<strong>트래픽</strong> 임을 알 수 있다.위 2 가지 사실을 바탕으로 uni-flow(UDP)는 uniflow(TCP)와는달리 비정상 <strong>트래픽</strong>이 아님을 확인 할 수있다. 즉, 프로토콜의 특성에 따라 프로토콜 별 uni-flow의 의미가 달라지는 것이다.4 분석 시스템의 성능에 미치는 영향기존의 one-<strong>way</strong>-flow 를 2 장에서 정의한 two-<strong>way</strong>-flow포맷으로 변환하여 학내 <strong>트래픽</strong> <strong>분석에</strong> 적용하였다. 실험은 단순히 플로우를 하나씩 받아들여 미리 작성해 놓은IP-port 테이블과 비교하는 방법(SFA)를 사용하였다[7].5 결론 및 향후 연구본 논문에서는 대용량의 <strong>트래픽</strong>을 발생하는 네트워크에 적합한 <strong>트래픽</strong> 포멧을 제안하였다. 또한 새로운 포맷에 의해 구분되는 bi-flow 와 uni-flow 의 프로토콜 별 특징도 실험을 통하여 알아보았다. TCP 를 사용하고 한쪽방향으로만 통신을 하는 uni-flow(TCP)의 경우에는 portscan 이라는 비정상적인 <strong>트래픽</strong>과 관련이 있었고, UDP 를사용하는 uni-flow(UDP)의 경우에는 프로토콜의 특성상정당한 <strong>트래픽</strong>임을 확인 할 수 있었다.실험을 통하여 two-<strong>way</strong>-flow 포맷이 실제 실시간 <strong>트래픽</strong> <strong>분석에</strong>서 기존의 one-<strong>way</strong>-flow 포맷 보다 대용량 <strong>트래픽</strong> <strong>분석에</strong> 더 적합함을 보였다. 패킷과 호스트 중심의one-<strong>way</strong>-flow 포맷 <strong>분석에</strong>서 구별하기 힘든 <strong>트래픽</strong>의 여러 특징을 세션과 네트워크 중심의 two-<strong>way</strong>-flow 포맷 분석으로 알아냈다.본 논문에서 정의한 two-<strong>way</strong>-flow 의 특징을 좀더 자세히 분석하기 위하여 학내에서 발생하는 <strong>트래픽</strong>을 two<strong>way</strong>-flow로 모니터링 하는 시스템을 구축하였다[7]. 이시스템을 통하여 본 논문의 실험에서 발견하지 못한 여러 특징을 발견 할 수 있었다. 앞으로 이러한 특징을 좀더 자세히 분석하여 대용량 <strong>트래픽</strong>에 좀 더 적합한 플로우의 포맷과 uni-flow 의 특징과 처리 방법에 대해 연구할 계획이다.참 고 문 헌그림 7. One-<strong>way</strong>-flow vs. <strong>Two</strong>-<strong>way</strong>-flow (byte)그림 7 은 실제 <strong>분석에</strong> 쓰이는 one-<strong>way</strong>-flow 와 two<strong>way</strong>-flow의 데이터 양을 보여준다. 2 장에서 정의한 two<strong>way</strong>-flow포맷은 uni-flow 의 비율이 많을 수록 데이터 양이 줄어든다. 분석 시스템에서 I/O 작업이 큰 비중을 차지하는 것을 감안하면 동일한 데이터를 작은 양으로 나타내는 two-<strong>way</strong>-flow 포맷이 더 효과적이다.그림 8 은 분석대상의 플로우 개수가 현저히 감소 한한 것 보여준다. 또한. 수행 시간도 평균 0.5 초 줄어 들었다. 3.2.1 장에서 설명한 TCP 를 사용하는 uni-flow 를 제거하고 분석하였을 때에는 port scan 발생시 확실한 성능향상을 보였다.[1] IETF Working Group IPFIX (IP Flow Inform<strong>at</strong>ion Export),http://www.ietf.org/html.charters/ipfix-charter.html.[2] Cisco Systems, White Papers, “Introduction to Cisco IOSNetFlow,” May. 2007.[3] N. Brownlee, C. Mills and G. Ruth, "Traffic FlowMeasurement: Architecture", IETF RFC 2722, October 1999.[4] Se-Hee Han, Myung-Sup Kim, Hong-Taek Ju and James W.Hong, "The Architecture of NG-MON: A Passive NetworkMonitoring System", LNCS 2506, DSOM 2002, October2002, Montreal Canada, pp. 16-27.[5] http://en.wikipedia.org/wiki/Port_scan[6] 윤성호, 노현구, 김명섭, "TMA(Traffic MeasurementAgent)를 이용한 <strong>인터넷</strong> 응용 <strong>트래픽</strong> 분류", 2008 년제 29 회 정보처리학회 춘계학술발표대회 (KIPS), 대구,경일대학교, May. 17, 2008, 제 15 권 제 1 호, pp.946-949.[7] http://kumon.korea.ac.kr/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!