KR101339512B1 - 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법 - Google Patents

시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법 Download PDF

Info

Publication number
KR101339512B1
KR101339512B1 KR1020120027051A KR20120027051A KR101339512B1 KR 101339512 B1 KR101339512 B1 KR 101339512B1 KR 1020120027051 A KR1020120027051 A KR 1020120027051A KR 20120027051 A KR20120027051 A KR 20120027051A KR 101339512 B1 KR101339512 B1 KR 101339512B1
Authority
KR
South Korea
Prior art keywords
rule
list
packet
user
filtering
Prior art date
Application number
KR1020120027051A
Other languages
English (en)
Other versions
KR20120106640A (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 삼성에스디에스 주식회사
Publication of KR20120106640A publication Critical patent/KR20120106640A/ko
Application granted granted Critical
Publication of KR101339512B1 publication Critical patent/KR101339512B1/ko

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명적 개념의 일 실시예에 따르면, 패킷 필터링을 위한 룰 DB를 저장하는 제1 저장부와, 상기 룰 DB를 적용하여 패킷의 송신을 허용 또는 차단하는 방화벽 엔진을 포함하는 칩; 및 사용자로부터 패킷 필터링을 위한 룰을 입력받아 룰 리스트에 저장하기 위한 형태로 변환하는 룰 컨버터;를 포함하며, 상기 칩은 상기 룰 컨버터에 의해 변환된 룰 리스트를 전송받아 상기 제1 저장부에 룰 DB로서 저장하는 것을 디바이스가 개시된다.

Description

시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법{SOC-BASED DEVICE FOR PACKET FILTERING AND PACKET FILTERING METHOD THEREOF}
본 발명은 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법에 관한 것으로, 보다 상세하게는, 네트워크 어플리케이션의 프로세스 별로 방화벽 설정을 허용 또는 차단으로 설정할 수 있는 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법에 관한 것이다.
인터넷이 광범위하게 사용되면서 웜이나 트로이목마, 바이러스, DDoS 등과 같은 다양한 형태의 악성 멀웨어들이 나타나고 그 피해도 커지고 있다. 따라서 네트워크상의 정보를 보호하기 위한 네트워크 침해 대응 방법 및 기타 관련 장치가 반드시 필요하게 되었다.
특히, 모바일 기기의 경우는 사용할 수 있는 리소스가 제한되어 있어서, 리소스를 최소한으로 사용하면서 고속으로 패킷을 필터링할 수 있는 고속 필터링 기술이 반드시 필요하다고 할 것이다.
본 발명적 개념의 일 실시예에 따르면 사용자 인터페이스를 통해 사용자가 입력한 룰을 룰 컨버터에 의해 변환하여 룰 리스트로 저장할 수 있는 방법 및 장치를 제공하는 것을 일 목적으로 한다.
본 발명적 개념의 일 실시예에 따르면 네트워크 어플리케이션의 프로세스 별로 방화벽 설정을 허용 또는 차단함으로써 이 프로세스가 생성하는 모든 패킷에 대해 허용 또는 차단을 설정할 수 있는 디바이스 및 패킷 필터링 방법을 제공하는 것을 일 목적으로 한다.
본 발명적 개념의 일 실시예에 따르면 패킷 필터링을 위한 룰 설정시 구성 헬퍼를 제공함으로써 사용자가 원하는 서비스에 대해 방화벽 설정 작업을 보다 용이하게 수행할 수 있는 디바이스 및 패킷 필터링 방법을 제공하는 것을 일 목적으로 한다.
본 발명적 개념의 일 실시예에 따르면, 패킷 필터링을 위한 룰 DB를 저장하는 제1 저장부와, 상기 룰 DB를 적용하여 패킷의 송신을 허용 또는 차단하는 방화벽 엔진을 포함하는 칩; 및 사용자로부터 패킷 필터링을 위한 룰을 입력받아 룰 리스트로 변환하는 룰 컨버터;를 포함하며, 상기 칩은 상기 룰 컨버터에 의해 변환된 룰 리스트를 전송받아 상기 제1 저장부에 룰 DB로서 저장하는 것을 특징으로 하는 디바이스가 제공된다.
본 발명적 개념의 다른 실시예에 따르면, 방화벽 기능을 가진 칩을 장착된 디바이스에서의 패킷 필터링 방법에 있어서, 상기 디바이스가, 사용자로부터 패킷 필터링을 위한 룰을 입력받아 룰 리스트로 변환하는 단계; 상기 칩이, 상기 디바이스로부터 룰 리스트를 전송받아 룰 DB의 형태로서 저장하는 단계; 및 상기 칩이, 상기 룰 DB를 이용하여 패킷의 송수신을 허용 또는 차단하는 단계;를 포함하는 것을 특징으로 하는 패킷 필터링 방법이 제공된다.
본 발명적 개념의 하나 이상의 실시예에 따르면 사용자 인터페이스를 통해 사용자가 직접 입력한 룰을 룰 컨버터에 의해 변환하여 룰 리스트로 저장할 수 있다.
본 발명적 개념의 하나 이상의 실시예에 따르면 네트워크 어플리케이션의 프로세스 별로 방화벽 설정을 허용 또는 차단함으로써 이 프로세스가 생성하는 모든 패킷에 대해 허용 또는 차단을 설정할 수 있다.
본 발명적 개념의 하나 이상의 실시예에 따르면 패킷 필터링을 위한 룰 설정시 구성 헬퍼를 제공함으로써 사용자가 원하는 서비스에 대해 방화벽 설정 작업을 보다 용이하게 수행할 수 있다.
도1은 본 발명적 개념의 예시적 일 실시예에 따른 시스템 온 칩이 장착되는 디바이스를 설명하기 위한 도면이고,
도2는 본 발명적 개념의 예시적 실시예에 따른 시스템 온 칩이 장착되는 디바이스를 설명하기 위한 도면이고,
도3은 본 발명적 개념의 예시적 실시예에 따른 방화벽 인터페이스가 제공하는 룰 설정 화면을 설명하기 위한 도면이고,
도4는 본 발명적 개념의 예시적 실시예에 따른 구성 헬퍼의 기능을 설명하기 위한 도면이고,
도5는 본 발명적 개념의 예시적 실시예에 따른 기본 룰을 설정할 수 있는 룰 설정 화면을 설명하기 위한 도면이고,
도6은 본 발명적 개념의 예시적 실시예에 따른 프로세스 별 룰을 설정할 수 있는 룰 설정 화면을 설명하기 위한 도면이고,
도7은 본 발명적 개념의 예시적인 일 실시예에 따른 룰 컨버터의 동작을 나타내는 흐름도이고,
도8은 본 발명적 개념의 예시적인 일 실시예에 따라 변환된 룰의 저장방식을 설명하는 도면이고,
도9는 도2의 디바이스에서 본 발명적 개념의 예시적 실시예에 따른 패킷 필터링 방법을 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다. 본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 '포함하는'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도1은 본 발명적 개념의 예시적 일 실시예에 따른 시스템 온 칩이 장착되는 디바이스를 설명하기 위한 도면이다.
도1을 참조하면, 본 발명적 개념의 예시적 실시예에 따른 디바이스(1)에는 패킷을 필터링하는 방화벽 기능을 구비한 시스템 온 칩(System On Chip)(3)이 장착될 수 있다.
디바이스(1)는 방화벽 동작을 위한 사용자 인터페이스(UI) 어플리케이션을 포함할 수 있고, 상기 UI 어플리케이션은 패킷 필터링을 위한 룰(rule)의 상태를 사용자에게 제공하고 사용자로부터 새로운 룰을 입력받을 수 있다.
디바이스(1)는 룰 컨버터(rule converter) 및 룰 리스트(rule list) 저장장치를 더 포함할 수 있다. 룰 컨버터는 UI 인터페이스를 통해서 사용자로부터 입력받은 룰을 디바이스(1) 내부에 저장가능한 형식으로 변환하고 이를 기존의 룰 리스트에 추가한다. 룰 리스트는 디바이스(1) 내부의 저장장치 또는 외부의 저장장치에 저장될 수 있다.
룰 리스트 저장장치에 저장된 룰 리스트는 그 후 시스템 온 칩(3)으로 전송되고, 시스템 온 칩(3)은 이 전송받은 룰 리스트를 자신의 메모리에 로딩하거나 저장장치에 룰 DB로 저장하고, 방화벽 엔진은 상기 룰 DB를 참조하여 패킷에 대한 필터링 동작을 수행한다.
디바이스(1)는 네트워크를 통해서 송수신하는 패킷을 이용하는 하나 이상의 네트워크 어플리케이션을 포함할 수 있고, 각각의 어플리케이션들은 하나 이상의 프로세스들을 포함할 수 있다. 본 발명의 설명의 목적을 위해서, 임의의 패킷에 대해, 이 패킷을 외부로 전송하거나 또는 외부로부터 받아서 사용하는 프로세스를 그 패킷의 "오너 프로세스(owner process)"라고 지칭하기로 한다. 일 실시예에서 프로세스들에는 각각 ID가 부여되어 있어 서로간에 식별 가능하며, 각 패킷에는 해당 패킷을 사용하는 오너 프로세스의 프로세스 ID가 포함되어 있다. 따라서 각 패킷을 사용하는 오너 프로세스는 각각의 패킷에 포함된 프로세스 ID에 의해서 식별될 수 있다.
일 실시예에서 시스템 온 칩(3)이 네트워크 인터페이스 카드(NIC)를 포함할 수 있고, 이에 따라 디바이스(1)는 시스템 온 칩(3)을 통해서 패킷을 외부로 전송하고 시스템 온 칩(3)을 통해서 패킷을 외부로부터 수신할 수 있다.
시스템 온 칩(3)이 네트워크 인터페이스 카드(NIC)를 포함하며 디바이스(1)가 외부와 패킷을 송수신할 때 상기 NIC를 통해 통신한다고 가정할 경우, 디바이스(1)는 송수신할 패킷의 오너 프로세스를 확인하고, 오너 프로세스의 프로세스 ID를 상기 패킷과 함께 시스템 온 칩으로 전달한다.
일 실시예에서 시스템 온 칩의 방화벽 엔진은, 상기 룰 DB를 참조하여, 송수신할 패킷의 오너 프로세스가 해당 패킷을 송수신하는 것이 허용되는지를 판단하고, 허용된 경우에만 해당 패킷의 통과를 허용한다.
추가적 기능으로서, 디바이스(1)는, 외부로 송신할 패킷의 오너 프로세스가 외부로 패킷을 전송하는 것이 허용되지 않은 경우에는, 해당 패킷의 오너 프로세스의 실행을 중단시킬 수 있다.
도1에는 도시하지 않았지만, 시스템 온 칩(3)은 중앙처리장치(CPU), 메모리, 메모리 컨트롤러, 및 룰 DB 저장부를 포함한 하드웨어 및/소프트웨어 리소스들을 포함할 수 있다. 본 발명적 개념의 설명에서, 프로그램이 구동되기 위해서 필요한 리소스들(예를 들면, 중앙처리장치, 메모리, 메모리 컨트롤러, 룰 DB 저장부)에 대하여 명시적으로 표시하지 않더라도 프로그램이 구동되기 위해서 필요한 하드웨어 및 소프트웨어 자원들 및 그 동작들은 내재되는 것으로 이해하여야 한다.
예를 들면, 시스템 온 칩(3)에 포함된 방화벽 엔진은 룰 DB와 패킷을 서로 매칭시키는 매처(matcher)와 이 매처를 동작시키는 펌웨어를 포함하도록 구성될 수 있는데, 이러한 경우 명시적 언급이 없더라도 그러한 펌웨어를 저장하는 저장부, 및 펌웨어를 메모리에 로딩시키는 중앙처리장치는 시스템 온 칩(3)에 내장되는 것으로 이해하여야 한다.
이와 같은 유사한 방식으로 본원 명세서에서, 디바이스(1)가 어떤 어플리케이션이나 드라이버를 포함하도록 구성된다고 기술된 경우에는, 그러한 어플리케이션과 드라이버를 동작시키기 위한 하드웨어 및/또는 소프트웨어 리소스들을 당연히 포함하는 것으로 이해되어야 할 것이다.
디바이스(1)는 스마트 폰이나 PDA와 같은 모바일 기기일 수 있으나, 이는 예시적인 것으로서 데스크 탑 컴퓨터와 같이 고정형 디바이스 일 수도 있다.
도2는 본 발명적 개념의 예시적 실시예에 따른 시스템 온 칩이 장착되는 디바이스를 설명하기 위한 도면이다. 도2의 실시예는 방화벽 기능이 시스템 온 칩(SoC)의 기반으로 구현되어 디바이스(200)에 장착된 예이다.
도2에 도시한 것처럼 디바이스(200)는 기능적으로 어플리케이션층, 커널층, SoC층, 및 NIC층으로 구분될 수 있다. 실시 형태에 따라 상기 기능 층들의 일부가 생략될 수 있고 다른 기능층이 추가될 수 있고, 또한 각 기능 층의 세부 구성요소도 변경될 수 있음은 물론이다. 따라서 도2의 구성은 일 실시예에 지나지 않으므로 본 발명적 개념을 도2에 한정해서는 안된다.
도2를 참조하면, 디바이스(1)는 방화벽 UI 어플리케이션(201) 및 각종 네트워크 어플리케이션(203)을 포함할 수 있다.
방화벽 UI 어플리케이션(201)은 방화벽 동작과 관련된 사용자 인터페이스를 제공한다. 예를 들어, 방화벽 UI 어플리케이션(201)은 방화벽 동작 작업, 방화벽 정지 작업, 룰 추가 작업, 룰 변경 작업, 특정 룰 제거 작업, 전체 룰 제거 작업, 룰 상태 표시 작업, 각 룰에 적용된 패킷 로그 출력 작업, 및 기본 룰 설정 변경 작업 등을 제공할 수 있다.
방화벽 UI 어플리케이션(201)은 사용자로부터 패킷 필터링을 위한 룰을 입력받을 수 있고, 방화벽 엔진(229)에 의한 패킷 필터링 결과를 사용자에게 표시할 수 있다. 방화벽 UI 어플리케이션(201)은 패킷 필터링을 위한 룰의 추가 및/또는 업데이트 동작을 수행할 수 있다.
또한 본 발명적 개념의 일 실시예에 따라, 방화벽 UI 어플리케이션(201)은 미니포트 드라이버(217)에 의한 프로세스별 패킷 필티링의 결과를 사용자에게 표시할 수 있고, 사용자로부터 프로세스별 룰을 입력받아 룰 DB의 업데이트 동작을 수행할 수 있다.
룰 컨버터(204)는 사용자에게서 입력 받은 룰을 디바이스(200) 내부에서 사용하는 룰 형식으로 변환하고, 복수의 룰들 사이에 충돌이 있는지 여부를 검사하는 역할을 수행한다. 만약 룰 간에 충돌이 발생했다면 룰 컨버터(204)는 UI 어플리케이션(201)에게 충돌 결과를 통지하고, 사용자로부터 추가 명령을 받을 수 있다.
룰 리스트 저장장치(205)는 상기 룰 컨버터(204)에 의해 변환된 룰을 리스트로 저장하는 저장 장치로서, 임의의 비휘발성 메모리 중 하나가 될 수 있다.
안티-멀웨어 SoC 스트림 인터페이스 드라이버(211)(이하, '스트림 인터페이스 드라이버'라고도 함)는, 방화벽 UI 어플리케이션(201)으로부터 데이터를 수신하여 시스템 온 칩(SoC)의 AP 드라이버(221)로 전송할 수 있고, AP 드라이버(221)로부터 데이터를 수신하여 방화벽 UI 어플리케이션(201)으로 전송할 수 있다.
방화벽 매니저(227)는 방화벽 UI 어플리케이션(201)을 통해 입력받은 사용자 명령을 처리하는 기능을 수행하며 시스템 온 칩(SoC)에서 구현된다. 방화벽 매니저(227)는, 예를 들어 사용자 명령에 따라 룰 DB(224)에 룰을 저장할 수 있고, 현재의 룰 DB(224)의 상태를 읽어서 방화벽 UI 어플리케이션(201)으로 전송함으로써 사용자에게 현재 상태를 보여줄 수도 있다.
네트워크 어플리케이션(203)은 패킷 필터링의 대상이 되는 패킷 데이터를 사용하는 어플리케이션(203)을 포함한다. 예를 들어, 어플리케이션(203)은 웹 브라우저(203-1), 텔넷(203-2), FTP 서버(203-3) 중 적어도 하나가 될 수 있고, 그 외에도 소정의 패킷 데이터를 사용하는 임의의 어플리케이션 중 하나일 수 있다.
도시된 일 실시예에서 디바이스(200)의 커널층은 디바이스(200)가 외부로부터 수신한 패킷 데이터 내의 정보를 어플리케이션층으로 전달하거나 어플리케이션층의 요청에 따라 패킷 데이터를 생성하여 외부로 전송하는 역할을 포함할 수 있다.
도시된 일 실시예와 같이 데이터 전송을 위해 TCP/IP 프로토콜을 사용하여 패킷 데이터를 송수신하는 경우, 디바이스(200)는 TCP/IP 프로토콜 드라이버(215)를 포함한다. 또한 디바이스(200)가 운영체제(OS)로서 윈도우즈(WINDOWS)를 사용하는 경우 WinSock(213)을 포함한다. TCP/IP 프로토콜 드라이버(215)와 WinSock(213)의 동작들은 공지기술이므로 이들 동작에 대하여는 설명을 생략한다.
디바이스(200)가 TCP/IP 프로토콜이 아닌 다른 프로토콜을 이용하는 경우라면 그 다른 프로토콜의 사용을 위한 드라이버를 포함할 수 있고, 또한 디바이스(200)가 윈도우즈 운영체제가 아닌 다른 운영체제를 사용하는 경우에는 WinSock(213)이 아닌 다른 구성요소를 포함할 수 있다. 즉 도시된 WinSock(213) 및 TCP/IP 프로토콜 드라이버(215)는 실시 형태에 따라 다른 구성요소로 대체될 수 있다.
도시된 실시예에서 커널층은 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: NDIS)(218)을 더 포함하며, NDIS(218)에는 안티-멀웨어 SoC 미니포트 드라이버(217)(이하, '미니포트 드라이버'라고도 함)를 포함할 수 있다.
미니포트 드라이버(217)는 어플리케이션(203)으로부터 패킷 데이터를 수신하여 AP 드라이버(221)로 전송하거나 패킷 데이터를 AP 드라이버(221)로부터 수신하여 상위 계층으로 전송한다.
본 발명의 일 실시예에 따른 미니포트 드라이버(217)는, 또한, 패킷 데이터를 AP 드라이버(221)로 전송하기 전에 프로세스 별로 필터링하는 동작을 수행할 수 있다. 예를 들어 패킷 필터링을 위한 룰 중에 프로세스 별로 설정된 룰이 포함된 경우, 미니포트 드라이버(217)는 어플리케이션(203)으로부터 패킷을 수신하면, 해당 패킷의 오너 프로세스를 확인한 후 프로세스 별 룰과 비교하여 패킷을 통과시킬지 여부를 판단할 수 있다. 대안적인 실시예에서, 미니포트 드라이버(217)는 해당 패킷의 오너 프로세스를 확인한 후, 상기 오너 프로세스를 알려주는 정보(예컨대 프로세스 ID)와 함께 상기 패킷을 시스템 온 칩(SoC)으로 전달하고, 시스템 온 칩(SoC)은 상기 패킷을 통과시킬지 여부를 판단할 수 있다.
AP 드라이버(221)는 미니포트 드라이버(217)로부터 패킷 데이터를 수신하여 방화벽 엔진(229)으로 전송한다. 방화벽 엔진(229)은 패킷 검증(Verification) 과정을 거치고 패킷 필터링 동작을 수행할 수 있다. 여기서, 패킷 검증 과정은 예를 들면 Syn Flooding 과 같은 공격을 막기 위한 것이다.
방화벽 엔진(229)은 패킷에 대하여 패킷 필터링을 위한 룰을 적용하여 패킷의 통과 또는 차단 여부를 판단하고, 판단결과에 따라서 패킷을 통과시키거나 차단할 수 있다. 이 때 방화벽 시스템 온 칩(SoC)은 룰 DB(224)를 포함하고 있으며, 룰 DB(224)에 저장된 룰을 이용하여 패킷 필터링 동작을 수행할 수 있다.
디바이스(200)의 외부로 패킷을 송신하는 경우, 방화벽 엔진(229)은 패킷 필터링 결과 '통과'라고 판단된 패킷만을 NIC 드라이버(228)로 전송한다. NIC 드라이버(228)는 방화벽 엔진(229)으로부터 수신한 패킷을 NIC(231)로 전송한다. 이후, NIC(231)는 외부 네트워크로 패킷을 전송한다.
디바이스(200)가 외부에서 패킷을 수신하는 경우, 방화벽 엔진(229)은 패킷 필터링 결과 '통과'라고 판단된 패킷만을 AP 드라이버(221)로 전송하고, AP 드라이버(221)는 패킷을 미니포트 드라이버(217)로 전송한다.
NIC(231)는 패킷 데이터망으로 패킷 데이터를 전송하거나 그로부터 수신하기 위한 것으로서, 시스템 온 칩(SoC)의 일부로서 장착될 수 있다. NIC(231)는 예를 들면 유선 또는 무선 랜 망을 통해서 패킷 데이터를 수신할 수 있다.
도3은 본 발명적 개념의 예시적 실시예에 따른 방화벽 인터페이스가 제공하는 룰 설정 화면을 설명하기 위한 도면이다.
본 발명적 개념의 예시적인 실시예에 따라, 디바이스(200)의 방화벽 UI 어플리케이션(201)은 사용자가 입력한 룰을 룰 컨버터(204)에 전송할 수 있고, 전송된 룰은 룰 컨버터(204)에 의해 그 형식이 변환되어 기 저장된 룰 리스트에 추가되어 저장장치(205)에 저장된다.
도3을 참조하면, 룰 설정 화면(500)은 세 개의 서브 윈도우, 즉 기본 설정 윈도우(510), 기본 룰 설정 윈도우(520), 및 프로세스별 설정 윈도우(530)를 포함할 수 있다. 사용자는 룰 설정 화면(500)에서 상기 3개의 서브 윈도우 중 임의의 서브 윈도우를 선택하여 룰 설정을 할 수 있으며, 그 중에서 도3은 기본 설정 윈도우(510)가 선택된 상태를 나타낸다.
기본 설정 윈도우(510)는 예컨대 사용자가 어느 특정 IP 주소 또는 특정 네트워크 대역의 IP 주소에 해당하는 사이트를 허용(allow) 또는 차단(block)하고자 할 때 이를 설정하는 화면이다.
도시된 일 실시예에서 기본 설정 윈도우(510)는 구성 헬퍼(configuration helper)(511) 기능을 위한 입력창(512)을 포함하고, 그 아래에 룰 네임, IP, 프로토콜, 포트 등의 각종 필드를 채우기 위한 입력창을 포함할 수 있다.
구성 헬퍼(511)는 네트워크를 전혀 모르는 사용자를 도와주는 기능을 한다. 본 발명적 개념의 일 실시예에서 구성 헬퍼(511)는 네트워크 어플리케이션들에 대한 리스트를 제공하고, 이 리스트에 포함된 네트워크 어플리케이션들 중에서 적어도 어느 하나의 네트워크 어플리케이션이 사용자에 의해 선택되면, 선택된 네트워크 어플리케이션을 실행하는데 필요한 IP, 프로토콜, 및 포트 중 적어도 어느 하나를 해당 필드의 입력창에 자동으로 표시할 수 있다.
예를 들어 사용자가 구성 헬퍼(511)의 입력창(512)의 버튼을 선택하면 도4에 도시한 것과 같은 메뉴가 펼쳐진다. 펼쳐진 네트워크 어플리케이션들 중 사용자가 어느 하나를 선택하면, 도3에서 구성 헬퍼(511)의 아래에 있는 룰 네임, IP, 프로토콜, 포트 등의 필드가 자동으로 채워질 수 있다.
도4의 리스트에는 메신저, P2P, 게임 등만 예시하였지만, 실시 형태에 따라 ftp, http, 텔넷, ssh, printer 등의 프로토콜도 선택할 수 있도록 상기 리스트에 포함될 수 있다.
상기 실시예에서와 같이 구성 헬퍼(511)를 두는 이유는, 일반적인 사용자들은 특정 프로토콜 혹은 특정 서비스의 포트를 전혀 모르는 경우가 많고, 또한 네트워크를 잘 아는 사용자라 하더라도, 예컨대 MSN 메신저로 파일을 주고 받기 위해서 6891~6900 포트와 41800~41899번 포트를 허용(allow)해야 한다는 사실은 관련 문서를 찾아보기 전에는 알기 힘들기 때문이다. 따라서 상기 실시예와 같이 통상의 사용자를 위한 구성 헬퍼(511)를 제공함으로써 사용자 자신이 원하는 서비스에 대해 방화벽 설정 작업을 보다 용이하게 수행할 수 있다.
다시 도3을 참조하면, 구성 헬퍼(511) 아래의 각종 필드의 의미는 다음과 같다.
- 룰 네임(Rule Name): 룰의 이름을 입력하는 필드이다.
- 인터넷 프로토콜(IP): 룰을 적용할 IP를 설정하는 필드이다.
- 프로토콜(Protocol): 룰을 적용할 프로토콜을 설정하는 부분이다. 일 실시예에서 프로토콜에 해당하는 버튼을 누르면 "ALL", "TCP", "UDP", "ICMP" 등의 메뉴 리스트가 나올 수 있다. 그 외에도 상기 기본적인 프로토콜 뿐만 아니라 다른 다양한 프로토콜도 지원할 수 있다.
- 포트(Port): 룰을 적용할 포트를 설정하는 부분이다. 사용자가 직접 입력할 수도 있고 메뉴 버튼을 눌러 선택할 수도 있다. 메뉴 버튼을 누르면 ftp, http, 텔넷, ssh 등과 같은 프로토콜 문자열이 나오고, 이중 하나를 선택하면 최소 포트 번호(min port)와 최대 포트 번호(max port)가 자동으로 들어가게 할 수 있고 사용자가 직접 입력할 수도 있다.
- 패킷 방향(Direction): 룰을 적용할 패킷의 방향을 지정하는 부분이다. 일 실시예에서, 버튼을 누르면 "ALL", "내부→외부", "외부→내부"와 같은 메뉴 리스트가 나올 수 있다. "내부→외부"는 디바이스(200) 외부로 전송되는 패킷에만 룰이 적용되는 것을 의미하고, "외부→내부"는 디바이스(200)가 수신받는 패킷에만 룰이 적용되는 것이고, "ALL"은 송신 및 수신되는 패킷 모두에 룰이 적용됨을 의미한다.
- 로컬 디바이스(Local Device): 룰을 적용할 네트워크 인터페이스 IP를 설정하는 부분이다. 예를 들어, 디바이스(200)에 두 개의 NIC가 존재할 경우, 특정 NIC로 들어오는 패킷에 대해 룰을 적용하고자 하면 이 필드에서 해당 NIC의 IP를 입력하면 된다. 일 실시예에서 이 필드의 버튼을 누르면 "ALL" 또는 로컬 디바이스의 IP 리스트가 열거되어 선택 가능하다.
- MAC 어드레스(MAC Address): 룰을 적용할 MAC 어드레스를 설정하는 부분이다.
- 액션(Action): 해당 룰과 일치하는 패킷이 들어왔을 때 취할 동작을 설정하는 부분이다. "Nothing", "Allow", "Block", "Logging" 등이 있을 수 있다. "Logging"은 룰에 적용되는 패킷에 대해서 로그를 남기는 기능이다.
이제 도5를 참조하여 기본 룰 설정을 위한 실시예를 설명하기로 한다. 도5는 본 발명적 개념의 예시적 실시예에 따른 기본 룰을 설정할 수 있는 룰 설정 화면(500)을 설명하기 위한 도면으로서, 기본 룰 설정 윈도우(520)가 선택된 상태를 나타낸다.
도5의 기본 룰 설정은, 도3의 입력예에 따라 사용자에 의해 설정된 룰과 일치하지 않는 패킷이 들어왔을 때 적용할 룰을 말한다. 도5를 참조하면, 기본 룰 설정 윈도우(520)는 기본 룰 설명(521) 및 현재 기본 룰 상태(522)를 각각 나타내는 창을 포함하고, 또한 모두 차단 버튼(523) 및 모두 허용 버튼(524)을 포함할 수 있다.
기본 룰 설명(521)은 기본 룰 설정의 의미를 사용자에게 설명하는 설명창이고, 현재 기본 룰 상태(522)는 현재 설정되어 있는 기본 룰의 상태를 보여주는 창이다.
일 실시예에서 기본적인 디폴트 값으로서 기본 룰은 외부로 전송되는 패킷(아웃고잉 패킷)에 대해서는 허용(allow)으로, 디바이스 내부로 수신되는 패킷(인커밍 패킷)에 대해서는 차단(block)으로 설정되어 있을 수 있다. 모두 차단 버튼(523) 및 모두 허용 버튼(524)은 이러한 기본 룰의 설정을 아웃고잉 패킷과 인커밍 패킷 모두에 대해 "차단" 또는 "허용"으로 설정하는 기능을 말한다.
도6은 본 발명적 개념의 예시적 실시예에 따른 프로세스 별 룰을 설정할 수 있는 룰 설정 화면을 설명하기 위한 도면으로, 프로세스별 설정 윈도우(530)가 선택된 상태를 나타낸다.
프로세스별 설정 윈도우(530)는 어플리케이션의 프로세스 별로 패킷을 허용하거나 차단하는 것을 정의한 프로세스별 룰을 입력할 수 있는 영역으로서, 도시된 실시예에서 프로세스별 설정 윈도우(530)는 프로세스 리스트(531), 선택창(532), 차단 버튼(533), 및 허용 버튼(534) 등을 포함할 수 있다.
사용자는 이러한 프로세스별 설정 윈도우(530)를 통해 예컨대 어느 특정 어플리케이션의 프로세스에 대한 방화벽 설정을 허용(allow) 함으로써 이 프로세스가 생성하는 모든 소켓의 패킷의 통과를 허용(allow)할 수 있고, 반대로, 어느 특정 어플리케이션의 프로세스에 대한 방화벽 설정을 차단(block) 함으로써 해당 프로세스가 생성하는 모든 소켓의 패킷의 통과를 차단할 수 있다.
한편, 상기 실시예에서 어플리케이션(프로그램)의 "프로세스" 단위로 패킷의 허용 또는 차단을 설정하거나 프로세스 자체의 실행을 중단하는 것으로 설명하였으나, 대안적인 실시예에서, 프로세스가 아닌 프로그램 단위로 상기 동작을 수행할 수도 있다. 예컨대 차단된 소정 패킷에 대해 이 패킷의 사용하는 프로그램을 확인하여 이 프로그램의 실행을 중단할 수 있다.
이제 도7 내지 도8을 참조하여 룰 변환 동작을 설명하기로 한다.
도7은 본 발명적 개념의 예시적인 일 실시예에 따른 룰 컨버터의 동작을 나타내는 흐름도이다. 우선 단계(S701)에서 방화벽 UI 어플리케이션(201)이 사용자로부터 룰을 입력받는다.
예를 들어 사용자는 방화벽 UI 어플리케이션(201)에서 제공하는 설정 화면(500)을 통해 패킷 필터링을 위한 하나 이상의 룰을 입력할 수 있다. 예를 들어 아래 표1은 사용자가 입력한 복수개의 룰을 예시적으로 나타낸다.
Name IP Pro. Minport Maxport Dir. Local Device Mac Act.
내부 0 192.168.0.* * * * * 192.168.0.1 * Allow
내부 1 192.168.1.4/255.255.255.240 * * * * 192.168.1.1 * Allow
내부 2 192.168.2.111/27 * * * * * * Allow
NetBIOS 192.168.*.* * 137 139 * * * Allow
ftp 서버 * TCP 20 21 * * * Allow
web 서버 * TCP 80 80 * * * Allow
원격
데스크탑
* TCP 3389 3389 IN 192.168.0.1 * Allow
nateon 211.47.69.16 TCP 5004 5010 IN * * Allow
msn 207.68.172.246 * 1863 1863 * * * Allow
msn file 207.68.172.246 * 6891 6900 * * * Allow
포트리스 211.117.60.11/24 TCP 41800 41899 * * Allow
ICMP * ICMP * * IN * * Block
상기 표에서 "*"로 표시된 것은 "ALL"을 의미한다.
그 후 사용자가 입력한 룰이 룰 컨버터(204)로 전송되면, 단계(S703)에서 룰 컨버터(204)가 상기 룰을 변환한다. 여기서의 변환은, 사용자로부터 입력받은 룰을 디바이스(200) 내부의 룰 형식, 예컨대 구체적으로, 룰 리스트 저장장치(205)에 저장하기 위한 룰 형식으로 변환하는 것을 의미한다.
일 실시예에서 상기 룰 변환은 소정 변환 규칙에 따라 수행될 수 있고, 예를 들어 룰의 필드 중 "프로토콜", "패킷 방향(Direction)", 및 "액션(Action)"은 아래의 표2와 같은 변환 규칙에 따라 변환될 수 있다.
UI 표시 문자열 매크로 비고
Protocol
ALL RULE_PROTOCOL_ALL 0x00
TCP RULE_PROTOCOL_TCP 0x06
UDP RULE_PROTOCOL_UDP 0x11
ICMP RULE_PROTOCOL_ICMP 0x01
기타 RULE_PROTOCOL_[프로토콜명] [프로토콜 번호]
Direction
ALL RULE_DIRECTION_ALL 0x00
외부 -> 내부 RULE_DIRECTION_IN 0x01
내부 -> 외부 RULE_DIRECTION_OUT 0x02
Action
Nothing RULE_ACTION_NOTHING 0x00
Allow RULE_ACTION_ALLOW 0x01
Block RULE_ACTION_BLOCK 0x02
Log RULE_ACTION_LOG 0x03
위와 같은 변환 규칙을 포함한 소정 변환 규칙에 따라, 예컨대 사용자가 입력한 룰 중 "내부2"의 룰(표1의 위에서 세번째 행의 룰)을 변환하면, 아래의 표3과 같이 변환될 수 있다.
Variable Name Type Value
rule_id unsigned char 0x2
name char * “내부 2”
ip unsigned int[4] 0xC0A80260 (decimal : 192.168.2.96)
netmask unsigned int[4] 0xFFFFFFE0 (decimal : 255.255.255.224)
protocol unsigned char 0x0
min_port unsigned short 0x0
max_port unsigned short 0x0
direction unsigned char 0x0
interface_ip unsigned int[4] 0x0
mac_addr unsigned char[6] 0x0
ip_version unsigned char 0x4 (IPv4를 의미)
action unsigned char 0x1
또한 예를 들어 사용자 입력 룰(표1) 중 아래에서 5번째 행의 룰인 "nateon"의 룰을 소정 변환 규칙에 따라 변환하면, 아래의 표4와 같이 변환될 수 있다.
Variable Name Type Value
rule_id unsigned char 0x7
name char * “nateon”
ip unsigned int[4] 0xD32F4510 (decimal : 211.47.69.16)
netmask unsigned int[4] 0xFFFFFFFF
protocol unsigned char 0x6
min_port unsigned short 0x138C (decimal : 5004)
max_port unsigned short 0x1392 (decimal : 5010)
direction unsigned char 0x1
interface_ip unsigned int[4] 0x0
mac_addr unsigned char[6] 0x0
ip_version unsigned char 0x4 (IPv4를 의미)
action unsigned char 0x1
룰 컨버터(204)는 사용자가 입력한 모든 룰에 대해 상기와 같은 방법으로 룰을 변환시키며, 이에 따라, 예컨대 표1의 사용자 입력 룰은 룰 컨버터(204)에 의해 아래 표5와 같이 변환된다.
ID Name IP Netmask Pro. Minport Maxport Dir. Local Device Mac Ver. Act.
0 내부 0 192.168.0.0 255.255.255.0 0 0 65535 0 192.168.0.1 0 4 1
1 내부 1 192.168.1.0 255.255.255.240 0 0 65535 0 192.168.1.1 0 4 1
2 내부 2 192.168.2.96 255.255.255.224 0 0 65535 0 0 0 4 1
3 NetBIOS 192.168.0.0 255.255.0.0 0 137 139 0 0 0 4 1
4 ftp 서버 0 0 6 20 21 0 0 0 4 1
5 web 서버 0 0 6 80 80 0 0 0 4 1
6 원격
데스크탑
0 0 6 3389 3389 1 192.168.0.1 0 4 1
7 nateon 211.47.69.16 255.255.255.255 6 5004 5010 1 0 0 4 1
8 msn 207.68.172.246 255.255.255.255 0 1863 1863 0 0 0 4 1
9 msn file 207.68.172.246 255.255.255.255 0 6891 6900 0 0 0 4 1
10 포트리스 211.117.60.11 255.255.255.0 6 41800 41899 0 0 0 4 1
11 ICMP 0 0 1 0 65535 1 0 0 4 2
이렇게 변환된 사용자 입력 룰은 저장장치(205)에 룰 리스트로 저장되며, 이와 관련하여 도8은 본 발명적 개념의 예시적인 일 실시예에 따라 변환된 룰의 저장방식을 설명하고 있다.
도8에 도시하고 있듯이 본 발명의 일 실시예에서 각각의 변환된 룰은 링크드 리스트(linked list) 형태로 저장될 수 있다. 링크드 리스트는 각 데이터를 서로 연결해서 관리하는 자료구조 방식으로, 각 데이터가 노드(node)라 불리우는 저장단위에 저장된다. 도시된 실시예에서, 예컨대 3개의 변환된 룰이 있다고 가정하면, 제1 내지 제3의 변환된 룰은 각각 노드(81, 82, 83)에 저장된다.
이 때 각 노드(81,82,83)는 해당 노드의 다음 순서의 노드의 위치를 나타내는 포인터(P)를 포함하고 있고, 도8의 예의 경우 각 포인터(P)의 지시에 따라 제1 변환된 룰, 제2 변환된 룰, 및 제3 변환된 룰의 순서로 룰이 저장된다. 따라서 추후 패킷 필터링 때에 각 패킷에 적용되는 룰도 이 순서대로 적용될 수 있다.
상기 실시예에서, 변환된 룰을 데이터베이스 형식이 아니라 리스트 자료 구조로 관리하는 것은 관리의 효율성 때문이다. 룰 관리를 위해 별도의 데이터베이스(DB)를 사용하게 되면 해당 DB의 라이브러리가 필요하게 되는데, 이 때 호환성 문제 또는 사이즈 문제가 발생할 수 있다. 특히, 일반적으로 룰의 개수가 많지 않은데 이 경우 DB 형식으로 관리하면 DB 코드 자체의 사이즈가 룰 사이즈보다 클 수 있으므로 효율적이지 않다. 더욱이 별도의 DB를 사용하면 다른 운영체제에 이식(포팅: porting)하고자 할 때 DB까지 이식해야 하는 문제도 발생할 수 있다.
다음으로, 단계(S703)에서 사용자 입력 룰이 변환되면, 이 변환된 룰이 기존의 룰 리스트에 추가되기 전에, 룰 컨버터(204)는 단계(S705)에서 상기 변환된 룰이 기존의 룰들과 충돌하는지 여부를 체크한다.
충돌 체크는 다양한 방식에 의해 수행될 수 있다. 일 실시예에서, 룰 컨버터(204)는, 상기 변환된 룰과 상기 기존의 저장된 룰 리스트에 포함된 룰들 각각과 충돌되는지 여부를 체크할 수 있다. 즉 사용자가 입력한 새로 추가될 룰을 기존에 등록된 모든 룰과 비교하는 충돌 체크 알고리즘을 수행하여 룰을 체크할 수 있다.
그 후 단계(S707)에서, 만일 새로 추가될 사용자 입력 룰과 기존에 저장된 룰 사이에 충돌이 발생할 경우, 룰 컨버터(204)는 미리 설정된 소정 우선순위에 따라 사용자 입력 룰의 삽입 위치를 결정하여 이 위치에 사용자 입력 룰을 추가한다.
이 때의 적용되는 상기 우선순위는 실시 형태에 따라 다양한 기준에 따라 미리 설정될 수 있다. 예를 들어, 충돌되는 룰 중에서 가장 먼저 입력된 룰이 우선순위를 가짐으로써 패킷 필터링 시 먼저 적용되도록 할 수 있고, 반대로, 가장 나중에 입력된 룰이 우선순위를 가짐으로써 패킷 필터링시에 먼저 적용되도록 설정할 수도 있다.
또한 본 발명의 대안적인 실시예에서, 룰 충돌이 발생한 경우 룰 컨버터(204)가 사용자에게 충돌 상황을 통지할 수 있다. 이 경우 룰 컨버터(204)가 사용자에게 충돌 사실을 알린 후 사용자가 수작업으로 룰을 다시 설정할지 아니면 룰 컨버터(204)에 의해 자동으로 룰의 우선순위를 정하거나 룰 자체를 폐기할지 여부 등을 선택할 수 있다.
상술한 단계(S707)에 따라 사용자 입력 룰이 룰 리스트에 추가되어 룰 리스트 저장장치(205)에 저장되면, 그 후 단계(S709)에서, 사용자 명령 또는 소정 이벤트에 따라 룰 컨버터(204)가 상기 룰 리스트를 시스템 온 칩(SoC)으로 전송한다. 도2에 도시된 일 실시예에서, 룰 컨버터(204)는 시스템 온 칩의 방화벽 매니저(227)에게 룰 리스트를 전송할 수 있다.
그러면 단계(S711)에서 방화벽 매니저(227)는 룰 리스트를 룰 DB(224)에 저장하고, 추후 패킷 필터링 시 상기 룰에 따라 패킷을 필터링할 수 있다. 이 때 방화벽 매니저(227)가 수신한 룰 리스트는 예컨대 링크드 리스트 형식을 갖는 데이터이므로, 방화벽 매니저(227)는 상기 룰 리스트를 룰 데이터베이스의 형태로 변환하여 룰 DB(224)에 저장할 수 있다.
도9는 도2의 디바이스에서 본 발명적 개념의 예시적 실시예에 따른 패킷 필터링 방법을 설명하기 위한 흐름도로서, 사용자 입력 룰이 패킷 필터링 시에 어떻게 적용되는지를 일 예로서 나타내고 있다.
도9는 일 예로서 디바이스(200)에서 패킷을 외부로 송신할 때 패킷 필터링 과정을 나타내며, 도7의 단계에 따라 사용자 입력 룰이 룰 컨버터(204)에 의해 변환되어 룰 리스트 저장장치(205)에 저장되었다가 시스템 온 칩의 룰 DB(224)에 저장된 것을 전제로 한다.
도9를 참조하면, 단계(S901)에서, 임의의 네트워크 어플리케이션(203)에 의해 패킷이 생성되어 디바이스(200) 외부로 전송되기 전에, 미니포트 드라이버(217)가 상기 전송될 패킷을 수신한다.
단계(S903)에서 미니포트 드라이버(217)는 이 패킷의 오너 프로세스를 확인한다. 일 실시예에서, 오너 프로세스는 상기 패킷에 포함된 프로세스 아이디(ID)로부터 확인될 수 있다.
그 후 단계(S905)에서, 상기 패킷의 오너 프로세스를 식별하는 정보를 생성하여 상기 패킷과 함께 시스템 온 칩(SoC)으로 전송한다. 이 때 상기 식별 정보는 예컨대 프로세스 ID가 될 수 있다.
상기 패킷 및 식별 정보(예컨대 프로세스 ID)는 시스템 온 칩(SoC)의 방화벽 엔진(229)에 전달되고, 단계(S907)에서, 방화벽 엔진(229)이 상기 오너 프로세스가 상기 패킷을 외부로 전송하는 것이 허용되는지 여부를 판단한다. 이 때 이 판단 과정에 프로세스별 룰 DB가 이용될 수 있다. 즉 디바이스(200)가 프로세스별로 패킷의 송수신을 허용하거나 차단하는 것을 정의한 룰을 룰 DB(224)가 포함할 수 있고, 이 룰 DB(224)에 저장된 프로세스별 허용 및/또는 차단 룰에 따라, 상기 오너 프로세스가 패킷을 송수신하는 것이 허용되는지 차단되는지를 판단한다.
상기 단계(S907)의 판단에서, 상기 오너 프로세스가 패킷 송신이 허용되는 프로세스에 속하는 경우, 단계(S909)로 진행하여, 방화벽 엔진(229)이 단계(S909)에서 패킷 필터링을 수행한다. 즉 룰 DB(224)에 저장된 패킷 필터링 룰에 따라 패킷 송신의 허용 또는 차단을 판단하는 필터링 작업을 수행할 수 있고, 그 결과에 따라 패킷의 송신을 허용 또는 차단한다.
대안적인 실시예에서, 상기 패킷 필터링 단계(S909)는 상기 판단하는 단계(S907) 이전에 수행될 수도 있다. 즉 패킷 필터링을 거쳐 통과된 패킷에 대해서만 상기 판단 단계(S907)의 작업을 수행할 수도 있다.
한편 단계(S907)에서, 상기 오너 프로세스가 패킷 송신이 허용되지 않는 프로세스에 속하는 경우, 단계(S911)로 진행하여, 방화벽 엔진(229)은 상기 패킷을 NIC 드라이버(228)측으로 전송하지 않는다. 일 실시예에서 방화벽 엔진(229)은 상기 패킷을 폐기할 수 있다. 그리고 추가적인 단계로서, 단계(S913)에서 방화벽 엔진(229)은 오너 프로세스의 실행의 중단을 요청하는 신호를 상위 계층으로 전송할 수 있다.
도9를 참조하여 설명한 상기 패킷 필터링 방법은 룰 DB(224)를 적용하여 패킷을 필터링하는 일 예시에 지나지 않고, 룰 DB(224)를 이용한 다양한 방법의 패킷 필터링 작업이 수행될 수 있음은 물론이다.
한편, 도2의 예시적인 디바이스의 대안적 실시 형태로서, 디바이스(200)가 외부와 통신하기 위한 구성요소인 NIC(231)가 시스템 온 칩(SoC)이 아닌 디바이스(200) 본체 측에 위치하고 있고 이에 따라 NIC 드라이버(228)도 커널층의 NDIS(218) 내에 위치할 수 있다.
이 실시형태에 따르면, 디바이스(200) 내부에서 외부로 송신되는 패킷 또는 외부에서 디바이스(200)로 수신되는 패킷이 모두 미니포트 드라이버(217)로 전달될 수 있다. 미니포터 드라이버(217)는 송신 또는 수신되는 모든 패킷에 대해 해당 패킷의 오너 프로세스의 ID를 확인한 뒤 이 프로세스 ID를 해당 패킷과 함께 시스템 온 칩(SoC)으로 전달한다. 그 후 방화벽 엔진(229)이 프로세스별 룰을 포함한 룰 DB를 상기 모든 패킷에 적용할 수 있다.
이상 설명한 본 발명에 따른 실시예들은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
200: 디바이스 201: 방화벽 UI 어플리케이션
203: 네트워크 어플리케이션
204: 룰 컨버터 205: 룰 리스트 저장장치
224: 룰 DB 227: 방화벽 매니저
229: 방화벽 엔진 231: 네트워크 인터페이스 카드
500: 룰 설정 화면

