KR100647274B1 - 트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법 - Google Patents

트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법 Download PDF

Info

Publication number
KR100647274B1
KR100647274B1 KR1020060021691A KR20060021691A KR100647274B1 KR 100647274 B1 KR100647274 B1 KR 100647274B1 KR 1020060021691 A KR1020060021691 A KR 1020060021691A KR 20060021691 A KR20060021691 A KR 20060021691A KR 100647274 B1 KR100647274 B1 KR 100647274B1
Authority
KR
South Korea
Prior art keywords
session
request
response
server system
client system
Prior art date
Application number
KR1020060021691A
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 KR1020060021691A priority Critical patent/KR100647274B1/ko
Application granted granted Critical
Publication of KR100647274B1 publication Critical patent/KR100647274B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A21BAKING; EDIBLE DOUGHS
    • A21DTREATMENT, e.g. PRESERVATION, OF FLOUR OR DOUGH, e.g. BY ADDITION OF MATERIALS; BAKING; BAKERY PRODUCTS; PRESERVATION THEREOF
    • A21D13/00Finished or partly finished bakery products
    • A21D13/40Products characterised by the type, form or use
    • A21D13/47Decorated or decorative products
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V35/00Candle holders
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F7/00Signs, name or number plates, letters, numerals, or symbols; Panels or boards

Landscapes

  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Food Science & Technology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 클라이언트 시스템과 서버 시스템 간의 통신에 있어서, 트래픽을 효율적으로 제어하는 방화벽 시스템에 관한 것으로, 보다 상세하게는 클라이언트 시스템이 서버 시스템으로 요청하는 리퀘스트(request)에 포함된 URL이 가리키는 요청 대상의 종류를 확인하고, 상기 요청 대상이 정지영상 또는 동영상 등의 바이너리 파일과 같이 보안 위협이 존재하지 않거나 사용자가 응답 데이터를 검사하지 않겠다고 설정한 경우, 상기 리퀘스트에 대응하여 서버 시스템으로부터 전송되는 응답(response)에 포함된 응답 데이터에 대한 검사를 수행하지 않고 이를 바이패스(bypass)함으로써 양 시스템 간의 트래픽을 효율적으로 제어하는 방화벽 시스템 및 상기 방화벽 시스템의 동작 방법에 관한 것이다. 본 발명에 따른 방화벽 시스템은 클라이언트 시스템으로부터 요청된 요청 대상의 종류에 따라 검사 여부를 판단하고, 검사가 필요한 파일에 대해 선별적으로 검사를 수행함으로써, 클라이언트 시스템 및 서버 시스템 간의 전송 속도를 제고할 수 있다.
방화벽, 트래픽, HTTP, 데이터, 보안, 네트워크

Description

