KR100468374B1 - 네트워크 유해 트래픽 제어 장치 및 방법 - Google Patents

네트워크 유해 트래픽 제어 장치 및 방법 Download PDF

Info

Publication number
KR100468374B1
KR100468374B1 KR1020040052283A KR20040052283A KR100468374B1 KR 100468374 B1 KR100468374 B1 KR 100468374B1 KR 1020040052283 A KR1020040052283 A KR 1020040052283A KR 20040052283 A KR20040052283 A KR 20040052283A KR 100468374 B1 KR100468374 B1 KR 100468374B1
Authority
KR
South Korea
Prior art keywords
packet
destination
harmful traffic
traffic
harmful
Prior art date
Application number
KR1020040052283A
Other languages
English (en)
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 KR1020040052283A priority Critical patent/KR100468374B1/ko
Application granted granted Critical
Publication of KR100468374B1 publication Critical patent/KR100468374B1/ko

Links

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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/0263Rule management
    • 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

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)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 프로세스별 쓰레숄드(Threshold)에 의한 네트워크 유해 트래픽 제어 장치 및 그 방법에 관한 것이다.
본 발명에 따르면, 유해 트래픽 룰을 수신하여 이를 저장하는 제 1 단계; 로(Raw) 패킷을 수집하는 제 2 단계; 상기 수집한 로 패킷으로부터 발신 프로세스 정보 및 패킷 트래픽 정보를 추출한 후 이를 저장하는 제 3 단계; 상기 제 3 단계에서 저장된 트래픽 정보가 제 1 단계에서 저장한 룰과 비교하여 내부 유해 트래픽 룰을 위반한 것으로 판단되면, 해당 프로세스를 저장하는 제 4 단계; 및 패킷이 외부로 전송될 때, 패킷의 발신 프로세스 정보를 추출하여 해당 프로세스가 상기 제 4 단계에서 저장한 정보에 존재하면 해당 프로세스가 발생시키는 패킷을 차단하는 제 5 단계; 를 포함하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법이 제공된다.

Description