Claims (18)

  1. 패킷 필터링을 위한 룰 데이터베이스(DB)를 저장하는 제1 저장부와, 상기 룰 DB를 적용하여 패킷의 송신을 허용 또는 차단하는 방화벽 엔진을 포함하는 칩;
    사용자로부터 패킷 필터링을 위한 룰을 입력받아 룰 리스트로 변환하는 룰 컨버터; 및
    외부로 송신할 패킷을 상기 칩으로 전송하기 전 필터링 한 후에, 허용된 패킷만을 상기 칩으로 전송하는 미니포트 드라이버;를 포함하며,
    상기 칩은, 상기 룰 컨버터에 의해 변환된 룰 리스트를 전송받아 상기 제1 저장부에 룰 DB로서 저장하며, 상기 룰 DB를 참조하여 상기 미니포트 드라이버로부터 전송받은 패킷에 대하여 필터링 동작을 수행하는 것을 특징으로 하는 디바이스.
  2. 제 1 항에 있어서,
    상기 룰 컨버터에 의해서 변환된 룰 리스트를 저장하는 제2 저장부;를 포함하는 디바이스.
  3. 제 2 항에 있어서,
    상기 룰 컨버터는, 상기 제2 저장부에 기 저장된 룰 리스트에, 사용자로부터 패킷 필터링을 위한 룰을 입력받아 변환한 새로운 룰을 추가할 때, 기 저장된 룰 리스트에 포함된 룰들과 새로운 룰이 서로 충돌되는지 여부를 체크하는 것을 특징으로 하는 디바이스.
  4. 제 3 항에 있어서,
    상기 룰 컨버터는, 상기 새로운 룰과 상기 제2 저장부에 기 저장된 룰 리스트에 포함된 룰들 각각과 충돌되는지 여부를 체크하는 것을 특징으로 하는 디바이스.
  5. 제 1 항에 있어서,
    상기 룰 리스트는 링크드 리스트(Lingked list)의 형태로 구성된 것을 특징으로 하는 디바이스.
  6. 제 1 항에 있어서,
    상기 칩은 방화벽 매니저를 더 포함하며, 상기 룰 컨버터는 상기 룰 리스트를 상기 방화벽 매니저에게 전송하고, 상기 방화벽 매니저는 상기 룰 리스트를 상기 제1 저장부에 룰 DB의 형태로 변환하여 저장하는 것을 특징으로 하는 디바이스.
  7. 제 1 항에 있어서,
    IP, 프로토콜, 및 포트 중에서 적어도 어느 하나의 정보를 사용자로부터 입력받을 수 있는 영역을 포함한 룰 설정 화면을 제공하는 방화벽 유저 인터페이스;를 더 포함하며,
    상기 룰 컨버터는, 상기 룰 설정 화면을 통해서 사용자로부터 입력받은 룰을 룰 리스트로 변환하는 것을 특징으로 하는 디바이스.
  8. 제 7 항에 있어서,
    상기 룰 설정 화면은, 구성 헬퍼를 포함하며,
    상기 구성 헬퍼는, 네트워크 어플리케이션들의 리스트를 제공하고, 이 네트워크 어플리케이션 리스트에 포함된 어플리케이션들 중에서 적어도 어느 하나가 사용자에 의해 선택되면, 선택된 어플리케이션이 실행하는데 필요한 IP, 프로토콜, 및 포트 중 적어도 어느 하나를 상기 영역에 자동으로 입력하는 것을 특징으로 하는 디바이스.
  9. 제 8 항에 있어서,
    상기 룰 설정 화면은,
    프로세스별로 패킷을 허용하거나 차단하는 것을 정의한 프로세스 별 룰을 입력할 수 있는 영역을 포함하는 것을 특징으로 하는 디바이스.
  10. 방화벽 기능을 가진 칩을 장착된 디바이스에서의 패킷 필터링 방법에 있어서,
    상기 디바이스가, 사용자로부터 패킷 필터링을 위한 룰을 입력받아 룰 리스트로 변환하는 단계;
    상기 디바이스가, 외부로 송신할 패킷을 상기 칩으로 전송하기 전 필터링 한 후에, 허용된 패킷만을 상기 칩으로 전송하는 단계;
    상기 칩이, 상기 디바이스로부터 룰 리스트를 전송받아 룰 DB의 형태로서 저장하는 단계; 및
    상기 칩이, 상기 디바이스로부터 전송받은 패킷에 대하여 상기 룰 DB를 적용하여, 상기 디바이스로부터 전송받은 패킷의 송신을 허용 또는 차단하는 단계;를 포함하는 것을 특징으로 하는 패킷 필터링 방법.
  11. 제 10 항에 있어서,
    상기 디바이스가 자신이 가진 저장부에 상기 룰 리스트를 저장하는 단계;를 더 포함하는 것을 특징으로 하는 패킷 필터링 방법.
  12. 제 11 항에 있어서,
    상기 디바이스는, 상기 저장부에 기 저장된 룰 리스트에, 사용자로부터 패킷 필터링을 위한 룰을 입력받아 변환한 새로운 룰을 추가할 때, 기 저장된 룰 리스트에 포함된 룰들과 새로운 룰이 서로 충돌되는지 여부를 체크하는 것을 특징으로 하는 패킷 필터링 방법.
  13. 제 12 항에 있어서,
    상기 디바이스는, 상기 새로운 룰과 상기 저장부에 기 저장된 룰 리스트에 포함된 룰들 각각과 충돌되는지 여부를 체크하는 것을 특징으로 하는 패킷 필터링 방법.
  14. 제 10 항에 있어서,
    상기 룰 리스트는 링크드 리스트(Lingked list)의 형태로 구성된 것을 특징으로 하는 패킷 필터링 방법.
  15. 제 10 항에 있어서,
    상기 디바이스가, IP, 프로토콜, 및 포트 중에서 적어도 어느 하나의 정보를 사용자로부터 입력받을 수 있는 영역을 포함한 룰 설정 화면을 제공하는 단계;를 더 포함하며,
    상기 디바이스는, 상기 룰 설정 화면을 통해서 사용자로부터 입력받은 룰을 룰 리스트로 변환하는 것을 특징으로 하는 패킷 필터링 방법.
  16. 제 15 항에 있어서,
    상기 룰 설정 화면은, 구성 헬퍼를 포함하며,
    상기 구성 헬퍼는, 네트워크 어플리케이션들의 리스트를 제공하고, 이 네트워크 어플리케이션 리스트에 포함된 어플리케이션들 중에서 적어도 어느 하나가 사용자에 의해 선택되면, 선택된 어플리케이션이 실행하는데 필요한 IP, 프로토콜, 및 포트 중 적어도 어느 하나를 상기 영역에 자동으로 입력하는 것을 특징으로 하는 패킷 필터링 방법.
  17. 제1항에 있어서,
    상기 미니포트 드라이버의 필터링 동작은, 프로세스 별로 패킷을 허용하거나 차단하는 것을 정의한 프로세스 별 룰을 적용하여 필터링 하는 동작인 것을 특징으로 하는 디바이스.
  18. 제10항에 있어서,
    상기 디바이스의 필터링 동작은, 프로세스 별로 패킷을 허용하거나 차단하는 것을 정의한 프로세스 별 룰을 적용하여 필터링 하는 동작인 것을 특징으로 하는 패킷 필터링 방법.