트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의 동작 방법{FIRE WALL SYSTEM OF CONTROLLING HTTP TRAFFIC AND METHOD OF OPERATING THE SYSTEM}
도 1 및 도2는 본 발명에 따른 방화벽 시스템의 동작 방법을 도시한 흐름도이다.
도 3 내지 도 7은 본 발명에 따른 방화벽 시스템의 동작 방법에 따른 실시예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 방화벽 시스템의 내부 구성을 도시한 블록도이다.
도 9는 본 발명에 따른 방화벽 시스템의 동작 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
800: 방화벽 시스템 810: 세션 설정부
820: 판단부 830: 검사부
840: 스위칭 수단
본 발명은 클라이언트 시스템과 서버 시스템 간의 통신에 있어서, 트래픽을 효율적으로 제어하는 방화벽 시스템에 관한 것으로, 보다 상세하게는 클라이언트 시스템이 서버 시스템으로 요청하는 리퀘스트(request)에 포함된 URL이 가리키는 요청 대상의 종류를 확인하고, 상기 요청 대상이 정지영상 또는 동영상 등의 바이너리 파일과 같이 보안 위협이 존재하지 않거나 사용자가 응답 데이터를 검사하지 않겠다고 설정한 경우 상기 리퀘스트에 대응하여 서버 시스템으로부터 전송되는 응답(response)에 포함된 응답 데이터에 대한 검사를 수행하지 않고 이를 바이패스(bypass)함으로써 양 시스템 간의 트래픽을 효율적으로 제어하는 방화벽 시스템 및 상기 방화벽 시스템의 동작 방법에 관한 것이다. 본 발명에 따른 방화벽 시스템은 클라이언트 시스템으로부터 요청된 요청 대상의 종류에 따라 검사 여부를 판단하고, 검사가 필요한 파일에 대해 선별적으로 검사를 수행함으로써, 클라이언트 시스템 및 서버 시스템 간의 전송 속도를 제고할 수 있다.
오늘날 인터넷의 발달과 더불어 다양한 네트워크 시스템이 등장하게 되었다. 이러한 다양한 네트워크 시스템은 주로 서버-클라이언트 모델을 채택하고 있고, 각 클라이언트 시스템 및 서버 시스템은 외부 네트워크 시스템으로부터 인증되지 않은 데이터로 인한 피해를 미연에 방지하기 위해 방화벽 시스템을 사용하는 것이 일반적이다. 이러한 방화벽 시스템은 외부 네트워크 시스템으로부터 불법적인 데이터의 유입을 방지하고, 인증된 데이터에 대한 유입만을 허용하는 적극적인 방어 대책이라고 할 수 있다.
지금까지의 보안은 방화벽과 IDS, IPS 등을 중심으로 상술한 네트워크 시스 템의 보안에 초점을 맞추고 있었지만, 최근에는 웹과 어플리케이션에 대한 보안을 강화해 나가고 있는 추세다. 웹 서비스 등의 등장으로 점점 더 많은 어플리케이션이 웹 환경으로 이동함에 따라 기업에서 웹 환경의 보안에 대한 관심은 점차 높아져가고 있음에도 불구하고, 현재의 웹 환경은 무단 접근, 코드 삽입, 세션 가로채기, 웜, 또는 백도어 등의 위협 요소에 노출돼있는 실정이다. 이러한 방화벽 시스템의 문제점을 해결하기 위하여, 웹 포트를 통해 송수신되는 트래픽 만을 전문적으로 감시, 분석, 차단하는 웹 어플리케이션 파이어월(Web Application Firewall)이 개발되었으며, 근래에는 상기 웹 어플리케이션 파이어월을 통해 80번 포트나 443번 포트를 전문적으로 감시함으로써, 상술한 위험 요소로부터의 보안을 강화할 수 있게 되었다.
그러나, 웹 포트의 보안을 담당하는 웹 어플리케이션 파이어월에도 심각한 문제점이 여전히 발견된다. 웹 어플리케이션 파이어월은 모든 리퀘스트에 대해서 프락싱 모드로 동작하여 모든 응답 데이터를 검사하게 된다. 즉, 웹 어플리케이션 파이어월을 통해 바이너리 파일과 같이 보안 위협이 존재하지 않거나 사용자가 응답 데이터를 검사하지 않겠다고 설정한 경우에도 모든 응답 데이터에 대한 검사를 수행함으로써, 웹 어플리케이션 파이어월은 시스템 간의 트래픽을 효율적으로 제어할 수 없는 문제점이 발생되고 있다. 결국, 이러한 웹 어플리케이션 파이어월은 구현 상의 한계로 인해 네트워크의 성능을 현저하게 저하시키게 된다.
본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 클라이 언트 시스템의 리퀘스트에 포함된 요청 대상의 종류에 따라 선별적으로 응답(request)에 포함된 응답 데이터의 검사를 수행함으로써, 처리 속도를 높인 방화벽 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 선별적으로 응답 데이터에 대한 검사를 수행함으로써 데이터 처리 속도는 높이되, 검사가 필요한 응답 데이터에 대해서는 검사를 수행할 수 있도록 함으로써, 서버 시스템의 보호 및 처리 속도의 효율 제고를 모두 도모하는 것을 그 목적으로 한다.
상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명에 따른 방화벽 시스템의 동작 방법은, 클라이언트 시스템으로부터 전송된 연결 설정 요청에 따라 상기 클라이언트 시스템과 상기 서버 시스템 간의 제1 세션을 설정하는 단계; 상기 클라이언트 시스템으로부터 소정의 요청 대상 정보를 포함하는 리퀘스트를 수신하는 경우, 상기 요청 대상 정보에 따라 상기 리퀘스트에 대응되는 응답(response)에 포함된 데이터의 검사 여부를 판단하는 단계; 상기 판단 결과, 상기 응답에 포함된 상기 응답 데이터를 검사하는 경우, 상기 서버 시스템으로 제2 연결 설정 요청을 전송하여 상기 방화벽 시스템과 상기 서버 시스템 간의 제2 세션을 설정하는 단계; 상기 제2 세션을 통하여 상기 서버 시스템으로 상기 리퀘스트(request)을 전송하고, 상기 서버 시스템으로부터 상기 리퀘스트에 대응되는 상기 응답(response)을 수신하는 단계; 및 상기 응답에 포함된 응답 데이터를 검사하고, 상기 검사된 응답 데이터를 포함하는 상기 응답을 상기 제1 세션을 통하여 상 기 클라이언트 시스템으로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 방화벽 시스템은, 소정의 클라이언트 시스템 및 서버 시스템 간에 선정된(predetermined) 프로토콜에 따른 데이터 전송을 수행하는 통신 인터페이스부; 상기 클라이언트 시스템으로부터 전송된 연결 설정 요청에 따라 상기 클라이언트 시스템과 상기 서버 시스템 간의 제1 세션 또는 상기 서버 시스템과의 제2 세션을 설정하는 세션 설정부; 상기 클라이언트 시스템으로부터 소정의 요청 대상 정보를 포함하는 리퀘스트를 수신하는 경우, 상기 요청 대상 정보에 따라 상기 리퀘스트에 대응되는 응답(response)에 포함된 응답 데이터의 검사 여부를 판단하는 판단부; 상기 제2 세션을 통하여 상기 서버 시스템으로 상기 리퀘스트(request)을 전송하고, 상기 서버 시스템으로부터 상기 리퀘스트에 대응되는 상기 응답(response)을 수신하며, 상기 응답(response)에 포함된 상기 응답 데이터를 검사하는 검사부; 및 상기 검사된 응답 데이터를 포함하는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하도록 스위칭하는 스위칭 수단을 포함하고, 상기 판단부에서 상기 응답에 포함된 상기 응답 데이터를 검사하는 것으로 판단한 경우, 상기 세션 설정부는 상기 서버 시스템으로 제2 연결 설정 요청을 전송하여 상기 방화벽 시스템과 상기 서버 시스템 간의 상기 제2 세션을 설정하도록 동작하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여, 본 발명에 따른 방화벽 시스템 및 상기 방화벽 시스템의 동작 방법에 대하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 방화벽 시스템의 동작 방법을 도시한 흐 름도이다.
도 1을 참조하면, 단계(101) 내지 단계(103)에서 클라이언트 시스템은 방화벽 시스템을 통해 서버 시스템과의 제1 세션을 설정한다. 단계(101) 내지 단계(103)은 일반적으로 TCP(Transmission Control Protocol) 방식의 통신에서 세션을 설정하기 위한 3-웨이 핸드쉐이킹(hand-shaking)이 채용될 수 있다.
3-웨이 핸드쉐이킹은 송신측 단말기가 수신측 단말기로 송신할 데이터가 있음을 알리고, 이에 따라 상기 수신측 단말기는 상기 송신측 단말기로 상기 데이터의 수신이 준비되었음을 알린다. 또한, 상기 송신측 단말기는 상기 수신측 단말기로 상기 데이터를 전송할 것을 알린 후 데이터를 송신하는 것이다. 즉, 단계(101)에서 클라이언트 시스템은 서버 시스템으로 SYN 신호를 송신하여 송신할 데이터가 있음을 알린다. 상기 SYN 신호에 대한 응답으로, 상기 서버 시스템은 단계(102)에서 상기 클라이언트 시스템으로 SYN+ACK 신호를 송신함으로써, 데이터의 수신이 준비되었음을 알리며, 상기 클라이언트 시스템은 상기 서버 시스템으로 데이터를 전송할 것을 통보한다.
단계(104)에서, 상기 클라이언트 시스템은 방화벽 시스템을 경유하여 상기 서버 시스템으로 요청 대상 정보를 포함하는 리퀘스트(request)를 전송한다. 이 때, 상기 방화벽 시스템은 상기 리퀘스트를 상기 서버 시스템으로 전송하기 전에 상기 리퀘스트가 올바른 정보인지 여부를 판단하기 위한 소정의 검사 절차를 수행한다. 상기 리퀘스트가 올바른 정보인지 여부를 판단하는 소정의 검사 절차는 주지된 관용 기술이므로 상세한 설명은 생략한다.
상기 요청 대상은 크게 *.jpg 또는 *.avi 등의 바이너리 파일과 *.cgi 또는 *.html 등의 데이터로 구분될 수 있다. 상기 바이너리 파일은 일반적으로 HTTP 트래픽의 대부분을 점유하는 파일로서, 방화벽 시스템을 통해 검사할 필요가 없다. 그러나, 종래 방화벽 시스템은 이러한 바이너리 파일까지 검사를 수행함으로써, 네트워크의 부하를 증가시키고, 이로 인해, 통신 속도를 저하시킨다. 따라서, 단계(105)에서, 본 발명에 따른 방화벽 시스템은 상기 클라이언트 시스템으로부터 전송된 리퀘스트에 포함된 상기 요청 대상 정보를 분석하여 상기 서버 시스템으로부터 전송될 응답(response)에 포함되는 응답 데이터의 검사 여부를 판단한다. 즉, 방화벽 시스템은 상기 클라이언트 시스템으로부터 전송된 리퀘스트에 포함된 요청 대상 정보가 *.jpg 등을 포함하는 정지영상 또는 *.avi 등을 포함하는 동영상의 바이너리 파일에 관한 것인지 여부를 판단하고, 상기 요청 대상이 상기 바이너리 파일이 아닌 경우, 상기 서버 시스템과의 제2 세션을 설정한다. 상기 제2 세션은 단계(106) 내지 단계(108)에 따라 설정된다. 단계(106) 내지 단계(108)은 단계(101) 내지 단계(103)에 대응되는 3-웨이 핸드쉐이킹 방법이 채용될 수 있으며, 이하 상세한 설명은 생략한다.
상기 서버 시스템과 연결 설정된 상기 방화벽 시스템은 단계(109)에서 상기 클라이언트 시스템으로부터 수신한 상기 리퀘스트를 상기 제2 세션을 통해 상기 서버 시스템으로 전송한다. 이에, 상기 서버 시스템은 상기 리퀘스트에 대응되는 응답(response)를 단계(110)에서 상기 제2 세션을 통해 상기 방화벽 시스템으로 전송한다. 상기 응답을 수신한 상기 방화벽 시스템은 단계(111)에서, 상기 응답에 포함 된 응답 데이터를 검사한다. 상기 검사를 통해 상기 방화벽 시스템을 통해 전송되는 응답 데이터를 제어하는 것은 주지 기술이므로 이하 상세한 설명은 생략한다.
상기 응답에 포함된 상기 응답 데이터에 대한 검사를 완료한 상기 방화벽 시스템은 단계(111)에서, 상기 응답에 포함된 목적지 주소 정보(destination IP address)를 통해 상기 클라이언트 시스템으로 상기 응답을 스위칭하여 전송한다(단계(112)). 이 때, 상기 응답 데이터가 상기 제1 세션을 통해 클라이언트 시스템으로 전송되는 경우, 상기 응답 데이터의 시퀀스 번호(Sequence Number)가 변경된다.
만약, 상기 클라이언트 시스템으로부터 전송된 상기 리퀘스트에 포함된 상기 요청 대상 정보가 정지영상 또는 동영상 등의 바이너리 파일인 경우는 도 2를 참조하여 상세히 설명한다.
도 2는 본 발명의 다른 일실시예에 따른 방화벽 시스템의 동작 방법을 도시한 흐름도이다. 도 2에 도시된 방화벽 시스템의 동작 방법은 리퀘스트만을 필터링하고 응답에 포함된 응답 데이터를 검사할 필요가 없는 경우를 예시한 것으로서, 본 명세서에서는 방화벽 시스템의 "필터링 모드"로 명명한다.
도 2를 참조하여 본 발명에 따른 필터링 모드로 동작하는 방화벽 시스템의 동작 방법을 설명하면 아래와 같다. 단계(201) 내지 단계(203)에서, 클라이언트 시스템과 서버 시스템은 3-웨이 핸드쉐이킹을 통해 제1 세션을 설정한다. 상기 클라이언트 시스템은 방화벽 시스템을 경유하여 상기 서버 시스템으로 요청 대상 정보를 포함하는 리퀘스트(request)를 전송(단계(204))하고, 방화벽 시스템은 상기 리퀘스트를 수신한다.
단계(205)에서, 상기 방화벽 시스템은 상기 리퀘스트에 포함된 요청 대상 정보를 분석하여 상기 리퀘스트에 대한 응답에 포함된 응답 데이터에 대한 검사 여부를 판단한다. 상기 방화벽 시스템은 상기 데이터가 *.jpg 또는 *.avi 등의 바이너리 파일인 경우, 상기 응답에 포함된 응답 데이터에 대한 검사를 수행하지 않는 것으로 판단하고, 상기 제1 세션을 통해 상기 서버 시스템으로 상기 리퀘스트를 전송한다(단계(206)). 상기 서버 시스템은 상기 리퀘스트를 수신하고, 상기 제1 세션을 통해 상기 방화벽 시스템으로 상기 리퀘스트에 대응되는 응답을 전송한다. 상기 응답은 상기 바이너리 파일을 포함하며, 상기 바이너리 파일의 경우 서버의 중요 데이터가 포함되어 유출되지 않는 것이 일반적이다. 따라서, 상기 방화벽 시스템은 단계(208)에서, 상기 서버 시스템으로부터 수신한 상기 응답의 목적지 주소 정보를 참조하여 상기 제1 세션을 통해 상기 클라이언트 시스템으로 상기 응답을 바이패스(bypass)한다. 이에 따라, 상기 클라이언트 시스템은 상기 서버 시스템으로부터 전송된 상기 응답을 수신한다 (단계(209)).
도 1 또는 도 2에 도시된 바와 같이, 본 발명에 따른 방화벽 시스템은 클라이언트 시스템으로부터 요청된 요청 대상의 종류에 따라 필터링 모드로 동작함으로써, 방화벽 시스템을 통한 트래픽 제어를 효율적으로 수행할 수 있다.
도 3 내지 도 7은 본 발명에 따른 방화벽 시스템의 동작 방법에 따른 실시예를 도시한 도면이다.
도 3을 참조하면, 클라이언트 시스템은 서버 시스템과의 세션 설정을 위한 SYN 신호를 상기 방화벽 시스템을 통해 서버 시스템으로 전송한다. 이에, 상기 서 버 시스템은 SYN+ACK 신호를 상기 클라이언트 시스템으로 전송하고, 상기 클라이언트 시스템은 상기 방화벽 시스템을 통해 상기 서버 시스템으로 ACK 신호를 전송한다. 이와 같이, 상기 클라이언트 시스템과 상기 서버 시스템은 3-웨이 핸드쉐이킹을 통해 제1 세션을 설정한다. 이후, 상기 클라이언트 시스템은 상기 제1 세션을 통해 상기 방화벽 시스템으로 정지영상 파일인 jpg 데이터를 요청한다. 방화벽 시스템은 상기 클라이언트 시스템으로부터 수신한 상기 jpg 데이터가 검사가 필요하지 않은 바이너리 파일이라고 판단하고(필터링 모드 동작), 상기 서버 시스템으로 상기 제1 세션을 통해 상기 jpg 데이터의 요청(request)을 전송한다. 상기 서버 시스템은 상기 jpg 데이터를 포함하는 응답(response)을 상기 제1 세션을 통해 상기 클라이언트 시스템으로 전송한다. 즉, 상기 방화벽 시스템은 상기 jpg 데이터에 어떠한 검사도 수행하지 않고, 응답 데이터를 포함하는 응답을 상기 클라이언트 시스템으로 스위칭한다. 상기 방화벽 시스템은 jpg 데이터 등의 바이너리 파일에 대한 불필요한 응답 데이터 검사를 스킵(skip)하도록 동작하고, 이를 통해 방화벽 시스템의 부하를 크게 줄일 수 있다. 이 때에 상기 방화벽 시스템은 상기 응답을 검사와 관련된 프로세서 쪽으로 진입시키지 않고, 하드웨어 차원에서 바로 스킵될 수 있도록 스위칭한다.
도 4를 참조하면, 상기 클라이언트 시스템이 상기 서버 시스템으로 요청하는 요청 대상이 상술한 바이너리 파일이 아닌 경우에 방화벽 시스템의 동작 방법을 확인할 수 있다. 도 4에 도시된 방화벽 시스템의 동작 방법은 응답에 포함된 응답 데이터를 검사할 필요가 있는 경우를 예시한 것으로서, 본 명세서에서는 방화벽 시 스템의 "프록싱 모드"로 명명한다.
먼저, 클라이언트 시스템은 SYN 신호를 상기 방화벽 시스템을 통해 서버 시스템으로 전송한다. 이에, 상기 서버 시스템은 SYN+ACK 신호를 상기 클라이언트 시스템으로 전송하고, 상기 클라이언트 시스템은 상기 방화벽 시스템을 통해 상기 서버 시스템으로 데이터의 전송을 알리는 ACK 신호를 전송한다. 이에, 따라 상기 클라이언트 시스템은 상기 서버 시스템과 3-웨이 핸드쉐이킹을 통해 제1 세션을 설정한다.
다음으로, 상기 클라이언트 시스템은 cgi 데이터의 리퀘스트(request)를 상기 제1 세션을 통해 상기 방화벽 시스템으로 전송한다. 이에, 상기 방화벽 시스템은 상기 클라이언트 시스템으로부터 수신된 요청 대상 정보(본 실시예에서는 *.cgi)를 분석하여 상기 리퀘스트에 대응하는 응답에 포함된 응답 데이터에 대한 검사가 필요한 것으로 판단하고, 프록싱 모드(proxing mode)로 동작한다. 본 명세서에서 사용되는 프록싱 모드는 상기 리퀘스트에 대응되는 응답(response)을 상기 서버 시스템으로부터 수신하고, 상기 응답에 포함된 응답 데이터에 대한 검사를 수행하기 위한 상기 방화벽 시스템의 동작 모드를 의미한다.
상기 클라이언트 시스템으로부터 상기 요청 대상 정보를 포함하는 리퀘스트를 수신한 상기 방화벽 시스템은 상기 서버 시스템과 상기 3-웨이 핸드쉐이킹을 통해 제2 세션을 설정한다. 다음으로, 상기 클라이언트 시스템으로부터 수신한 상기 리퀘스트를 상기 제2 세션을 통해 상기 서버 시스템으로 전송하고, 상기 제2 세션을 통해 상기 서버 시스템으로부터 상기 cgi 파일을 포함하는 응답(response)을 수 신한다. 상기 방화벽 시스템은 상기 응답에 포함된 응답 데이터를 검사하고, 이상이 없는 경우 상기 제1 세션을 통해 상기 응답을 상기 클라이언트 시스템으로 전송한다.
도 4는 HTTP 1.0과 같이 상기 클라이언트 시스템 및 상기 서버 시스템이 하나의 세션을 통해 하나의 리퀘스트-응답을 수행하는 네트워크 시스템을 도시한 도면이다. 도 4에 도시된 일실시예의 경우, 상기 검사된 응답을 수신한 상기 클라이언트 시스템은 서버 시스템과 연결을 해제하기 위하여 연결 해제 요청(FIN) 신호를 상기 방화벽 시스템으로 전송한다. 이 때, 상기 방화벽 시스템은 상기 연결 해제 요청을 상기 서버 시스템으로 전송하지 않고, 상기 클라이언트 시스템과 설정된 제1 세션을 해제하며, 상기 서버 시스템과 설정된 상기 제2 세션을 다른 연결 해제 요청을 통해 해제한다. 또한, 상기 방화벽 시스템은 상기 서버 시스템에 남아있는 제1 세션을 리셋 신호를 통해 초기화한다.
도 5는 HTTP 1.1과 같이 상기 클라이언트 시스템 및 상기 서버 시스템이 하나의 세션을 통해 둘 이상의 리퀘스트-응답을 수행하는 네트워크 시스템에서 필터링 모드로 동작하다가 프락싱 모드로 변경하는 과정을 도시한 도면이다. 방화벽 시스템과 서버 시스템은 '*.jpg 요청' 및 'jpg 응답 신호'에 따라 jpg 데이터를 송수신하고, 이어서 '*.cgi 요청' 및 'cgi 응답 신호'에 따라 또 다른 데이터를 송수신할 수 있다.
도 5에 도시된 일실시예에 따르면, 클라이언트 시스템은 리퀘스트에서 jpg 데이터를 요청하고 있으므로, 방화벽 시스템은 상술한 필터링(filtering) 모드로 동작하고, 상기 응답에 포함된 응답 데이터에 대한 검사를 수행하지 않는다. 또한, 다른 일례로 상기 방화벽 시스템이 상기 클라이언트 시스템으로부터 상기 바이너리 파일에 대한 리퀘스트를 먼저 수신하고, 후속 리퀘스트에 검사가 필요한 것으로 판단되는 요청 대상 정보가 포함된 경우 상술한 프록싱 모드로 전환되어 응답에 포함된 응답 데이터에 대한 검사를 수행하도록 동작할 수 있다.
본 발명의 일실시예에 따른 방화벽 시스템은 하나의 세션 설정을 통해 복수의 리퀘스트가 전송되는 경우, 필터링 모드로 동작하다가 프록싱 모드로 전환되면 해당 세션 종료 시까지는 해당 프록싱 모드를 지속적으로 유지한다.
도 4와 마찬가지로, 도 5의 클라이언트 시스템은 데이터의 요청 및 응답 신호의 수신을 완료하는 경우, 연결 해제 요청(FIN)를 통해 서버 시스템과 연결 해제한다. 즉, 상기 데이터의 요청 및 상기 응답 신호의 수신을 완료하는 상기 클라이언트 시스템은 상기 서버 시스템과 연결을 해제하기 위하여 연결 해제 요청(FIN) 신호를 상기 방화벽 시스템으로 전송하고, 상기 방화벽 시스템은 상기 클라이언트 시스템과 설정된 제1 세션을 해제하며, 상기 서버 시스템과 설정된 상기 제2 세션을 다른 연결 해제 요청을 통해 해제하고, 상기 서버 시스템에 남아있는 제1 세션을 리셋 신호를 통해 초기화한다. 본 발명에 따른 방화벽 시스템이 프록싱 모드로 동작하는 경우, 통상의 세션 종료 방식으로는 세션 종료를 할 수 없다. 본 발명에 따른 세션 종료 구성에 대해서는 아래의 도 6 및 도 7을 참조하여 상세히 설명한다.
참고로, 제1 세션의 해제는 클라이언트 시스템뿐만 아니라 서버 시스템에서 요청할 수 있다. 이 중에서 제1 세션의 해제를 클라이언트 시스템에서 요청하는 일례는 도 6에서 상세히 설명한다.
도 6은 도 5에서 프록싱 모드에 따라 클라이언트 시스템 및 방화벽 시스템과, 방화벽 시스템 및 서버 시스템 각각에 대한 세션이 설정된 상태에서 클라이언트 시스템과 서버 시스템의 제1 세션을 해제하기 위한 방법의 일례를 도시한 도면이다.
도 6을 참조하면, 제1 세션을 통해서 서버와 통신하고 있다고 믿고 있는 클라이언트 시스템은 서버 시스템과의 연결을 해제 하기 위해서 연결 해제 요청(FIN)을 송신한다. 클라이언트 시스템이 보낸 연결 해제 요청을 수신한 상기 방화벽 시스템은 상기 수신한 연결 해제 요청을 서버 시스템으로 보내지 않고, 클라이언트 시스템과 바로 연결 해제 과정을 통해서 제1 세션 중에서 intercepted connection의 연결을 먼저 해제한다. 이에, 방화벽 시스템은 상기 서버 시스템으로 제2 세션의 Generated Connection을 해제하기 위한 연결 해제 요청(FIN)를 송신하고, 초기에 상기 클라이언트 시스템과 상기 서버 시스템에서의 남은 제1 세션 설정인 Dead Connection을 해제하기 위한 리셋(RST) 신호를 전송한다. 상기 리셋(RST) 신호에 따라, 상기 서버 시스템은 상기 클라이언트 시스템과의 제1 세션 설정을 해제한다. 상기 리셋(RST) 신호에 따른 제1 세션 설정의 해제는 상기 방화벽 시스템에 따라 상기 클라이언트 시스템 및 상기 서버 시스템 간 송수신되는 소정의 데이터에 대한 시퀀스 넘버(sequence number)의 동기화 문제를 해결할 수 있다. 즉, 상기 클라이언트 시스템은 상기 방화벽 시스템으로부터 수신하는 모든 데이터가 상기 서버 시 스템으로부터 수신하는 데이터로 착각한다. 그러나, 상기 방화벽 시스템을 경유하며 증가하는 상기 시퀀스 넘버로 인해, 상기 클라이언트 시스템이 오류라고 판단한다. 이를 해결하기 위하여, 상기 방화벽 시스템은 일방적으로 상기 서버 시스템에 상기 리셋(RST) 신호를 송신함으로써 연결 해제를 수행한다.
도 7은 도 5에서 프록싱 모드에 따라 클라이언트 시스템 및 방화벽 시스템과, 방화벽 시스템 및 서버 시스템 각각에 대한 세션이 설정된 상태에서 서버 시스템과 클라이언트 시스템의 제1 세션을 해제하기 위한 방법의 일례를 도시한 도면이다
도 7을 참조하면, 제1 세션을 통해서 서버와 통신하고 있다고 믿고 있는 클라이언트 시스템은 서버 시스템과의 연결을 해제 하기 위해서 연결 해제 요청(1. FIN)을 송신한다. 클라이언트 시스템이 보낸 연결 해제 요청(1. FIN)을 수신한 상기 방화벽 시스템은 제2 세션의 Generated Connection을 연결 해제(2. termination)하고, 상기 서버 시스템으로 상기 클라이언트 시스템으로부터 수신한 연결 해제 요청(3. FIN)을 전달한다. 이에, 상기 서버 시스템은 상기 클라이언트 시스템으로 4. ACK를 전송하고, 상기 방화벽 시스템은 상기 4. ACK를 가로챈 후 시퀀스(sequence) 넘버를 조정하여 5. ACK로 상기 클라이언트 시스템에 전달한다. 또한, 상기 서버 시스템은 6. FIN+ACK를 상기 클라이언트 시스템으로 전송하고, 상기 방화벽 시스템은 상기 6. FIN+ACK를 가로챈 후 시퀀스 넘버를 조정하여 7. FIN+ACK로 상기 클라이언트 시스템에 전달한다. 이에, 상기 클라이언트 시스템은 상기 방화벽 시스템으로 8. ACK를 전송하고 제1 세션의 Intercepted Connection을 연결 해제한다. 또한, 상기 방화벽 시스템이 상기 8. ACK에 따라 상기 서버 시스템으로 9. ACK를 전달함으로써, 상기 서버 시스템 및 상기 클라이언트 시스템 간의 제1 세션 설정인 Dead Connection이 종료된다. 상술한 TCP 시퀀스 넘버 조정은 클라이언트 시스템에 대해 방화벽 시스템은 트랜스페런트(transparent) 하기 때문에 야기되는 패킷 송수신 오류를 해결하기 위한 것이다. 다시 설명하면, 상기 방화벽 시스템이 프록싱 모드로 동작하는 경우, 상기 클라이언트 시스템은 리퀘스트에 대응하는 응답을 서버 시스템으로부터 받는 것으로 생각할 뿐, 상기 방화벽 시스템과 상기 서버 시스템 간의 제2 세션이 설정된 사실에 대해서는 전혀 알 수 없다, 이로 인해, 클라이언트 시스템에서 서버 시스템으로 전송되는 패킷의 TCP 시퀀스 넘버와 실제 서버 시스템에서 방화벽 시스템을 경유하여 클라이언트 시스템으로 전송되는 패킷의 TCP 시퀀스 넘버는 차이가 발생하게 되고, 이로 인해 서버 시스템 및 클라이언트 시스템은 패킷 전송 오류가 발생한 것으로 판단할 수 있다. 이러한 오작동을 방지하기 위하여 본 발명에 따른 방화벽 시스템은 세션 종료 시 송수신되는 세션 종료 패킷에 대한 TCP 시퀀스 넘버 조정을 수행한다.
상술한 본 발명에 따른 방화벽 시스템을 통한 트래픽 처리 증가 효과는 다양한 실험치로 증명될 수 있다.
일례로, 네이버(www.naver.com) 서버 시스템이 제공하는 초기 화면에 대한 데이터를 분석한 결과, 선정된(predetermined) 시간 동안 제1 세션을 통해 그대로 클라이언트 시스템으로 전달되는 트래픽은 356,266Bytes으로, 응답 데이터 검사 후 스위칭 되는 트래픽은 159,915Bytes으로 조사되었고, 이에 따른 전체 트래픽 처리 성능은 대략적으로 220% 향상되었다.
다른 일례로, 버디버디(byddyhompy.buddybuddy.co.kr)의 서버 시스템이 제공하는 초기 화면에 대한 데이터를 분석한 결과 선정된 시간 동안 제1 세션을 통해 그대로 클라이언트 시스템으로 전달되는 트래픽은 177,025Bytes으로, 응답 데이터 검사 후 스위칭 되는 트래픽은 208,950Bytes으로 조사되었고, 이에 따른 전체 트래픽 처리 성능은 대략적으로 180% 향상시킬 수 있는 것으로 분석되었다.
또한, 프록싱 모드와 필터링 모드의 조합을 통해 네이버의 서버 시스템은 방화벽 시스템이 처리 가능한 트래픽을 1510% 증가 시킬 수 있고, 버디버디의 서버 시스템은 대략적으로 880%의 증가시킬 수 있는 것으로 분석되었다.
도 8은 본 발명의 일실시예에 따른 방화벽 시스템의 내부 구성을 도시한 블록도이다.
도 8에서 보는 바와 같이, 본 발명에 따른 방화벽 시스템(800)은 통신 인터페이스부(도시되지 아니함), 세션 설정부(810), 판단부(820), 검사부(830), 및 스위칭 수단(840)를 포함한다.
세션 설정부(810)는 클라이언트 시스템으로부터 전송된 연결 설정 요청에 따라 상기 클라이언트 시스템과 상기 서버 시스템 간의 제1 세션을 설정한다. 이를 위하여, 상기 클라이언트 시스템과 상기 서버 시스템은 3-웨이 핸드쉐이킹을 통해 제1 세션의 설정 및 해제가 가능하다. 또한, 세션 설정부(810)는 세션 해제에 따른 리셋 신호, FIN 신호, 시퀀스 조작 등의 동작을 수행한다.
판단부(820)는 상기 클라이언트 시스템으로부터 소정의 요청 대상 정보를 포 함하는 리퀘스트를 수신하는 경우, 상기 요청 대상 정보에 따라 상기 리퀘스트에 대응되는 응답(response)에 포함된 응답 데이터의 검사 여부를 판단한다. 일반적으로 HTTP 트래픽의 대부분은 정지영상 또는 동영상 파일 형태의 바이너리 파일이며, 이러한 바이너리 파일은 방화벽 시스템에서 검사할 필요가 없다. 결국, 방화벽 시스템(800)은 상기 리퀘스트에 포함된 상기 요청 대상 정보가 정지영상 또는 동영상 파일 등의 바이너리 파일에 대한 것인 경우 상기 응답에 포함된 응답 데이터를 검사하지 아니한다.
판단부(820)의 판단 결과, 상기 응답에 포함된 응답 데이터를 검사하는 경우, 세션 설정부(810)는 상기 서버 시스템으로 제2 연결 설정 요청을 전송하여 상기 방화벽 시스템과 상기 서버 시스템 간의 제2 세션을 설정한다. 상기 제2 세션의 설정은 상기 제1 세션의 설정과 마찬가지로 3-웨이 핸드쉐이킹 방식으로 설정될 수 있다.
검사부(830)는 상기 제2 세션을 통하여 상기 서버 시스템으로 상기 리퀘스트(request)를 전송하고, 상기 서버 시스템으로부터 상기 리퀘스트에 대응되는 응답(response)을 수신하며, 상기 응답에 포함된 응답 데이터를 검사한다. 일례로, 판단부(820)의 판단 결과 상기 제1 세션을 통해 상기 클라이언트로부터 수신된 상기 리퀘스트에 포함된 요청 대상 정보가 정지영상 또는 동영상 파일 등 바이너리 파일 이외의 CGI 또는 HTML 파일에 관한 것인 경우, 세션 설정부(810)는 상술한 바와 같이 상기 서버 시스템과의 제2 세션을 설정하고, 검사부(830)는 상기 서버 시스템으로부터 수신하는 상기 응답에 포함된 응답 데이터를 검사한다.
스위칭 수단(840)은 상기 검사된 응답 데이터를 포함하는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하도록 스위칭한다.
다른 일실시예에 따르면, 판단부(820)에서 상기 응답에 포함된 상기 응답 데이터를 검사하는 것으로 판단한 경우 스위칭 수단(840)은 상기 리퀘스트를 상기 제1 세션을 통하여 상기 서버 시스템으로 전송하고 상기 서버 시스템으로부터 전송된 상기 리퀘스트에 대응되는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하도록 스위칭한다. 또한 스위칭 수단(840)은 판단부(820)에서 상기 응답에 포함된 응답 데이터에 대한 검사가 필요하지 아니한 응답이라고 판단한 경우, 상기 리퀘스트를 상기 제1 세션을 통하여 상기 서버 시스템으로 전송하고, 상기 서버 시스템으로부터 전송된 상기 리퀘스트에 대응되는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전달하도록 스위칭한다. 일례로, 상기 리퀘스트가 상기 정지영상 또는 상기 동영상 파일에 대한 요청인 경우, 스위칭 수단(840)은 상기 제2 세션을 설정하지 않고, 상기 제1 세션을 통해 상기 서버 시스템으로부터 상기 응답을 수신하여, 상기 클라이언트 시스템으로 전달한다.
이로써, 본 발명에 따른 방화벽 시스템(800)은 응답에 포함되는 응답 데이터의 종류에 따라 선별적으로 검사를 수행함으로써, 클라이언트 시스템 및 서버 시스템 간의 신속한 트래픽 처리를 수행할 수 있다. 또한, 방화벽 시스템(800)은 선별적인 검사를 통해 서버의 방화벽 기능을 온전히 유지하면서도 트래픽 처리 효율을 높일 수 있게 된다.
본 발명에 따른 클라이언트 시스템은 방화벽 시스템을 서버 시스템으로 인식 한다. 즉, 상기 클라이언트 시스템에서 상기 서버 시스템으로 송신되는 모든 데이터는 상기 방화벽 시스템을 경유한다. 이로 인해, 상기 서버 시스템은 상기 방화벽 시스템과의 목적지 IP 주소의 맵핑이 필요하다. 일례로, 상기 목적지 IP 주소의 맵핑을 위하여 상기 서버 시스템은 상기 방화벽 시스템의 IP 주소를 자신의 인터페이스에 설정한다. 또한, 상기 서버 시스템은 상기 인터페이스에 설정된 상기 IP 주소에 대한 소정의 ARP 쿼리에 대한 ARP 응답을 하지 않도록 설정된다. 이로써, 클라이언트 시스템이 상기 서버 시스템으로 ARP 쿼리를 송신하는 경우, 상기 방화벽 시스템이 ARP 응답을 상기 클라이언트 시스템으로 전송한다.
다른 일례로, 상기 서버가 한 대인 경우, 상기 서버는 상기 방화벽 시스템의 IP 주소를 자신의 IP 주소로 설정한다. 또한, 상기 방화벽 시스템과 연결된 모든 스위치는 서버로부터 송신되는 ARP 응답을 차단한다. 또 다른 일례로, 상기 서버가 여러 대인 경우, 상기 방화벽 시스템과 상기 복수의 서버 시스템은 동일한 IP 주소로 설정될 수 없다. 따라서, 클라이언트 시스템으로부터 수신한 데이터 요청 등을 각각의 서버 시스템으로 송신하기 위하여, 상기 방화벽 시스템은 상기 각각의 서버 시스템의 목적지 IP 주소로 설정하여 송신한다.
도 9는 본 발명에 따른 방화벽 시스템의 동작 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포 함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
컴퓨터 장치(900)는 램(RAM: Random Access Memory)(920)과 롬(ROM: Read Only Memory)(930)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(910)를 포함한다. 프로세서(910)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(930)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(920)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(920) 및 롬(930)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(940)는 양방향성으로 프로세서(910)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(940)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보 다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(960)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(910)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(950)와 연결된다. 마지막으로, 프로세서(910)는 네트워크 인터페이스(970)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 발명에 따른 방화벽 시스템은 데이터의 종류에 따라 검사를 수행함으로써, 검사에 따른 성능 저하를 최소화함으로써 클라이언트 시스템 및 서버 시스템에 보다 신속한 통신 속도를 제공할 수 있다.
본 발명에 따른 방화벽 시스템은 선별적인 검사를 통해 보안을 유지함과 동시에 클라이언트 시스템 또는 서버 시스템에 대용량의 데이터를 전송할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. HTTP(HyperText Transfer Protocol) 트래픽을 검사하는 방화벽 시스템의 동작 방법에 있어서,
    클라이언트 시스템으로부터 전송된 연결 설정 요청에 따라 상기 클라이언트 시스템과 상기 서버 시스템 간의 제1 세션을 설정하는 단계;
    상기 클라이언트 시스템으로부터 요청 대상이 바이너리 파일인지에 대한 정보를 나타내는 소정의 요청 대상 정보가 포함된 리퀘스트를 수신하는 경우, 상기 요청 대상 정보에 따라 상기 리퀘스트에 대응되는 응답(response)에 포함된 응답 데이터의 검사 여부를 판단하는 단계;
    상기 판단 결과, 상기 응답 데이터가 상기 바이너리 파일이 아니라고 판단되어 상기 응답에 포함된 상기 응답 데이터를 검사하는 경우, 상기 서버 시스템으로 제2 연결 설정 요청을 전송하여 상기 방화벽 시스템과 상기 서버 시스템 간의 제2 세션을 설정하는 단계;
    상기 제2 세션을 통하여 상기 서버 시스템으로 상기 리퀘스트(request)을 전송하고, 상기 서버 시스템으로부터 상기 리퀘스트에 대응되는 상기 응답(response)을 수신하는 단계; 및
    상기 응답에 포함된 응답 데이터를 검사하고, 상기 검사된 응답 데이터를 포함하는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하는 단계
    를 포함하는 것을 특징으로 하는 방화벽 시스템의 동작 방법.
  2. 제1항에 있어서,
    상기 판단 결과, 상기 응답에 포함된 상기 응답 데이터에 대한 검사가 필요하지 아니한 경우, 상기 리퀘스트를 상기 제1 세션을 통하여 상기 서버 시스템으로 전송하는 단계; 및
    상기 서버 시스템으로부터 전송된 상기 리퀘스트에 대응되는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하도록 스위칭하는 단계
    를 포함하고,
    상기 응답(response)에 포함된 상기 응답 데이터에 대한 검사 여부를 판단하는 상기 단계에서,
    상기 요청 대상의 종류가 정지영상 또는 동영상 파일인 경우 상기 응답에 포함된 상기 응답 데이터를 검사하지 아니하는 것을 특징으로 하는 방화벽 시스템의 동작 방법.
  3. 제1항에 있어서,
    상기 응답(response)에 포함된 상기 응답 데이터에 대한 검사 여부를 판단하는 상기 단계에서,
    상기 요청 대상의 종류가 CGI 또는 HTML 파일인 경우 상기 응답에 포함된 상기 응답 데이터를 검사하는 것을 특징으로 하는 방화벽 시스템의 동작 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 클라이언트 시스템으로부터 상기 서버 시스템과 설정된 상기 제1 세션의 연결 해제 요청을 수신하는 단계; 및
    상기 제1 세션을 통하여 상기 서버 시스템으로 리셋(reset) 신호를 전송하는 단계
    를 더 포함하고,
    상기 리셋(reset) 신호 전송으로 상기 제1 세션이 해제(release)되는 것을 특징으로 하는 방화벽 시스템의 동작 방법.
  5. 제1항 또는 제2항에 있어서,
    상기 클라이언트 시스템으로부터 상기 서버 시스템과 설정된 상기 제1 세션의 연결 해제 요청을 수신하는 단계;
    상기 연결 해제 요청에 포함된 TCP 시퀀스 넘버를 조정하는 단계;
    상기 TCP 시퀀스 넘버가 조정된 상기 연결 해제 요청을 상기 제1 세션을 통하여 상기 서버 시스템으로 전송하는 단계;
    상기 제1 세션을 통하여 상기 서버 시스템으로부터 수신된 확인 응답(ACK) 신호를 스위칭하여 수신하는 단계;
    상기 확인 응답 신호에 포함된 TCP 시퀀스 넘버를 조정하는 단계; 및
    상기 TCP 시퀀스 넘버가 조정된 상기 확인 응답 신호를 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 방화벽 시스템의 동작 방법.
  6. 제1항 내지 제3항 중 어느 하나의 항의 방법을 컴퓨터에서 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  7. HTTP(HyperText Transfer Protocol) 트래픽을 검사하는 방화벽 시스템에 있어서,
    소정의 클라이언트 시스템 및 서버 시스템 간에 선정된(predetermined) 프로토콜에 따른 데이터 전송을 수행하는 통신 인터페이스부;
    상기 클라이언트 시스템으로부터 전송된 연결 설정 요청에 따라 상기 클라이언트 시스템과 상기 서버 시스템 간의 제1 세션 또는 상기 서버 시스템과의 제2 세션을 설정하는 세션 설정부;
    상기 클라이언트 시스템으로부터 요청 대상이 바이너리 파일인지에 대한 정보를 나타내는 소정의 요청 대상 정보가 포함된 리퀘스트를 수신하는 경우, 상기 요청 대상 정보에 따라 상기 리퀘스트에 대응되는 응답(response)에 포함된 응답 데이터의 검사 여부를 판단하는 판단부;
    상기 제2 세션을 통하여 상기 서버 시스템으로 상기 리퀘스트(request)을 전송하고, 상기 서버 시스템으로부터 상기 리퀘스트에 대응되는 상기 응답(response)을 수신하며, 상기 응답(response)에 포함된 상기 응답 데이터를 검사하는 검사부; 및
    상기 검사된 응답 데이터를 포함하는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하도록 스위칭하는 스위칭 수단
    를 포함하고,
    상기 응답 데이터가 상기 바이너리 파일이 아닌 경우에는 상기 판단부가 상기 응답에 포함된 상기 응답 데이터를 검사하는 것으로 판단하고, 상기 세션 설정부는 상기 서버 시스템으로 제2 연결 설정 요청을 전송하여 상기 방화벽 시스템과 상기 서버 시스템 간의 상기 제2 세션을 설정하도록 동작하는 것을 특징으로 하는 방화벽 시스템.
  8. 제7항에 있어서,
    상기 판단부에서 상기 응답에 포함된 상기 응답 데이터를 검사하지 않는 것으로 판단한 경우 상기 스위칭 수단은 상기 리퀘스트를 상기 제1 세션을 통하여 상기 서버 시스템으로 전송하고 상기 서버 시스템으로부터 전송된 상기 리퀘스트에 대응되는 상기 응답을 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하도록 스위칭하는 것을 특징으로 하는 방화벽 시스템.
  9. 제7항 또는 제8항에 있어서,
    상기 판단부는 상기 요청 대상의 종류가 정지영상 또는 동영상 파일인 경우 상기 응답에 포함되는 상기 응답 데이터에 대한 검사를 수행하지 아니하는 것으로 판단하고, 상기 요청 대상의 종류가 CGI 또는 HTML 파일인 경우 상기 응답 데이터에 대한 검사를 수행하는 것으로 판단하는 것을 특징으로 하는 방화벽 시스템.
  10. 제7항 또는 제8항에 있어서,
    상기 인터페이스 부에서 상기 클라이언트 시스템으로부터 상기 서버 시스템과 설정된 상기 제1 세션의 연결 해제 요청을 수신한 경우, 상기 세션 설정부는 상기 제1 세션을 통하여 상기 서버 시스템으로 리셋(reset) 신호를 전송하고, 상기 리셋(reset) 신호 전송으로 상기 제1 세션이 해제(release)되는 것을 특징으로 하는 방화벽 시스템.
  11. 제7항 또는 제8항에 있어서,
    상기 인터페이스 부에서 상기 클라이언트 시스템으로부터 상기 서버 시스템과 설정된 상기 제1 세션의 연결 해제 요청을 수신한 경우,
    상기 세션 설정부는 상기 연결 해제 요청에 포함된 TCP 시퀀스 넘버를 조정하고, 상기 TCP 시퀀스 넘버가 조정된 상기 연결 해제 요청을 상기 제1 세션을 통하여 상기 서버 시스템으로 전송하며,
    상기 스위칭 수단은 상기 제1 세션을 통하여 상기 서버 시스템으로부터 수신된 확인 응답(ACK) 신호를 스위칭하여 상기 세션 설정부로 전달하고,
    상기 세션 설정부는 상기 확인 응답 신호에 포함된 TCP 시퀀스 넘버를 조정하고, 상기 통신 인터페이스 부는 상기 TCP 시퀀스 넘버가 조정된 상기 확인 응답 신호를 상기 제1 세션을 통하여 상기 클라이언트 시스템으로 전송하는 것을 특징으로 하는 방화벽 시스템.
  12. 제7항에 있어서,
    상기 서버 시스템은 IP 주소를 상기 방화벽 시스템의 IP 주소로 설정 변경하고, 상기 클라이언트 시스템이 송신하는 ARP 쿼리를 상기 방화벽 시스템이 응답하는 것을 특징으로 하는 것을 특징으로 하는 방화벽 시스템.