네트워크 유해 트래픽 제어 장치 및 방법 {Device and method for controlling network harmful traffic}
본 발명은 프로세스별 쓰레숄드(Threshold)에 의한 네트워크 유해 트래픽 제어 장치 및 그 방법에 관한 것으로서, 특히, 유해 트래픽 룰을 결정하고, 그 결정된 룰에 따라 해당 프로세스에 의해서 발생하는 유해 패킷을 차단하는 네트워크 유해 트래픽 제어 장치 및 그 방법에 관한 것이다.
방화벽은 네트워크와 외부 세계 사이의 보호 경계선과 같은 보안 시스템이다. 도 1과 같이 Microsoft는 Windows XP 버전부터 해당 컴퓨터와 네트워크를 보호하기 위한 인터넷 연결 방화벽(ICF : Internet Connection Firewall) 기능을 제공한다.
인터넷 연결 방화벽은 네트워크 또는 소규모 네트워크와 인터넷 사이에 통신되는 정보의 제한 조건을 설정하는 데 사용되는 방화벽 소프트웨어로서, 인터넷에 연결된 단일 컴퓨터의 해당 인터넷 연결을 보호한다.
인터넷 연결 방화벽은 "상태 저장" 방화벽이다. 상태 저장 방화벽은 해당 경로를 통과하는 통신의 모든 부분을 모니터링하고, 처리되는 각 메시지의 원본 및 대상 주소와 포트를 검사한다. 인터넷 연결 방화벽은 아웃바운드(Outbound) 트래픽은 허용하고, 인바운드(Inbound) 트래픽은 차단함으로써, 네트워크 상에서 외부로부터 보이지 않게 하기 때문에, 개인용 PC 방화벽에서는 이 기능을 스텔스(Stealth) 기능이라고도 한다.
인터넷 연결 방화벽은 원하지 않는 트래픽이 개인 연결로 입력되지 않도록하기 위해 인터넷 연결 방화벽 컴퓨터에서 시작된 트래픽을 추적해서 모든 통신 테이블을 보관한다. 그리고, 인터넷의 모든 인바운드 트래픽은 테이블에 있는 항목과 비교된다. 인바운드 인터넷 트래픽은 테이블에 일치하는 항목이 있어서 통신 교환이 사용자의 컴퓨터에서 시작되었음을 입증하는 경우에만 네트워크 컴퓨터에 연결된다.
인터넷 연결 방화벽은 현재 수행하는 통신이 방화벽 허용 목록에서 허용하지 않으면 방화벽에 의해 연결이 끊어진다. 따라서, 원하지 않는 통신을 자동으로 취소하여 포트 스캐닝과 같은 일반적인 해킹을 차단한다.
인터넷 연결 방화벽 컴퓨터를 리눅스의 nmap 스캐닝툴로 스캔했을 경우, nmap은 모든 스캔에 대해서 인터넷 연결 방화벽 컴퓨터가 모든 스캔 동작에 응답하지 않기 때문에, 타겟 컴퓨터가 네트워크 상에 존재하지 않는 것으로 판단해서, "Host Seems Down"이라는 메시지를 출력한다. 이와 같이 인터넷 연결 방화벽은 원하지 않는 통신을 자동으로 취소하여 포트 스캐닝과 같은 일반적인 해킹을 차단한다.
만약 인터넷 연결 방화벽은 컴퓨터가 웹(Web) 서비스를 제공한다고 할 때, 인바운드 트래픽이 차단되기 때문에, 연결이 끊겨 정상적인 웹 서비스를 할 수 없게 된다. 이에 대해서 인터넷 연결 방화벽은 서비스가 사용하는 80번 포트로 인바운드 트래픽을 허용함으로써, 정상적인 웹 서비스를 제공할 수 있다. 이와 같이 인터넷 연결 방화벽은 서비스와 프로토콜을 추가함으로써, 정상적인 서비스를 사용할 수 있다. 또한, 135,137,138,139,445 번 포트를 허용함으로써 파일/프린터 공유를 할 수 있다.
Windows XP의 인터넷 연결 방화벽 이외에도 개인용 PC 방화벽 소프트웨어는 인터넷 연결 방화벽과 유사한 "스텔스 방화벽"과 같은 기능을 제공하며, 또한 외부로부터의 접속을 막을 수 있는 아이피/포트/프로토콜 차단 기능들을 제공한다.
그러나, 이와 같은 "인터넷 연결 방화벽" 또는 "스텔스 방화벽"은 사용자 PC로 외부로부터 유입되는 공격에 대해서 효과적으로 차단할 수 있지만, 사용자 PC에서 외부로 나가는 유해 트래픽의 차단은 할 수 없다.
따라서, 개인용 PC 방화벽 소프트웨어에서는 프로세스 인증이라는 방법을 사용한다. 이 방법은 사용자 PC의 프로그램이 인터넷에 접근하려고 할 때, 사용자에게 알리고, 해당 프로그램의 인터넷 사용을 사용자에게 인증을 받는 방법이다. 만약 사용자가 해당 프로그램이 인터넷 익스플로러와 같이 신뢰할 수 있는 프로그램이라면 아웃바운드 트래픽을 허용함으로써, 해당 프로그램의 인터넷 사용을 허용하고, 웜 바이러스와 같이 신뢰할 수 없는 프로그램이라면, 아웃바운드 트래픽을 차단함으로써, 해당 프로그램의 인터넷 사용을 제한하는 방법이다.
이와 같은 프로세스 인증 방법은 미국 특허 5,987,611, "SYSTEM AND METHODOLOGY FOR MANAGING INTERNET ACCESS ON A PER APPLICATION BASIS FOR CLIENT COMPUTERS CONNECTED TO THE INTERNET”에 기술되어 있다. 이와 같은 프로세스 인증 방법은 바이러스나 백도어에 의한 사용자 정보의 유출이나, 사용자 PC의 가용성 뿐만 아니라, 네트워크 자원을 고갈시키는 웜 바이러스의 차단에도 효과적이다.
한편, 웹 서버, FTP 서버, 텔넷(Telnet) 서버, P2P 프로그램, 원격 제어 프로그램, 메신저 프로그램 등 최근의 인터넷 사용 소프트웨어들은 서비스를 제공하는 서버로 동작하게 된다. 그리고, 이와 같이 서버로 동작하는 소프트웨어들의 수는 점차 증가하고 있으며, 일반 사용자들도 이러한 소프트웨어들을 많이 사용하고 있는 추세이다.
상술한 바와 같이, 인터넷 연결 방화벽은 원하지 않는 통신을 자동으로 취소하여 포트 스캐닝과 같은 일반적인 해킹을 차단하는 우수한 기능을 제공하고 있다. 그러나, 대부분의 사용자들은 서버로 동작하는 위와 같은 소프트웨어들이 정상적으로 동작하기 않기 때문에, 인터넷 연결 방화벽이나 개인용 PC 방화벽의 스텔스 기능의 사용을 기피한다.
물론, 도 2와 같이 Windows XP에서는 서버로 동작하는 소프트웨어가 사용하는 포트, 프로토콜, 아이피(IP) 등을 추가함으로써, 해당 소프트웨어를 정상적으로 사용할 수 있다. 그리고, 파일/프린터 공유를 사용하기 위해서 공유에 사용되는 포트와 프로토콜을 허용함으로써, 공유를 사용할 수 있다. 그러나, 이렇게 아이피, 포트, 프로토콜 등을 허용하면 할수록 보안은 더욱더 취약해진다.
최근에는 네트워크의 취약성을 이용해서 해킹을 하거나, 웜 바이러스를 배포하는 사례가 증가하고 있고, 새로운 취약성이 계속 발견되고 있다. 마이크로소프트사에서 지속적으로 취약성에 대한 새로운 서비스팩 또는 패치를 제공하고 있지만, 취약성은 계속 발견되고 있다. 그리고, 이러한 취약성 코드는 인터넷을 통해서 손쉽게 구할 수 있는 실정이다.
이러한 취약성 공격에 대해서는 인터넷 연결 방화벽을 사용함으로써 대처할 수 있으나, 최근의 웜 바이러스들은 E-Mail을 통해서 전파되는 경우도 있어서 인터넷 연결 방화벽만으로는 대처하기가 힘든 현실이다.
또한, 최근에는 슬래머, 웰치아 웜 바이러스를 비롯하여 최신의 바이러스, 웜등이 인터넷 사용자들의 PC에 침투한 불법 코드가 비정상적인 유해 트래픽을 유발하는 케이스가 빈번하게 증가하고 있다. 이러한 불법 트래픽은 사용자 PC의 자원을 소진하여 가용성을 해치는 것은 물론 인터넷 망으로 유입되어 다른 PC에 전이되고, 이로 인하여 인터넷 망의 트래픽을 높이게 되므로 ISP의 안정적인 망 운용에 있어 위해 요인으로 등장하게 되었다.
특히, 사용자 PC 사양의 고급화로 발생되는 유해 트래픽의 양 또한 급증하고 있으며 망의 고도화로 인해 확산 속도가 증가하고 있고, 웜의 확산 알고리즘이 비약적으로 발전하고 있으므로, 발생 초기에 ISP 망에 유해 트래픽이 유입되기 전, 사용자의 PC에서 이를 자동적으로 차단해야 하는 당위성이 대두되고 있다.
이와 같은 경우에 대해서 상술한 바와 같이, 개인용 PC 방화벽 소프트웨어에서는 프로세스 인증을 통해서 유해 트래픽을 발생 시키는 프로그램의 인터넷 접근을 차단할 수 있지만, 프로세스 인증은 사용자의 판단에 의해서 유해 트래픽 발생 프로그램인지 여부를 판별하여야 하므로, 전문가가 아닌 일반 사용자들이 이러한 판단을 하는 것은 어려운 것이 현실이다.
상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 유해 트래픽 룰을 결정하고, 그 결정된 룰에 따라 해당 프로세스에 의해서 발생하는 유해 패킷을 차단하는 프로세스 별 쓰레숄드에 의한 네트워크 유해 트래픽 제어 장치 및 그 방법을 제공하기 위한 것이다.
도 1은 마이크로소프트(Microsoft)사의 윈도우즈 엑스피(Windows XP)에서 해당 컴퓨터와 네트워크를 보호하기 위한 인터넷 연결 방화벽(ICF : Internet Connection Firewall)을 간략하게 보여주는 도면이고,
도 2는 도 1에 도시된 인터넷 연결 방화벽에서 서버로 동작하는 소프트웨어가 사용하는 포트, 프로토콜, 아이피(IP) 등을 추가함으로써, 해당 소프트웨어를 정상적으로 사용하게끔 하는 기능을 간략하게 보여주는 도면이고,
도 3은 본 발명에 이용되는 마이크로소프트사의 윈도우즈 운영 체제의 모드 구분 블록도이고,
도 4는 본 발명의 일 실시예에 따른 네트워크 유해 트래픽 제어 장치의 개략적인 구성을 보여주는 블록도이고,
도 5는 상기 발신 유해 트래픽 분석부(206)에서 일어나는 절차를 개괄한 흐름도이다.
상기한 목적을 달성하기 위하여 본 발명에 따르면, 유해 트래픽 룰을 수신하여 이를 저장하는 내부 유해 트래픽 룰 저장부; 로(Raw) 패킷을 수집하는 발신 패킷 수집부; 상기 발신 패킷 수집부로부터 로 패킷을 전송받아, 상기 전송받은 패킷의 발신 프로세스 정보 및 패킷 트래픽 정보를 추출하는 발신 유해 트래픽 분석부; 상기 발신 유해 트래픽 분석부로부터 추출된 발신 프로세스 정보 및 패킷 트래픽 정보를 전송받아 이를 저장하는 내부 프로세스별 트래픽 정보 저장부; 상기 내부 프로세스별 트래픽 정보 저장부에 저장된 트래픽 정보가 상기 내부 유해 트래픽 룰 저장부에 저장된 룰과 비교하여 내부 유해 트래픽 룰을 위반한 것으로 판단되면, 해당 프로세스를 저장하는 내부 유해 트래픽 발신 프로세스 저장부; 및 패킷이 외부로 전송될 때, 패킷의 발신 프로세스 정보를 추출하여 해당 프로세스가 상기 내부 유해 트래픽 발신 프로세스 저장부에 존재하면 해당 프로세스가 발생시키는 패킷을 차단하는 유해 트래픽 발신 프로세스 차단부; 를 포함하여 이루어진 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치가 제공된다.
또한, 유해 트래픽 룰을 수신하여 이를 저장하는 제 1 단계; 로(Raw) 패킷을수집하는 제 2 단계; 상기 수집한 로 패킷으로부터 발신 프로세스 정보 및 패킷 트래픽 정보를 추출한 후, 이를 저장하는 제 3 단계; 상기 제 3 단계에서 저장된 트래픽 정보가 제 1 단계에서 저장한 룰과 비교하여 내부 유해 트래픽 룰을 위반한 것으로 판단되면, 해당 프로세스를 저장하는 제 4 단계; 및 패킷이 외부로 전송될 다, 패킷의 발신 프로세스 정보를 추출하여 해당 프로세스가 상기 제 4 단계에서 저장한 정보에 존재하면 해당 프로세스가 발생시키는 패킷을 차단하는 제 5 단계; 를 포함하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법이 제공된다.
이하, 첨부된 도면을 참조하면서 본 발명의 일 실시예에 따른 네트워크 유해 트래픽 제어 장치 및 그 방법을 보다 상세하게 설명하기로 한다.
먼저, 본 발명에서 이용하고 있는 백그라운 기술을 간략히 살펴 보도록 한다.
도 3은 본 발명에 이용되는 마이크로소프트사의 윈도우즈 운영 체제의 모드 구분 블록도이다.
도 3을 참조하면, 마이크로소프트사에서 제공하는 윈도우즈 엑스피는 커널 모드(110)와 유저 모드(User Mode, 150)로 나누어지는데, 커널 모드에서는 운영 체제 커널과 각종 디바이스 드라이버가 구동되고, 유저 모드에서는 주로 어플리케이션(Application)이 구동된다. 그리고, 커널 모드에서 동작을 하는 프로그램들은 디바이스 드라이버의 형태로 존재한다.
마이크로소프트사의 윈도우즈 운영 체제의 커널 모드 네트워크 구조는 윈도우즈 소켓(Socket)의 커널 부분인 AFD(afd.sys), NDIS(네트워크 드라이버 인터페이스 명세 : Network Driver Interface Specification) 및 TDI(전송 드라이버 인터페이스 명세 : Transport Driver Interface)로 구성된다.
커널 모드에서 최상위 계층에 존재하는 afd.sys는 윈도우즈 소켓에서 유저 모드의 최하위 계층의 DLL(동적 연결 라이브러리 : Dynamic Link Library)인 msafd.dll과 통신을 하고, 아래 계층의 TDI와 인터페이스를 이루게 된다.
TDI는 프로토콜 스택(Stack)의 상위에 존재하는 커널 모드 인터페이스를 정의한다. NDIS는 NIC 디바이스 드라이버(Network Interface Card Device Driver)들을 위하여 표준 인터페이스를 제공한다.
마이크로소프트사의 윈도우즈 운영 체제의 유저 모드에서 패킷을 모니터링하거나 방화벽을 만드는 방법을 간단하게 설명한다.
후킹(Hooking)이란 후킹하려는 함수의 원본 주소를 저장하고, 자신이 생성한 함수의 주소로 교체한 후, 자신의 함수를 먼저 실행하도록 함으로써, 추후 자신의 함수를 실행하게 하는 널리 알려진 프로그래밍 기법이다.
방화벽에서 패킷을 차단하는 방법은 일반적으로 패킷 송수신시, 후킹한 원본 함수를 호출하지 않거나, 패킷 송수신이 실패하였다는 적절한 상태값으로 원본 함수를 호출함으로써, 또는, 패킷의 내용을 조작함으로써, 정상적인 송수신이 이루어지지 않게 하는 방법을 사용한다. 패킷을 허용하는 경우에는 원본 함수를 그대로 호출함으로써, 정상적인 송수신이 이루어지는 방법을 사용한다. 그리고, 실제 로우 패킷을 처리하지 않는 소켓, AFD, TDI 레벨에서는 이에 상응하는 I/O 연산을 차단함으로써, 패킷의 송수신을 제어할 수 있다.
이러한 방법에는 유저 모드에서의 방화벽 생성 방법과 커널 모드에서의 방화벽 생성 방법이 있는데, 이를 설명하면, 다음과 같다.
먼저, 유저 모드에서의 방화벽 생성 방법을 살펴 본다.
* LSP(winsock Layered Service Provider) : 이 방법은 마이크로소프트사에서 제공하는 방법으로서, QOS(Quality Of Service), URL 필터링 및 데이터 스트림(Data Stream)의 암호화에 많이 사용되는 마이크로소프트 네트워킹에 존재하는 컴포넌트인 SPI(Service Provider Interface)를 기반으로 한다.
* 윈도우즈 2000 패킷 필터링 인터페이스(Windows 2000 Packet Filtering Interface) : 윈도우즈 2000의 유저 모드에서 응용 프로그램이 아이피 주소 및 포트 정보를 기반으로 패킷을 허용/차단할 수 있도록 필터 디스크립터(Filter Descrypter)를 설치하는 방법을 기반으로 한다.
* Winsock DLL 교체 : 마이크로소프트사의 윈도우즈 운영 체제의 Winsock DLL을 사용자가 만든 DLL로 교체하여 필터링하는 기법을 기반으로 한다.
* 글로벌 함수 후킹(Global Function Hooking) : 커넥트(Connect), 리슨(Listen), 센드(Send), 리시브(Recv), 센드투(Sendto), 리시브 프롬(Recvfrom)과 같은 윈도우즈의 소켓 함수들을 후킹하거나 유저 모드의 어플리케이션이 커널 모드의 드라이버와 통신하기 위하여 사용하는 DeviceIoControl() 함수를 후킹하는 기법을 기반으로 한다.
이어서, 마이크로소프트사의 윈도우즈 운영 체제의 커널 모드에서 패킷을 모니터링하거나 방화벽을 만드는 방법을 간단하게 설명한다.
* NDIS 패킷 드라이버 : NdisRegisterProtocol 함수를 사용하여 패킷을 송/수신할 수 있는 프로토콜 드라이버를 등록하는 기법을 기반으로 패킷 내용을 수집한다. 마이크로소포트사에서 사용자들에게 제공하는 방법으로서, 일반적인 패킷 모니터링 드라이버들이 이 방법을 사용한다. 그러나, 패킷을 차단할 수 있는 방화벽으로는 사용할 수 없다.
* 커널 모드 소켓 필터(Kernel Mode Socket Filter) : 유저 모드에서 윈도우즈 소켓의 최하위 계층의 DLL인 msafd.dll이 커널 모드 윈도우즈 소켓인 afd.sys와 통신하는 모든 I/O를 후킹하는 기법을 기반으로 한다.
* TDI 필터 드라이버 : tcpip.sys 드라이버(\Device\RawIp, \Device\Udp, \Device\Tcp, \Device\Ip, \Device\MULTICAST)에 의하여 생성된 디바이스에 IoAttackDevce() API를 사용하여 필터 드라이버로 적용하는 방법이다. 또는, tcpip.sys의 드라이버 오브젝트(Driver Object)에 존재하는 디스패치 테이블(Dispatch Table)을 바뀌치기하여 모든 I/O를 후킹하는 기법을 기반으로 한다.
* NDIS IM(InterMediate) 드라이버 : 마이크로소프트사에서 사용자들에게 제공하는 방법으로서, TCP/IP와 같은 프로토콜 드라이버와 NIC 드라이버 사이에 끼워 넣어 방화벽, NAT(Network Address Translation) 등을 개발하는 기법이다.
* NDIS 후킹 필터 드라이버 : NDIS 라이브러리의 함수들을 후킹하는 방법으로서, NdisRegisterProtocol, NdisDeregisterProtocol, NdisOpenAdapter, NdisCloseAdapter 및 NdisSend와 같은 함수들을 후킹하거나, 자신의 프로토콜 드라이버를 등록하는 NdisRegisterProtocol 함수를 사용하여 리턴된 NdisProtocolHandle을 기준으로 TCP/IP와 같은 기존의 등록된 프로토콜 드라이버 링크를 찾아 NDIS와 통신하는 프로토콜 드라이버 및 NIC 드라이버의 I/O를 후킹하는 기법을 기반으로 한다.
본 발명에서 제시하는 패킷 수집부 및 패킷 차단부는 상술한 커널 모드 소켓 필터, NDIS 패킷 드라이버, TDI 필터 드라이버, NDIS IM 드라이버 및 NDIS 후킹 필터 드라이버 등에서 구현될 수 있으며, 일반적으로 패킷 차단부는 TDI 필터 드라이버, NDIS IM 드라이버 또는 NDIS 후킹 필터 드라이버에서 구현되고, 패킷 수집부는 NDIS IM 드라이버 또는 NDIS 후킹 필터 드라이버에서 구현된다.
도 4는 본 발명의 일 실시예에 따른 네트워크 유해 트래픽 제어 장치의 개략적인 구성을 보여주는 블록도로서, 이를 상세히 설명하면, 다음과 같다.
유해 트래픽 룰 수신부(204)는 유해 트래픽 룰 서버(209)로부터 유해 트래픽 룰을 수신한다. 이어서, 상기 수신된 유해 트래픽 룰을 내부 유해 트래픽 룰 저장소(207)에 저장한다.
발신 패킷 수집부(205)는 수집된 패킷을 발신 유해 트래픽 분석부(206)로 보낸다. 상기 발신 유해 트래픽 분석부(206)는 상기 발신 패킷 수집부(205)로부터 받은 패킷의 발신 프로세스 ID를 추출하고, 상기 추출된 발신 프로세스 ID 및 패킷 트래픽 정보를 내부 프로세스별 트래픽 정보 저장소(208)에 저장한다.
그리고, 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장되어 있는 트래픽 정보가 상기 내부 유해 트래픽 룰 저장소(207)에 저장되어 있는 룰과 비교해서 내부 유해 트래픽 룰을 위반했다면, 해당 프로세스를 내부 유해 트래픽 발신 프로세스 저장소(210)에 저장한다.
이후, 패킷이 외부로 전송될 때, 유해 트래픽 발신 프로세스 차단부(211)는 패킷의 발신 프로세스를 추출하고, 해당 프로세스가 상기 내부 유해 트래픽 발신 프로세스 저장소(210)에 있는지 비교한다. 비교 결과, 존재한다면, 해당 프로세스가 발생하는 패킷을 차단하고, 그렇지 아니하면, 허용한다.
각각의 콤포넌트별로 보다 더 상세하게 설명한다.
(1) 유해 트래픽 룰 수신부(204)
상기 유해 트래픽 룰 수신부(204)는 상기 유해 트래픽 룰 서버(209)로부터 유해 트래픽 룰을 수신한다. 그리고 수신한 유해 트래픽 룰을 상기 내부 유해 트래픽 룰 저장소(207)에 저장한다.
이와 같은 유해 트래픽 룰은 초당 패킷수의 임계값, 초당 패킷량의 임계값, 초당 목적지 IP 수의 임계값 및 초당 목적지 포트(Port) 수의 임계값 등을 나타낸다.
(2) 발신 패킷 수집부(205)
상기 발신 패킷 수집부(205)는 위에서 언급했던 패킷을 수집하기 위해서 일반적으로 널리 사용되는 유저-모드에서의 네트워크 패킷 모니터링을 하는 방법 또는 커널-모드에서의 네트워크 패킷 모니터링을 하는 방법을 사용해서 패킷을 수집한다.
윈도우 NDIS에서는 실제 로(Raw) 패킷이 전달되는 것이 아니라 NDIS_PACKET 형식을 따른다. 따라서, NDIS_PACKET으로부터 실제 로 패킷을 얻어와야 하는데, 그 과정은 NdisQueryPacket() API를 통해서, NDIS_PACKET으로부터 NDIS_BUFFER를 얻어오고, 이어서, NDIS_BUFFER로부터 NdisQueryBuffer() API, NdisGetNextBuffer() API를 통해서 실제 로우 패킷을 얻어올 수 있다.
상기 발신 패킷 수집부(205)는 이렇게 얻은 로 패킷을 상기 발신 유해 트래픽 분석부(206)로 보낸다.
(3) 발신 유해 트래픽 분석부(206)
상기 발신 유해 트래픽 분석부(206)는 상기 발신 패킷 수집부(205)로부터 프로세스 ID 및 로 패킷을 전송받는다.
이 로 패킷으로부터 패킷량(Bytes), 목적지 IP 및 목적지 포트를 추출하여 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장한다. 저장시 같은 프로세스 ID가 존재하지 않는다면 새로운 프로세스 항목을 추가하고, 같은 프로세스 ID가 존재한다면 패킷수를 증가시키고 패킷량을 더하고, 목적지 IP가 같다면 현재의 목적지 IP수를 유지하며, 틀리면 목적지 IP 수를 증가시킨다. 이때, 목적지 포트도 목적지 IP와 같은 방법으로 유지 또는 증가시켜 기존의 프로세스 항목을 갱신한다.
그리고, 상기 내부 유해 트래픽 룰 저장소(207)에 저장된 정보와 비교하여 발신 트래픽 상한값을 초과하면, 상기 내부 유해 트래픽 발신 프로세스 저장소(210)에 저장한다.
도 5는 상기 발신 유해 트래픽 분석부(206)에서 일어나는 절차를 개괄한 흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S501에서, 상기 발신 유해 트래픽 분석부(206)가 상기 발신 패킷 수집부(205)로부터 프로세스 ID 및 로 패킷를 받으면, 스텝 S502에서, 상기 전송받은 로 패킷에서 패킷량(Bytes), 목적지 IP 및 목적지 포트를 추출한다.
그 다음, 스텝 S503에서, 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장된 프로세스 ID 및 상기 발신 패킷 수집부(205)에 저장된 프로세스 ID들 중 일치하는 것이 있는지 여부를 검색하여 판단한다. 이때, 상기 검색 기법으로는 해싱(Hashing) 방법을 이용하는 것이 보다 더 효율적이다.
해싱 방법은 자료의 검색과 삽입을 위해 해싱 함수(Hashing Function)라는 수식을 사용하고, 자료를 해쉬 테이블(Hash Table)에 저장하는 방법으로서, 수식의 계산에만 시간이 소요되므로 저장된 자료의 양이 많아지더라도 빠른 시간 내에 검색이 가능한 널리 알려진 기법이다.
상기 스텝 S503에서의 판단 결과, 같은 프로세스 ID가 존재하지 아니하면, 스텝 S509에서, 프로세스 ID, 패킷량, 패킷수(1개), 목적지 IP수(1개) 및 목적지 포트수(1개)를 하나의 프로세스 정보로 묶어 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장한다.
한편, 상기 스텝 S503에서의 판단 결과, 같은 프로세스 ID가 존재하면, 스텝 S504에서, 해당 프로세스의 패킷수를 증가시키고 패킷량을 더한 후, 스텝 S505 내지 스텝 S508에서, 같은 프로세스 ID가 존재하면 그 프로세스 ID를 가진 프로세스정보 중 패킷수를 증가시키고 패킷량을 더한다. 이어서, 목적지 IP가 같다면 현재의 목적지 IP 수를 유지하고, 같지 아니하면 목적지 IP 수를 증가시키고, 목적지 포트도 목적지 IP와 같은 방법으로 유지 또는 증가시켜 상기 내부 프로세스별 트래픽 정보 저장소(208)의 항목을 갱신한다.
이어서, 스텝 S510에서, 발신 유해 트래픽 검사를 수행할 시간인지 여부를 판단하여, 수행 시간이면, 스텝 S511 내지 스텝 S512에서, 상기 내부 유해 트래픽 룰 저장소(207)의 정보와 비교하여 발신 트래픽 상한값을 초과했다면, 상기 내부 유해 트래픽 발신 프로세스 저장소(210)에 저장한다.
한편, 발신 유해 트래픽 정보를 초과했는지 여부를 판단하는 루틴은 상기 내부 프로세스별 트래픽 정보 저장소(208)의 모든 내용과의 비교가 필요하므로, 비교에 적지 않은 시간을 요구한다. 그러므로, 수초 정도의 정해진 시간에 한 번만 수행하고 상기 내부 유해 트래픽 룰 저장소(207)에 저장된 초당 패킷수의 임계값, 초당 패킷량의 임계값, 초당 목적지 IP 수의 임계값 및 초당 목적지 포트 수의 임계값의 4가지 항목들을 각각 정해진 시간으로 곱하고, 이를 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장된 각각의 프로세스 정보들과 비교하여 상기 내부 유해 트래픽 룰 저장소(207)의 4가지 항목중 하나라도 초과하는 정보를 가지고 있으면 내부 유해 트래픽으로 간주하여, 상기 내부 유해 트래픽 발신 프로세스 저장소(210)에 해당 프로세스 ID를 저장한 후, 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장되어 있는 모든 프로세스 정보들을 삭제한다.
한편, 상기 내부 유해 트래픽 발신 프로세스 아이디 저장소(210)에 저장된데이터들을 예시하는 것이 아래의 [표 1]이고, 상기 내부 유해 트래픽 룰 저장소(207)에 저장된 데이터들을 예시하는 것이 아래의 [표 2]이며, 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장된 데이터들을 예시하는 것이 아래의 [표 3]이다.
프로세스 아이디
1 1354
2 1376
3 1487
4 ...
초당 패킷수의 임계값 초당 패킷량의 임계값 초당 목적지 IP 수의 임계값 초당 목적지 포트 수의 임계값
1000 10,000 KBytes 20 20
프로세스 아이디 패킷수 패킷량 목적지 IP 수 목적지 포트 수
1 1816 40 51 KBytes 3 5
2 2462 2358 3451 KBytes 80 40
3 3456 294 421 KBytes 10 3
4 ... ... ... ... ...
한편, 상기 내부 프로세스별 트래픽 정보 저장소(208)에 저장되는 정보들은 해쉬 테이블에 각각 저장하는 것이 보다 더 효율적이다.
또한, 상기 프로세스 정보는 프로세스 ID가 아닌, 프로세스 핸들, 쓰레드 핸들 또는 쓰레드 ID가 될 수도 있으며, 이들을 프로세스 정보로 하는 경우라도 상술한 바와 같은 방법과 절차를 따르면 되므로 여기에서는 부연 설명하지 아니한다.
(4) 유해 트래픽 발신 프로세스 차단부(210)
상기 유해 트래픽 발신 프로세스 차단부(210)는 상술한 바와 같이, 방화벽을만들기 위하여 일반적으로 널리 사용되는 유저-모드에서의 네트워크 방화벽을 만드는 방법 또는 커널-모드에서의 네트워크 방화벽을 만드는 방법을 사용해서 패킷 정보를 수집한다. 이와 같은 프로세스 정보는 PsGetCurrentProcessId()와 같은 API를 통해서 패킷을 발송하는 프로세스 ID를 얻어올 수 있다. 이렇게 프로세스 정보를 얻어온 후, 얻어온 프로세스가 상기 내부 유해 트래픽 발신 프로세스 저장소(210)에 존재하는지 여부를 확인한다. 만약 존재한다면 해당 패킷을 차단하고, 그렇지 않으면 허용한다. 이와 같은 패킷 차단은 앞서 설명한 것과 같이 실패를 나타내는 적절한 상태값을 리턴하거나, 패킷의 내용을 조작함으로써, 또는 원본 함수를 호출하지 않음으로써 차단한다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술 사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호 범위는 첨부된 청구 범위에 의해서 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, 알려지지 아니한 웜 바이러스와 같은 유해 트래픽을 발생시키는 프로그램을 자동으로 탐지하고, 이를 차단함으로써, 인터넷망으로 유입되어 다른 PC에 전이되는 것을 막을 수 있는 효과가 있다.
또한, 인터넷 익스플로러나 백신 소프트웨어와 같은 정상적인 프로세스의 인터넷 사용을 허용함으로서, 신속한 OS 보안 패치나 웜 바이러스의 치료를 위한 백신 업데이트를 수행할 수 있으며, 이로 인하여 인터넷 망의 트래픽을 보호하여 유해 트래픽 차단 및 내부 트래픽 감소 효과를 유발시켜 ISP의 안정적인 망 운용을 원활하게 수행하는 효과가 있다.

Claims (14)

  1. 유해 트래픽 룰을 수신하여 이를 저장하는 내부 유해 트래픽 룰 저장부;
    로(Raw) 패킷을 수집하는 발신 패킷 수집부;
    상기 발신 패킷 수집부로부터 로 패킷을 전송받아, 상기 전송받은 패킷의 발신 프로세스 정보 및 패킷 트래픽 정보를 추출하는 발신 유해 트래픽 분석부;
    상기 발신 유해 트래픽 분석부로부터 추출된 발신 프로세스 정보 및 패킷 트래픽 정보를 전송받아 이를 저장하는 내부 프로세스별 트래픽 정보 저장부;
    상기 내부 프로세스별 트래픽 정보 저장부에 저장된 트래픽 정보가 상기 내부 유해 트래픽 룰 저장부에 저장된 룰과 비교하여 내부 유해 트래픽 룰을 위반한 것으로 판단되면, 해당 프로세스를 저장하는 내부 유해 트래픽 발신 프로세스 저장부; 및
    패킷이 외부로 전송될 때, 패킷의 발신 프로세스 정보를 추출하여 해당 프로세스가 상기 내부 유해 트래픽 발신 프로세스 저장부에 존재하면 해당 프로세스가 발생시키는 패킷을 차단하는 유해 트래픽 발신 프로세스 차단부;
    를 포함하여 이루어진 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  2. 제 1 항에 있어서,
    상기 유해 트래픽 룰은 단위 시간당 패킷수의 임계값, 단위 시간당 패킷량의임계값, 단위 시간당 목적지 아이피 수의 임계값 또는 단위 시간당 목적지 포트 수의 임계값 중 어느 하나 이상을 포함하여 구성된 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  3. 제 1 항에 있어서,
    상기 발신 패킷 수집부는,
    유저 모드(User Mode)에서의 네트워크 패킷 모니터링 방법 또는 커널 모드(Kernel Mode)에서의 네트워크 패킷 모니터링 방법을 이용하여 패킷을 수집하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  4. 제 1 항에 있어서,
    상기 발신 유해 트래픽 분석부는,
    상기 발신 패킷 수집부로부터 프로세스 아이디 및 로 패킷을 전송받아, 상기 로 패킷으로부터 패킷량, 목적지 아이피, 목적지 포트를 추출하여 상기 내부 프로세스별 트래픽 정보 저장소에 저장하되,
    저장시 같은 프로세스 아이디가 존재하지 아니하면 새로운 프로세스 항목을 추가하고, 같은 프로세스 아이디가 존재하면 패킷수를 증가시키고 패킷량을 더한 후,
    목적지 아이피가 같으면 현재의 목적지 아이피 수를 유지하고, 목적지 아이피가 다르면 목적지 아이피 수를 증가시켜 프로세스 항목을 갱신하여 저장하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  5. 제 4 항에 있어서,
    상기 발신 유해 트래픽 분석부는,
    목적지 포트가 같으면 현재의 목적지 포트 수를 유지하고, 목적지 포트가 다르면 목적지 포트 수를 증가시켜 프로세스 항목을 갱신하여 저장하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  6. 제 1 항에 있어서,
    상기 프로세스 정보는 프로세스 아이디, 프로세스 핸들, 쓰레드 핸들 또는 쓰레드 ID 중 어느 하나인 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  7. 제 1 항에 있어서,
    상기 유해 트래픽 발신 프로세스 차단부는,
    유저 모드에서의 네트워크 방화벽을 만드는 방법 또는 커널 모드에서의 네트워크 방화벽을 만드는 방법을 사용하여 패킷 정보를 수집하여 차단하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 장치.
  8. 유해 트래픽 룰을 수신하여 이를 저장하는 제 1 단계;
    로(Raw) 패킷을 수집하는 제 2 단계;
    상기 수집한 로 패킷으로부터 발신 프로세스 정보 및 패킷 트래픽 정보를 추출한 후, 이를 저장하는 제 3 단계;
    상기 제 3 단계에서 저장된 트래픽 정보가 제 1 단계에서 저장한 룰과 비교하여 내부 유해 트래픽 룰을 위반한 것으로 판단되면, 해당 프로세스를 저장하는 제 4 단계; 및
    패킷이 외부로 전송될 때, 패킷의 발신 프로세스 정보를 추출하여 해당 프로세스가 상기 제 4 단계에서 저장한 정보에 존재하면 해당 프로세스가 발생시키는 패킷을 차단하는 제 5 단계;
    를 포함하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
  9. 제 8 항에 있어서,
    상기 제 3 단계는,
    프로세스 아이디 및 로 패킷을 전송받아, 상기 로 패킷으로부터 패킷량, 목적지 아이피, 목적지 포트를 추출하여 저장하되,
    저장시 같은 프로세스 아이디가 존재하지 아니하면 새로운 프로세스 항목을 추가하고,
    같은 프로세스 아이디가 존재하면 패킷수를 증가시키고 패킷량을 더한 후, 목적지 아이피가 같으면 현재의 목적지 아이피 수를 유지하고, 목적지 아이피가 다르면 목적지 아이피 수를 증가시켜 프로세스 항목을 갱신하여 저장하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
  10. 제 9 항에 있어서,
    상기 제 3 단계는,
    상기 로 패킷에서 패킷량, 목적지 아이피, 목적지 포트를 추출하는 제 1 서브 단계;
    상기 기저장된 프로세스 아이디와 발신 프로세스 아이디들 중 일치하는 것이 있는지 여부를 판단하는 제 2 서브 단계;
    상기 제 2 서브 단계에서의 판단 결과, 같은 프로세스 아이디가 존재하지 아니하면, 프로세스 아이디, 패킷량, 패킷수, 목적지 아이피수, 목적지 포트수를 저장하는 제 3 서브 단계;
    상기 제 2 서브 단계에서의 판단 결과, 같은 프로세스 아이디가 존재하면, 패킷수를 증가시키고 패킷량을 더한 후, 목적지 아이피가 같으면 현재의 목적지 아이피 수를 유지하고, 목적지 아이피가 다르면 목적지 아이피 수를 증가시켜 프로세스 항목을 갱신하여 저장하는 제 4 서브 단계;
    를 포함하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
  11. 제 10 항에 있어서,
    목적지 포트가 같으면 현재의 목적지 포트 수를 유지하고, 목적지 포트가 다르면 목적지 포트 수를 증가시켜 프로세스 항목을 갱신하여 저장하는 제 5 서브 단계;
    를 더 포함하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
  12. 제 10 항에 있어서,
    상기 제 2 서브 단계는,
    해싱(Hashing) 기법을 이용하여 상기 제 4 단계에서 저장된 프로세스 아이디와 상기 제 3 단계에서의 발신 프로세스 아이디들 중 일치하는 것이 있는지 여부를 판단하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
  13. 제 8 항에 있어서,
    상기 유해 트래픽 룰을 구성하는 요소는 단위 시간당 패킷수의 임계값, 단위 시간당 패킷량의 임계값, 단위 시간당 목적지 아이피 수의 임계값 또는 단위 시간당 목적지 포트 수의 임계값들을 포함하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
  14. 제 13 항에 있어서,
    상기 제 4 단계는,
    상기 유해 트래픽 룰 구성 요소들을 각각 정하여진 시간으로 곱한 후, 이 값들과 각각의 프로세스 정보들과 비교하여 하나라도 초과하는 정보를 가지고 있으면, 내부 유해 트래픽으로 결정하는 것을 특징으로 하는 네트워크 유해 트래픽 제어 방법.