KR1020120027051A 2011-03-16 2012-03-16 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법 KR101339512B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161453290P 2011-03-16 2011-03-16
US61/453,290 2011-03-16

Publications (2)

Publication Number Publication Date
KR20120106640A KR20120106640A (ko) 2012-09-26
KR101339512B1 true KR101339512B1 (ko) 2013-12-10

Family

ID=45841343

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020120027051A KR101339512B1 (ko) 2011-03-16 2012-03-16 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법
KR1020120027053A KR101404312B1 (ko) 2011-03-16 2012-03-16 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020120027053A KR101404312B1 (ko) 2011-03-16 2012-03-16 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법

Country Status (5)

Country Link
US (2) US8726362B2 (ko)
EP (2) EP2500838A1 (ko)
JP (2) JP5519718B2 (ko)
KR (2) KR101339512B1 (ko)
CN (2) CN102685104A (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101558054B1 (ko) * 2012-11-19 2015-10-06 삼성에스디에스 주식회사 안티 멀웨어 시스템 및 안티 멀웨어 시스템에서의 패킷 처리 방법
US9600441B2 (en) * 2013-03-11 2017-03-21 Samsung Electronics Co., Ltd. Apparatus and method for controlling network access for applications on mobile terminals
US9667596B2 (en) 2014-06-04 2017-05-30 Bank Of America Corporation Firewall policy comparison
US9391955B2 (en) * 2014-06-04 2016-07-12 Bank Of America Corporation Firewall policy converter
US9450916B2 (en) * 2014-08-22 2016-09-20 Honeywell International Inc. Hardware assist for redundant ethernet network
CN105791234A (zh) * 2014-12-23 2016-07-20 宇龙计算机通信科技(深圳)有限公司 用于终端的数据共享方法、数据共享装置和终端
US10560475B2 (en) 2016-03-07 2020-02-11 Chengdu Haicun Ip Technology Llc Processor for enhancing network security
US10489590B2 (en) 2016-03-07 2019-11-26 Chengdu Haicun Ip Technology Llc Processor for enhancing computer security
US10673890B2 (en) * 2017-05-30 2020-06-02 Akamai Technologies, Inc. Systems and methods for automatically selecting an access control entity to mitigate attack traffic
US10714172B2 (en) 2017-09-21 2020-07-14 HangZhou HaiCun Information Technology Co., Ltd. Bi-sided pattern processor
US11182163B1 (en) * 2018-08-31 2021-11-23 Splunk Inc. Customizable courses of action for responding to incidents in information technology environments
CN109088886B (zh) * 2018-09-29 2021-10-01 郑州云海信息技术有限公司 在防火墙上监控策略的管理方法和装置
KR102156600B1 (ko) * 2019-11-20 2020-09-16 (주)케이사인 네트워크에서 수집된 패킷과 엔드포인트 컴퓨팅 장치의 프로세스 간의 연관관계를 생성하는 시스템 및 방법
DE102020103546B3 (de) 2020-02-12 2021-07-01 Audi Aktiengesellschaft Verfahren zur Konfiguration eines Netzwerks, insbesondere in einem Kraftfahrzeug
KR102280845B1 (ko) 2020-11-24 2021-07-22 한국인터넷진흥원 네트워크 내의 비정상 행위 탐지 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030056652A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 정책기반 네트워크 보안제어시스템에서의 블랙리스트관리장치 및 관리방법
KR100750377B1 (ko) * 2006-05-09 2007-08-17 한정보통신 주식회사 SoC기반의 네트워크 보안 시스템 및 그 방법

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205552B1 (en) 1998-12-31 2001-03-20 Mci Worldcom, Inc. Method and apparatus for checking security vulnerability of networked devices
US6868450B1 (en) * 2000-05-17 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for a process attribute based computer network filter
KR100383224B1 (ko) 2000-05-19 2003-05-12 주식회사 사이젠텍 리눅스 기반의 네트워크 통합 보안 시스템 및 그의 방법과이를 장착한 반도체 장치
WO2002044892A2 (en) 2000-11-28 2002-06-06 4Thpass Inc. Method and system for maintaining and distributing wireless applications
JP2002244755A (ja) * 2001-02-16 2002-08-30 Sony Corp データ処理方法、半導体回路およびプログラム
JP2003067271A (ja) * 2001-08-27 2003-03-07 Hitachi Ltd 統合管理システム
KR100557022B1 (ko) 2001-10-06 2006-03-03 주식회사 비즈모델라인 무선 바이러스 차단 방법 및 시스템
US7316029B1 (en) 2001-10-25 2008-01-01 Sprint Communications Company L.P. Network security services architecture
US7373659B1 (en) * 2001-12-20 2008-05-13 Mcafee, Inc. System, method and computer program product for applying prioritized security policies with predetermined limitations
US7254562B2 (en) 2002-07-11 2007-08-07 Hewlett-Packard Development Company, L.P. Rule-based packet selection, storage, and access method and system
JP3794491B2 (ja) * 2002-08-20 2006-07-05 日本電気株式会社 攻撃防御システムおよび攻撃防御方法
US7467406B2 (en) * 2002-08-23 2008-12-16 Nxp B.V. Embedded data set processing
US20100138909A1 (en) * 2002-09-06 2010-06-03 O2Micro, Inc. Vpn and firewall integrated system
US20040059943A1 (en) * 2002-09-23 2004-03-25 Bertrand Marquet Embedded filtering policy manager using system-on-chip
US7308703B2 (en) * 2002-12-18 2007-12-11 Novell, Inc. Protection of data accessible by a mobile device
US20040143751A1 (en) * 2003-01-17 2004-07-22 Cyrus Peikari Protection of embedded processing systems with a configurable, integrated, embedded firewall
US20050216770A1 (en) 2003-01-24 2005-09-29 Mistletoe Technologies, Inc. Intrusion detection system
KR20040090373A (ko) 2003-04-15 2004-10-22 주식회사 안철수연구소 무선 단말기에서 실시간 바이러스 감시/진단/치료 방법
JP4222184B2 (ja) * 2003-04-24 2009-02-12 日本電気株式会社 セキュリティ管理支援システム、セキュリティ管理支援方法およびプログラム
US7549055B2 (en) 2003-05-19 2009-06-16 Intel Corporation Pre-boot firmware based virus scanner
US7971250B2 (en) 2003-10-08 2011-06-28 At&T Intellectual Property I, L.P. System and method for providing data content analysis in a local area network
US20050138416A1 (en) * 2003-12-19 2005-06-23 Microsoft Corporation Object model for managing firewall services
EP1551145A1 (en) * 2003-12-29 2005-07-06 Alcatel Canada Inc. Embedded filtering policy manager using system-on-chip
US7840763B2 (en) 2004-03-12 2010-11-23 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
US7490350B1 (en) * 2004-03-12 2009-02-10 Sca Technica, Inc. Achieving high assurance connectivity on computing devices and defeating blended hacking attacks
US7523500B1 (en) 2004-06-08 2009-04-21 Symantec Corporation Filtered antivirus scanning
KR100468374B1 (ko) * 2004-07-06 2005-01-31 주식회사 잉카인터넷 네트워크 유해 트래픽 제어 장치 및 방법
US7418253B2 (en) 2004-07-19 2008-08-26 Telefonaktiebolaget Lm Ericsson (Publ) Method, security system control module and policy server for providing security in a packet-switched telecommunications system
JP2006157313A (ja) * 2004-11-26 2006-06-15 Nec Corp 経路作成システム、経路作成装置及び経路作成プログラム
US20070022479A1 (en) 2005-07-21 2007-01-25 Somsubhra Sikdar Network interface and firewall device
JP4641794B2 (ja) * 2004-12-28 2011-03-02 富士通株式会社 パケットフィルタ同期方法及びパケット中継システム
US7839854B2 (en) 2005-03-08 2010-11-23 Thomas Alexander System and method for a fast, programmable packet processing system
US8667106B2 (en) * 2005-05-20 2014-03-04 At&T Intellectual Property Ii, L.P. Apparatus for blocking malware originating inside and outside an operating system
US20060282878A1 (en) * 2005-06-14 2006-12-14 Stanley James C Expression of packet processing policies using file processing rules
US7784094B2 (en) 2005-06-30 2010-08-24 Intel Corporation Stateful packet content matching mechanisms
US8869270B2 (en) 2008-03-26 2014-10-21 Cupp Computing As System and method for implementing content and network security inside a chip
US7970899B2 (en) * 2006-03-03 2011-06-28 Barracuda Networks Inc Integrated data flow packet admission and traffic management apparatus
EP2002634B1 (en) 2006-03-27 2014-07-02 Telecom Italia S.p.A. System for enforcing security policies on mobile communications devices
JP2007329876A (ja) * 2006-06-09 2007-12-20 Canon Inc デバイス制御装置及びそのネットワークセキュリティー方法
KR101206542B1 (ko) 2006-12-18 2012-11-30 주식회사 엘지씨엔에스 하드웨어 기반의 동적공격 탐지 및 차단을 지원하는네트워크 보안 장치 및 방법
CN1997074A (zh) * 2006-12-27 2007-07-11 华为技术有限公司 实现基于策略的路由方式的系统、装置及方法
KR100878895B1 (ko) 2007-02-08 2009-01-15 삼성전자주식회사 휴대단말 악성코드 처리장치 및 그 처리 방법
US8416773B2 (en) 2007-07-11 2013-04-09 Hewlett-Packard Development Company, L.P. Packet monitoring
US8079084B1 (en) 2007-08-10 2011-12-13 Fortinet, Inc. Virus co-processor instructions and methods for using such
US7911990B2 (en) * 2007-10-26 2011-03-22 Microsoft Corporation Ad hoc wireless networking
US8037532B2 (en) 2007-12-11 2011-10-11 International Business Machines Corporation Application protection from malicious network traffic
US20090240874A1 (en) * 2008-02-29 2009-09-24 Fong Pong Framework for user-level packet processing
JP5275673B2 (ja) * 2008-04-23 2013-08-28 トヨタ自動車株式会社 マルチコアシステム、車両用ゲートウェイ装置
US8245296B2 (en) 2008-05-23 2012-08-14 Verizon Patent And Licensing Inc. Malware detection device
JP5176983B2 (ja) * 2008-09-22 2013-04-03 富士通株式会社 フィルタ装置、フィルタプログラム及び方法
US8146134B2 (en) * 2008-10-28 2012-03-27 Yahoo! Inc. Scalable firewall policy management platform
US8914878B2 (en) 2009-04-29 2014-12-16 Juniper Networks, Inc. Detecting malicious network software agents
CN101895529B (zh) * 2010-05-31 2014-05-21 上海网宿科技股份有限公司 一种在驱动层判断tcp/ip包所属进程的方法
KR101279213B1 (ko) * 2010-07-21 2013-06-26 삼성에스디에스 주식회사 시스템 온 칩 기반의 안티-멀웨어 서비스를 제공할 수 있는 디바이스 및 그 방법과 인터페이스 방법
US8539545B2 (en) * 2010-07-22 2013-09-17 Juniper Networks, Inc. Domain-based security policies

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030056652A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 정책기반 네트워크 보안제어시스템에서의 블랙리스트관리장치 및 관리방법
KR100750377B1 (ko) * 2006-05-09 2007-08-17 한정보통신 주식회사 SoC기반의 네트워크 보안 시스템 및 그 방법

Also Published As

Publication number Publication date
JP5475041B2 (ja) 2014-04-16
KR20120106641A (ko) 2012-09-26
US20120240186A1 (en) 2012-09-20
US8726362B2 (en) 2014-05-13
KR101404312B1 (ko) 2014-06-27
CN102685104A (zh) 2012-09-19
JP2012195943A (ja) 2012-10-11
EP2500838A1 (en) 2012-09-19
JP5519718B2 (ja) 2014-06-11
CN102737177B (zh) 2016-11-09
JP2012195940A (ja) 2012-10-11
EP2501101A1 (en) 2012-09-19
KR20120106640A (ko) 2012-09-26
US20120240215A1 (en) 2012-09-20
CN102737177A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
KR101339512B1 (ko) 시스템 온 칩 기반의 패킷 필터링을 제공할 수 있는 디바이스 및 패킷 필터링 방법
US11843666B2 (en) Sub-networks based security method, apparatus and product
US9509628B2 (en) Managing devices in a heterogeneouus network
US11283810B2 (en) Communication control method and communication control device for substituting security function of communication device
US20060193300A1 (en) Method and apparatus for monitoring multiple network segments in local area networks for compliance with wireless security policy
US8942131B2 (en) Method for filtering and processing data in a packet-switched communication network
US11349711B2 (en) Methods and systems for configuring a mobile router
CN110311929A (zh) 一种访问控制方法、装置及电子设备和存储介质
TW201505411A (zh) 用於規則式安全防護設備之規則解譯方法及設備
US20120054358A1 (en) Network Relay Device and Frame Relaying Control Method
JP6052692B1 (ja) セキュリティ管理方法、プログラム、およびセキュリティ管理システム
US20120054359A1 (en) Network Relay Device and Frame Relaying Control Method
Goutam et al. Hestia: simple least privilege network policies for smart homes
US20190215326A1 (en) Security access for a switch device
US7561574B2 (en) Method and system for filtering packets within a tunnel
US9591025B2 (en) IP-free end-point management appliance
KR101059698B1 (ko) 에이피아이 후킹 모듈을 포함하는 휴대용 저장장치 및 이를 이용한 개인 방화벽 운용 방법
KR20170006950A (ko) Sdn 기반의 네트워크 플랫트닝 시스템 및 그 방법
KR20200044210A (ko) 무선 IoT장비에 대한 이상행위 패킷탐지 장치
KR101469244B1 (ko) 수신된 데이터에서의 불필요한 패킷 제거 장치 및 방법
Frank Securing Smart Homes with OpenFlow: Feasibility, Implementation, and Performance
TWI573038B (zh) Method of Security Control for IPv6 Terminal Devices in Enterprise Network
JP2009239331A (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
LAPS Lapse due to unpaid annual fee