KR20070122045A - 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치 - Google Patents

실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20070122045A
KR20070122045A KR20060057011A KR20060057011A KR20070122045A KR 20070122045 A KR20070122045 A KR 20070122045A KR 20060057011 A KR20060057011 A KR 20060057011A KR 20060057011 A KR20060057011 A KR 20060057011A KR 20070122045 A KR20070122045 A KR 20070122045A
Authority
KR
South Korea
Prior art keywords
session
packet
information
hash
state
Prior art date
Application number
KR20060057011A
Other languages
English (en)
Other versions
KR100834570B1 (ko
Inventor
오진태
윤승용
장종수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020060057011A priority Critical patent/KR100834570B1/ko
Publication of KR20070122045A publication Critical patent/KR20070122045A/ko
Application granted granted Critical
Publication of KR100834570B1 publication Critical patent/KR100834570B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0254Stateful filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/14Network-specific arrangements or communication protocols supporting networked applications for session management

Abstract

본 발명은 상태정보를 보다 효율적으로 생성할 수 있는 세션 테이블 처리 방법을 통하여 실시간으로 상태 기반 패킷 검사를 행할 수 있는 방법 및 이를 위한 장치에 관한 것으로서, 이를 위한 상태 기반 패킷 검사장치는 외부 네트워크로부터 입력되는 패킷의 세션 데이터를 저장하는 세션 테이블, 상기 수신된 패킷으로부터 추출되는 파라미터를 해시하여 상기 패킷에 대응하는 상기 세션 테이블의 해시 포인터를 생성하는 해시키 생성기, 수신된 패킷에 대응하는 세션에 대한 상기 세션 테이블을 검색하는데 사용되는 세션 인식 모듈, 상기 세션 테이블에 세션을 추가하고, 삭제하며, 변경하는 것을 포함하는 상기 세션 테이블을 유지하는데 사용되는 세션 관리 모듈, 및, 수신된 패킷의 방향성에 대한 정보와, 상기 세션 테이블에 저장된 상기 패킷에 대한 엔트리의 해더정보로부터 상기 패킷에 대응하는 상태 정보를 생성한 다음, 이에 기초하여 상기 수신된 패킷을 검사하도록 동작되는 패킷 검사 모듈을 포함하여 구성된다.
실시간 상태 기반 패킷 검사, 세션 테이블 관리

Description

실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치{REALTIME STATEFUL PACKET INSPECTION METHOD AND APPARATUS FOR THEREOF}

도 1은 본 발명에 바람직한 일 실시예에 따른 상태 기반 패킷 검사장치의 개략적인 구성을 예시하는 블럭도이다.

도 2는 본 발명의 또 다른 실시예에 따른 해시키 생성기(100)에 있어서, 하나의 패킷이 해당 세션에서 갖는 방향성 정보를 처리하는 방법을 개략적으로 설명하기 위한 도면이다.

도 3은 세션 엔트리 상의 현 상태 파트에 저장되는 정보를 설명하기 위한 도면이다.

도 4는 클라이언트와 서버간의 일반적인 TCP 연결 설정 및 종료 과정을 개략적으로 나타내기 위한 흐름도이다.

도 5a는 세션 엔트리 상의 현상태 정보 파트에 저장된 3비트 정보 및 상기 정보에 포함되어 있는 상태와의 관계를 설명하기 위한 도면이다.

도 5b는 상기 도 5a의 현상태 정보 파트에 저장된 정보와 입력 패킷의 상태와의 관계를 설명하기 위한 상태 전이도이다.

도 6은 Position_change_flag 값과 현상태 파트에 저장되어 있는 정보값으로부터 상태 정보를 생성하는 과정을 설명하기 위한 도면이다.

도 7은 본 발명의 또 다른 실시예에 따른 패킷 처리 과정을 개략적으로 나타내는 흐름도이다.

본 발명은 상태정보를 보다 효율적으로 생성할 수 있는 세션 테이블 처리 방법을 통하여 실시간으로 상태 기반 패킷 검사를 행할 수 있는 방법 및 이를 위한 장치를 제공한다.

네트워크 보안 분야에서 상태 기반 패킷 검사기술은 기존에 하나하나의 패킷 단위로 검사하는 것을 확장하여 일련의 패킷 흐름, 즉 세션 혹은 커넥션 단위로 추적하여 검사하는 것을 말한다. 예를 들면, 상태기반 방화벽(Stateful Firewall)은 TCP SYN 패킷이 선행되지 않은 세션의 TCP ACK 패킷을 효과적으로 차단할 수 있다. 이러한 세션 혹은 커넥션 단위의 추적 및 검사는 Stateful Firewall 뿐만 아니라 VPN(Virtual Private Network), 트래픽 모니터링(Traffic Monotoring), 트래픽 로드 밸런싱(Traffic Load Balancing), 어카운팅 및 과금(Accounting and Charging), 네크워크 침입 탐지 시스템(NIDS: Network Intrusion Detection System) 및 네트워크 침입 방지 시스템(NIPS: Network Intrusion Prevention System)에 다양하게 응용되고 있다.

그러나 최근 기가급 네트워크 환경으로의 급속한 진화는 기존의 상태 기반 패킷 검사(Stateful Packet Inspection) 장비에게 보다 향상된 기능 및 성능을 요 구하고 있다. 상태 기반 패킷 검사를 위해서는 기본적으로 소스 및 목적지의 IP 주소와 Port 번호를 저장하는 세션 테이블이 필요하다. 입력되는 각각의 패킷에 대해 세션 테이블에 해당 엔트리가 존재하는지를 검사하여 실시간으로 패킷 검사가 이루어져야 한다. 이 때, 관리하는 세션의 수가 100만 세션 이상으로 증가하여도 유선 속도의 실시간 패킷 처리를 통한 패킷 지연이나 손실이 없어야 한다.

이러한 요구 사항은 기존에 개발된 소프트웨어 기반 솔루션으로는 해결할 수 없다. 분산 시스템을 이용한 소프트웨어적인 기법이 시도되기도 하였으나, 관리하는 세션 수가 증가함에 따라 처리 속도가 증가하여 결국 성능 문제를 야기하고 있다. 따라서 소프트웨어 기반의 솔루션으로는 유선 속도를 보장하는 실시간 패킷 검사는 불가능하다.

이를 해결하기 위해 하드웨어 기반의 솔루션들이 개발되고 있다. 상태 기반 패킷 검사 장비의 성능은 크게 세션 테이블 처리를 통한 상태 정보(State Information) 생성 과정과 이 상태 정보를 이용한 패킷 검사 과정에 달려 있다. 패킷 검사 과정은 이미 활발한 연구가 이루어져 병렬 블룸 필터(Parallel Bloom Filter)와 같은 좋은 해결책들이 개발되었으나, 세션 테이블 처리를 통한 상태 정보 생성 과정에 대한 연구는 미흡한 실정이다.

본 발명은 상기한 바와 같은 필요성에 의해 안출된 것으로서, 상태정보를 보다 효율적으로 생성할 수 있는 세션 테이블 처리 방법을 제공함으로써, 이를 통하여 실시간으로 상태 기반 패킷 검사를 행할 수 있는 방법 및 이를 위한 장치를 제 공하는 것을 목적으로 한다.

상기한 목적을 실현하기 위한 본 발명의 일 실시예에 따른 상태 기반 패킷 검사 장치는,

외부 네트워크로부터 입력되는 패킷의 세션 데이터를 저장하는 세션 테이블;

상기 수신된 패킷으로부터 추출되는 파라미터를 해시하여 상기 패킷에 대응하는 상기 세션 테이블의 해시 포인터를 생성하는 해시키 생성기;

수신된 패킷에 대응하는 세션에 대한 상기 세션 테이블을 검색하는데 사용되는 세션 인식 모듈;

상기 세션 테이블에 세션을 추가하고, 삭제하며, 변경하는 것을 포함하는 상기 세션 테이블을 유지하는데 사용되는 세션 관리 모듈; 및,

수신된 패킷의 방향성에 대한 정보와, 상기 세션 테이블에 저장된 상기 패킷에 대한 엔트리의 해더정보로부터 상기 패킷에 대응하는 상태 정보를 생성한 다음, 이에 기초하여 상기 수신된 패킷을 검사하도록 동작되는 패킷 검사 모듈을 포함하여 구성된다.

또한, 본 발명의 또 다른 실시예에 따른 디지털 컴퓨팅 기기는,

외부 네트워크로부터 패킷을 수신하기 위하여 사용되는 통신 수단;

휘발성 메모리와 하나 이상의 어플리케이션 프로그램을 저장하는데 사용되는 비휘발성 메모리를 포함하는 메모리 수단;

상기 하나 이상의 어플리케이션 프로그램을 실행하기 위해 상기 메모리 수단과 상기 통신 수단에 결합되는 프로세서; 및,

입력 패킷 스트림을 필터링하기 위한 상태 기반 패킷 검사장치를 포함하여 구성되는데, 여기에서 상기 상태 기반 패킷 검사장치는,

외부 네트워크로부터 입력되는 패킷의 세션 데이터를 저장하는 세션 테이블, 상기 수신된 패킷으로부터 추출되는 파라미터를 해시하여 상기 패킷에 대응하는 상기 세션 테이블의 해시 포인터를 생성하는 해시키 생성기, 수신된 패킷에 대응하는 세션에 대한 상기 세션 테이블을 검색하는데 사용되는 세션 인식 모듈, 상기 세션 테이블에 세션을 추가하고, 삭제하며, 변경하는 것을 포함하는 상기 세션 테이블을 유지하는데 사용되는 세션 관리 모듈, 및, 수신된 패킷의 방향성에 대한 정보와, 상기 세션 테이블에 저장된 상기 패킷에 대한 엔트리의 해더정보로부터 상기 패킷에 대응하는 상태 정보를 생성한 다음, 이에 기초하여 상기 수신된 패킷을 검사하도록 동작되는 패킷 검사 모듈을 포함하여 구성된다.

본 발명은 하드웨어에서 실행되도록 의도되어 있으나, 소프트웨어에서도 또한 실행될 수 있다. 일 실시예로, 프로세서, 메모리 등을 포함하는 컴퓨터는 본 발명의 상태 기반 패킷 검사 방법을 수행하는데 사용되는 소프트웨어를 실행하도록 동작된다.

본 발명의 또 다른 실시예에 따른 상태 기반 패킷 검사 방법은,

외부 네트워크로부터 패킷을 수신하는 단계;

해시 충돌을 허용하는 각각의 해시 테이블의 해시셋을 포인트하는 인덱스를 생성하는 제1 해시함수와, 상기 해시셋 내에서 각각의 세션 엔트리를 구별하는데 사용되는 해시 어드레스를 생성하는 제2 해시함수를 이용하여, 상기 수신된 패킷을 세션 테이블에 구축하는 단계;

상기 수신된 패킷의 방향성에 대한 정보 및 상기 세션 테이블에 구축된 패킷의 세션 데이터 정보로부터 상기 패킷의 상태 정보를 생성하는 단계; 및,

상기 상태 정보에 기초하여 패킷 검사를 행하는 단계를 포함하여 구성된다.

또한, 본 발명에 따르면, 컴퓨터 프로그램이 적절히 프로그램된 시스템 상에서 실행될 때, 외부 네트워크로부터 패킷을 수신하는 단계;

해시 충돌을 허용하는 각각의 해시 테이블의 해시셋을 포인트하는 인덱스를 생성하는 제1 해시함수와, 상기 해시셋 내에서 각각의 세션 엔트리를 구별하는데 사용되는 해시 어드레스를 생성하는 제2 해시함수를 이용하여, 상기 수신된 패킷을 세션 테이블에 구축하는 단계;

상기 수신된 패킷의 방향성에 대한 정보 및 상기 세션 테이블에 구축된 패킷의 세션 데이터 정보로부터 상기 패킷의 상태 정보를 생성하는 단계; 및,

상기 상태 정보에 기초하여 패킷 검사를 행하는 단계를 실행함으로써, 상기 적절하게 프로그램된 시스템이 다수의 스트링을 검색하도록 구현되는 컴퓨터 프로그램을 갖는 컴퓨터 판독가능한 저장매체가 제공된다.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 본 발명은 본 명세서에서 첨부도면을 단지 예로써 참조하여 설명되고 있다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.

도 1은 본 발명의 바람직한 일 실시예에 따른 상태 기반 패킷 검사장치의 개략적인 구성을 예시하는 블럭도이다.

도 1을 참조하면, 상기 상태 기반 패킷 검사장치는 해시키 생성기(100), 세션 테이블(200), 세션 인식 모듈(30), 세션 관리 모듈(40), 및, 패킷 검사모듈(50)을 포함하여 구성된다. 이때 상기 도 1에는 도시하지 않았느나 상기 상태 기반 패킷 검사장치는 버스 인터페이스를 통하여, 외부 네트워크로부터 패킷을 수신하기 위하여 사용되는 통신 수단, 휘발성 메모리와 하나 이상의 어플리케이션 프로그램을 저장하는데 사용되는 비휘발성 메모리를 포함하는 메모리 수단, 및, 상기 하나 이상의 어플리케이션 프로그램을 실행하기 위해 상기 메모리 수단과 상기 통신 수단에 결합되는 프로세서와 교신할 수 있다.

상기 본 발명에 따른 세션 테이블(200)에는 해시키 생성기(hash key generator)(100)에 의하여 인덱스되고 관리되는 세션 엔트리(230)들이 저장되어 있다.

상기 해시키 생성기(100)는 수신된 새로운 패킷을 해시하기 위한 정보로서 소스 IP 주소(Src_ip), 목적지 IP 주소(Dst_ip), 소스 포트(Src_port) 및 목적지 포트(Dst_port)인 4-튜플(Tuple) 정보를 입력받는다. 이러한 정보는 패킷을 입력받은 패킷 파서(미도시)에 의하여 추출된다. 해시키 생성기(100)는 상기 입력받은 4-tuple 정보에 기초하여 해당 패킷에 대한 세션 엔트리를 인덱스하고 관리한다.

본 발명은 입력 패킷 스트림(input packet stream)을 통해 수신되는 패킷에 대하여 상태 기반 패킷 검사를 행한다. 이때 본 명세서에서는 본 발명을 용이하게 설명하기 위하여 입력 데이터 스트림으로서 패킷을 예시하여 기재하고 있는 것에 불과한 것으로서, 본 발명에 적용가능한 입력 스트림으로는 특정 어플리케이션에 따라서 프레임(frams), 패킷(packets), 바이트(bytes), PDUs 등과 같은 임의 형태의 입력 데이터를 포함하여 생각할 수 있다.

상기 도 1에는 본 발명에 적용가능한 상기 해시키 생성기(100)의 바람직한 실시예로서 2개의 서로 다른 해시 함수 Hash1(x)(110)와 Hash2(x)(120)를 갖는 2중 해시 구조가 도시되어 있다. 상기 Hash1(x)(110) 함수와 Hash2(x)(120) 함수로는 당업계에서 패킷을 해시하는데 사용되는 것으로 알려진 함수들, 예컨대 XOR함수나 CRC 함수 등이 당업자의 선택에 의하여 사용될 수 있다. 상기 해시 함수 중에서 Hash1(x)은 보다 빠른 세션 테이블 검색을 위하여, 해시 충돌(Hash Collision)을 허용하는 각각의 해시셋(Hash Set)을 포인트하는 인덱스를 생성하는데 사용된다. 다른 해시 함수인 Hash2(x)는 Hash1(x)에 의해 포인트 되어진 해시셋 중에서 각각의 세션 엔트리를 구별하는데 사용되는 해시 어드레스(Hash Address)를 생성하는데 사용된다. 본 발명에 적용 가능한 바람직한 세션 테이블은 2개 이상의 SRAM 메모리 장치일 수 있다. 보다 빠른 세션 테이블 검색을 위해 Hash1(x)에 의해 생성된 해시셋 인덱스를 이용하여 SRAM #1(210)과 SRAM #2(220)로 구성된 세션 테이블(200)을 동시에 병렬적으로 접근할 수 있다.

상기 세션 테이블(200)은 외부 네트워크로부터 입력되는 패킷들에 대한 세션 데이터를 저장한다. 본 발명에 적용가능한 상기 세션 테이블(200)의 바람직한 실시예로서 세션 테이블의 각 해시셋 내에 N개의 세션 엔트리를 포함할 수 있는 구조(N-Way Set Associative Session Table 구조)가 도시되어 있다. 특히, 도 1에 도시되어 있는 상기 세션 테이블(200)은 하나의 세션 엔트리가 각각 32비트 길이를 갖는 64메가비트의 SRAM 메모리 2개를 이용하여 32-Way Set Associative Session Table을 구성하는 것으로 도시되어 있다. 그러나 이러한 구성은 어디까지나 하나의 일실시예를 보인것으로 구성은 자유롭게 확장될 수 있다.

상기 세션 테이블에 저장되어 있는 세션 엔트리(230)에는 현 상태(Current State), 타임 스탬프(Time Stamp) 및 해시 어드레스(Hash Address) 파트로 구성된다. 현 상태 파트는 현재 해당 세션의 연결 상태 정보를 포함하고 있고, 타임 스탬프는 세션 테이블이 다 찬 경우(Full)에 어떤 세션 엔트리를 삭제할 것인가를 결정하는데 이용되고, 해시 어드레스는 동일한 해시셋 안에서 각각의 세션 엔트리를 구별하기 위해 사용된다. 여기서 타임 스탬프는 내부 타이머에 의해 해당 세션이 접근 될 때마다 갱신된다. 세션 테이블의 해시셋이 다 차서 더 이상 해당 해시셋에 새로운 세션을 할당할 수 없게 된다면, 현재 타이머의 시간과 세션 엔트리의 타임 스탬프를 비교하여 가장 오래된 세션을 새로운 세션으로 대체한다. 즉 LRU(Least Recently Used) 알고리즘을 적용한다. 또한 TCP 세션 중에는 RST이나 FIN 패킷을 보내지 않고 종료되는 경우가 발생하면, 세션 엔트리의 타임 스탬프를 이용하여 관리자가 정해놓은 특정 타임아웃(Timeout) 임계치를 넘었을때 해당 세션 엔트리를 바로 삭제하므로써, RST나 FIN 패킷을 보내지 않고 종료되는 경우에 발생된 세션을 세션 테이블에서 적극적으로 제거하게 된다.

상기 세션 테이블(200)이 다 찬 경우에, 즉 해당 해시셋이 다 차서 기존의 세션 중에 아직 종료가 되지 않은 것이 새로운 세션으로 대체되면 잘못된 상태 정보(Sate Information)를 생성하게 되므로, 세션 테이블 관리 기법에 있어서 세션이 풀-아웃(Full Out) 될 확률은 아주 중요하다. 세션 테이블 각각의 해시셋에 할당되는 세션의 개수 분포는 수학식 1과 같은 정규분포를 따른다.

Figure 112006044671237-PAT00001

이를 수학식 2와 3을 이용하여 표준화 한 후, 32-Way Set Associative Session Table에서 세션이 Full Out 될 확률을 계산하면, P{X>32} = P{Z>8.3} 이다. 이것은 8.3 시그마로 거의 0 %에 가깝다.

Figure 112006044671237-PAT00002

Figure 112006044671237-PAT00003

세션 인식 모듈(30)은 수신된 패킷에 대응하여 세션 테이블(200)을 검색한다. 상기 세션 인식 모듈(30)은 인식되는 세션과 연관된 해시값을 계산하기 위하여 상기 해시키 생성기(100)를 통하여 계산된 해시 포인터를 찾은 다음, 상기 해시 포인터에 따라 상기 세션 테이블(200)로부터 상기 세션 엔트리를 검색한다.

세션 관리 모듈(40)은 상기 세션 테이블(200)을 유지하기 위하여 상기 세션 테이블(200)에 세션을 추가, 삭제, 및 변경하는 작업을 수행한다. 이를 위하여 상기 세션 관리 모듈(40)은 상기 세션 인식 모듈(30)과 같이 해시키 생성기(100)를 사용하여 세션 엔트리를 검색하고, 수신된 패킷을 상기 세션 테이블(200)에 삽입하거나, 상기 세션테이블(200)에 저장된 세션을 삭제한다.

패킷 검사 모듈(50)은, 수신된 패킷의 방향성에 대한 정보와, 상기 세션 테이블에 저장된 상기 패킷에 대한 엔트리의 해더정보(230)로부터 상기 패킷에 대응하는 상태 정보를 생성한 다음, 이에 기초하여 상기 수신된 패킷을 검사한다.

도 2는 본 발명의 또 다른 실시예에 따른 해시키 생성기(100)에 있어서, 하나의 패킷이 해당 세션에서 갖는 방향성 정보를 처리하는 방법을 개략적으로 설명하기 위한 도면이다. 네트워크상에서 전달되는 패킷은 해당 세션에서 방향성 즉, 클라이언트에서 서버로 가는 패킷인지, 혹은 서버에서 클라이언트로 가는 패킷인지에 대한 정보를 갖는다. 이러한 정보는 네트워크 침입 탐지나 방지 시스템에서 아주 유용하게 사용된다. 그러나 방향성에 따라서 동일한 세션에 속한 패킷의 해시 어드레스가 달라질 수 있기 때문에, 상기 세션 테이블에서 해당 세션을 검색하는데 상당한 혼란이 야기될 수 있다는 문제가 있다. 이처럼 방향성에 따라 해시 어드레스가 달라지는 것을 방지하기 위하여, 상기 본 발명의 실시예에 따른 해시키 생성기(100)에서는 소스 IP 주소와 목적지 IP 주소의 크기를 비교한 다음 항상 작은 것이 앞에 오도록 4-튜플값을 수정한다. 이때, 이러한 자리 바꿈이 있었는지 여부를 판단할 수 있도록 하기 위하여, 특정 플래그, 예컨대 Position_change_flag에 상기 자리 바꿈이 있었다면 1, 자리 바꿈이 없었다면 0값을 할당한다. 이러한 Position_change_flag의 정보는 현 상태(Current State) 정보와 함께 상태정보를 생성할 때, 유용하게 활용된다.

도 3은 세션 엔트리 상의 현 상태 파트에 저장되는 정보를 설명하기 위한 도면이다. 본 발명에 적용할 수 있는 바람직한 실시예에 있어서, 현 상태(Current State) 파트는 32비트인 세션 엔트리 상에서 총 3비트로 구성되어 있다.

첫 번째 비트는 세션의 연결 설정 정보를 나타내는데, 예컨대, 도 3에서는 클라이언트와 서버간의 세션연결이 설정된(Established) 상태이면 상기 비트의 값이 1이고, 설정되지 않은 상태(Not Established) 상태이면 0의 값을 갖는다고 설정되어 있다. 그러나, 본 발명은 이에 제한되지 않으며, 당업자의 선택에 의하여 반 대의 값을 갖도록 설정하는 것도 가능하다.

두 번째 비트는 세션이 세션 테이블에 등록될 때 소스와 목적지가 뒤바뀌었는지를 알려주기 위한 정보로서, 상기 도 2에 개시된 Position_change_flag에 저장된 값과는 구별된다. 상기 두 번째 비트에 저장되는 정보와 상기 Position_change_flag에 저장된 정보의 차이에 관해서는 하기 도 6에서 보다 상세하게 설명한다.

세 번째 비트는 연결 상태가 절반 닫힌(Half-Closed) 상태인지 아닌지를 알려주기 위한 정보이다. 세션의 연결 상태가 절반 닫힌(Half-Closed) 상태에서 두 번째 FIN 패킷을 받아야만 세션은 종료된다. 세션이 절반 닫힌된 상태이면 상기 비트의 값이 1이고, 절반 닫히지 않은 상태이면 0의 값을 갖도록 설정되어 있으나, 본 발명은 이에 제한되지 않으며, 세션의 연결 설정 정보에 대하여 도 3에 개시된 값과 반대의 값을 갖도록 설정하는 것도 가능하다.

도 4는 클라이언트와 서버간의 일반적인 TCP 연결 설정 및 종료 과정을 개략적으로 나타내기 위한 흐름도이다.

TCP 연결 설정(500)은 3단계 핸드쉐이킹(3-Way Handshaking)을 통해 이루어진다. 먼저 클라이언트에서 서버로 SYN 패킷을 보내 새로운 연결 설정을 요청하면 서버는 SYN/ACK 패킷으로 응답하고, 다음으로 클라이언트는 이에 대한 응답으로 ACK 패킷을 보내 최종 연결 설정이 이루어진다.

TCP 연결 종료 과정(510)은 RST 패킷이나 FIN 패킷을 통해 이루어진다. 특 히, FIN 패킷은 4단계 핸드쉐이킹(4-Way Handshaking) 과정을 통해 전송되는데, 클라이언트나 서버의 어느 한쪽에서 FIN 패킷을 보내면 상대방은 이에 대한 응답으로 ACK 패킷을 보낸다. 이 첫 번째 패킷을 받을 상태가 절반 닫힌 상태이고, 이 상태에서 두 번째 FIN 패킷이 전송되면, 이에 대한 응답으로 ACK 패킷이 전송되면서 비로서 TCP 세션이 연결 종료된다.

도 5a는 세션 엔트리 상의 현상태 정보 파트에 저장된 3비트 정보 및 상기 정보에 포함되어 있는 상태와의 관계를 설명하기 위한 표이고, 도 5b는 상기 도 5a의 현상태 정보 파트에 저장된 정보와 입력 패킷의 상태와의 관계를 설명하기 위한 상태 전이도이다.

클라이언트와 서버간의 세션이 연결되지 않은 초기 상태에서는 현상태 정보가 '000'이다. 이때 도 3에 도시된 바와 같이 TCP 세션을 설정하기 위하여 클라이언트로부터 SYN 패킷이 서버로 전송되면 상기 현상태 정보는 '001'로 전이되고, 이후 SYN/ACK 패킷이 전송되면 '010'으로 전이된다.

'010' 상태에서 TCP 3단계 핸드쉐이킹 과정의 마지막 ACK 패킷이 전송되면, 앞에서 기술한 바와 같이 소스와 목적지의 크기를 비교하여 위치가 뒤바뀌면 '110' 상태로 전이되고, 바뀌지 않으면 '100' 상태로 전이된다. '110' 상태에서 TCP 종료를 위한 첫 번째 FIN 패킷이 전송되면 '111' 상태로 전이되고, 이 후 두 번째 FIN 패킷이 전송되면 초기 상태인 '000'로 전이된다. 만약 '100' 상태에서 첫 번째 FIN 패킷이 전송되면 '101' 상태로 전이되고, 이 후 두 번째 FIN 패킷이 전송되면 초기 상태인 '000'로 전이된다. 즉, '110', '100', '101' 및 '111' 상태에서 TCP 종료를 위한 RST 패킷이 전송되면 모두 초기 상태인 '000'로 전이된다.

도 6은 Position_change_flag 값과 현상태 파트에 저장되어 있는 정보값으로부터 상태 정보를 생성하는 과정을 설명하기 위한 도면이다.

상태 정보는 기본적으로 현 상태(Current State) 정보를 이용하여 생성하는데, Position_change_flag의 정보와 결합하여 패킷의 방향성을 결정한다. 예컨대, Position_change_flag가 0일 때 현 상태(Current State) 정보가 100 혹은 101이면 현재 패킷의 소스와 목적지가 뒤바뀌지 않았고, 해당 세션이 등록될 때에도 소스와 패킷이 뒤바뀌지 않은 상태, 즉 클라이언트에서 서버로 가는 방향성을 갖는 상태에서 세션이 등록되었으므로 상태 정보의 방향성은 클라이언트에서 서버로 가는 패킷이다. 그러나 Position_change_flag가 1일 때 현 상태(Current State) 정보가 100 혹은 101이면 현재 패킷의 소스와 목적지가 뒤바뀌었고, 해당 세션이 등록될 때에는 소스와 패킷이 뒤바뀌지 않은 상태, 즉 클라이언트에서 서버로 가는 방향성을 갖는 상태에서 세션이 등록되었으므로 상태 정보의 방향성은 그 반대인 서버에서 클라이언트로 가는 패킷이다

도 7은 본 발명의 또 다른 실시예에 따른 패킷 처리 과정을 개략적으로 나타내는 흐름도이다.

먼저 패킷이 입력되면, 상기 패킷으로부터 추출되는 4-Tuple 정보를 이용하 여 해시키값을 생성한 다음(901), 생성된 상기 해시키값을 이용하여 세션 테이블을 검색한다(902).

상기 세션 테이블에 대한 검색 결과, 해당 세션이 테이블에 존재하면(903) 세션 엔트리 정보를 업데이트 하고(904), 해당 세션이 테이블에 존재하지 않으면 현재 패킷이 SYN 패킷인 경우에만(905) 새로운 세션을 생성한다. 이때 새로운 세션을 생성하고자 하는 세션 테이블이 다 찬 상태이면(906), 가장 오래된 세션 엔트리를 LRU알고리즘을 적용하여 선택한 후, 새로운 세션으로 대체하고(907), 다 찬 상태가 아니면, 세션 테이블에 새로운 세션을 생성한다(908).

상술한 바와 같이 수신된 패킷에 대한 세션 테이블을 구축하였다면, 상기 패킷에 대한 상태 정보를 생성한다(909). 이때, 상기 패킷으로부터 상태 정보를 생성하기 위하여 상기 도 5a 및 5b에 기재된 방법을 사용하는 것이 바람직하다.

다음으로, 이렇게 생성된 상태 정보에 기초하여 상기 패킷에 대한 검사를 행한다(910). 상태정보는 패킷 검사를 수행할 때 참조되는 유용한 정보로써, 방화벽에서는 패킷 필터링(Packet Filtering)에 이용되며, 침입 탐지 및 방지 시스템에서는 보다 정확한 패킷 검사에 이용된다. 패킷 검사에 상태 정보를 참조함으로써 상태 기반 패킷 검사라는 용어를 사용하는 것이다.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.

본 발명에 의하면 상태정보를 보다 효율적으로 생성할 수 있는 세션 테이블 처리함으로써, 이를 통하여 실시간으로 상태 기반 패킷 검사를 행할 수 있게 된다.

Claims (26)

  1. 외부 네트워크로부터 입력되는 패킷의 세션 데이터를 저장하는 세션 테이블;
    상기 수신된 패킷으로부터 추출되는 파라미터를 해시하여 상기 패킷에 대응하는 상기 세션 테이블의 해시 포인터를 생성하는 해시키 생성기;
    수신된 패킷에 대응하는 세션에 대한 상기 세션 테이블을 검색하는데 사용되는 세션 인식 모듈;
    상기 세션 테이블에 세션을 추가하고, 삭제하며, 변경하는 것을 포함하는 상기 세션 테이블을 유지하는데 사용되는 세션 관리 모듈; 및,
    수신된 패킷의 방향성에 대한 정보와, 상기 세션 테이블에 저장된 상기 패킷에 대한 엔트리의 해더정보로부터 상기 패킷에 대응하는 상태 정보를 생성한 다음, 이에 기초하여 상기 수신된 패킷을 검사하도록 동작되는 패킷 검사 모듈을 포함하는 상태 기반 패킷 검사 장치.
  2. 제 1항에 있어서,
    상기 세션 인식 테이블은 각 해시셋 내에 N개의 세션 엔트리를 포함할 수 있는 N-단계 셋 연관 세션 테이블 구조인 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  3. 제 1항에 있어서,
    상기 세션 인식 테이블은 각 해시셋 내에 32개의 세션 엔트리를 포함할 수 있는 32-단계 셋 연관 세션 테이블 구조인 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  4. 제 1항에 있어서,
    상기 세션 인식 테이블은 2개 이상의 SRAM 메모리 장치인 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  5. 제 1항에 있어서,
    상기 해시키 생성기는 해시 충돌을 허용하는 각각의 해시 테이블의 해시셋을 포인트하는 인덱스를 생성하는 제1 해시함수와, 상기 해시셋 내에서 각각의 세션 엔트리를 구별하는데 사용되는 해시 어드레스를 생성하는 제2 해시함수를 이용하는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  6. 제 5항에 있어서,
    상기 해시키 생성기는 해시키 생성을 위하여 수신된 패킷으로부터 소스 IP 주소, 목적지 IP 주소, 소스 포트 및 목적지 포트 정보를 사용하는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  7. 제 6항에 있어서,
    상기 패킷 검사모듈에서 사용되는 수신된 패킷의 방향성에 대한 정보는 상기 소스 IP 주소와 목적지 IP 주소의 크기를 비교하여 작은 것이 앞에 오게 했을 때, 소스 IP 주소와 목적지 IP 주소가 자리바꿈을 했는지 여부에 따라 서로 다른 값을 갖도록 하는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  8. 제 1항에 있어서,
    상기 세션 관리 모듈은, 상기 세션 테이블에서 사용되지 않은 세션들을 제거하는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  9. 제 1항에 있어서,
    상기 세션 관리 모듈은, 연관된 타임 스템프가 기설정된 임계값을 초과하면 세션을 제거하는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  10. 제 1항에 있어서,
    상기 세션 테이블에 저장되어 있는 세션 엔트리는,
    해당 세션의 연결 상태에 대한 정보인 현 상태 파트;
    해당 세션 테이블이 다 찬 경우에 어떤 세션 엔트리를 삭제할 것인가를 결정하기 위하여 사용되는 타임 스탬프 파트; 및,
    동일한 해시셋 안에서 각각의 세션 엔트리를 구별하기 위하여 사용되는 어드레스 파트로 구성되는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  11. 제 10항에 있어서,
    상기 현 상태 파트는,
    클라이언트와 서버간의 세션 연결이 설정된 상태인지 여부를 나타내는 제1 정보부;
    세션이 세션 테이블에 등록될 때 소스와 목적지가 뒤바뀌었는지 여부를 나타내는 제2 정보부; 및,
    상기 세션 연결 상태가 절반 닫힌 상태인지 여부를 나타내는 제3 정보부를 포함하는 것을 특징으로 하는 상태 기반 패킷 검사 장치.
  12. 외부 네트워크로부터 패킷을 수신하기 위하여 사용되는 통신 수단;
    휘발성 메모리와 하나 이상의 어플리케이션 프로그램을 저장하는데 사용되는 비휘발성 메모리를 포함하는 메모리 수단;
    상기 하나 이상의 어플리케이션 프로그램을 실행하기 위해 상기 메모리 수단과 상기 통신 수단에 결합되는 프로세서; 및,
    상기 통신 수단으로 수신된 입력 패킷 스트림을 필터링하기 위한 상태 기반 패킷 검사장치를 포함하여 구성되는 디지털 컴퓨팅 기기로서,
    여기에서 상기 상태 기반 패킷 검사장치는,
    입력 패킷의 세션 데이터를 저장하는 세션 테이블, 상기 입력 패킷으로부터 추출되는 파라미터를 해시하여 상기 패킷에 대응하는 상기 세션 테이블의 해시 포 인터를 생성하는 해시키 생성기, 수신된 패킷에 대응하는 세션에 대한 상기 세션 테이블을 검색하는데 사용되는 세션 인식 모듈, 상기 세션 테이블에 세션을 추가하고, 삭제하며, 변경하는 것을 포함하는 상기 세션 테이블을 유지하는데 사용되는 세션 관리 모듈, 및, 입력 패킷의 방향성에 대한 정보와, 상기 세션 테이블에 저장된 상기 패킷에 대한 엔트리의 해더정보로부터 상기 패킷에 대응하는 상태 정보를 생성한 다음, 이에 기초하여 상기 수신된 패킷을 검사하도록 동작되는 패킷 검사 모듈을 포함하여 구성되는 디지털 컴퓨팅 기기.
  13. 외부 네트워크로부터 패킷을 수신하는 단계;
    상기 수신된 패킷에 대한 세션 데이터를 세션 테이블에 구축하는 단계;
    상기 수신된 패킷의 방향성에 대한 정보 및 상기 세션 테이블에 구축된 패킷의 세션 데이터 정보로부터 상기 패킷의 상태 정보를 생성하는 단계; 및,
    상기 상태 정보에 기초하여 패킷 검사를 행하는 단계를 포함하여 구성되는 상태 기반 패킷 검사 방법.
  14. 제 13항에 있어서,
    상기 세션 인식 테이블을 각 해시셋 내에 N개의 세션 엔트리를 포함할 수 있는 N-단계 셋 연관 세션 테이블 구조로 구축하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  15. 제 13항에 있어서,
    상기 세션 인식 테이블을 각 해시셋 내에 32개의 세션 엔트리를 포함할 수 있는 32-단계 셋 연관 세션 테이블 구조로 구축하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  16. 제 13항에 있어서,
    상기 세션 인식 테이블을 2개 이상의 SRAM 메모리 장치에 구축한 다음, 동시에 병렬적으로 접근하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  17. 제 13항에 있어서,
    상기 수신된 패킷을 세션 테이블에 구축하는 단계는,
    상기 수신된 패킷에서 해시값을 계산하여 대응되는 해시 포인터를 찾은 과정; 및,
    상기 해시 포인터에 따라 상기 세션 테이블로부터 상기 세션 엔트리를 검색하는 과정을 포함하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  18. 제 17항에 있어서,
    상기 해시값을 계산하는 단계는 해시 충돌을 허용하는 각각의 해시 테이블의 해시셋을 포인트하는 인덱스를 생성하는 제1 해시함수와, 상기 해시셋 내에서 각각의 세션 엔트리를 구별하는데 사용되는 해시 어드레스를 생성하는 제2 해시함수를 이용하여 행하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  19. 제 17항에 있어서,
    상기 해시값을 계산하는 단계는 수신된 패킷으로부터 소스 IP 주소, 목적지 IP 주소, 소스 포트 및 목적지 포트 정보를 사용하여 해시값을 계산하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  20. 제 13항에 있어서,
    상기 수신된 패킷을 세션 테이블에 구축하는 단계는, 상기 세션 테이블에서 사용되지 않은 세션들을 제거하는 과정을 포함하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  21. 제 13항에 있어서,
    상기 수신된 패킷을 세션 테이블에 구축하는 단계는, 연관된 타임 스템프가 기설정된 임계값을 초과하면 세션을 제거하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  22. 제 13항에 있어서,
    상기 세션 관리 모듈은, 연관된 타임 스템프가 기설정된 임계값을 초과하면 세션을 제거하는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  23. 제 13항에 있어서,
    상기 패킷의 상태 정보를 생성하는 단계에서 사용되는 수신된 패킷의 방향성에 대한 정보는, 상기 소스 IP 주소와 목적지 IP 주소의 크기를 비교하여 작은 것이 앞에 오게 했을 때, 소스 IP 주소와 목적지 IP 주소가 자리바꿈을 했는지 여부에 관한 정보인 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  24. 제 13항에 있어서,
    상기 패킷의 상태 정보를 생성하는 단계에서 사용되는 상기 세션 테이블에 구축된 패킷의 세션 데이터 정보는,
    해당 세션의 연결 상태에 대한 정보인 현 상태 정보, 해당 세션 테이블이 다 찬 경우에 어떤 세션 엔트리를 삭제할 것인가를 결정하기 위하여 사용되는 타임 스탬프 정보 및 동일한 해시셋 안에서 각각의 세션 엔트리를 구별하기 위하여 사용되는 어드레스 정보로 구성되는 것을 특징으로 하는 상태 기반 패킷 검사 방법.
  25. 제 24항에 있어서,
    상기 현 상태 정보는, 클라이언트와 서버간의 세션 연결이 설정된 상태인지 여부를 나타내는 제1 정보, 세션이 세션 테이블에 등록될 때 소스와 목적지가 뒤바뀌었는지 여부를 나타내는 제2 정보 및 상기 세션 연결 상태가 절반 닫힌 상태인지 여부를 나타내는 제3 정보를 포함하는 것을 특징으로 하는 상태 기반 패킷 검사 방 법.
  26. 외부 네트워크로부터 패킷을 수신하는 단계;
    해시 충돌을 허용하는 각각의 해시 테이블의 해시셋을 포인트하는 인덱스를 생성하는 제1 해시함수와, 상기 해시셋 내에서 각각의 세션 엔트리를 구별하는데 사용되는 해시 어드레스를 생성하는 제2 해시함수를 이용하여, 상기 수신된 패킷을 세션 테이블에 구축하는 단계;
    상기 수신된 패킷의 방향성에 대한 정보 및 상기 세션 테이블에 구축된 패킷의 세션 데이터 정보로부터 상기 패킷의 상태 정보를 생성하는 단계; 및,
    상기 상태 정보에 기초하여 패킷 검사를 행하는 단계를 실행함으로써, 상기 적절하게 프로그램된 시스템이 다수의 스트링을 검색하도록 구현되는 컴퓨터 프로그램을 갖는 컴퓨터 판독가능한 저장매체.
KR1020060057011A 2006-06-23 2006-06-23 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치 KR100834570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060057011A KR100834570B1 (ko) 2006-06-23 2006-06-23 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060057011A KR100834570B1 (ko) 2006-06-23 2006-06-23 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치
US11/633,174 US7831822B2 (en) 2006-06-23 2006-12-04 Real-time stateful packet inspection method and apparatus

Publications (2)

Publication Number Publication Date
KR20070122045A true KR20070122045A (ko) 2007-12-28
KR100834570B1 KR100834570B1 (ko) 2008-06-02

Family

ID=38873505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060057011A KR100834570B1 (ko) 2006-06-23 2006-06-23 실시간 상태 기반 패킷 검사 방법 및 이를 위한 장치

Country Status (2)

Country Link
US (1) US7831822B2 (ko)
KR (1) KR100834570B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130034409A (ko) * 2011-09-28 2013-04-05 한국전력공사 트래픽 감시 장치 및 방법, 그리고 암호화 통신 시스템
KR101327317B1 (ko) * 2012-11-30 2013-11-20 (주)소만사 Sap 응용 트래픽 분석 및 모니터링 장치 및 방법, 이를 이용한 정보 보호 시스템
KR101656621B1 (ko) * 2015-07-15 2016-09-12 마이크로큐닉스 주식회사 네트워크 패킷 모니터링 장치 및 방법

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
US7779133B2 (en) * 2007-01-04 2010-08-17 Yahoo! Inc. Estimation of web client response time
US8006303B1 (en) 2007-06-07 2011-08-23 International Business Machines Corporation System, method and program product for intrusion protection of a network
JP4677501B2 (ja) * 2007-07-09 2011-04-27 富士通株式会社 中継装置および中継方法
US8677473B2 (en) * 2008-11-18 2014-03-18 International Business Machines Corporation Network intrusion protection
US8289975B2 (en) 2009-06-22 2012-10-16 Citrix Systems, Inc. Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system
US8503456B2 (en) * 2009-07-14 2013-08-06 Broadcom Corporation Flow based path selection randomization
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
WO2012058643A2 (en) 2010-10-29 2012-05-03 F5 Networks, Inc. System and method for on the fly protocol conversion in obtaining policy enforcement information
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
US8976647B2 (en) 2011-11-08 2015-03-10 Futurewei Technologies, Inc. Hardware-based dynamic load balancing that avoids flow packet reordering statistically
US9270766B2 (en) 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
US9026784B2 (en) * 2012-01-26 2015-05-05 Mcafee, Inc. System and method for innovative management of transport layer security session tickets in a network environment
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9231879B1 (en) 2012-02-20 2016-01-05 F5 Networks, Inc. Methods for policy-based network traffic queue management and devices thereof
US10097616B2 (en) 2012-04-27 2018-10-09 F5 Networks, Inc. Methods for optimizing service of content requests and devices thereof
US10187315B2 (en) * 2012-09-06 2019-01-22 Apple Inc. Apparatus and method for optimizing communications at an intermittent communication link
US8713433B1 (en) * 2012-10-16 2014-04-29 Google Inc. Feature-based autocorrection
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US8850583B1 (en) * 2013-03-05 2014-09-30 U.S. Department Of Energy Intrusion detection using secure signatures
US9497281B2 (en) * 2013-04-06 2016-11-15 Citrix Systems, Inc. Systems and methods to cache packet steering decisions for a cluster of load balancers
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US9888033B1 (en) * 2014-06-19 2018-02-06 Sonus Networks, Inc. Methods and apparatus for detecting and/or dealing with denial of service attacks
JP5947838B2 (ja) * 2014-07-04 2016-07-06 エヌ・ティ・ティ・コミュニケーションズ株式会社 攻撃検出装置、攻撃検出方法、および攻撃検出プログラム
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
KR101715107B1 (ko) * 2015-04-07 2017-03-27 엑사비스 주식회사 리트로액티브 네트워크 검사 시스템 및 그 제공방법
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10616321B2 (en) * 2017-12-22 2020-04-07 At&T Intellectual Property I, L.P. Distributed stateful load balancer
WO2019132056A1 (ko) * 2017-12-27 2019-07-04 엑사비스 주식회사 적응적 룰셋 세팅을 수행하는 네트워크 보안 시스템 및 그 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4953545B2 (ja) 2000-08-28 2012-06-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーバービュー再生モードを有する再生装置
JP2002171284A (ja) 2000-11-21 2002-06-14 Youxun Sci & Technol Co Ltd ネットワーク装置の処理方法
US6816455B2 (en) 2001-05-09 2004-11-09 Telecom Italia S.P.A. Dynamic packet filter utilizing session tracking
US7283526B2 (en) * 2001-07-19 2007-10-16 International Business Machines Corporation Method and system for providing a symmetric key for more efficient session identification
AU2003271629A1 (en) * 2002-09-30 2004-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and memory controller for scalable multi-channel memory access
KR100662254B1 (ko) * 2003-12-27 2007-01-02 한국전자통신연구원 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법
KR100594755B1 (ko) * 2004-05-11 2006-06-30 삼성전자주식회사 계층적 룰베이스 분할을 통한 패킷 분류 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130034409A (ko) * 2011-09-28 2013-04-05 한국전력공사 트래픽 감시 장치 및 방법, 그리고 암호화 통신 시스템
KR101327317B1 (ko) * 2012-11-30 2013-11-20 (주)소만사 Sap 응용 트래픽 분석 및 모니터링 장치 및 방법, 이를 이용한 정보 보호 시스템
US8819807B2 (en) 2012-11-30 2014-08-26 Somansa Co., Ltd Apparatus and method for analyzing and monitoring sap application traffic, and information protection system using the same
KR101656621B1 (ko) * 2015-07-15 2016-09-12 마이크로큐닉스 주식회사 네트워크 패킷 모니터링 장치 및 방법

Also Published As

Publication number Publication date
US7831822B2 (en) 2010-11-09
KR100834570B1 (ko) 2008-06-02
US20070297410A1 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
US10516612B2 (en) System and method for identification of large-data flows
US9729655B2 (en) Managing transfer of data in a data network
Li et al. Detection and defense of DDoS attack–based on deep learning in OpenFlow‐based SDN
Dou et al. A confidence-based filtering method for DDoS attack defense in cloud environment
US20160028758A1 (en) System and Method for Predicting Impending Cyber Security Events Using Multi Channel Behavioral Analysis in a Distributed Computing Environment
US20200259726A1 (en) Method and system for deep packet inspection in software defined networks
KR100876935B1 (ko) 세션 트래킹을 이용하는 동적 패킷 필터
US7609629B2 (en) Network controller and control method with flow analysis and control function
US7468979B2 (en) Layer-1 packet filtering
EP1365556B1 (en) Method and apparatus for efficiently matching responses to requests previously passed by a network node
Xiang et al. Flexible deterministic packet marking: An IP traceback system to find the real source of attacks
Marchal et al. A big data architecture for large scale security monitoring
JP3448254B2 (ja) アクセス・チェーン追跡システム、ネットワーク・システム、方法、及び記録媒体
Barbosa et al. Flow whitelisting in SCADA networks
US20140324900A1 (en) Intelligent Graph Walking
KR101868720B1 (ko) 정규 표현식들에 대한 컴파일러
US7248585B2 (en) Method and apparatus for a packet classifier
US8065719B2 (en) Method and apparatus for reducing firewall rules
US8175096B2 (en) Device for protection against illegal communications and network system thereof
EP1754349B1 (en) Hardware filtering support for denial-of-service attacks
US8463901B2 (en) Stateful flow information table method and system for packet inspection system
US8301788B2 (en) Deterministic finite automata (DFA) instruction
US7436830B2 (en) Method and apparatus for wire-speed application layer classification of upstream and downstream data packets
US7529242B1 (en) Routing network packets for multi-processor network flow analysis
US8274979B2 (en) Method and system for secure communication between a public network and a local network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130424

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150427

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee