컴퓨터에서 실행되는 다양한 응용들은 네트워크를 통해 패킷 형태로 정보를 전달하며 대부분의 패킷들은 TCP/IP 또는 UDP/IP 프로토콜을 따른다. 기업 및 기관의 네트워크 관리 담당자는 네트워크 트래픽 측정 및 감시, 네트워크 보안 등을 위해서 네트워크를 통해 전달되는 패킷들을 지속적으로 관리할 수 있어야 한다. 본 논문에서는 실제 전달되는 데이터를 면밀히 조사하는 DPI(Deep Packet Inspection)에서 페이로드의 특정 패턴을 검색하는 패킷 페이로드 분석 알고리즘들의 성능 분석하는 것을 목적으로 하고 있다. 페이로드를 조사하는 가장 기본적인 과정은 특정 패턴을 페이로드에서 신속하게 검색하는 것이다. 본 논문에서는 페이로드에 특정 패턴이 존재하는 경우, 그 패턴을 검출할 수 있는 여러 알고리즘들을 소개하고, 세 가지 관점에서 수학적으로 성능을 분석하고, 응용프로그램의 목적에 적합한 적용 방안을 제시한다.
컴퓨터에서 실행되는 다양한 응용들은 네트워크를 통해 패킷 형태로 정보를 전달하며 대부분의 패킷들은 TCP/IP 또는 UDP/IP 프로토콜을 따른다. 기업 및 기관의 네트워크 관리 담당자는 네트워크 트래픽 측정 및 감시, 네트워크 보안 등을 위해서 네트워크를 통해 전달되는 패킷들을 지속적으로 관리할 수 있어야 한다. 본 논문에서는 실제 전달되는 데이터를 면밀히 조사하는 DPI(Deep Packet Inspection)에서 페이로드의 특정 패턴을 검색하는 패킷 페이로드 분석 알고리즘들의 성능 분석하는 것을 목적으로 하고 있다. 페이로드를 조사하는 가장 기본적인 과정은 특정 패턴을 페이로드에서 신속하게 검색하는 것이다. 본 논문에서는 페이로드에 특정 패턴이 존재하는 경우, 그 패턴을 검출할 수 있는 여러 알고리즘들을 소개하고, 세 가지 관점에서 수학적으로 성능을 분석하고, 응용프로그램의 목적에 적합한 적용 방안을 제시한다.
Various applications running in computers exchange information in the form of packets through the network. Most packets are formatted into UDP/IP or TCP/IP standard. Network management administrators of enterprises and organizations should be able to monitor and manage packets transmitted over the n...
Various applications running in computers exchange information in the form of packets through the network. Most packets are formatted into UDP/IP or TCP/IP standard. Network management administrators of enterprises and organizations should be able to monitor and manage packets transmitted over the network for Internet traffic measurement & monitoring, network security, and so on. The goal of this paper is to analyze the performance of several algorithms which closely examine and analyze payloads in a DPI(Deep Packet Inspection) system. The main procedure of packet payload analysis is to quickly search for a specific pattern in a payload. In this paper, we introduce several algorithms which detect a specific pattern in payloads, analyze the performance of them from three perspectives, and suggest an application method suitable for requirements of a given DPI system.
Various applications running in computers exchange information in the form of packets through the network. Most packets are formatted into UDP/IP or TCP/IP standard. Network management administrators of enterprises and organizations should be able to monitor and manage packets transmitted over the network for Internet traffic measurement & monitoring, network security, and so on. The goal of this paper is to analyze the performance of several algorithms which closely examine and analyze payloads in a DPI(Deep Packet Inspection) system. The main procedure of packet payload analysis is to quickly search for a specific pattern in a payload. In this paper, we introduce several algorithms which detect a specific pattern in payloads, analyze the performance of them from three perspectives, and suggest an application method suitable for requirements of a given DPI system.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
첫 번째로 네트워크로 유입되는 패킷들을 실시간으로 분석하는 형태이고, 두 번째로는 일정 기간 동안 패킷을 저장하고 있다가 특정 이벤트가 발생하는 경우 수집된 패킷을 대상으로 분석하는 형태이다. 3.1.~3.3.의 성능 분석결과를 토대로 2가지의 DPI 요구사항에 따라 어떤 분석 방식을 도입할지 제안한다.
평균패턴검출시간에서와 마찬가지로 특정 패턴의 한 번 비교 횟수를 1로 하고, 플로우의 처음부터 끝까지 특정 패턴을 비교하는 총횟수로 분석한다. 그리고 이를 바탕으로 시스템 환경 또는 요구사항에 따라 어떠한 패킷 페이로드 기반 분석 알고리즘이 적용되어야 하는지에 대해 제안한다.
본 논문에서는 알고리즘들의 성능을 세 가지 관점에서 수학적으로 분석한다. 첫 번째는 ‘패턴검출확률’이다.
본 논문에서는 페이로드에 특정 패턴이 존재하는 경우, 그 패턴을 검출하는 4가지 패킷 페이로드 기반 분석 방식에 대해서 자세히 설명하고, 세 가지 관점에서 성능을 수학적으로 분석하였다. 그리고 그 분석 결과를 바탕으로 DPI 시스템의 요구사항에 적합한 적용 방안을 제시하였다.
가설 설정
조각화나 세분화의 상황이 존재할 때, 특정 패턴을 검색하는 것에 초점을 맞추고 있다. 본 논문에서는 TCAM (Tenary Contents Addressable Memory)[8], GPU(Graphics Processing Unit) 등을 하드웨어 활용하거나 효과적인 FSM(Finite State Machine)을 적용하여 소프트웨어적으로 패턴 매칭 속도를 높이는 것을 배제한 가장 기본적인 슬라이딩 윈도우 패턴 매칭 기법을 가정한다.
특정 패턴은 플로우에 골고루 분산되어 있다고 가정한다. 평균값을 구하기 위해서 그림 1의 byte index i (i=0, .
특정 패턴을 한 번 비교하는 횟수를 1로 하고, 각 알고리즘이 플로우를 조사하면서 특정 패턴을 검출하는데 까지 패턴을 비교하는 총 횟수를 분석한다. 특정 패턴은 플로우에 정해져 있는 위치에 존재하지 않고 골고루 분산되어 있다고 가정하여 패턴검출시간의 평균값을 계산한다. 세 번째는 ‘패킷검색완료시간’이다.
패킷-1 분석 방식의 패턴검출확률을 수치로 계산하기 위해서 LP는 10바이트로 가정하고, 패킷의 개수 NPK 를 10~1020개로 변경했을 때 대부분 0.99 이상이다. 다른 분석 방식처럼 100% 검출은 못하지만 상당히 높은 확률로 특정 패턴을 검출할 수 있다.
각 패킷은 헤더와 페이로드로 이루어져 있으며, 패킷 페이로드 기반 분석 방법에서는 헤더를 제거하고 페이로드만 분석한다. 패킷의 페이로드의 최대 길이는 NPK 바이트이며, 플로우를 구성하는 모든 패킷들은 NPK 바이트의 페이로드를 포함하고 있다고 가정한다. 첫 번째 패킷(1st packet) 페이로드의 첫 번째 바이트를 ‘0’으로 하고, 각 바이트마다 1만큼 증가시키면서 인덱스를 부여한다.
제안 방법
본 장에서는 앞에서 소개한 패킷 페이로드 기반 분석 방법들을 3가지 관점에서 수학적으로 분석한다. LPK는 대부분 TCP 표준 환경에서 사용되는 1460 바이트로 고정하였고, LP와 NPK는 성능 평가 관점에 따라 고정하거나 변경하면서 성능평가를 실시하였다. 각 성능 평가 관점마다 4개의 분석 방식들에 대해 수식을 도출하여 표로 정리하고, 성능 비교를 시각적으로 명확하게 나타낼 필요한 있는 경우에 수식을 그래프로 나타낸다.
각 패킷 페이로드의 길이와 특정 패턴의 길이가 각각 LPK와 LP 바이트라면, 1st packet 이 수신시에는 (LPK – LP+1)번, 2nd packet부터 최대 NPKth packet까지 수신할 때마다 (LPK +1)번의 비교를 수행한다.
하나의 플로우는 동일한 5-tuple을 가진 NPK 개의 패킷들로 구성되어 있다. 각 패킷은 헤더와 페이로드로 이루어져 있으며, 패킷 페이로드 기반 분석 방법에서는 헤더를 제거하고 페이로드만 분석한다. 패킷의 페이로드의 최대 길이는 NPK 바이트이며, 플로우를 구성하는 모든 패킷들은 NPK 바이트의 페이로드를 포함하고 있다고 가정한다.
각 패킷의 페이로드의 길이가 LPK 바이트이고, 특정 패턴의 길이가 LP 바이트이라면, 패킷이 도착할 때마다 (LPK–LP+1)번의 비교를 수행한다.
본 논문에서는 페이로드에 특정 패턴이 존재하는 경우, 그 패턴을 검출하는 4가지 패킷 페이로드 기반 분석 방식에 대해서 자세히 설명하고, 세 가지 관점에서 성능을 수학적으로 분석하였다. 그리고 그 분석 결과를 바탕으로 DPI 시스템의 요구사항에 적합한 적용 방안을 제시하였다.
헤더만 분석하기 때문에 속도가 빠르다는 장점이 있지만 실제 데이터를 담고 있는 페이로드를 분석하지 않기 때문에 구체성과 정확성이 부족하다. 두 번째, 패킷 통계 기반 분석 방법은 패킷 크기, 패킷간의 발생시간, 윈도우 크기 등의 플로우의 통계 정보를 기반으로 분석한다. 이 방법은 패킷의 페이로드 정보를 분석하지 않기 때문에 분류 속도가 빠르고, 페이로드 정보를 분석하지 않아 암호화된 트래픽에 적합한 방법론이라는 장점이 있다.
본 장에서는 앞에서 소개한 패킷 페이로드 기반 분석 방법들을 3가지 관점에서 수학적으로 분석한다. LPK는 대부분 TCP 표준 환경에서 사용되는 1460 바이트로 고정하였고, LP와 NPK는 성능 평가 관점에 따라 고정하거나 변경하면서 성능평가를 실시하였다.
하지만 통계 정보를 생성하기 위해서는 플로우가 끝날 때까지 기다려야 하며, 분류 범위가 넓고 정확하지 않다는 단점이 있다[2]. 세 번째, 패킷 페이로드 기반 분석 방법은 응용 프로그램의 패킷 페이로드를 분석한다. 실제 전달되는 데이터를 기반으로 분석하기 때문에 정확도가 매우 높다는 결과를 보여 주지만 정보 추출 과정이 어렵고 시간이 오래 걸리며 페이로드를 저장하는데 드는 유지 및 관리 비용이 크기 때문에 상당히 제한적으로만 사용되었다[5, 6].
지금까지 DPI 시스템에서 적용 가능한 4가지의 패킷 페이로드 기반 분석 방식에 대한 동작과정을 자세히 소개하고 3가지 관점에서 성능을 수학적으로 분석하였다.
첫 번째, 패킷 헤더 기반 분석 방법은 가장 많이 활용되고 있는 방법으로, OSI 7 계층(OSI 7 Layer) 중 전송 계층(Transport Layer) 프로토콜인 TCP와 UDP 의 헤더와 네트워크 계층(Network Layer) 프로토콜인 IP의 헤더 정보를 기반으로 트래픽을 분석한다. 플로우(flow)를 정의하는 기본 단위인 5-tuple(source port, destination port, source ip address, destination ip address, protocol)을 기준으로 트래픽을 분류하고 헤더 정보를 분석한다.
패턴검출시간의 값은 컴퓨터의 성능에 의해서 달라지기 때문에 패턴검출시간과 직접적인 연관이 있는 패턴 비교 횟수로 성능을 평가하였다. 특정 패턴을 한 번 비교하는 횟수를 1로 하고, 각 알고리즘이 특정 패턴을 검출하는데 까지 비교하는 총 횟수를 분석한다.
합리적으로 성능을 분석하기 위해서 패턴검출시간과 직접적인 연관이 있는 패턴 비교 횟수를 이용한다. 특정 패턴을 한 번 비교하는 횟수를 1로 하고, 각 알고리즘이 플로우를 조사하면서 특정 패턴을 검출하는데 까지 패턴을 비교하는 총 횟수를 분석한다. 특정 패턴은 플로우에 정해져 있는 위치에 존재하지 않고 골고루 분산되어 있다고 가정하여 패턴검출시간의 평균값을 계산한다.
패킷의 페이로드의 길이와 특정 패턴의 길이가 각각 LPK 바이트와 LP 바이트라면, 2nd packet부터 최대 NPKth packet을 수신할 때까지 패킷마다 (2LPK – LP+1)번의 비교를 수행한다.
패턴검출시간의 값은 컴퓨터의 성능에 의해서 달라지기 때문에 패턴검출시간과 직접적인 연관이 있는 패턴 비교 횟수로 성능을 평가하였다. 특정 패턴을 한 번 비교하는 횟수를 1로 하고, 각 알고리즘이 특정 패턴을 검출하는데 까지 비교하는 총 횟수를 분석한다.
패킷검색 완료시간은 특정 패턴을 플로우의 처음부터 끝까지 비교하는데 걸리는 총시간으로, 패킷 페이로드 기반 분석 방식의 전체적인 성능을 알 수 있다. 평균패턴검출시간에서와 마찬가지로 특정 패턴의 한 번 비교 횟수를 1로 하고, 플로우의 처음부터 끝까지 특정 패턴을 비교하는 총횟수로 분석한다. 그리고 이를 바탕으로 시스템 환경 또는 요구사항에 따라 어떠한 패킷 페이로드 기반 분석 알고리즘이 적용되어야 하는지에 대해 제안한다.
표 4는 세 가지 관점의 성능 비교 결과를 기반으로 패킷 페이로드 기반 분석 방식을 실시간성(realtime), 정확성(accuracy), 속도(offline-speed) 면에서 4단계(best, good, not bad, bad)로 간단히 비교하였다. 비교 분석한 내용을 토대로 3.
첫 번째, 패킷 헤더 기반 분석 방법은 가장 많이 활용되고 있는 방법으로, OSI 7 계층(OSI 7 Layer) 중 전송 계층(Transport Layer) 프로토콜인 TCP와 UDP 의 헤더와 네트워크 계층(Network Layer) 프로토콜인 IP의 헤더 정보를 기반으로 트래픽을 분석한다. 플로우(flow)를 정의하는 기본 단위인 5-tuple(source port, destination port, source ip address, destination ip address, protocol)을 기준으로 트래픽을 분류하고 헤더 정보를 분석한다. 헤더만 분석하기 때문에 속도가 빠르다는 장점이 있지만 실제 데이터를 담고 있는 페이로드를 분석하지 않기 때문에 구체성과 정확성이 부족하다.
대상 데이터
그림 8은 알고리즘 성능 비교를 명확하게 하기 위해 표 2의 수식의 계산 결과 추이를 보여 준다. 패킷 페이로드의 길이 LPK는 1046바이트로, 패킷의 개수 NPK는 1,000개로 설정하였다. 그림 8에서는 LP를 5에서 200개로 변화시켰을 때의 평균패턴검출시간을 보여준다.
데이터처리
특정 패턴은 플로우에 골고루 분산되어 있다고 가정한다. 평균값을 구하기 위해서 그림 1의 byte index i (i=0, ..., NPKLPK-LP) 위치에서 특정 패턴이 시작하는 경우마다, 각각의 분석 방식이 byte index 0부터 검색을 시작하여 패턴을 검출할 때까지의 패턴 매칭 횟수를 계산하고 평균을 구한다. 이 때 전체 경우의 수는 특정 패턴이 존재할 수 있는 경우로 (NPKLPK-LP-1) 이다.
이론/모형
그래서 대부분 분석 방식들은 조각화나 세분화를 고려하지 않고 하나의 패킷 페이로드를 대상으로 성능을 높이는 것에만 집중하였다[4, 6, 8]. 그래서 패킷이 NIC(Network Interface Card)로 들어올 때마다 분석하는 패킷-1 분석 방식이 사용되었다.
성능/효과
패킷-(1+α) 분석 방식은 패킷-1 분석 방식이 100%의 패턴검출확률을 제공하지 못하는 점, 패킷-2 분석 방식이 특정 패턴을 2회 검출하는 단점을 보완하였다.
+1)번의 비교를 수행한다. 패킷-1 분석 방식보다 약 2배의 비교 횟수를 수행하지만 특정 패턴이 두 개의 페이로드에 분리되어 전달되던지 하나의 페이로드에 전달되던지 상관없이 100% 특정 패턴을 검출할 수 있다.
후속연구
이러한 현상은 패턴 매칭 시 검색 대상 페이로드마다 바이트 오프셋(byte offset)을 조정하는 방식 등 소프트웨어적으로 해결할 수 있다. 그러나 본 논문에서는 성능 분석할 때에 소프트웨어적인 영향의 최소화를 위해서 각 방식에서 슬라이딩 윈도우 방식으로 패턴 매칭을 수행하는 것 이외에 소프트웨어적 수정이나 개선은 배제한다.
관련 연구들을 살펴 본 결과, 지금까지 패킷 페이로드 기반 분석 방법들에 대한 정량적인 성능 평가가 없는 것으로 조사되었다. 사물인터넷, 빅데이터, 클라우드 컴퓨팅, 모바일 등의 발전으로 네트워크 전송 데이터의 양도 급격하게 증가될 것이기 때문에 향후 풍부한 HW 및 SW의 자원을 바탕으로 패킷 페이로드 기반 분석 방법을 활용한 DPI 시스템이 활발하게 도입될 것으로 예상된다. 최근 보안을 위해 SSL(Secure Socket Layer)를 HTTP 또는 FTP 등에 적용하여 페이로드가 암호화된 경우에도 기업 또는 기관에 소속되어 있는 중간 네트워크 장비에 프락시 서버를 통해 페이로드 기반 분석이 가능하다.
최근 보안을 위해 SSL(Secure Socket Layer)를 HTTP 또는 FTP 등에 적용하여 페이로드가 암호화된 경우에도 기업 또는 기관에 소속되어 있는 중간 네트워크 장비에 프락시 서버를 통해 페이로드 기반 분석이 가능하다. 여러 관점에서 패킷 페이로드 기반 분석 방법에 분석 결과가 도출된다면, 다양한 상황마다 적합한 패킷 페이로드 분석 방법을 도입하는데 기준 지표를 제공할 것으로 기대된다.
현재는 본 연구의 분석 결과를 토대로 Snort[12]와 WinPcap(Windows Packet Capture Library)[13]를 활용하여 하나의 DPI 시스템에 실시간성을 제공하는 분석 방식을 도입하였으며, 향후에는 수집된 패킷들의 페이로드를 조사하는 분석 방식을 모두 구현하고 비교 분석할 계획이 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
패킷은 무엇으로 구성되어있는가?
서로 다른 컴퓨터에 실행하고 있는 응용 프로그램들이 데이터를 교환할 때는, 전체 데이터를 한꺼번에 보내지 않고 일정한 크기로 분할해서 전송한다. 일정한 크기의 데이터는 일반적으로 패킷이라고 불리고 있으며, 패킷은 헤더(header)와 페이로드(payload)로 이루어져 있다.
패킷은 무엇인가?
서로 다른 컴퓨터에 실행하고 있는 응용 프로그램들이 데이터를 교환할 때는, 전체 데이터를 한꺼번에 보내지 않고 일정한 크기로 분할해서 전송한다. 일정한 크기의 데이터는 일반적으로 패킷이라고 불리고 있으며, 패킷은 헤더(header)와 페이로드(payload)로 이루어져 있다.
패킷 헤더 기반 분석 방법의 단점은 무엇인가?
플로우(flow)를 정의하는 기본 단위인 5-tuple(source port, destination port, source ip address, destination ip address, protocol)을 기준으로 트래픽을 분류하고 헤더 정보를 분석한다. 헤더만 분석하기 때문에 속도가 빠르다는 장점이 있지만 실제 데이터를 담고 있는 페이로드를 분석하지 않기 때문에 구체성과 정확성이 부족하다. 두 번째, 패킷 통계 기반 분석 방법은 패킷 크기, 패킷간의 발생시간, 윈도우 크기 등의 플로우의 통계 정보를 기반으로 분석한다.
참고문헌 (13)
S.-C. Seo, N.-Y. Ko, "A traffic analysis of Gigabit Ethernet high-speed network design," Journal of the Korea Institute of Information and Communication Engineering, vol. 6, no. 1, pp.48-54, Feb. 2002.
J.-H. Kim, M.-S Kim, "Research on Traffic Classification based on DNS Packet Analysis," Korean Network Operations and Management Review, vol. 13, no. 2, Oct. 2010
Y.-H. Goo, S.-O. Choi, S.-K. Lee, S.-M. Kim, M.-S. Kim, "A Method for Tracking the Source of Cascading Cyber Attack Traffic Using Network Traffic Analysis," The Journal of Korean Institute of Communications and Information Sciences '16-12, vol. 41 no.12, Dec. 2016.
K.-S. Shim, S.-H. Yoon, M.-S. Kim, "The Payload Signature Management System for Network Management on Real-Time," in Proceedings of Korean Information and Communications Society, the summer conference 2015, Ramada Plaza, Jeju, Jun. 23-25, 2015.
A. Hashmi, H. Berry, O. Temam, and M. Lipasti, "IP traceback based on packet marking and logging," in Proceedings of 2005 IEEE International Conference on Communications, Seoul, South Korea, 2005.
B. K. Kim, S. Y. Yoon, J. T. Oh, and J. S. Jang, "High-Performance Intrusion Detection Technology in FPGA-Based Reconfiguration Hardware," ETRI Electronics and Telecommunications Trends, vol. 22, no. 1, pp. 51-58, Feb. 2007.
Vaddempudi Srinidhi, "Classification of User Behaviour in Mobile Internet", Asia-pacific Journal of Convergent Research Interchange, Asia-pacific Journal of Convergent Research Interchange, vol. 2, no. 2, June (2016), pp. 9-18
J.-H. Sung, K.-H. Kim, T.-G. Kwon, B.-T. Kim, "Efficient Contents Filtering Algorithm with TCAM," in Proceedings of Joint Conference on Communications and Information 2005.
B.-H. Chung, S.-H Ryu, J.-D. Lim, Y.-H. Kim, K.-Y Kim, Intrusion detection method in network system, KR100656403B1, 2006.
Y.-H. Goo, K.-S. Shim, S.-H. Lee, Baraka D. Sjia, M.-S. Kim, "Traffic-Classification Method Using the Correlation of the Network Flow," Journal of Korean Institute of Information Scientists and Engineers, vol. 44, no. 4, pp. 433-438, Apr. 2017.
Y.-H. Goo, S.-H. Lee, K.-S. Shim, W.-S. Jung, S.-M. Kim, M.-S. Kim, "Multi-demensional Application Traffic Analysis using Flow Characteristic," in Proceedings of Korean Information and Communications Society Winter Conference 2017, High1 Resort, Kangwon, Jan. 18-20, 2017.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.