KR20120121668A - 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법 - Google Patents

네트워크 기반 고성능 유해사이트 차단 시스템 및 방법 Download PDF

Info

Publication number
KR20120121668A
KR20120121668A KR1020110039603A KR20110039603A KR20120121668A KR 20120121668 A KR20120121668 A KR 20120121668A KR 1020110039603 A KR1020110039603 A KR 1020110039603A KR 20110039603 A KR20110039603 A KR 20110039603A KR 20120121668 A KR20120121668 A KR 20120121668A
Authority
KR
South Korea
Prior art keywords
packet
blocking
site
http request
hash value
Prior art date
Application number
KR1020110039603A
Other languages
English (en)
Other versions
KR101200906B1 (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 KR1020110039603A priority Critical patent/KR101200906B1/ko
Publication of KR20120121668A publication Critical patent/KR20120121668A/ko
Application granted granted Critical
Publication of KR101200906B1 publication Critical patent/KR101200906B1/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/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer

Landscapes

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

Abstract

본 발명은 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법에 대하여 개시한다. 본 발명의 일면에 따른 유해사이트 차단 시스템은, 인터넷 패킷에서 유효한 HTTP(HyperText Transfer Protocol) 요청 패킷을 선별하여 URL(Uniform Resource Locator)을 추출하고, 해쉬처리하여 URL 해쉬값을 생성하고, 상기 URL 해쉬값이 이전에 알려진 악성코드 배포 사이트의 URL 해쉬값 목록 중 어느 것과 동일하면 상기 HTTP 요청 패킷에 차단대상임을 표시하는 판단정보를 부가하며, 상기 악성코드 배포 사이트의 URL 해쉬값 목록 중 어느 것과도 동일하지 않으면 상기 HTTP 요청 패킷에 상기 URL 해쉬값을 부가하여 DMA(Direct Memory Access) 방식으로 전달하는 하드웨어 기반의 제1 차단 엔진; 및 상기 URL 해쉬값 또는 상기 판단정보가 포함된 상기 HTTP 요청 패킷을 상기 DMA(Direct Memory Access) 방식으로 전달받아, 상기 판단정보가 포함된 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하고, 부가된 상기 URL 해쉬값이 이전에 알려진 유해사이트의 URL 해쉬값 목록 중 어느 것과 동일하면 상기 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하는 소프트웨어 기반의 제2 차단 엔진을 포함하는 것을 특징으로 한다.

Description

네트워크 기반 고성능 유해사이트 차단 시스템 및 방법{High Performance System and Method for Blocking Harmful Sites Access on the basis of Network}
본 발명은 유해사이트 접속 차단 기술에 관한 것으로서, 더 구체적으로는 대용량 인터넷 패킷을 처리할 수 있는 유해사이트 차단 시스템 및 방법에 관한 것이다.
인터넷 환경은 사회 전반에 걸쳐 광범위하게 사용되는 현대 사회에 필수 불가결한 요소이지만, 그 역기능에 대한 많은 고민을 안겨주고 있다. 따라서, 인터넷 환경의 역기능에 대처하기 위한 정보보호기술의 개발이 지속적으로 증가하고 있다.
기업이나 공공기관은 업무에 필요한 인터넷 환경의 구축과 유지보수에 많은 비용을 부담하고 있을 뿐만 아니라, 증가하는 인터넷 트래픽을 수용하기 위한 대역폭 증설과 네트워크 장비 업그레이드에도 많은 비용을 부담하고 있다. 따라서 기업이나 공공기관은 인터넷 접속통제 시스템이나, 유해사이트 접속차단 시스템을 이용하여 불필요한 인터넷 접속을 통제함으로써, 인터넷 트래픽 증가를 어느 정도 억제하고, 인터넷 이용의 효율성을 높이고 있다.
그러나, 컴퓨팅 기술의 발전과 더불어 관련 소프트웨어, 인터넷 기반 응용프로그램 및 관련 서비스가 고성능화 및 대용량화됨에 따라, 인터넷 트래픽도 종래에 비해 수배 내지 수십 배까지 증가하고 있어, 네트워크 장비 및 대역폭 증설 투자는 필수 불가결하게 되었다.
이 같은 인터넷 트래픽의 증가에 따라, 대부분의 기업과 공공기관은 1Gbps급 이중 인터넷 망을 구축하여 사용하고 있으며, 그중 일부는 인터넷 망을 10Gbps급 대역폭으로 고도화하여 사용하고 있다.
그런데, 종래의 네트워크 기반 유해사이트 차단 시스템은 최소 150Mbps에서 최대 600Mbps의 트래픽을 처리할 수 있을 뿐이었다. 왜냐하면, 네트워크 인터페이스 카드(이하, 랜카드)와 소프트웨어 엔진의 패킷 처리 리소스 및 성능 한계로 패킷 처리 병목이 발생하여 수백만 개에 이르는 유해사이트 목록에 대한 해쉬(Hash) 처리 및 비교 작업과 시간대별, 사용자별로 유연한 유해사이트 차단 정책을 적용하면, 전체 성능이 크게 저하되었기 때문이다.
종래의 유해사이트 차단 시스템에서 1Gbps의 인터넷 트래픽을 처리하려면, 2대 이상의 복수의 서버를 이용하여 인터넷 트래픽을 분산 처리하는 형태로 구성해야했다. 이는 단순히 비용이 높아지고 운영관리범위가 넓어지는 문제일 뿐 아니라 최근의 그린 컴퓨팅 시스템(Green Computing System) 추세에도 역행하는 문제라고 확대 해석될 수 있을 정도이다. 따라서, 단일 시스템에서 10Gbps에 이르는 인터넷 트래픽을 처리할 수 있는 유해사이트 차단 시스템에 대한 필요성은 매우 크다고 할 수 있다.
본 발명은 전술한 바와 같은 기술적 배경에서 안출된 것으로서, 하드웨어 기반의 차단엔진에서 유효한 HTTP 요청 패킷을 선별하여 악성코드 유포 사이트에 대한 접속요청인지 여부를 전처리할 수 있는 유해사이트 차단 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
본 발명은 하드웨어 기반 차단엔진에서 선별된 패킷과 해쉬값을 DMA 방식으로 전달하여 소프트웨어 기반 차단엔진의 송수신부하 및 처리부하를 줄일 수 있는 유해사이트 차단 시스템 및 방법을 제공하는 것을 다른 목적으로 한다.
본 발명은 이중 인터넷 라인으로부터 전송되는 인터넷 패킷을 단일 시스템에 의하여 처리할 수 있는 유해사이트 차단 시스템 및 방법을 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일면에 따른 유해사이트 차단 시스템은, 인터넷 패킷에서 유효한 HTTP(HyperText Transfer Protocol) 요청 패킷을 선별하여 URL(Uniform Resource Locator)을 추출하고, 해쉬처리하여 URL 해쉬값을 생성하고, 상기 URL 해쉬값이 이전에 알려진 악성코드 배포 사이트의 URL 해쉬값 목록 중 어느 것과 동일하면 상기 HTTP 요청 패킷에 차단대상임을 표시하는 판단정보를 부가하며, 상기 악성코드 배포 사이트의 URL 해쉬값 목록 중 어느 것과도 동일하지 않으면 상기 HTTP 요청 패킷에 상기 URL 해쉬값을 부가하여 DMA(Direct Memory Access) 방식으로 전달하는 하드웨어 기반의 제1 차단 엔진; 및 상기 URL 해쉬값 또는 상기 판단정보가 포함된 상기 HTTP 요청 패킷을 상기 DMA 방식으로 전달받아, 상기 판단정보가 포함된 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하고, 부가된 상기 URL 해쉬값이 이전에 알려진 유해사이트의 URL 해쉬값 목록 중 어느 것과 동일하면 상기 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하는 소프트웨어 기반의 제2 차단 엔진을 포함하는 것을 특징으로 한다.
본 발명의 다른 면에 따른 유해사이트 차단 방법은, 하드웨어 기반의 패킷 처리 보드 및 소프트웨어 기반의 호스트 보드를 포함하는 유해사이트 차단 시스템의 유해사이트 차단 방법으로서, 상기 패킷 처리 보드가 인터넷 패킷으로부터 유효한 HTTP(HyperText Transfer Protocol) 요청 패킷을 선별하고, 그외의 패킷을 무시하는 단계; 상기 패킷 처리 보드가 상기 HTTP 요청 패킷으로부터 URL(Uniform Resource Locator)을 추출하고, 상기 URL를 해쉬처리하여 URL 해쉬값을 생성하는 단계; 상기 패킷 처리 보드가, 구비된 제1 저장부의 미리 알려진 악성코드 배포 사이트의 URL 해쉬값 목록과 상기 URL 해쉬값을 비교하여 상기 HTTP 요청 패킷이 차단대상 사이트에 대한 접속요청인지 여부를 판단하고, 상기 차단대상 사이트에 대한 접속요청이면 상기 HTTP 요청 패킷에 판단정보를 부가하고, 상기 차단대상 사이트에 대한 접속요청이 아니면, 상기 HTTP 요청 패킷에 상기 URL 해쉬값을 부가하는 단계; 상기 판단정보 또는 상기 URL 해쉬값이 부가된 상기 HTTP 요청 패킷을 DMA(Direct Memory Access) 방식으로 상기 호스트 보드로 전달하는 단계; 상기 호스트 보드가 전달받은 상기 HTTP 요청 패킷으로부터 상기 URL 해쉬값을 확인하여 기저장된 유해사이트의 URL 해쉬값 목록과 비교하거나, 상기 판단정보를 확인하여 상기 차단대상 사이트에 대한 접속요청인지 여부를 판단하는 단계; 및 상기 HTTP 패킷 요청이 상기 차단대상 사이트에 대한 접속요청이면, 상기 호스트 보드가 상기 HTTP 요청 패킷에 대응하는 상기 차단대상 사이트로의 접근을 차단하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 알려진 악성코드 배포 사이트 목록을 수시로 업데이트하여 유해사이트로의 접근인지 여부의 판단 이전에 악성코드 배포 사이트에 대한 접근 여부를 우선적으로 판단함으로써, 사용자가 자신도 모르게 악성코드 배포 웹 하드나 P2P 사이트에 접속함에 따라 "Drive by Download" 방식으로 악성코드를 다운로드받아 DDoS 공격의 수단인 좀비 PC가 증가하는 것을 방지할 수 있다.
뿐만 아니라, 본 발명은 좀비 PC로 인해 DDoS 공격이 발생하더라도 본 발명은 좀비 PC에 의해 DDoS 공격이 발생하더라도 부가적인 좀비 PC의 생성 억제를 통해 DDoS 공격 가담으로 인한 부가적인 인터넷 트래픽이 발생하는 것을 억제할 수 있어, 1Gbps 내지 10Gbps에 이르는 대용량의 인터넷 트래픽을 안정적으로 처리할 수 있다.
또한, 본 발명은 대용량/고성능의 패킷 처리 기능과 소프트웨어 기반의 유연한 정책 및 관리기능을 적절하게 융합하여 하드웨어 기반 엔진에서 패킷을 일부 선별하고 전처리하여 전달함에 따라 소프트웨어 기반 엔진으로 패킷을 전달시 패킷 병목현상이나 패킷 손실이 발생하는 것을 방지할 수 있다.
뿐만 아니라, 본 발명은 하드웨어 기반의 엔진과 소프트웨어 기반의 엔진 간에 DMA 방식으로 모니터링할 패킷을 전달하므로, 1Gbps 내지 10Gbps의 대용량 패킷 전달시에도 소프트웨어 기반 엔진의 CPU나 물리적 자원을 거의 사용하지 않을 수 있어, 패킷 전달에 따른 부하를 현저하게 줄일 수 있다.
더 나아가, 본 발명은 1Gbps 인터넷 라인과, 10Gbps 인터넷 라인이 이중으로 구성된 경우에도, 단일 시스템에 의하여 1Gbps~10Gbps의 인터넷 트래픽을 처리할 수 있다. 따라서, 본 발명은 운용 비용과 운용 인력을 절감할 수 있고, 연간 소비전력을 절감할 수 있어, 그린 컴퓨팅 환경에도 부합할 수 있다.
도 1은 본 발명의 실시예에 따른 유해사이트 차단 시스템을 도시한 구성도.
도 2는 본 발명의 실시예에 따른 제1 차단 엔진의 동작 방법을 도시한 흐름도.
도 3은 본 발명의 실시예에 따른 제2 차단 엔진의 동작 방법을 도시한 흐름도.
도 4는 본 발명의 실시예에 따른 악성코드 배포 사이트의 URL 해쉬값 목록을 업데이트하는 방법을 도시한 도면.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이제 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 유해사이트 차단 시스템을 도시한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 유해사이트 차단 시스템(10)은 패킷 처리 보드(100) 및 호스트 보드(200)를 포함한다.
패킷 처리 보드(100)는 이더넷 컨트롤러(110), 제1 차단 엔진(120) 및 PCI 브리지(130)를 포함한다.
이더넷 컨트롤러(110)는 1Gbps 또는 10Gbps 대역을 지원하는 랜카드(NIC)로부터 물리계층의 인터넷 패킷을 전달받아 데이터링크 계층의 패킷으로 변환한다. 도 1에서는 이중 인터넷 라인에 대한 인터넷 패킷을 처리할 수 있도록, 두 개의 랜카드(NIC1 및 NIC2)와 연결된 유해사이트 차단 시스템(10)을 예로 들어 도시하였지만, 하나의 랜카드와 연결될 수도 있음은 물론이다.
제1 차단 엔진(120)은 패킷 전처리용 FPGA(Field Programmable Gate Array) 블록으로서, 데이터링크 계층의 패킷을 전달받아 패킷을 선별하며, 제1 저장부(123), 제2 저장부(122) 및 제1 패킷 처리부(121)를 포함한다. 이때, 제1 패킷 처리부(121)의 FPGA 칩의 게이트 수, 제2 저장부(122) 및 제1 저장부(123)의 용량은 본 발명의 시스템(10)이 처리할 인터넷 트래픽 용량에 따라 결정될 수 있다. 이하, 제1 차단 엔진(120)의 각 부에 대하여 설명한다.
제1 저장부(123)은 예컨대, SRAM(Static Random Access Memory)으로서, 제1 패킷 처리부(121)의 패킷 선별 시그니처 및 악성코드 배포 사이트의 URL(Uniform Resource Locator) 해쉬값 목록 테이블을 저장한다.
제2 저장부(122)은 예컨대, TCAM(Ternary Content Addressable Memory)으로서, HTTP(HyperText Transfer Protocol) 요청 패킷 중 선별 제외 대상의 목적지 포트 주소 목록, IP 주소 목록 및 세션 관리정보를 저장한다. 여기서, 선별 제외 대상의 목적지 포트 주소 목록 및 IP 주소 목록은 유해하지 않은 것으로 판단된 일반사이트의 목적지 포트 주소 목록 및 IP 주소 목록일 수 있다.
제1 패킷 처리부(121)는 제1 저장부(123)에 저장된 패킷 선별 시그니처에 따라 데이터링크 계층의 패킷으로부터 유효한 HTTP 요청 패킷을 선별하고, 해쉬처리하여 URL 해쉬값을 생성한다. 제1 패킷 처리부(121)가 유효한 HTTP 요청 패킷을 선별하는 과정에 대해서는 도 2를 참조하여 후술한다.
제1 패킷 처리부(121)는 생성된 URL 해쉬값이 제1 저장부(123)에 저장된 악성코드 배포 사이트의 URL 해쉬값 목록과 일치하는지 여부로 선별된 HTTP 요청 패킷이 악성코드 배포 사이트에 대한 접근요청인지를 판단한다.
제1 패킷 처리부(121)는 판단결과, 악성코드 배포 사이트에 대한 접근요청이면 유효한 HTTP 요청 패킷에 판단정보를 부가하고, 악성코드 배포 사이트에 대한 접근요청이 아니면 유효한 HTTP 요청 패킷에 URL 해쉬값을 부가하여 PCI 브리지(130)를 통해 호스트 보드(200)로 전달한다.
이때, 제1 패킷 처리부(121)는 PCI 브리지(130)를 통해 PCI-e(Peripheral Component Interconnect-Express) 인터페이스 표준에 기반하여 판단정보 또는 URL 해쉬값이 부가된 HTTP 요청 패킷을 제2 패킷 처리부(221)에 의하여 할당된 DMA(Direct Memory Access) 메모리 영역으로 직접 전달한다. 여기서, 제2 패킷 처리부(221)는 제1 패킷 처리부(121)의 요청에 따라 메모리 할당 함수를 호출하여 DMA 메모리 영역을 할당한다.
호스트 보드(200)는 CPU 기반의 소프트웨어 처리 블록으로서, 패킷 처리 보드(100)와 PCI-e 인터페이스로 연결되며, 패킷 드라이버(210), 제2 차단 엔진(220), 로그 DB(231), 일반/유해사이트 DB(232) 및 악성코드 DB(233)를 포함한다.
패킷 드라이버(210)는 PCI-e 인터페이스로부터 판단정보 또는 URL 해쉬값이 부가된 HTTP 요청 패킷을 전달받아 제2 차단 엔진(220)으로 전달한다.
제2 차단 엔진(220)은 패킷 드라이버(210)로부터 판단정보 또는 URL 해쉬값이 부가된 HTTP 요청 패킷을 전달받아 차단대상 사이트로의 접근 요청이면 접근하지 못하도록 차단하며, 제2 패킷 처리부(221), 차단부(222) 및 악성코드 관리부(223)를 포함한다. 이하, 제2 차단 엔진(220)의 각 부에 대하여 설명한다.
제2 패킷 처리부(221)는 제1 패킷 처리부(121)로부터 DMA 메모리 영역으로 전달된 HTTP 요청 패킷에 판단정보가 있으면, 차단대상 사이트에 대한 접속요청이라 판단하여 차단부(222)로 전달한다.
제2 패킷 처리부(221)는 DMA 메모리 영역의 HTTP 요청 패킷에 URL 해쉬값이 있으면, 그 URL 해쉬값이 일반/유해사이트 DB(232)의 유해사이트의 URL 해쉬값 목록 중 적어도 하나와 일치하는지 여부를 확인한다. 확인결과, 적어도 하나와 일치하면 차단대상 사이트에 대한 접속요청이라 판단하여 차단부(222)로 전달한다.
제2 패킷 처리부(221)는 HTTP 요청 패킷의 해쉬값 목록이 유해사이트의 URL 해쉬값 목록의 어느 것과도 일치하지 않으면 차단대상 사이트에 대한 접속요청이 아니므로 무시한다.
차단부(222)는 전달받은 HTTP 요청 패킷에 대응하는 차단대상 사이트에 대한 접근을 차단하고, 로그 DB(231)에 차단 로그를 저장한다.
악성코드 관리부(223)는 원격지 서버로부터의 업데이트 정보 여부를 주기적으로 확인하고, 확인결과 악성코드 배포 사이트의 URL 해쉬값에 업데이트가 필요하면, 악성코드 DB(233)에 악성코드 배포 사이트의 URL 해쉬값 목록을 업데이트하여 저장한다.
악성코드 관리부(223)는 악성코드 DB(233)의 업데이트가 완료되면, 제1 차단 엔진(120)에 업데이트 명령과 악성코드 배포 사이트의 URL 해쉬값 목록을 전달한다. 그러면, 제1 차단 엔진(120)이 업데이트 명령을 실행하여 제1 저장부(123)에 저장된 악성코드 배포 사이트의 URL 해쉬값 목록을 업데이트한다.
이와 같이, 본 발명은 하드웨어 기반의 제1 차단 엔진(120)에서 모니터링할 패킷을 일부 선별하고 전처리하여 전달함에 따라 소프트웨어 기반의 제2 차단 엔진(220)으로 패킷을 전달시 패킷 병목이나 패킷 손실이 발생하지 않도록 할 수 있다.
또한, 본 발명은 DMA 방식으로 패킷을 전달하므로, 대용량 패킷 전달시에도 제2 차단 엔진(220)의 CPU나 물리적 자원을 거의 사용하지 않을 수 있어, 패킷 전달의 부하를 현저하게 줄일 수 있다.
뿐만 아니라, 본 발명은 두 개의 랜카드를 수용할 수 있도록 구성되어, 1Gbps 또는 10Gbps 인터넷 라인이 이중으로 구성(Active-Standby)된 경우에도, 단일 시스템에 의하여 처리할 수 있다.
더 나아가, 본 발명은 단일 시스템에 의하여 대용량 인터넷 트래픽을 처리할 수 있어, 운용 비용과 운용 인력을 절감할 수 있음은 물론, 연간 소비전력을 절감할 수 있어, 그린 컴퓨팅 환경에도 부합할 수 있다.
이하, 도 2를 참조하여 본 발명의 실시예에 따른 제1 차단 엔진의 동작 방법에 대하여 설명한다. 도 2는 본 발명의 실시예에 따른 제1 차단 엔진의 동작 방법을 도시한 흐름도이다.
도 2를 참조하면, 제1 패킷 처리부(121)는 이더넷 컨트롤러(110)로부터 전달받은 데이터링크 계층의 패킷 중에서 HTTP 요청 타입이 GET이거나, POST인 패킷(HTTP 요청 패킷)을 선별한다(S210).
이어서, 제1 패킷 처리부(121)는 선별된 패킷 중에서 기정의된 선별 제외 대상이 아닌, 유효한 HTTP 요청 패킷을 선별한다(S220).
제1 패킷 처리부(121)는 HTTP 요청 패킷이 아니거나, 선별 제외 대상인 HTTP 요청 패킷을 무시한다(S230).
이때, 제1 패킷 처리부(121)는 선별된 패킷의 정보를 확인하여 제2 저장부(122)에 저장된 목적지 포트 주소 목록 및 IP 주소 목록 중 적어도 하나와 일치하면 선별하지 않는다.
또한, 제1 패킷 처리부(121)는 선별된 패킷이 이전에 선별된 유효한 HTTP 요청 패킷과 동일한 세션의 연속되는 패킷일 경우에는 해당 세션 정보를 제2 저장부(122)에 저장한 후, 동일 세션에서 이어지는 패킷들을 자동으로 무시한다.
예를 들어 설명하면, 사용자가 "네이버"라는 포탈 사이트에 접속하려 할 때 검사되어야 할 유효 패킷은 제일 처음 요청되는 "www.naver.com/" URL에 대응하는 웹페이지를 요청하는 HTTP GET 패킷이다. 반면, 뒤이어 요청되는 많은 GET 패킷은 JPG, GIF나, SWF 등과 같이 웹페이지의 구성요소를 요청하는 패킷들이므로 검사될 필요가 없다. 따라서, 제1 패킷 처리부(121)는 최초 요청되는 HTTP 요청 패킷만을 검사하고 이후 동일 세션의 연속된 패킷들은 무시하는 것이다.
제1 패킷 처리부(121)는 유효한 HTTP 요청 패킷으로부터 URL을 추출하고, 추출한 URL을 MD5 해쉬처리하여 URL 해쉬값을 생성한다(S230).
제1 패킷 처리부(121)는 생성된 URL 해쉬값이 제1 저장부(123)에 저장된 악성코드 배포 사이트의 URL 해쉬값과 일치하는지 여부로 악성코드 배포 사이트에 대한 접근요청인지 여부를 판단한다(S240).
제1 패킷 처리부(121)는 판단결과 악성코드 배포 사이트에 대한 접근요청이면 판단정보를 부가하고(S250), 악성코드 배포 사이트에 대한 접근요청이 아니면 URL 해쉬값을 부가한다(S280).
그리고, 제1 패킷 처리부(121)는 PCI-e 인터페이스를 통해 호스트 보드(200)에 의하여 할당된 DMA 메모리 영역으로 판단정보 또는 URL 해쉬값이 부가된 HTTP 요청 패킷을 전달한다(S260).
이 같이, 본 발명은 HTTP 요청 패킷 중에서 유효하지 않은 HTTP 요청 패킷을 필터링함으로써, 유해사이트로의 접근 여부를 판단하기 위한 패킷 처리 작업의 부하를 크게 줄일 수 있고, 따라서 유해사이트 차단 시스템의 성능을 증대시킬 수 있다.
이하, 도 3을 참조하여 본 발명의 실시예에 따른 제2 차단 엔진의 동작 방법에 대하여 설명한다. 도 3은 본 발명의 실시예에 따른 제2 차단 엔진의 동작 방법을 도시한 흐름도이다.
도 3을 참조하면, 제2 패킷 처리부(221)는 제1 패킷 처리부(121)로부터 DMA 메모리 영역으로 판단정보 또는 URL 해쉬값이 부가된 HTTP 요청 패킷이 전달되면(S310의 예), 순차적으로 DMA 메모리 영역의 HTTP 요청 패킷을 읽는다(S320).
제2 패킷 처리부(221)는 DMA 메모리 영역의 HTTP 요청 패킷에 판단정보가 부가되었는지를 확인한다(S330).
제2 패킷 처리부(221)는 판단정보가 부가되지 않았으면, URL 해쉬값이 일반/유해사이트 DB(232)의 URL 해쉬값과 일치하는지 여부를 확인한다(S340).
제2 패킷 처리부(221)는 URL 해쉬값이 일반/유해사이트 DB(232)의 URL 해쉬값과 일치하지 않으면, 무시한다(S350).
제2 패킷 처리부(221)는 DMA 메모리 영역의 HTTP 요청 패킷에 판단정보가 부가되었거나, 부가된 URL 해쉬값이 일반/유해사이트 DB(232)의 URL 해쉬값과 일치하면, 해당 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하고, 로그 DB(231)에 로그를 저장한다(S360).
이와 같이, 본 발명의 소프트웨어 기반 제2 차단 엔진(220)은 단순히 제1 차단 엔진(120)으로부터 전달받은 HTTP 요청 패킷에 부가된 정보를 확인하거나, URL 해쉬값을 비교하거나 그에 대한 차단 기능을 수행하기 때문에, 본 발명은 단일 시스템으로 1Gbps~10Gbps에 이르는 대용량 인터넷 트래픽을 처리할 수 있다.
이하, 도 4를 참조하여 본 발명의 실시예에 따른 악성코드 배포 사이트의 URL 해쉬값 목록의 업데이트 방법에 대하여 설명한다. 도 4는 본 발명의 실시예에 따른 악성코드 배포 사이트의 URL 해쉬값 목록을 업데이트하는 방법을 도시한 도면이다.
도 4를 참조하면, 악성코드 관리 서버(400)는 새로운 URL 목록이 유입되면(S410), 복수의 백신 바이러스 업체의 악성코드 배포 도메인 확인 웹사이트에 새로운 URL 목록 중에 알려진 악성코드 배포 사이트의 URL 해쉬값과 일치하는 것이 있는지를 질의한다(S420).
악성코드 관리 서버(400)는 새로운 URL 중 알려진 악성코드 배포 사이트 URL 목록과 일치하는 것과(S430), 일치하지 않는 유해/일반 사이트 정보(S440)를 구분하여 업데이트 정보에 포함시켜 유해사이트 차단 시스템(10)으로 송신한다(S450).
악성코드 관리부(223)는 업데이트 정보를 수신하면, 악성코드 DB(233) 또는 일반/유해사이트 DB(232)를 업데이트한다(S460).
그리고, 악성코드 관리부(223)는 제1 차단 엔진(120)의 제1 저장부(123) 내 악성코드 배포 사이트의 URL 해쉬값 목록과 제2 저장부(122) 내 선별 제외 대상의 정보를 업데이트한다(S470).
이와 같이, 본 발명은 알려진 악성코드 배포 사이트의 URL 해쉬값 목록을 수시로 업데이트하여 유해사이트로의 접근 여부에 대한 판단 이전에 악성코드 배포 사이트에 대한 접근요청인지 여부를 우선적으로 판단함으로써, 좀비 PC가 증가하는 것을 방지할 수 있다.
또한, 본 발명은 좀비 PC에 의해 DDoS 공격이 발생하더라도 부가적인 좀비 PC의 생성 억제를 통해 DDoS 공격 가담으로 인한 부가적인 인터넷 트래픽이 발생하는 것을 억제할 수 있어, 1Gbps 내지 10Gbps에 이르는 대용량의 인터넷 트래픽을 안정적으로 처리할 수 있다.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.

Claims (14)

  1. 인터넷 패킷에서 유효한 HTTP(HyperText Transfer Protocol) 요청 패킷을 선별하여 URL(Uniform Resource Locator)을 추출하고, 해쉬처리하여 URL 해쉬값을 생성하고, 상기 URL 해쉬값이 이전에 알려진 악성코드 배포 사이트의 URL 해쉬값 목록 중 어느 것과 동일하면 상기 HTTP 요청 패킷에 차단대상임을 표시하는 판단정보를 부가하며, 상기 악성코드 배포 사이트의 URL 해쉬값 목록 중 어느 것과도 동일하지 않으면 상기 HTTP 요청 패킷에 상기 URL 해쉬값을 부가하여 DMA(Direct Memory Access) 방식으로 전달하는 하드웨어 기반의 제1 차단 엔진; 및
    상기 URL 해쉬값 또는 상기 판단정보가 포함된 상기 HTTP 요청 패킷을 상기 DMA(Direct Memory Access) 방식으로 전달받아, 상기 판단정보가 포함된 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하고, 부가된 상기 URL 해쉬값이 이전에 알려진 유해사이트의 URL 해쉬값 목록 중 어느 것과 동일하면 상기 HTTP 요청 패킷에 대응하는 사이트로의 접근을 차단하는 소프트웨어 기반의 제2 차단 엔진
    을 포함하는 유해사이트 차단 시스템.
  2. 제1항에 있어서, 상기 제1 차단 엔진은,
    상기 인터넷 패킷의 HTTP 요청 타입이 GET 또는 POST인 패킷을 1차 선별하고, 기설정된 선별 제외 대상이 아니면, 상기 유효한 HTTP 요청 패킷으로 선별하고, 그외의 패킷은 무시하는 것인 유해사이트 차단 시스템.
  3. 제2항에 있어서, 상기 제1 차단 엔진은,
    FPGA(Field Programmable Gate Array) 블록으로 구성되어, 상기 유효한 HTTP 요청 패킷에 상기 판단정보 또는 상기 URL 해쉬값을 부가하는 제1 패킷 처리부;
    상기 알려진 악성코드 배포 사이트의 URL 해쉬값 목록을 저장하는 제1 저장부; 및
    목적지 포트 주소 목록, IP 주소 목록, 이전에 선별된 상기 HTTP 요청 패킷의 세션 정보를 포함하는 상기 선별 제외 대상의 정보를 저장하는 제2 저장부를 포함하며,
    상기 제1 패킷 처리부, 상기 제1 저장부 및 상기 제2 저장부의 용량은 상기 인터넷 패킷의 트래픽의 처리 용량에 따라 결정되는 것인 유해사이트 차단 시스템.
  4. 제3항에 있어서, 상기 제2 차단 엔진은,
    상기 악성코드 배포 사이트의 URL 해쉬값 목록을 저장하는 악성코드 DB를 포함하고,
    원격 서버로부터의 업데이트 정보를 주기적으로 확인하여 업데이트할 악성코드 배포 사이트의 URL 해쉬값 목록이 있으면, 상기 악성코드 DB와 상기 제1 저장부에 상기 악성코드 배포 사이트의 URL 해쉬값 목록을 업데이트하는 것인 유해사이트 차단 시스템.
  5. 제3항에 있어서, 상기 제1 차단 엔진은,
    1차 선별된 상기 패킷이 상기 유효한 HTTP 요청 패킷과 동일한 세션에 이어지는 패킷이면, 상기 세션 정보를 상기 제2 저장부에 저장하고, 상기 제2 저장부의 세션 정보를 참조하여 이후에 이어지는 패킷을 자동으로 무시하는 것인 유해사이트 차단 시스템.
  6. 제1항에 있어서, 상기 제1 차단 엔진은,
    PCI-e(Peripheral Component Interconnect-Express) 인터페이스를 통해 상기 DMA 방식으로 상기 제2 차단 엔진에 상기 URL 해쉬값 또는 상기 판단정보가 포함된 상기 HTTP 요청 패킷을 전달하는 것인 유해사이트 차단 시스템.
  7. 제1항에 있어서, 상기 제1 차단 엔진은,
    1Gbps 또는 10Gbps 대역폭을 지원하는 하나의 랜카드 또는 1Gbps 또는 10Gbps 대역폭을 지원하는 두 개의 랜카드와 이더넷 컨트롤러를 통해 데이터링크 계층으로 변환된 상기 인터넷 패킷을 전달받는 것인 유해사이트 차단 시스템.
  8. 제1항에 있어서, 상기 제2 차단 엔진은,
    부가된 상기 URL 해쉬값이 이전에 알려진 유해사이트의 URL 해쉬값 목록 중 어느 것과 동일하지 않으면 무시하는 것인 유해사이트 차단 시스템.
  9. 하드웨어 기반의 패킷 처리 보드 및 소프트웨어 기반의 호스트 보드를 포함하는 유해사이트 차단 시스템의 유해사이트 차단 방법으로서,
    상기 패킷 처리 보드가 인터넷 패킷으로부터 유효한 HTTP(HyperText Transfer Protocol) 요청 패킷을 선별하고, 그외의 패킷을 무시하는 단계;
    상기 패킷 처리 보드가 상기 HTTP 요청 패킷으로부터 URL(Uniform Resource Locator)을 추출하고, 상기 URL를 해쉬처리하여 URL 해쉬값을 생성하는 단계;
    상기 패킷 처리 보드가, 구비된 제1 저장부의 미리 알려진 악성코드 배포 사이트의 URL 해쉬값 목록과 상기 URL 해쉬값을 비교하여 상기 HTTP 요청 패킷이 차단대상 사이트에 대한 접속요청인지 여부를 판단하고, 상기 차단대상 사이트에 대한 접속요청이면 상기 HTTP 요청 패킷에 판단정보를 부가하고, 상기 차단대상 사이트에 대한 접속요청이 아니면, 상기 HTTP 요청 패킷에 상기 URL 해쉬값을 부가하는 단계;
    상기 판단정보 또는 상기 URL 해쉬값이 부가된 상기 HTTP 요청 패킷을 DMA(Direct Memory Access) 방식으로 상기 호스트 보드로 전달하는 단계;
    상기 호스트 보드가 전달받은 상기 HTTP 요청 패킷으로부터 상기 URL 해쉬값을 확인하여 기저장된 유해사이트의 URL 해쉬값 목록과 비교하거나, 상기 판단정보를 확인하여 상기 차단대상 사이트에 대한 접속요청인지 여부를 판단하는 단계; 및
    상기 HTTP 패킷 요청이 상기 차단대상 사이트에 대한 접속요청이면, 상기 호스트 보드가 상기 HTTP 요청 패킷에 대응하는 상기 차단대상 사이트로의 접근을 차단하는 단계
    를 포함하는 유해사이트 차단 방법.
  10. 제9항에 있어서,
    상기 호스트 보드가 상기 차단대상 사이트로의 접근을 차단하고, 로그를 저장하는 단계
    를 더 포함하는 유해사이트 차단 방법.
  11. 제9항에 있어서, 상기 선별하고, 무시하는 단계는,
    상기 인터넷 패킷의 HTTP 요청 타입이 GET 또는 POST인 패킷을 1차 선별하는 단계; 및
    상기 1차 선별된 HTTP 요청 패킷 중에서, 제2 저장부에 저장된 일반 사이트의 목적지 포트 주소 목록 및 IP 주소 목록 중 적어도 하나로의 접근요청이 아니면서, 이전에 선별된 상기 유효한 HTTP 요청 패킷과 동일 세션에 연속되는 패킷이 아닌 HTTP 요청 패킷을 상기 유효한 HTTP 요청 패킷으로 2차 선별하는 단계
    를 포함하는 것인 유해사이트 차단 방법.
  12. 제11항에 있어서, 상기 2차 선별하는 단계는,
    1차 선별된 상기 패킷이 상기 유효한 HTTP 요청 패킷과 동일한 세션에 이어지는 패킷이면, 상기 세션 정보를 상기 제2 저장부에 저장하고, 상기 제2 저장부의 세션 정보를 참조하여 이후에 이어지는 패킷을 자동으로 무시하는 단계
    를 포함하는 것인 유해사이트 차단 방법.
  13. 제11항에 있어서,
    상기 호스트 보드의 명령에 따라 상기 패킷 처리 보드가 상기 제2 저장부에 저장된 상기 일반 사이트의 목적지 포트 주소 목록, IP 주소 목록을 업데이트하는 단계
    를 더 포함하는 것인 유해사이트 차단 방법.
  14. 제9항에 있어서,
    상기 호스트 보드가 원격 서버로부터의 업데이트 정보를 주기적으로 확인하는 단계;
    상기 업데이트 정보에 업데이트할 악성코드 배포 사이트의 URL 해쉬값 목록이 있으면, 구비된 악성코드 DB를 업데이트하는 단계; 및
    상기 패킷 처리 보드에 업데이트 명령과 상기 악성코드 배포 사이트의 URL 해쉬값 목록을 전달하여, 상기 패킷 처리 보드가 상기 제1 저장부의 상기 악성코드 배포 사이트의 URL 해쉬값 목록을 업데이트하도록 하는 단계
    를 더 포함하는 유해사이트 차단 방법.
KR1020110039603A 2011-04-27 2011-04-27 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법 KR101200906B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110039603A KR101200906B1 (ko) 2011-04-27 2011-04-27 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110039603A KR101200906B1 (ko) 2011-04-27 2011-04-27 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20120121668A true KR20120121668A (ko) 2012-11-06
KR101200906B1 KR101200906B1 (ko) 2012-11-13

Family

ID=47508088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110039603A KR101200906B1 (ko) 2011-04-27 2011-04-27 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101200906B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480126B1 (ko) * 2013-11-06 2015-01-08 (주)소만사 네트워크 기반 고성능 sap 모니터링 시스템 및 방법
KR20160074244A (ko) * 2014-12-18 2016-06-28 윤성진 인터넷 상에서의 유해물 차단장치
KR101713191B1 (ko) * 2015-10-27 2017-03-08 한국정보보호시스템(주) 악성 데이터의 사전 검증을 통해 악성 행위를 차단하는 액세스 포인트 및 그 방법
KR20200114487A (ko) * 2019-03-28 2020-10-07 네이버비즈니스플랫폼 주식회사 취약점 진단방법 및 이를 위한 진단장치
KR102483004B1 (ko) * 2022-07-22 2022-12-30 주식회사 필상 유해 url 탐지 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101577404B1 (ko) * 2015-08-13 2015-12-28 인스소프트 주식회사 자바 스크립트 오브젝트 모니터링을 이용한 악성코드 접근 차단 시스템, 방법 및 상기 방법을 실행시키기 위한 컴퓨터프로그램
KR102503204B1 (ko) 2021-11-25 2023-02-24 김민석 인공지능 자연어 처리를 이용한 사이트 차단 방법 및 이를 이용하여 사이트 차단을 수행하는 단말기

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480126B1 (ko) * 2013-11-06 2015-01-08 (주)소만사 네트워크 기반 고성능 sap 모니터링 시스템 및 방법
KR20160074244A (ko) * 2014-12-18 2016-06-28 윤성진 인터넷 상에서의 유해물 차단장치
KR101713191B1 (ko) * 2015-10-27 2017-03-08 한국정보보호시스템(주) 악성 데이터의 사전 검증을 통해 악성 행위를 차단하는 액세스 포인트 및 그 방법
KR20200114487A (ko) * 2019-03-28 2020-10-07 네이버비즈니스플랫폼 주식회사 취약점 진단방법 및 이를 위한 진단장치
US11363054B2 (en) 2019-03-28 2022-06-14 Naver Cloud Corporation Apparatus and method for analyzing security vulnerabilities
KR102483004B1 (ko) * 2022-07-22 2022-12-30 주식회사 필상 유해 url 탐지 방법
WO2024019226A1 (ko) * 2022-07-22 2024-01-25 주식회사 필상 유해 url 탐지 방법

Also Published As

Publication number Publication date
KR101200906B1 (ko) 2012-11-13

Similar Documents

Publication Publication Date Title
KR101200906B1 (ko) 네트워크 기반 고성능 유해사이트 차단 시스템 및 방법
US8661522B2 (en) Method and apparatus for probabilistic matching to authenticate hosts during distributed denial of service attack
US9485183B2 (en) System and method for efectuating packet distribution among servers in a network
US8856913B2 (en) Method and protection system for mitigating slow HTTP attacks using rate and time monitoring
WO2018121331A1 (zh) 攻击请求的确定方法、装置及服务器
US10079894B2 (en) Method and apparatus for dynamic destination address control in a computer network
US11539750B2 (en) Systems and methods for network security memory reduction via distributed rulesets
US20070245417A1 (en) Malicious Attack Detection System and An Associated Method of Use
US8387144B2 (en) Network amplification attack mitigation
EP3633948B1 (en) Anti-attack method and device for server
Tsikoudis et al. LEoNIDS: A low-latency and energy-efficient network-level intrusion detection system
CA2609130A1 (en) Data processing system
EP3618355B1 (en) Systems and methods for operating a networking device
CN103685315A (zh) 一种防御拒绝服务攻击的方法及系统
US11983220B2 (en) Key-value storage for URL categorization
WO2023040303A1 (zh) 网络流量控制方法以及相关系统
US10181031B2 (en) Control device, control system, control method, and control program
US11750564B2 (en) Systems and methods for monitoring and securing networks using a shared buffer
US11658995B1 (en) Methods for dynamically mitigating network attacks and devices thereof
CN115913583A (zh) 业务数据访问方法、装置和设备及计算机存储介质
US10819683B2 (en) Inspection context caching for deep packet inspection
WO2024045542A1 (zh) 一种分布式拒绝服务攻击ddos的防误杀方法及装置
WO2023160693A1 (zh) 一种攻击阻断方法及相关装置
US20220255958A1 (en) Systems and methods for dynamic zone protection of networks
CN111865912A (zh) 一种针对HTTPGet攻击的计算机网络防火墙系统及工作方法

Legal Events

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

Payment date: 20151105

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 8