KR101221045B1 - 패킷 처리 방법 및 이를 이용한 toe 장치 - Google Patents

패킷 처리 방법 및 이를 이용한 toe 장치 Download PDF

Info

Publication number
KR101221045B1
KR101221045B1 KR1020080131746A KR20080131746A KR101221045B1 KR 101221045 B1 KR101221045 B1 KR 101221045B1 KR 1020080131746 A KR1020080131746 A KR 1020080131746A KR 20080131746 A KR20080131746 A KR 20080131746A KR 101221045 B1 KR101221045 B1 KR 101221045B1
Authority
KR
South Korea
Prior art keywords
packet
header
payload
check
tcp
Prior art date
Application number
KR1020080131746A
Other languages
English (en)
Other versions
KR20100073153A (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 KR1020080131746A priority Critical patent/KR101221045B1/ko
Priority to US12/553,799 priority patent/US20100162382A1/en
Priority to JP2009208615A priority patent/JP2010148090A/ja
Publication of KR20100073153A publication Critical patent/KR20100073153A/ko
Application granted granted Critical
Publication of KR101221045B1 publication Critical patent/KR101221045B1/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 TCP/IP를 신속하게 처리하기 위해 하드웨어를 사용하는 TOE(TCP/IP Offload Engine) 장치에, 네트워크 트래픽의 정적/동적 공격에 대한 검사 및 실시간 차단을 목적으로 하는 침입 방지 시스템 하드웨어를 구축한 TOE 장치 및 TOE 장치에서의 패킷 처리 방법에 관한 것으로서, 네트워크 프로토콜 가속 하드웨어인 TOE 장치를 통해 네크워크를 통한 침입을 방지할 수 있으므로, 네트워크 서버 등과 같은 시스템 내의 장치에 별도의 응용 프로그램 등을 추가 설치하지 않고도 네트워크 침입방지 시스템을 가동할 수 있다.
TOE, 패킷, 헤더, 페이로드, 시그니쳐, ACL

Description

패킷 처리 방법 및 이를 이용한 TOE 장치{Packet Processing Method and TOE Hardware Using The Same}
본 발명은 수신한 네트워크 패킷의 처리 방법에 관한 것으로, 더 구체적으로는 TOE(TCP/IP Offload Engine) 장치에서 네트워크를 통한 침입을 방지하는 패킷 처리 방법에 관한 것이다.
최근 LAN(Local Area Network)이나 WAN(Wide Area Network)에서 광범위하게 사용되는 이더넷 기술은, 네트워크 기술의 발전과 인터넷의 빠른 보급에 힘입어, 이미 1 Gbps 의 대역폭을 넘어 10 Gbps의 대역폭을 제공하는 10 기가비트 이더넷으로 발전하고 있다.
이더넷에서 널리 사용되는 TCP/IP는 일반적으로 호스트(Host) 프로세서에서 처리하는데, 이에 따르는 호스트 프로세서의 부하는 전체 시스템의 성능을 저하시키게 된다.
또한, 최근 들어 네트워크 속도가 기가비트 이더넷과 10 기가비트 이더넷으로 발전함에 따라 호스트 프로세서는 실제 업무를 수행하는 것보다, TCP/IP 스택을 처리하는데 더 많은 프로세싱 파워를 사용하게 되었다.
즉, 네트워크 속도가 프로세서에서 처리되는 TCP/IP의 처리 능력을 초월함으로써 컴퓨터 처리 속도를 저하시키고, 네트워크 병목을 초래하고 있다.
이런 문제점을 해결하기 위해, 호스트 프로세서에서 처리되던 TCP/IP의 처리를 호스트 프로세서가 아닌 전용 하드웨어에서 처리함으로써, 호스트 프로세서에게 가해지는 부하를 감소시키고 시스템의 성능을 향상시키고자 TCP/IP 오프로드 기술이 제안되었다.
TCP/IP 오프로드 기술이 탑재된 하드웨어 장치, 즉 TOE 장치는, 현재 개발의 초기점에 있는 기술로서, 인터넷 분야뿐 아니라 스토리지 분야를 중심으로 시장 요구가 지속적으로 증가할 것으로 예측되고 있다.
또한 네트워크 고속화 및 인터넷의 빠른 보급으로 전자 상거래 및 전자 메일등 각종 정보 전달 및 정보 제공 서비스 그리고 전자 거래가 활성화되고 있으며, 이에 따라 네트워크를 통한 침입 시도가 갈수록 증가하고 있다. 또한, 불법 침입으로 획득한 정보를 도용하거나 바이러스와 같은 유해 데이터의 유포와 같은 인터넷을 이용한 범죄도 급증하고 있는 현실이다.
따라서, 네트워크의 속도가 급속하게 빨라지고, 인터넷이 널리 보급되면서, TCP/IP를 신속하게 처리하면서, 네트워크를 통한 침입을 효과적으로 막아내기 위한 방법이 요구되고 있다.
본 발명은 TOE 장치를 통해, 네트워크 패킷에 대한 TCP/IP를 신속하게 처리하는 방법을 제시하고자 한다.
본 발명은 네트워크를 통한 침입을 효과적으로 차단하는 방법을 제시하고자 한다.
본 발명은 TOE 장치에서 네트워크를 통한 침입을 효과적으로 차단하고, 신속하게 TCP/IP를 처리하는 방법을 제시하고자 한다.
본 발명은 TOE 장치에 있어서, 패킷을 수신하여, 헤더와 페이로드를 추출하고, 페이로드에 대하여 패턴 매칭 검사 후 검사를 통과한 페이로드를 호스트에 전달하며, 헤더에 대하여, 패킷이 침입 패킷인지를 판별하는 헤더 검사 및 TCP/IP 처리를 실행하는 것을 포함하는, 패킷 처리 방법을 제공한다.
본 발명에 따른 패킷 처리 방법에서, 페이로드에 대한 패턴 매칭 검사는, 페이로드가 단일 패킷의 페이로드인지, 분할 패킷의 페이로드인지 판단하고, 판단 결과, 페이로드가 단일 패킷의 페이로드이면, 패턴 매칭 검사를 실행하며, 페이로드가 분할 패킷의 페이로드이면, 패킷을 재조합하여 패턴 매칭 검사를 실행한다.
또한 본 발명에 따른 패킷 처리 방법에서, 분할 패킷에 대한 패킷 재조합은, 분할 패킷이 IP 분할 패킷인 경우에는, IP 프로토콜 처리 후에 패킷을 재조합하며, 분할 패킷이 TCP 분할 패킷인 경우에는, 트랜스포트 프로토콜 처리 후에 패킷을 재 조합한다.
아울러, 본 발명에 따른 패킷 처리 방법에서, TCP 분할 패킷의 페이로드에 대한 패턴 매칭 검사는, 패킷 재조합에 의한 페이로드의 크기가 기준값 이상인 경우에만 실행해도 된다.
본 발명에 따른 패킷 처리 방법에서, 페이로드의 패턴 검사 결과, 패킷이 침입 패킷으로 판단되면, 페이로드를 삭제하고, 패킷의 정보를 저장하며, 저장한 패킷 정보를 주기적으로 호스트에 전송해도 된다.
또한, 본 발명에 따른 패킷 처리 방법에서, TOE 장치는 호스트로부터 주기적으로 새로운 시그니쳐를 수신할 수도 있다.
아울러, 본 발명에 따른 패킷 처리 방법의 헤더 검사에서, 패킷을 전송한 노드가 접근 제어 리스트에 포함되어 있는지를 판단하는 접근 제어 리스트 검사 및 저장되어 있는 공격 패킷의 시그니쳐가 헤더의 패턴과 매칭되는지를 판단하는 시그니쳐 검사를 포함하며, TCP/IP 처리는, 접근 제어 리스트 및 시그니쳐 검사를 통과한 헤더에 대하여 IP 프로토콜 처리 및 트랜스포트 프로토콜 처리를 실행하는 것이어도 된다.
본 발명에 따른 패킷 처리 방법에서 헤더 검사는, IP 프로토콜 처리된 헤더에 대한 세션 검사를 더 포함하며, 트랜스포트 프로토콜 처리는, 세션 검사를 통과한 헤더에 대하여 실행될 수도 있다.
또한 본 발명에 따른 패킷 처리 방법에서, 세션 검사는, 저장하는 있는 소켓 정보와 비교하여, 패킷이 정상 연결된 소켓으로부터 수신한 패킷인지를 검사하는 것일 수도 있다.
아울러, 본 발명에 따른 패킷 처리 방법에서, 세션 검사는, 패킷의 세션 대역폭이 기준값 이내인지를 검사하는 것이어도 된다.
본 발명에 따른 패킷 처리 방법에 있어서, 해더 검사 결과, 수신한 패킷이 침입 패킷으로 판단되면, 해당 패킷을 삭제하고, 패킷의 정보를 저장하며, 저장한 패킷 정보를 주기적으로 호스트에 전달할 수도 있다.
또한 본 발명에 따른 패킷 처리 방법에서 있어서, TOE 장치는 호스트로부터 주기적으로 새로운 시그니쳐를 수신할 수도 있다.
본 발명은, 수신한 패킷의 헤더와 페이로드를 추출하는 헤더 추출부, 추출된 페이로드를 처리하는 페이로드 처리부, 추출된 헤더를 검사하는 헤더 검사부 및 헤더에 대한 TCP/IP 처리를 실행하는 TCP/IP 처리부를 포함하는, TOE 장치를 제공한다.
본 발명에 따른 TOE 장치에서, 페이로드 처리부는, 페이로드에 대한 패턴 매칭 검사를 실행하는 페이로드 패턴 매칭부를 포함하며, TCP/IP 처리부는, 수신한 페이로드를 저장하는 페이로드 저장부 및 침입 패킷으로 판단된 패킷의 정보를 저장하는 차단 패킷 정보 저장부를 포함하며, 패턴 매칭부는, 페이로드 저장부에 저장된 페이로드에 대하여, 패턴 매칭 검사를 실행하여, 침입 패킷의 페이로드로 판단된 경우에는 차단 패킷 정보 저장부에 침입 패킷의 정보를 저장하고, 칩입 패킷의 페이로드가 아닌 것으로 판단된 경우에는 페이로드를 호스트로 전달한다.
또한 본 발명에 따른 TOE 장치에서, 수신 패킷이 IP분할 패킷인 경우에, TCP/IP 처리부는 페이로드 저장부에 분할 패킷의 페이로드를 저장하고, 분할 패킷의 헤더에 대한 IP 프로토콜 처리 후에, 분할 패킷의 페이로드를 재조합하며, 페이로드 처리부는, 재조합된 페이로드에 대한 패턴 매칭 검사를 실행한다.
아울러, 본 발명에 따른 TOE 장치에서, 수신 패킷이 TCP 분할 패킷인 경우에 TCP/IP 처리부는 페이로드 저장부에 상기 분할 패킷의 페이로드를 저장하고, 분할 패킷의 헤더에 대한 트랜스포트 프로토콜 처리 후에, 할 패킷의 페이로드를 재조합하며, 페이로드 처리부는, 재조합된 페이로드에 대한 패턴 매칭 검사를 실행한다.
본 발명에 따른 TOE 장치에 있어서, 페이로드 처리부는, 재조합된 페이로드의 크기가 기준값 이상인 경우에만, 패턴 매칭 검사를 실행해도 된다.
또한 본 발명에 따른 TOE 장치에서, TCP/IP 처리부는, 침입 패킷으로 판단된 패킷의 정보를 저장하는 차단 패킷 정보 저장부를 포함하며, 헤더 검사부는, 접근 제어 리스트(Access Control List; ACL)를 저장한 ACL 저장부, 호스트로부터 주기적으로 수신한 시그니쳐를 저장한 시그니쳐 저장부, 헤더에 대하여, 접근 제어 리스트에 포함되어 있는지를 검사하는 ACL 검사부 및 헤더에 대하여, 시그니쳐와 매칭 여부를 검사하는 시그니쳐 매칭 검사부를 포함하며, ACL 검사부 및 시그니쳐 매칭 검사부는, 검사 결과, 헤더가 침입 패킷의 헤더라고 판단한 경우에는, 침입 패킷의 정보를 차단 패킷 정보 저장부에 저장하고, 헤더가 침입 패킷의 헤더가 아니라고 판단한 경우에는, 헤더를 TCP/IP 처리부에 전달하는 해도 된다.
아울러, 본 발명에 따른 TOE 장치에서, 헤더 검사부는, 헤더에 대한 세션 검사를 실행하는 세션 검사부를 더 포함하며, 세션 검사부는, TCP/IP 처리부에서 IP 프로토콜 처리된 헤더에 대하여, 패킷이 정상 연결된 소켓으로부터 수신한 패킷인지 또는 패킷의 세션 대역폭이 기준값 이내인지를 검사하고, TCP/IP 처리부는, 세션 검사를 통과한 헤더에 대해, 트랜스포트 프로토콜 처리를 실행할 수도 있다.
그리고, 본 발명에 따른 TOE 장치에서, 차단 패킷 정보 저장부는, 저장한 차단 패킷의 정보를 주기적으로 호스트에 전달할 수도 있다.
본 발명에 의하면, 네트워크를 통한 침입을 검사하여, 효과적으로 침입을 차단할 수 있다.
본 발명에 의하면, 네트워크 패킷의 헤더와 페이로드를 각각 병렬적으로 검사 및 처리함으로써, 신속하게 네트워크 침입 여부를 검사하고, TCP/IP를 처리할 수 있다.
본 발명에 의하면, TOE 장치를 통해 네트워크 프로토콜 처리 및 데이터 전송에 따른 시스템의 부하를 감소시킬 수 있다.
본 발명에 의하면, 네트워크에 연결된 서버에 네트워크 카드 등과 같은 별도의 추가 장치나 응용 프로그램 없이, 네트워크 운용뿐 아니라, 네트워크 침입 방지의 효과를 동시에 얻을 수 있다.
본 발명은 네트워크 트래픽의 정적/동적 공격에 대한 검사 및 실시간 차단을 목적으로 하는 침입 방지 시스템 하드웨어를 구축한 TOE 장치와 이를 통한 네트워크 패킷의 처리 방법에 관한 것이다.
본 발명에 의한 TOE 장치의 패킷 처리 방법에 의하면, 네크워크 침입의 방지뿐만 아니라 기존 운영체제 기반의 네트워크 프로토콜 및 데이터 전송 처리가 신속하게 이루어진다. 따라서, 네트워크에 연결된 서버에 네트워크 카드 대신 본 발명에 따른 TOE 장치를 장착하여 네트워크 응용 프로그램 운용할 수 있을 뿐만 아니라 네트워크를 통한 침입을 방지할 수 있다.
이하, 첨부한 도면을 참조하여 본 발명에 대하여 구체적으로 설명한다. 아울러 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
TOE(TCP/IP Offload Engine) 장치
도 1에 도시된 바와 같이, TOE 장치는 기가비트 이더넷 등과 같은 고속 네트워크와 호스트 프로세서 사이에서 TCP/IP의 신속한 처리를 도모한다.
이를 위해, TOE 장치는 MAC/PHY(107) 및 MAC 인터페이스(106)를 포함하는 MAC/PHY 레이어와, 송신 IP 처리부, 버퍼 & 큐(Queue), ARP 처리부 및 수신 IP 처리부를 포함하는 IP 레이어(105), 송신 하드웨어, 송신 처리부, 소켓 리소스 풀 & 소켓 관리부, 수신 처리부 및 수시 하드웨어를 포함하는 소켓 및 트랜스포트 레이어(104) 그리고 도어벨(Doorbell, 102), DMA(Direct Memory Access)부(103) 및 호스트 인터페이스(101)를 포함하는 호스트 I/F를 포함한다.
MAC/PHY 레이어를 통해 수신한 네트워크 패킷은, TCP/IP 처리되어 호스트로 전달된다.
TCP / IP 처리부
도 2는 네트워크를 통한 침입을 방지하기 위해 필요한 구성이 추가된 TOE 장치를 개략적으로 도시한 블록도이다.
네트워크 프로토콜 처리, 소켓 리소스 제어 명령 및 TCP 연결/해제 명령의 처리, 각각의 명령에 대한 처리 결과 정보의 생성 및 전송, 네트워크 패킷의 수신 제어, 소켓 정보 및 패킷 전송 정보의 저장 등이 TOE 장치의 TCP/IP 처리부에서 처리된다.
TCP/IP 처리부는 송신 처리부(211), 수신 처리부(213), 명령/전송/수신/완료 도어벨(CMD/SND/RECV/CPL Doorbells, 207), 수신 페이로드 저장부(215), 소켓 리소스 풀 및 소켓 관리부(Socket Resource Pool & Sokcet Management, 212), 송신 DMA(Direct Memory Access)부(205), 수신 DMA부(209), 송신 처리 엔진부(210), 수신 처리 엔진부(214), 송신 페이로드 저장부(216), 송신 IP 엔진부(219), 수신 IP 엔진부(222), IP 재조합부(218), MAC 인터페이스(229) 및 기가 바이트 MAC/PHY 모듈(230), 차단 패킷 정보 저장부(225) 등을 포함하며, 수신한 패킷을 TCP/IP 처리하여 호스트로 전달한다.
호스트(Host, 201)는 네트워크 프로토콜 스택을 구동하는 네트워크 애플리케이션(Network Applcations, 202)과 소켓 및 데이터 송수신 명령을 수신하여 TOE 장치에 전달하고 침입방지를 위한 시그니쳐를 생성하며, ACL 및 차단된 패킷 정보를 TOE 장치로부터 수집하여 관리하는 시그니쳐 및 ACL 관리부(203)를 포함하고 있다.
TOE 장치의 송신 처리부(211)는 네트워크 송신 프로토콜을 처리하고 전송 데이터를 분할하며, 수신 처리부(213)는 수신한 패킷의 프로토콜을 처리하고 수신 패 킷이 TCP 분할 패킷인 경우에는 이를 재조합한다.
명령/전송/수신/완료 도어벨(207)은 호스트(201)로부터 전달된 소켓 생성 또는 삭제 명령, 속성 변경 명령, TCP 연결/해제 명령 등의 전송 및 생성된 소켓에 대해 네트워크 응용 프로그램이 요청한 네트워크 프로토콜 기반 메시지 송수신 명령 전송, 그리고 각각의 명령에 대한 처리 결과 전송을 저장하고 있다.
수신 페이로드 저장부(215)는 외부로부터 수신된 패킷의 페이로드 데이터가 저장되어 있다.
소켓 리소스 풀 및 소켓 관리부(212)는 송수신 처리부(211, 213)의 제어에 따라 생성된 소켓의 정보를 저장하고 관리한다.
송신 DMA부(205)와 수신 DMA부(209)는 각각 네트워크 애플리케이션의 송신 데이터를 운영 체제에 의한 복사없이 바로 TOE 장치에 전송하고, TOE 장치에 의해 수신한 수신 데이터를 운영체제에 의한 복사없이 네트워크 애플리케이션에 전송한다.
송신 처리 엔진부(210)와 수신 처리 엔진부(214)는 해당 프로토콜의 헤더 및 데이터를 송수신을 처리한다. 송신 페이로드 저장부(216)는 호스트(201)로부터 전송된 송신 페이로드 데이터를 저장한다. 송신 IP 엔진부(219)와 수신 IP 엔진부(222)는 IP 헤더를 송수신하고 처리한다.
IP 재조합부(218)은 수신한 패킷이 IP 분할 패킷인 경우에, IP 분할 패킷을 재조합하며, ARP 엔진부(221)는 ARP(Address Resolution Protocol) 패킷을 송수신하고 처리한다.
MAC 인터페이스(229)와 MAC/PHY 모듈(230)을 통해 기가비트 이더넷 등과 같은 외부 네트워크와 데이터를 송수신한다.
차단 패킷 정보 저장부(225)는 침입 패킷으로 판명되어 차단된 패킷의 정보를 저장하고, 일정한 주기마다, 해당 정보를 호스트에 전송한다.
네트워크를 통한 침입 방지부
네트워크를 통한 침입을 방지하기 위한 구성 부분은 패킷으로부터 헤더(header)와 페이로드(payload)를 추출하는 헤더 추출부, 추출한 헤더를 검사하는 헤더 검사부, 추출된 페이로드를 검사하고 호스트에 전달하는 페이로드 처리부를 포함한다.
헤더 추출부(228)은 수신한 패킷을 헤더와 페이로드 데이터로 분류한다.
헤더 검사부는 접근 제어 리스트 검사부(226), 접근 제어 리스트 저장부(227), 시그니쳐(Signature) 매칭 검사부(223), 시그니쳐 저장부(220) 및 세션 검사부(217)를 포함한다.
ACL 저장부(227)는 접속이 허용된 노드와 접속이 허용되지 않는 노드의 IP 어드레스 등의 정보가 저장된 접근 제어 리스트(Access Control List; 이하 ‘ACL’이라 함)을 저장하며, 접근 제어 리스트 검사부(226)는 추출된 헤더의 IP 어드레스를 기반으로, 수신한 패킷이, 접속이 허용된 노드로부터의 패킷인지를 검사한다.
시그니쳐 저장부(220)는 침입 패킷의 시그니쳐들을 저장하며, 시그니쳐 매칭 검사부(223)는 헤더를 기반으로 시그니쳐 저장부(220)에 저장된 침입 패킷의 시그니쳐와 매칭함으로써, 수신한 패킷이 침입 패킷인지를 검사한다.
세션 검사부(217)는 비정상 세션의 검사, 즉 수신한 패킷이 정상 연결된 소켓으로부터 수신한 것인지를 검사한다. 또한, 세션 검사부(217)는 수신한 패킷의 세션 대역폭이 일정한 기준값 이내인지를 검사한다. 세션의 정상 여부 및 대역폭을 검사하여 침입 패킷인지를 더 정확하게 판별할 수 있다.
시그니쳐/ACL DMA부(206)는 호스트(1)의 시그니쳐 및 ACL 관리부(203)에 의한 시그니쳐 및 ACL를 전송하며, 차단 패킷 DMA부(208)는 수신한 침입 패킷의 정보를 시그니쳐 및 ACL 관리부(203)에 전송한다.
패킷 처리 방법
도 3은 본 발명에 따른 TOE 장치에서 수신한 패킷을 처리하는 방법을 개략적으로 도시한 플로우차트이다.
TOE 장치는 MAC 인터페이스(229)를 통해, 네트워크 패킷을 수신한다(S301 단계). 수신된 패킷은 헤더 추출부(228)에 의해 헤더와 페이로드가 나뉘어서 추출된다(S302 단계).
추출된 해더에 대하여 ACL 및 시그니쳐 매칭 검사를 실시한다(S303 단계). ACL 검사에서는 ACL 검사부(226)가, ACL 저장부(227)에 저장된 ACL에 수신한 패킷을 전송한 노드가 포함되어 있는지를 검사하여, 해당 패킷이 침입 패킷인지를 판단한다.
시그니쳐 매칭 검사에서는 시그니쳐 매칭 검사부(223)가, 시그니쳐 저장부(220)에 저장되어 있는 침입 패킷의 시그니쳐을 통해, 수신 패킷의 헤더에 대한 패턴 매칭을 수행하여 해당 패킷이 침입 패킷인지를 판단한다.
ACL 검사 및 시그니쳐 매칭 검사를 통해, 해당 패킷의 허용 여부를 결정한다(S305 단계).
수신한 패킷이 침입 패킷으로 판단되었을 경우, 해당 패킷을 삭제하고, 해당 패킷의 정보를 차단 패킷 정보 저장부(225)에 저장한다(S321 단계). 저장된 차단 패킷의 정보는 일정 주기 마다 호스트로 전송된다(S322 단계). 차단 패킷 DMA부(208)는 차단 패킷의 정보를 호스트 인터페이스(204)를 통해, 시그니쳐 및 ACL 관리부(203)에 전달한다.
시그니쳐 및 ACL 관리부(203)은 수집된 침입 패킷 정보를 기반으로 일정 주기마다 새로운 시그니쳐를 생성해서, 시그니쳐/ACL DMA부(206)를 통해, 시그니쳐 저장부(220)에 전송한다. 시그니쳐 저장부(220)는 수신한 시그니쳐를 통해, 시그니쳐 정보를 업데이터하고, 관리한다(S323 단계).
ACL 검사 및 시그니쳐 매칭 검사를 통해, 침입 패킷이 아니라고 판단되면, 추출된 헤더를 통해 TCP/IP 처리를 실시한다.
ACL 검사 및 시그니쳐 검사를 통과한 헤더를 통해, 수신 IP 엔진부(222)에서 IP 프로토콜이 처리된다(S306 단계).
이때, IP 프로토콜 처리가 끝난 패킷의 헤더에 대하여, 소켓 리소스 풀 및 소켓 관리부(212)에 저장되어 있는 소켓의 정보를 통해, 세션 검사를 실행할 수도 있다(S307 단계).
세션 검사에서는, 세션 검사부(217)가, 해당 패킷이 정상적인 세션, 즉 정상 연결된 소켓으로부터 수신한 패킷인지 또는 해당 세션의 대역폭이 기준이상으로 과 도하게 사용되는지를 검사하며, 두 검사를 모두 실행할 수도 있다.
세션 검사의 결과를 통해, 해당 패킷의 허용 여부를 판단한다(S308 단계).
정상적인 세션이 아니거나, 기준값 이상의 대역폭을 사용한 세션인 경우에는, 해당 패킷을 침입 패킷으로 판단한다.
침입 패킷으로 판단되면, 차단 패킷 정보의 처리 과정(S321 단계 ~ S323 단계)을 수행한다.
침입 패킷이 아니라고 판단되면, 수신 처리부(213)을 통해, 해당 패킷에 대한 트랜스포트 프로토콜 처리를 한다(S309 단계).
트랜스포트 프로토콜 처리된 헤더 정보를 호스트(1)에 전달한다(S310 단계).
헤더 추출부(228)에서 추출된 페이로드에 관한 처리는 헤더에 관한 처리와 병렬적으로 이루어진다. 이를 통해서, TOE 장치의 패킷 처리 속도를 향상시킬 수 있다.
추출된 페이로드는 수신 페이로드 저장부(215)에 저장되며, 해당 페이로드가 분할 패킷의 페이로드인지 여부를 우선 판단한다(S304 단계).
페이로드가 분할 패킷의 페이로드가 아닌 경우, 즉 단일 패킷의 페이로드로 판단된 경우에는 페이로드 패턴에 대한 매칭 검사를 실행한다(S317 단계).
만일 해당 패킷이 분할 패킷이면, IP 분할 패킷인지를 판단한다(S311 단계). 해당 패킷이 IP 분할 패킷으로 판단되면, IP 프로토콜 처리(S306 단계) 후, IP 재조합부(218)에 의해 IP 분할 패킷을 재조합한다(S313 단계).
IP 분할 패킷은 침입 방지 시스템의 패턴 매칭이 패킷 단위로 이루어진다는 점을 이용하여 침입용 데이터를 분할, 전송하여 해당 엔진에 의해 차단되지 않고 전송하고자 할 때 악용된다.
마지막 분할 패킷이 수신되었을 경우(S314 단계), IP 재조합이 끝난 해당 페이로드에 대한 페이로드 패턴 검사가 페이로드 패턴 매칭부(224)에 의해 이루어진다(S317 단계).
해당 패킷이 TCP 분할 과정을 거친 패킷일 경우에는, 프랜스포트 프로토콜 처리(S309 단계) 후, TCP 재조합 처리가 수신 처리부(213)에 의해 이루어지며(S315 단계), 페이로드 패턴 매칭부(224)에 의해 페이로드 패턴 매칭 검사가 실행된다(S317 단계).
이때, 재조합된 페이로드가 일정한 기준량 이상인지를 판단하여(S316 단계), 기준량 이상의 페이로드가 조합된 경우에만, 페이로드에 대한 패턴 검사를 실행할 수도 있다.
페이로드에 대한 패턴 매칭 검사(S317 단계)의 결과에 따라, 패킷을 허용할 지 결정한다(S318 단계).
침입 패킷의 페이로드가 아니라고 판단되면, 호스트(1)에 페이로드를 전송한다(S320 단계). 수신 DMA부(209)는 운영체제에 의한 복사없이 해당 페이로드를 네트워크 애플리케이션에 전송한다.
페이로드 패턴 매칭 검사(S317 단계)의 결과, 해당 패킷이 침입 패킷으로 판단된 경우에는, 해당 페이로드를 수신 페이로드 저장부(215)에서 삭제하고 차단 패킷 정보의 처리 과정(S321 단계 ~ S322 단계)을 수행한다.
도면을 참조하여 본 발명의 실시형태를 설명하였으나, 도면을 참조하여 설명한 이상과 같은 실시형태는 본 발명의 기술적 범위를 한정하지 않으며, 본 발명의 기술적 사상의 범위 내에서 충분히 변형되거나 수정될 수 있다.
도 1은 TOE 장치의 구성을 개략적으로 도시한 블록도이다.
도 2는 본 발명에 따라, 네트워크를 통한 침입을 방지하는 TOE 장치의 구성을 개략적으로 도시한 블록도이다.
도 3은 본 발명에 따른 TOE 장치에서 수신한 패킷을 처리하는 방법을 개략적으로 도시한 플로우차트이다.

Claims (20)

  1. 패킷을 수신하여, 헤더와 페이로드를 추출하고,
    상기 페이로드에 대하여 패턴 매칭 검사 후 검사를 통과한 페이로드를 호스트에 전달하며,
    상기 헤더에 대하여, 상기 패킷이 침입 패킷인지를 판별하는 헤더 검사 및 TCP/IP 처리를 실행하는 것을 포함하고,
    상기 페이로드에 대한 패턴 매칭 검사 결과, 상기 페이로드가 분할 패킷의 페이로드이면, 패킷을 재조합하여 패턴 매칭 검사를 실행하되,
    상기 분할 패킷이 TCP 분할 패킷인 경우에는, 상기 패킷 재조합에 의한 페이로드의 크기가 기준값 이상인 경우에만 상기 TCP 분할 패킷의 페이로드에 대한 패턴 매칭 검사를 실행하는 것인 TOE(TCP/IP Offload Engine) 장치의 패킷 처리 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 분할 패킷에 대한 패킷 재조합은,
    상기 분할 패킷이 IP 분할 패킷인 경우에는, IP 프로토콜 처리 후에 패킷을 재조합하며,
    상기 분할 패킷이 TCP 분할 패킷인 경우에는, 트랜스포트 프로토콜 처리 후에 패킷을 재조합하는 것인 TOE 장치의 패킷 처리 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 페이로드의 패턴 검사 결과,
    상기 패킷이 침입 패킷으로 판단되면, 상기 페이로드를 삭제하고, 상기 패킷의 정보를 저장하며,
    상기 저장한 패킷 정보를 주기적으로 호스트에 전송하는 TOE 장치의 패킷 처리 방법.
  6. 제5항에 있어서, 상기 호스트로부터 주기적으로 새로운 시그니쳐를 수신하는 TOE 장치의 패킷 처리 방법.
  7. 패킷을 수신하여, 헤더와 페이로드를 추출하고,
    상기 페이로드에 대하여 패턴 매칭 검사 후 검사를 통과한 페이로드를 호스트에 전달하며,
    상기 헤더에 대하여, 상기 패킷이 침입 패킷인지를 판별하는 헤더 검사 및 TCP/IP 처리를 실행하는 것을 포함하는,
    TOE 장치의 패킷 처리 방법에 있어서,
    상기 헤더 검사에서는, 상기 패킷을 전송한 노드가 접근 제어 리스트에 포함되어 있는지를 판단하는 접근 제어 리스트 검사 및 저장되어 있는 공격 패킷의 시그니쳐가 상기 헤더의 패턴과 매칭되는지를 판단하는 시그니쳐 검사를 포함하며,
    상기 TCP/IP 처리는, 상기 접근 제어 리스트 및 시그니쳐 검사를 통과한 헤더에 대하여 IP 프로토콜 처리 및 트랜스포트 프로토콜 처리를 실행하는 것인 TOE 장치의 패킷 처리 방법.
  8. 제7항에 있어서,
    상기 헤더 검사는, 상기 IP 프로토콜 처리된 헤더에 대한 세션 검사를 더 포함하며,
    상기 트랜스포트 프로토콜 처리는, 상기 세션 검사를 통과한 헤더에 대하여 실행되는 것인 TOE 장치의 패킷 처리 방법.
  9. 제8항에 있어서, 상기 세션 검사는,
    저장하는 있는 소켓 정보와 비교하여, 상기 패킷이 정상 연결된 소켓으로부터 수신한 패킷인지를 검사하는 것인 TOE 장치의 패킷 처리 방법.
  10. 제8항에 있어서, 상기 세션 검사는,
    상기 패킷의 세션 대역폭이 기준값 이내인지를 검사하는 것인 TOE 장치의 패킷 처리 방법.
  11. 제7항 또는 제8항에 있어서, 상기 해더 검사 결과,
    수신한 패킷이 침입 패킷으로 판단되면, 상기 패킷을 삭제하고, 상기 패킷의 정보를 저장하며,
    상기 저장한 패킷 정보를 주기적으로 호스트에 전달하는 TOE 장치의 패킷 처리 방법.
  12. 제11항에 있어서, 상기 호스트로부터 주기적으로 새로운 시그니쳐를 수신하는 TOE 장치의 패킷 처리 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 수신한 패킷의 헤더와 페이로드를 추출하는 헤더 추출부;
    상기 추출된 페이로드를 처리하는 페이로드 처리부;
    상기 추출된 헤더를 검사하는 헤더 검사부; 및
    상기 헤더에 대한 TCP/IP 처리를 실행하는 TCP/IP 처리부;
    를 포함하는 TOE 장치에 있어서,
    상기 수신 패킷이 TCP 분할 패킷인 경우에,
    상기 TCP/IP 처리부는, 상기 분할 패킷의 페이로드를 재조합하고,
    상기 페이로드 처리부는, 상기 재조합된 페이로드에 대한 패턴 매칭 검사를 실행하되,
    상기 재조합된 페이로드의 크기가 기준값 이상인 경우에만, 패턴 매칭 검사를 실행하는 것인 TOE 장치.
  18. 수신한 패킷의 헤더와 페이로드를 추출하는 헤더 추출부;
    상기 추출된 페이로드를 처리하는 페이로드 처리부;
    상기 추출된 헤더를 검사하는 헤더 검사부; 및
    상기 헤더에 대한 TCP/IP 처리를 실행하는 TCP/IP 처리부;
    를 포함하는 TOE 장치에 있어서,
    상기 TCP/IP 처리부는, 침입 패킷으로 판단된 패킷의 정보를 저장하는 차단 패킷 정보 저장부를 포함하며,
    상기 헤더 검사부는, 접근 제어 리스트(Access Control List; ACL)를 저장한 ACL 저장부; 호스트로부터 주기적으로 수신한 시그니쳐를 저장한 시그니쳐 저장부; 상기 헤더에 대하여, 상기 접근 제어 리스트에 포함되어 있는지를 검사하는 ACL 검사부; 및 상기 헤더에 대하여, 상기 시그니쳐와의 매칭 여부를 검사하는 시그니쳐 매칭 검사부를 포함하며,
    상기 ACL 검사부 및 시그니쳐 매칭 검사부는, 상기 검사 결과, 상기 헤더가 침입 패킷의 헤더라고 판단한 경우에는, 상기 침입 패킷의 정보를 상기 차단 패킷 정보 저장부에 저장하고, 상기 헤더가 침입 패킷의 헤더가 아니라고 판단한 경우에는, 상기 헤더를 TCP/IP 처리부에 전달하는 것인 TOE 장치.
  19. 제18항에 있어서,
    상기 헤더 검사부는, 헤더에 대한 세션 검사를 실행하는 세션 검사부를 더 포함하며,
    상기 세션 검사부는, 상기 TCP/IP 처리부에서 IP 프로토콜 처리된 헤더에 대하여, 상기 패킷이 정상 연결된 소켓으로부터 수신한 패킷인지 또는 상기 패킷의 세션 대역폭이 기준값 이내인지를 검사하고,
    상기 TCP/IP 처리부는, 상기 세션 검사를 통과한 헤더에 대해, 트랜스포트 프로토콜 처리를 실행하는 것인 TOE 장치.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 차단 패킷 정보 저장부는,
    저장한 차단 패킷의 정보를 주기적으로 상기 호스트에 전달하는 것인 TOE 장치.
KR1020080131746A 2008-12-22 2008-12-22 패킷 처리 방법 및 이를 이용한 toe 장치 KR101221045B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080131746A KR101221045B1 (ko) 2008-12-22 2008-12-22 패킷 처리 방법 및 이를 이용한 toe 장치
US12/553,799 US20100162382A1 (en) 2008-12-22 2009-09-03 Packet processing method and toe hardware
JP2009208615A JP2010148090A (ja) 2008-12-22 2009-09-09 パケット処理方法及びこれを用いたtoe装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131746A KR101221045B1 (ko) 2008-12-22 2008-12-22 패킷 처리 방법 및 이를 이용한 toe 장치

Publications (2)

Publication Number Publication Date
KR20100073153A KR20100073153A (ko) 2010-07-01
KR101221045B1 true KR101221045B1 (ko) 2013-01-10

Family

ID=42268109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131746A KR101221045B1 (ko) 2008-12-22 2008-12-22 패킷 처리 방법 및 이를 이용한 toe 장치

Country Status (3)

Country Link
US (1) US20100162382A1 (ko)
JP (1) JP2010148090A (ko)
KR (1) KR101221045B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120020374A1 (en) * 2010-07-26 2012-01-26 Kenneth Jonsson Method and System for Merging Network Stacks
US8776243B2 (en) * 2012-04-27 2014-07-08 Ixia Methods, systems, and computer readable media for combining IP fragmentation evasion techniques
CN102970329A (zh) * 2012-10-26 2013-03-13 广东石油化工学院 基于历史特征的fast tcp公平性改进算法
KR102280543B1 (ko) 2014-12-01 2021-07-26 삼성전자주식회사 전자 디바이스의 작업 수행 장치 및 방법
JP6598188B2 (ja) * 2015-02-27 2019-10-30 株式会社エヴリカ 情報処理装置、方法およびプログラム
KR101639428B1 (ko) * 2015-04-29 2016-07-13 한전케이디엔 주식회사 보드기반 단방향 통신제어 시스템
CN106302351B (zh) * 2015-06-03 2019-10-15 华为技术有限公司 收集访问控制列表的方法、装置及系统
TWI735585B (zh) * 2017-05-26 2021-08-11 瑞昱半導體股份有限公司 具有網路功能的資料管理電路及基於網路的資料管理方法
GB2559431B (en) 2017-06-01 2020-09-02 Garrison Tech Ltd Web server security
CN110958213B (zh) * 2018-09-27 2021-10-22 华为技术有限公司 处理tcp报文的方法、toe组件以及网络设备
KR102151987B1 (ko) * 2018-11-23 2020-09-04 한국과학기술원 프록시 서버에서 프록시 서버 기능을 호스트에서 네트워크 어댑터로 동적으로 이양하는 방법 및 이를 수행하는 프록시 서버

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040099864A (ko) * 2003-05-20 2004-12-02 한국전자통신연구원 보안 게이트웨이 시스템과 이를 이용한 침입 탐지 방법
KR20050032765A (ko) * 2003-10-02 2005-04-08 한국전자통신연구원 인-라인 모드 네트워크 침입 탐지/차단 시스템 및 그 방법
KR20060063610A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 패킷 재조합을 이용한 패턴 매칭 방법 및 그 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176298B2 (en) * 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
JP4327630B2 (ja) * 2004-03-22 2009-09-09 株式会社日立製作所 インターネット・プロトコルを用いたストレージエリア・ネットワーク・システム、セキュリティ・システム、セキュリティ管理プログラム、ストレージ装置
JP2005354334A (ja) * 2004-06-10 2005-12-22 Mitsubishi Electric Corp データ列検索装置、不正侵入検知遮断装置、データ列検索方法およびデータ列検索プログラム
JP2006041969A (ja) * 2004-07-28 2006-02-09 Mitsubishi Electric Corp ネットワーク監視装置及びネットワーク監視方法及びプログラム
JP4278593B2 (ja) * 2004-09-28 2009-06-17 日本電信電話株式会社 アプリケーション型サービス不能攻撃に対する防御方法およびエッジ・ルータ
US20060168273A1 (en) * 2004-11-03 2006-07-27 Ofir Michael Mechanism for removing data frames or packets from data communication links
EP1829334A1 (en) * 2004-12-21 2007-09-05 QUALCOMM Incorporated Client assisted firewall configuration
US7486673B2 (en) * 2005-08-29 2009-02-03 Connect Technologies Corporation Method and system for reassembling packets prior to searching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040099864A (ko) * 2003-05-20 2004-12-02 한국전자통신연구원 보안 게이트웨이 시스템과 이를 이용한 침입 탐지 방법
KR20050032765A (ko) * 2003-10-02 2005-04-08 한국전자통신연구원 인-라인 모드 네트워크 침입 탐지/차단 시스템 및 그 방법
KR20060063610A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 패킷 재조합을 이용한 패턴 매칭 방법 및 그 장치

Also Published As

Publication number Publication date
US20100162382A1 (en) 2010-06-24
KR20100073153A (ko) 2010-07-01
JP2010148090A (ja) 2010-07-01

Similar Documents

Publication Publication Date Title
KR101221045B1 (ko) 패킷 처리 방법 및 이를 이용한 toe 장치
DE112014001229B4 (de) Verfahren, Datenverarbeitungssystem und Computerprogrammprodukt zum Verarbeiten einer Datenbank-Client-Anforderung
JP4664257B2 (ja) 攻撃検出システム及び攻撃検出方法
US7797749B2 (en) Defending against worm or virus attacks on networks
US7440406B2 (en) Apparatus for displaying network status
US20070297410A1 (en) Real-time stateful packet inspection method and apparatus
US20090055930A1 (en) Content Security by Network Switch
US10735501B2 (en) System and method for limiting access request
CN106576099A (zh) 支持攻击检测和缓解的数据中心架构
JP2009534001A (ja) 悪質な攻撃の検出システム及びそれに関連する使用方法
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
CN101064597B (zh) 网络安全设备以及使用该网络安全设备处理包数据的方法
US20190327208A1 (en) Network traffic mangling application
JP2016036095A (ja) コントローラ,及びその攻撃者検知方法
CN111865996A (zh) 数据检测方法、装置和电子设备
CN111935212A (zh) 安全路由器及基于安全路由器的物联网安全联网方法
CN113765846B (zh) 一种网络异常行为智能检测与响应方法、装置及电子设备
US11252184B2 (en) Anti-attack data transmission method and device
CN113765849B (zh) 一种异常网络流量检测方法和装置
US11943250B2 (en) Test device
KR20190028597A (ko) Fpga 기반 고속 스노트 룰과 야라 룰 매칭 방법
WO2019240054A1 (ja) 通信装置、パケット処理方法及びプログラム
KR20190028596A (ko) Fpga 기반 고속 스노트 룰과 야라 룰 매칭 장치
CN114710343A (zh) 一种入侵检测的方法和检测设备
WO2020158896A1 (ja) 通信装置

Legal Events

Date Code Title Description
A201 Request for examination
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: 20160104

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180104

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee