호빗의 인간세상 탐험기

패킷 검사와 DPI 본문

IT이야기

패킷 검사와 DPI

딜레이라마 2017. 1. 24. 22:23
반응형

1. 패킷과 트래픽 관리 

“Deep Packet Inspection”이란 용어 자체에도 담겨 있듯 DPI를 논의하기 위해서는 우선 패킷(packet)에 대한 이해가 필요하다. 일반적으로 패킷은 IP(Internet Protocol) 네트워크 상에서 전송되거나 라우트되는 가장 작은 단위이다. 패킷은 크게 헤더 (header)와 페이로드(payloads)로 구분되며, 헤더는 다시 IP 헤더와 프로토콜 헤더로 나눌 수 있다. [그림 1] 패킷의 구조 자료: Cooper(2011), p.142. IP 헤더는 패킷의 가장 바깥에 있는 부분으로 IP의 출발 주소, 도착 주소 및 패킷의 바이트(byte)2) 단위 길이 등과 같은 정보를 담고 있다. 이는 엽서에서의 주소와 비슷 에 소수의 연결만을 열게 되는 것과 다르다. 초 점 2013/5/1 …26 한 역할을 한다고 볼 수 있으며, 전송의 우선순위와 같은 다른 정보도 포함할 수 있 다. IP 헤더 안쪽으로는 전송계층 헤더가 있는데 여러 가지 전송계층 프로토콜 가운데 TCP가 가장 널리 사용되고 있다. TCP는 패킷이 전달되어야 할 단말단의 주소(포트 라고 부름)를 식별하고 패킷 손실시 오류 검출 정보를 제공하는 기능을 담당하며, TCP 헤더는 착 ․ 발신 포트, 시퀀스 넘버 등으로 구성되어 있다. 예를 들면, 인터넷 상 에서 웹페이지 등을 요청할 때 쓰는 HTTP는 포트 80을, 이메일은 포트 25를 사용한 다. 페이로드는 전송되는 실제 콘텐츠나 데이터를 담고 있는 패킷의 심층 부분을 말한 다. 즉, 이메일 메시지, VoIP 통화 및 웹서핑 세션 등을 구성하는 모든 비트(bits)가 페이로드에 해당한다. 이렇게 구성된 패킷들은 네트워크라는 전송매체를 통해서 전달되는데 ISP들은 네 트워크를 운영하는 과정에서 필요에 따라 트래픽 관리를 시행한다. 유럽전자통신규제 기구인 BEREC(Body of European Regulators for Electronic Communications)은 어느 계층, 어느 네트워크의 위치에서 트래픽 관리가 이뤄지는지에 따라 트래픽 관리 를 세 가지로 분류하고 있다. 

트래픽 관리 타입 1은 네트워크 끝단이든 네트워크 내부 노드든 관계없이 네트워크 계층에서 이뤄지는 트래픽 관리를 말한다. 트래픽 관리 타입 2, 3은 애플리케이션 계 층에서 이뤄지는 트래픽 관리로, 트래픽 관리 타입 2는 네트워크 끝단에서, 트래픽 관 리 타입 3은 네트워크 내부 노드에서 실행된다. 트래픽 관리 타입 1은 패킷 헤더의 도착 주소나 다른 비슷한 정보에 기반하여 IP 패킷을 네트워크 상에서 다른 링크로 라우팅(routing)이나 포워딩(forwarding)하는 것을 말한다. 대표적으로 DiffServ3)나 MPLS4) 등이 있다. 트래픽 관리 타입 2는 혼잡 제어(Congestion Control)나 동적 적응 부호화(Dynamic Adaptive Coding)와 같은 기능을 포함한다. 예를 들어, 혼잡제어5)는 네트워크가 혼잡해지면 끝단에서 전송속도 를 줄여서 상황이 심화되는 것을 막는 역할을 한다. 트래픽 관리 타입 3은 트래픽 필 터링, 트래픽 변경 및 비슷한 다른 용어로 지칭되는 기술들을 포함한다. 이 단계는 패 킷의 가장 심층 부분을 검사하기 때문에 DPI로 불리기도 하며, 미리 지정된 트래픽 관리정책에 따라 개별 IP 패킷이 분류, 전달, 지연 및 폐기된다. 


2. 패킷 검사의 분류

데이터는 전송될 때 분할, 암호화, 압축 및 포장되어 전달된 뒤, 다시 포장을 풀고, 암호를 풀고, 압축을 풀고, 분할된 것을 다시 조립하는 과정을 거친다. 이러한 과정은 일반적으로 OSI(Open System Interconnection) 계층으로 불리는 네트워크 참조모델 3) DiffServ는 Differentiated Service(차등화 서비스)의 약자로 미리 정의된 서비스 품질 수준에 따라 트래픽을 클래스별로 구분하여 우대 처리하는 기술로 구현이 용이하고 확장성이 용이한 프로토콜 이다. 4) MPLS는 Multi Protocol Label Switching(다중 프로토콜 레벨 스위칭)의 약자로 인터넷의 백본망 등에서 대량의 트래픽을 고속으로 처리하기 위해 매 라우터마다 패킷의 헤더를 조사하여 다음 라 우터로 경로를 설정하는 것이 아니라 MPLS망에 진입하는 시점에서 단 한번만 헤더를 조사하고 우편번호와 같이 짧은 라벨을 이용하여 경로를 설정하는 방식을 말한다. 5) 혼잡제어(Congestion Control)는 혼잡관리(Congestion Management)의 한 종류이다. 혼잡관리는 이용자의 PC 같은 끝단이나 네트워크 내부의 노드에서 실행될 수 있으며, 네트워크 끝단에서 진행 되는 경우를 혼잡관리라고 한다. 초 점 2013/5/1 …28 (Reference Model)로 구현된다. 이 OSI 계층과 패킷의 구조를 연관지어 보면, 헤더는 1~4계층까지, 페이로드는 5계층 이상에 해당한다. 이러한 맥락에서 패킷 검사는 네트워크 계층의 어느 부분까지를 살펴보는 지로 세 분화할 수 있는데, 그 세분화 정도에 있어 명확히 정해진 것은 없다. Parsons(2008)은 3단계로 구분하며, Cooper(2010)은 2단계로 나누기도 한다. 본고는 Parsons(2008)의 분류를 기준으로 살펴보도록 한다. 3단계의 패킷 분석은 단층 패킷 분석(Shallow Packet Inspection 또는 Stateful Packet Inspection, SPI), 중층 패킷 분석(Medium Packet Inspection, MPI), 심층 패킷 분석(Deep Packet Inspection, DPI)을 가리킨다. SPI, MPI 및 DPI를 앞에서 나온 OSI 계층과 연관시키면, 다음과 같이 도식화할 수 있다.

SPI는 주로 네트워크 방화벽(firewall) 시스템을 위해 개발되어 온 기술로 패킷의 헤 더 정보를 조사하고 이들 정보가 블랙리스트에 있으면 패킷을 전달하지 않는다. 즉, SPI는 세션 및 프리젠테이션이나 애플리케이션 계층을 읽을 수 없고, 이는 패킷의 페 이로드 부분까지 들여다 볼 수 없음을 의미한다. 패킷의 헤더 정보만을 통해 트래픽을 판단하기 때문에 트래픽에 대한 정교한 분석(특히, 애플리케이션 관련 추론)은 어렵 지만, DPI에 비해 대용량의 트래픽을 매우 빠르게 처리할 수 있다. MPI는 애플리케이션 프락시(Application Proxies)를 의미하는데, 이는 데이터를 가 져올 때 해당 사이트에서 바로 PC로 가져오는 것이 아니라 프락시라는 임시 저장소 를 거쳐서 가져오기 때문이다. 패킷이 프락시 장비로 들어오면 프락시 장비는 패킷 헤더의 정보를 파스리스트(parse-list)에 따라서 검토한다. 애플리케이션 프락시는 네 트워크 라우팅 장비와 함께 일렬로 놓이는데, 이는 네트워크를 지나는 모든 트래픽이 프락시 장비를 거쳐 감으로써 네트워크 관리자가 미리 정해놓은 규칙을 일괄적으로 적용하기 위해서이다. 초 점 2013/5/1 …30 패킷의 전송 허용여부를 판단함에 있어 SPI의 블랙리스트는 IP 주소만을 보는데 반 해, MPI의 파스리스트는 특정 패킷의 전송여부를 데이터 포맷의 종류와 인터넷에서 의 위치에 기반하여 결정한다. 예를 들면, MPI 장비를 사용해 관리자는 YouTube로 부터의 플래시 파일이나 SNS에서의 이미지 파일이 클라이언트 컴퓨터에서 열리지 않 도록 할 수 있다. 한편 MPI 장비들은 확장성이 떨어져서 애플리케이션이 다양해질수 록 각 애플리케이션에 대한 별도 애플리케이션 게이트웨이를 필요로 한다. 이는 전송 속도를 지연시키는 요인으로 작용할 수 있기 때문에 다양한 애플리케이션이 구현되는 대규모의 네트워크를 운영하는 ISP에게는 유용성이 떨어진다고 할 수 있다. 6) DPI는 2000년경부터 나오기 시작한 개념으로, 표준화된 기술이 아니어서 그 의미 가 다소 유동적이다. 일반적으로 패킷의 헤더뿐만 아니라 콘텐츠가 담긴 페이로드부 분까지 보는 기술로 알려져 있지만 이를 어떻게 구현하는지는 DPI 벤더간 차별화 요 소로 대부분 밝혀지지 않고 있다. 애플리케이션 식별에 한계가 있는 SPI 및 MPI와 달리 DPI는 매초에 수십만 건을 실시간으로 처리하며, 무슨 프로그램이 어떠한 패킷 을 생성하는지 판단할 수 있도록 고안되었기 때문에 대규모 네트워크 환경에서 사용 될 수 있다. DPI 장비는 이미 식별된 패킷의 종류에 매칭시킬 수 있는 충분한 정보를 가질 때까 지 수십만의 패킷을 검사 장비의 메모리에 저장한다. 일단 새로운 패킷이 이미 장비에 의해 식별된 패킷 리스트에 매칭되면, 장비는 무슨 애플리케이션이 패킷을 생성하고 보내는지를 알게 되고 패킷 전송을 허용할지 말지의 규칙을 적용한다. 7) 만일 DPI 장 비가 패킷 헤더와 페이로드 부분까지 검사를 해도 애플리케이션을 식별할 수 없으면, DPI 장비는 컴퓨터간에 패킷이 어떻게 교환되는지 그 패턴을 검토한다. 


출처 : 인터넷 트래픽 관리와 DPI(Deep Packet Inspection)) 강유리

반응형

'IT이야기' 카테고리의 다른 글

네트워크 보안  (0) 2017.02.06
운영체제  (0) 2017.02.02
사물인터넷(IoT) 발전과 보안의 패러다임변화  (0) 2017.01.22
JAVA 쓰레드  (0) 2017.01.19
안드로이드 레이아웃  (0) 2017.01.11
Comments