KR1020060021691A 2006-03-08 2006-03-08 트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법 KR100647274B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060021691A KR100647274B1 (ko) 2006-03-08 2006-03-08 트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060021691A KR100647274B1 (ko) 2006-03-08 2006-03-08 트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법

Publications (1)

Publication Number Publication Date
KR100647274B1 true KR100647274B1 (ko) 2006-11-23

Family

ID=37712829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060021691A KR100647274B1 (ko) 2006-03-08 2006-03-08 트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법

Country Status (1)

Country Link
KR (1) KR100647274B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101053470B1 (ko) 2009-04-14 2011-08-03 박한규 유해 트래픽 제어 및 해킹을 차단하는 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040015474A (ko) * 2002-08-13 2004-02-19 시큐아이닷컴 주식회사 복수 방화벽에서의 효율적 부하 분산을 위한 비대칭트래픽 처리 네트워크 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040015474A (ko) * 2002-08-13 2004-02-19 시큐아이닷컴 주식회사 복수 방화벽에서의 효율적 부하 분산을 위한 비대칭트래픽 처리 네트워크 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101053470B1 (ko) 2009-04-14 2011-08-03 박한규 유해 트래픽 제어 및 해킹을 차단하는 장치 및 방법

Similar Documents

Publication Publication Date Title
US8925068B2 (en) Method for preventing denial of service attacks using transmission control protocol state transition
US9313220B2 (en) Proxy gateway anti-virus method, pre-classifier, and proxy gateway
CN110266678B (zh) 安全攻击检测方法、装置、计算机设备及存储介质
US20140115705A1 (en) Method for detecting illegal connection and network monitoring apparatus
US8543807B2 (en) Method and apparatus for protecting application layer in computer network system
US11677721B2 (en) Packet transmission method using proxy server and system thereof
CN110830516B (zh) 一种网络访问方法、装置、网络控制设备及存储介质
JP4877145B2 (ja) 通信装置を制御するプログラム及び通信装置
CN113783885B (zh) 一种蜜罐网络代理方法及相关装置
WO2023040303A1 (zh) 网络流量控制方法以及相关系统
KR101173810B1 (ko) 보안 강화 시스템, 이를 위한 단말 및 서비스 장치, 그리고 이를 위한 방법
CN109905352B (zh) 一种基于加密协议审计数据的方法、装置和存储介质
KR20110059963A (ko) 유해 트래픽 차단 장치 및 방법과 이를 이용한 유해 트래픽 차단 시스템
KR100647274B1 (ko) 트래픽 제어를 수행하는 방화벽 시스템 및 상기 시스템의동작 방법
US7562109B2 (en) Connectivity confirmation method for network storage device and host computer
CN107257352B (zh) 基于dpdk的url认证的重定向系统与方法
CN114328216A (zh) 一种漏洞挖掘的方法和装置
CN113973093B (zh) 数据传输方法及装置、电子设备、可读存储介质
JP6623702B2 (ja) ネットワーク監視装置及びネットワーク監視装置におけるウイルス検知方法。
JP2018142927A (ja) マルウェア不正通信対処システム及び方法
CN111953742A (zh) 一种页面重定向方法、终端设备、中间设备及服务器
CN114697380B (zh) 访问请求的重定向方法、系统、装置以及存储介质
KR102156600B1 (ko) 네트워크에서 수집된 패킷과 엔드포인트 컴퓨팅 장치의 프로세스 간의 연관관계를 생성하는 시스템 및 방법
KR101231801B1 (ko) 네트워크 상의 응용 계층 보호 방법 및 장치
Foster " Why does MPTCP have to make things so complicated?": cross-path NIDS evasion and countermeasures

Legal Events

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140206

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151207

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171110

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181112

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191111

Year of fee payment: 14