KR1020040052283A 2004-07-06 2004-07-06 네트워크 유해 트래픽 제어 장치 및 방법 KR100468374B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040052283A KR100468374B1 (ko) 2004-07-06 2004-07-06 네트워크 유해 트래픽 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040052283A KR100468374B1 (ko) 2004-07-06 2004-07-06 네트워크 유해 트래픽 제어 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100468374B1 true KR100468374B1 (ko) 2005-01-31

Family

ID=37224134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040052283A KR100468374B1 (ko) 2004-07-06 2004-07-06 네트워크 유해 트래픽 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100468374B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785444B1 (ko) 2007-01-18 2007-12-13 (주)호이드연구소 네트워크 시스템의 정책제어 방법, 및 시스템
KR100785446B1 (ko) 2006-09-28 2007-12-13 (주)호이드연구소 네트워크 시스템의 정책제어 방법, 및 네트워크 정책제어 시스템
KR100882809B1 (ko) 2006-08-31 2009-02-10 영남대학교 산학협력단 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격 방어시스템 및 방법
KR101074124B1 (ko) 2008-12-03 2011-10-17 한국전자통신연구원 전송 드라이버 인터페이스를 이용한 이동 단말의 수신 패킷처리 방법
KR101141127B1 (ko) * 2008-04-11 2012-05-07 후아웨이 테크놀러지 컴퍼니 리미티드 동등 계층 네트워크에 접속하기 위해 노드를 제어하기 위한 방법 및 장치
KR101206853B1 (ko) 2011-06-23 2012-11-30 주식회사 잉카인터넷 네트워크 접근 제어시스템 및 방법
US8726362B2 (en) 2011-03-16 2014-05-13 Samsung Sds Co., Ltd. SOC-based device for packet filtering and packet filtering method thereof
KR101657180B1 (ko) * 2015-05-04 2016-09-19 최승환 프로세스 접근 제어 시스템 및 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882809B1 (ko) 2006-08-31 2009-02-10 영남대학교 산학협력단 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격 방어시스템 및 방법
KR100785446B1 (ko) 2006-09-28 2007-12-13 (주)호이드연구소 네트워크 시스템의 정책제어 방법, 및 네트워크 정책제어 시스템
KR100785444B1 (ko) 2007-01-18 2007-12-13 (주)호이드연구소 네트워크 시스템의 정책제어 방법, 및 시스템
KR101141127B1 (ko) * 2008-04-11 2012-05-07 후아웨이 테크놀러지 컴퍼니 리미티드 동등 계층 네트워크에 접속하기 위해 노드를 제어하기 위한 방법 및 장치
KR101074124B1 (ko) 2008-12-03 2011-10-17 한국전자통신연구원 전송 드라이버 인터페이스를 이용한 이동 단말의 수신 패킷처리 방법
US8726362B2 (en) 2011-03-16 2014-05-13 Samsung Sds Co., Ltd. SOC-based device for packet filtering and packet filtering method thereof
KR101404312B1 (ko) * 2011-03-16 2014-06-27 삼성에스디에스 주식회사 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법
KR101206853B1 (ko) 2011-06-23 2012-11-30 주식회사 잉카인터넷 네트워크 접근 제어시스템 및 방법
US9246937B2 (en) 2011-06-23 2016-01-26 Inca Internet Co., Ltd. Network access control system and method
KR101657180B1 (ko) * 2015-05-04 2016-09-19 최승환 프로세스 접근 제어 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11616761B2 (en) Outbound/inbound lateral traffic punting based on process risk
US10652210B2 (en) System and method for redirected firewall discovery in a network environment
US9661017B2 (en) System and method for malware and network reputation correlation
EP2715540B1 (en) Malware analysis system
US9094372B2 (en) Multi-method gateway-based network security systems and methods
US10855656B2 (en) Fine-grained firewall policy enforcement using session app ID and endpoint process ID correlation
KR100522138B1 (ko) 신뢰할 수 있는 프로세스를 허용하는 유연화된 네트워크보안 시스템 및 그 방법
JP2015528263A (ja) ネットワークトラフィック処理システム
CN101719899A (zh) 用于网络安全装置的具有端口限制的动态访问控制策略
CN109688153B (zh) 使用主机应用/程序到用户代理的映射的零日威胁检测
JP6737610B2 (ja) 通信装置
JP2017204721A (ja) セキュリティシステム
CN111295640A (zh) 使用会话app id和端点进程id相关性的精细粒度防火墙策略实施
KR100468374B1 (ko) 네트워크 유해 트래픽 제어 장치 및 방법
US20050086512A1 (en) Worm blocking system and method using hardware-based pattern matching
US7536452B1 (en) System and method for implementing traffic management based on network resources
US11159533B2 (en) Relay apparatus
JP2003264595A (ja) パケット中継装置、パケット中継システムおよびオトリ誘導システム
JP4321375B2 (ja) アクセス制御システム、アクセス制御方法、およびアクセス制御プログラム
KR100539760B1 (ko) 인터넷 접근 제어를 통한 에이전트 설치 유도 시스템 및그 방법
US20210400020A1 (en) Technique for collecting information relating to a flow routed in a network
US12003485B2 (en) Outbound/inbound lateral traffic punting based on process risk
KR100520102B1 (ko) 네트워크 유해 트래픽 방역 시스템 및 그 방법
JP2006165877A (ja) 通信システム、通信方法および通信プログラム
Perry Inferring Network Infrastructure and Session Information through Network Analysis

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
O035 Opposition [patent]: request for opposition
O132 Decision on opposition [patent]
EXTG Extinguishment
O064 Revocation of registration by opposition: final registration of opposition [patent]