KR100958250B1 - Method for Securiting Web Server and Web Firewall Therefor - Google Patents

Method for Securiting Web Server and Web Firewall Therefor Download PDF

Info

Publication number
KR100958250B1
KR100958250B1 KR1020080002575A KR20080002575A KR100958250B1 KR 100958250 B1 KR100958250 B1 KR 100958250B1 KR 1020080002575 A KR1020080002575 A KR 1020080002575A KR 20080002575 A KR20080002575 A KR 20080002575A KR 100958250 B1 KR100958250 B1 KR 100958250B1
Authority
KR
South Korea
Prior art keywords
packet
web
security policy
firewall
security
Prior art date
Application number
KR1020080002575A
Other languages
Korean (ko)
Other versions
KR20090076556A (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 KR1020080002575A priority Critical patent/KR100958250B1/en
Publication of KR20090076556A publication Critical patent/KR20090076556A/en
Application granted granted Critical
Publication of KR100958250B1 publication Critical patent/KR100958250B1/en

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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/088Access security using filters or firewalls

Abstract

본 발명은 웹 서버 보안 방법 및 이를 위한 웹 방화벽에 관한 것으로서, 해킹이 발생하는 영역에 대해서만 검사하기 위해 수신패킷(ReceivePacket)과 송신패킷(SendPacket)을 구분하는 제1 단계와, 구분된 패킷 각각에 다른 보안 정책을 적용하기 위해 수신방화벽(ReceiveFirewall)과 송신방화벽(SendFirewall)으로 구분하여 패킷을 넘겨주는 제2 단계와, 적용된 보안 정책에 의해 상기 패킷을 검사하는 제3 단계와, 해킹일 경우에 증거 자료를 남기기 위해 로그를 기록하는 제4 단계를 포함한다. 본 발명에 의하면, 과도한 보안 옵션을 피하여, 중복 검사의 발생을 줄여주는 웹 서버 보안 방법 및 이를 위한 웹 방화벽을 제공함으로써, 웹 서비스의 속도 저하를 방지함과 동시에 강력한 보안 옵션을 제공하는 효과가 있다.The present invention relates to a method for securing a web server and a web firewall for the same, comprising: a first step of distinguishing a receive packet from a send packet and a send packet for checking only an area in which hacking occurs; A second step of handing over packets divided into a ReceiveFirewall and a SendFirewall to apply a different security policy, a third step of inspecting the packet by an applied security policy, and proof in the case of hacking A fourth step is to record the log to leave the data. According to the present invention, by providing a web server security method and a web firewall for reducing the occurrence of duplicate checks to avoid excessive security options, there is an effect of preventing the slowdown of web services and at the same time provide a strong security options. .

웹, 애플리케이션, 방화벽, 해킹, 로그 Web, application, firewall, hack, log

Description

웹 서버 보안 방법 및 이를 위한 웹 방화벽{Method for Securiting Web Server and Web Firewall Therefor}Method for Securiting Web Server and Web Firewall Therefor}

본 발명은 웹 서버 보안 방법 및 이를 위한 웹 방화벽에 관한 것으로, 더욱 상세하게는 웹 방화벽을 이용한 웹 서버 보안 방법 및 시스템에 관한 것이다.The present invention relates to a method for securing a web server and a web firewall therefor, and more particularly, to a method and system for securing a web server using a web firewall.

웹 1.0 시대의 웹에서는 서버가 정보를 화면에 보여주는 역할에 그쳤지만, 웹 2.0 시대의 웹에서는 사용자가 정보를 생산함과 동시에 소비도 가능한 모델로 발전하였다.In the Web of the Web 1.0 era, the server only displayed the information on the screen. In the Web of the Web 2.0 era, the Web has evolved into a model that allows users to produce and consume information.

웹 2.0에서는 다양한 콘텐츠를 사용자가 사용할 수 있도록 자바스크립트(JavaScript), XML(Extensible Markup Language) 및 RSS(Relay Spam Stopper) 등의 기술을 바탕으로 웹 애플리케이션을 개발하여 다양한 서비스를 제공하고 있다. 그러나 사용자 중심의 환경 구성을 위한 대화형 웹페이지에서 취약점이 발생하고, 이러한 취약점을 이용하여 지적 재산이나, 금전적 이득을 취하기 위한 해킹 사례가 증가하고 있다.Web 2.0 provides various services by developing web applications based on technologies such as JavaScript, Extensible Markup Language (XML), and Relay Spam Stopper (RSS) so that users can use various contents. However, vulnerabilities arise in interactive web pages for user-centered environment construction, and hacking cases for gaining intellectual property or financial gains using these vulnerabilities are increasing.

사용자는 자신의 데이터를 스크립트나 특정 코드로 웹 애플리케이션에 올릴 때 발생하는 크로스 사이트 스크립팅이나 악성 코드와 같은 취약점을 서버에서 찾는데 어려움이 있다. 그리고 기존의 웹 1.0에서 존재하던 취약점이 뿐만 아니라 웹 2.0의 취약점이 발생하고 있다.Users have difficulty finding vulnerabilities on the server, such as cross-site scripting or malicious code that occurs when they upload their data to web applications as scripts or specific code. In addition to the existing vulnerabilities in Web 1.0, Web 2.0 vulnerabilities are occurring.

웹에서 발생할 수 있는 취약점들에 대해 OWASP(Open Web Application Project)는 웹 애플리케이션 서비스의 보안을 향상시키기 위한 10가지 웹 애플리케이션 보안 취약점을 2004년에 이어 2007년에도 발표하여 최소한의 대처 방안을 권고하고 있다.About Web Vulnerabilities Open Web Application Project (OWASP) released 10 web application security vulnerabilities in 2004 and 2007 to improve the security of web application services. .

최근 개발되고 있는 웹 애플리케이션들은 개발 단계에서 보안을 고려하여 개발되고 있지만 취약점을 고려하지 않고 개발된 기존의 웹 서비스를 제공하는 웹 애플리케이션은 많은 보안 취약점이 존재한다.Recently developed web applications are developed in consideration of security in the development stage, but there are many security vulnerabilities of web applications that provide existing web services developed without considering vulnerabilities.

일반적인 네트워크는 사용자와 서비스를 제공하는 웹 서버 사이의 네트워크 장비와 보안을 위한 침입탐지시스템으로 구성된다. 여기서, 침입탐지시스템은 IDS(Intrusion Detection System), IPS(Intrusion Prevention System)를 포함한다.A typical network consists of network equipment between users and web servers providing services and intrusion detection systems for security. Here, the intrusion detection system includes an intrusion detection system (IDS) and an intrusion prevention system (IPS).

최근 유행하는 웹 애플리케이션 대상의 해킹들은 기존의 보안 장비가 탐지하는 영역을 우회하여 취약점을 공격한다. 이런 공격이 가능한 이유는 보안 장비마다 검사하는 계층이 다르기 때문이다. 네트워크 방화벽은 사용하는 포트를 제외하고 모든 포트를 막아 놓거나 특정 IP를 차단한다. IDS와 IPS는 IP계층과 TCP 계층의 공격 패턴을 검사하여 차단하기 때문에 도 1과 같은 TCP/IP의 하위 계층 즉, 애플리케이션(Application) 계층(110) 및 프레젠테이션(Presentation) 계층(120)에서 보안 취약점이 발생한다.Hacking targets of the most prevalent web applications attack vulnerabilities by bypassing areas detected by existing security devices. This attack is possible because different security devices have different layers of inspection. Network firewalls block all ports except the ones they use, or block specific IPs. Since IDS and IPS examine and block the attack patterns of the IP layer and the TCP layer, security vulnerabilities in the lower layer of TCP / IP, that is, the application layer 110 and the presentation layer 120, as shown in FIG. This happens.

웹 애플리케이션 취약점은 OWASP에서 발표한 OWASP TOP 10이 잘 알려져 있다. 도 2는 OWASP에서 발표한 OWASP TOP 10을 나타낸 것으로서, 크로스 사이트 스 크립팅 취약점, 삽입 취약점, 악성 파일 실행 취약점, 불안전한 직접 개체 참조 취약점, 크로스 사이트 요청 변조 취약점, 정보 유출과 부적절한 에러 처리 취약점, 취약한 인증 및 세션 관리 취약점, 불안정한 암호화 저장 취약점, 불안정한 통신 취약점 및 URL 접근통지 실패 취약점을 나타낸다. 이런 취약점 외에도 다양한 웹 애플리케이션 취약점이 존재한다.Web application vulnerabilities are well known by OWASP TOP 10, published by OWASP. Figure 2 shows the OWASP TOP 10 released by OWASP, cross-site scripting vulnerabilities, injection vulnerabilities, malicious file execution vulnerabilities, insecure direct object reference vulnerabilities, cross-site request tampering vulnerabilities, information leakage and improper error handling vulnerabilities, Indicates weak authentication and session management vulnerabilities, unstable cryptographic storage vulnerabilities, unstable communication vulnerabilities, and URL access notification failure vulnerabilities. In addition to these vulnerabilities, there are various web application vulnerabilities.

한편, 이러한 웹 애플리케이션의 취약점에 대응하여 웹 애플리케이션 방화벽이 설치되는데, 웹 애플리케이션 방화벽은 설치 위치에 따라 네트워크 기반과 웹 서버 기반으로 구분된다. 네트워크 기반 웹 서버의 대표적인 것은 게이트웨이형 웹 애플리케이션 방화벽이다. 게이트웨이형 웹 애플리케이션 방화벽은 H/W 장비 기반으로 웹 서버 앞단에 위치하여 웹 서버, 운영체제의 종류와 무관하게 웹 애플리케이션을 보호할 수 있는 반면에, 과도한 필터링으로 트래픽의 증가가 발생하므로 서버의 능력 저하가 발생한다. 웹 서버 기반 애플리케이션 방화벽은 웹 서버가 제공하는 API(Application Programming Interface)를 기반으로 웹 서버의 플러그인 형태로 설치된다. 그러므로 속도가 빠르고 웹 서버 및 운영체제와 호환성이 좋으며, 설치가 쉬운 반면에, 다양한 보안 정책을 적용하기 힘들며, 웹 서버와 운영체제에 종속적이다.Meanwhile, a web application firewall is installed in response to a vulnerability of the web application. The web application firewall is classified into a network base and a web server base according to the installation location. A typical network-based web server is a gateway type web application firewall. Gateway type web application firewall is located at the front of web server based on H / W device to protect web application regardless of web server and operating system type, but excessive filtering causes traffic increase, thus reducing server's ability Occurs. Web server-based application firewall is installed as a plug-in of the web server based on the application programming interface (API) provided by the web server. Therefore, it is fast, compatible with web servers and operating systems, easy to install, while difficult to apply various security policies, and is dependent on web servers and operating systems.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 과도한 보안 옵션을 피하여 중복 검사의 발생을 줄여주는 웹 서버 보안 방법 및 이를 위한 웹 방화벽을 제공하는 데 그 목적이 있다.Disclosure of Invention The present invention has been made to solve the above problems, and an object thereof is to provide a web server security method and a web firewall for reducing the occurrence of duplicate checks by avoiding excessive security options.

본 발명의 다른 목적은 NDIS 인터미디엇 드라이버(NDIS Intermediate Driver)의 필터가 적용된 웹 방화벽을 제공한다.Another object of the present invention is to provide a web firewall to which a filter of an NDIS intermediate driver is applied.

이와 같은 목적을 달성하기 위한 본 발명은, NDIS(Network Driver Interface Specification) 드라이버 모델의 인터미디엇 드라이버(Intermediate Driver)로 구축되고, 상기 인터미디엇 드라이버로 흘러들어오는 수신패킷(ReceivePacket)과 송신패킷(SendPacket)을 구분하여 보안 정책을 적용한 후 침입한 내역을 증거 자료로 내세우기 위한 로그를 기록하는 것을 특징으로 하는 웹 서버 보안을 위한 웹 방화벽을 제공한다.In order to achieve the above object, the present invention is constructed as an intermediate driver of a network driver interface specification (NDIS) driver model, and includes a receive packet and a transmit packet flowing into the intermediate driver. SendPacket) provides a web firewall for web server security, characterized by recording logs to apply the security policy and classify intrusions as evidence.

본 발명은, 해킹이 발생하는 영역에 대해서만 검사하기 위해 수신패킷(ReceivePacket)과 송신패킷(SendPacket)을 구분하는 제1 단계와, 구분된 패킷 각각에 다른 보안 정책을 적용하기 위해 수신방화벽(ReceiveFirewall)과 송신방화벽(SendFirewall)으로 구분하여 패킷을 넘겨주는 제2 단계와, 적용된 보안 정책에 의해 상기 패킷을 검사하는 제3 단계와, 해킹일 경우에 증거 자료를 남기기 위해 로그를 기록하는 제4 단계를 포함하는 것을 특징으로 하는 웹 서버 보안 방법을 제 공한다.The present invention provides a first step of distinguishing a ReceivePacket and a SendPacket to examine only an area where hacking occurs, and a ReceiveFirewall to apply a different security policy to each of the divided packets. And a second step of handing over packets divided into SendFirewall, a third step of inspecting the packet according to an applied security policy, and a fourth step of recording a log to leave evidence in case of hacking. It provides a web server security method comprising the.

이상에서 설명한 바와 같이 본 발명에 의하면, 과도한 보안 옵션을 피하여, 중복 검사의 발생을 줄여주는 웹 서버 보안 방법 및 이를 위한 웹 방화벽을 제공함으로써, 웹 서비스의 속도 저하를 방지함과 동시에 강력한 보안 옵션을 제공하는 효과가 있다.As described above, according to the present invention, a web server security method and a web firewall for reducing duplication checking are avoided by avoiding excessive security options, thereby preventing a slowdown of web services and at the same time providing a strong security option. It is effective to provide.

또한, IIS, 아파치와 같이 웹 서버 전용 필터가 아닌 그보다 앞단의 NDIS 인터미디엇 드라이버(NDIS Intermediate Driver)의 필터로 적용함으로써, 전용 서버로서의 단점을 해결할 수 있고, 이에 따라 웹 방화벽을 설치하기 위해 서버를 옮겨야 하는 부담감을 줄여주며 대학교와 같은 기관에서 여러 개의 웹 서버를 운영하는 경우 LAN에서 WAN으로 빠져나가는 영역에 본 발명에 따른 웹 방화벽을 설치하여 모든 웹 서버마다 웹 방화벽을 설치할 필요 없이 보다 효율적인 보안 시스템을 구축할 수 있는 효과가 있다.In addition, by applying the filter of the NDIS Intermediate Driver earlier than the web server-specific filter like IIS and Apache, the disadvantage of the dedicated server can be solved. It reduces the burden of moving the web server, and if several web servers are operated by an institution such as a university, the web firewall according to the present invention is installed in the area exiting from the LAN to the WAN. It has the effect of building a system.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

본 발명에서의 FOW(Firewall Of Web)는 웹 애플리케이션 방화벽을 의미한다.In the present invention, FOW (Firewall Of Web) means a web application firewall.

웹 방화벽은 두 가지 모델 즉, 긍정 보안모델(Positive Security Model)과 부정 보안모델(Negative Security Model)이 있다. 두 가지 모델을 이용하여 세 가지 형태의 웹 방화벽 구현이 가능하다. 긍정 보안모델과 부정 보안모델만을 따로 구현한 두 가지 구현 형태와 두 모델을 혼합하여 구현하는 형태이다.There are two models of web firewalls: positive security model and negative security model. Two types of web firewalls can be implemented using two models. Two types of implementations that implement only the positive security model and the negative security model separately, and a mixture of the two models.

긍정 보안모델은 안전하다고 정의한 것만 허용되고 나머지는 모두 거부한다. 부정 보안모델은 위험하다고 정의된 것만 거부되고 나머지는 모두 허용하는 보안모델로 긍정 보안모델을 통과한 웹 트래픽에 대해서만 검사를 수행하며 비정상적인 패턴의 침입탐지 등을 수행한다.The positive security model allows only what is defined as safe and rejects all others. Negative security model is a security model that denies only what is defined as dangerous and allows all others. It checks only web traffic that passes positive security model and performs abnormal pattern intrusion detection.

한편, 보안 정책을 위해 검증해야 하는 유형들에는 데이터 유형(문자열, 정수형 및 실수형)과 중복 허용 여부가 있다.On the other hand, the types that need to be verified for security policies include data types (strings, integers, and reals) and whether they allow duplicates.

본 발명에서는 표 1의 검증 유형들을 바탕으로 입력 값 검증, 세션관리, 시스템 명령어 실행, 부적절한 환경 설정 및 부적절한 오류 처리에 대한 보안 정책을 구성한다.In the present invention, a security policy for input value verification, session management, system command execution, inappropriate environment setting, and inappropriate error handling is configured based on the verification types in Table 1.

Figure 112008001815513-pat00001
Figure 112008001815513-pat00001

웹을 통한 침입을 탐지하고 방어하기 위한 각종 보안 정책과 로그 기록으로 인해 시스템의 퍼포먼스를 떨어트릴 수 있다. 그러므로 보안 정책을 통해 스캔이 필요한 부분을 정확하게 추출하고 해당 영역에 해당 보안 정책만을 적용함으로써, 최대한 성능 저하를 감소시켜야 한다.Security policies and logging to detect and defend against intrusions over the Web can slow system performance. Therefore, the security policy should accurately extract the part that needs to be scanned and apply the security policy only to the corresponding area to reduce the performance degradation as much as possible.

실시예Example

도 3은 본 발명의 바람직한 실시예에 따른 웹 방화벽 내부의 개략적인 구성을 나타낸 블럭 구성도이다.3 is a block diagram showing a schematic configuration inside a web firewall according to a preferred embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 웹 방화벽(300)은 NDIS(Network Driver Interface Specification) 드라이버 모델의 인터미디엇 드라이버(Intermediate Driver)로 구축되고, 인터미디엇 드라이버로 흘러들어오는 수신패킷(ReceivePacket)과 송신패킷(SendPacket)을 구분하여 보안 정책을 적용한 후 침입한 내역을 증거 자료로 내세우기 위해 로그를 기록한다.Referring to FIG. 3, the web firewall 300 according to the present invention is constructed as an intermediate driver of a network driver interface specification (NDIS) driver model, and receives a packet flowing into the intermediate driver. After applying the security policy by dividing the SendPacket and the SendPacket, the log is recorded to make intrusion evidence as evidence.

본 발명에 따른 웹 방화벽(300)은 해킹이 발생하는 영역에 대해서만 검사하기 위해 수신패킷과 송신패킷을 명확히 구분하고 메쏘드(Method), URL, 버전(Version) 및 쿠기(Cookie) 등의 영역을 미리 분할하는 패킷분리부(310), 구분된 패킷 각각에 다른 보안 정책을 적용하기 위해 수신방화벽(ReceiveFirewall)과 송신방화벽(SendFirewall)으로 구분하여 패킷을 전달하는 패킷전달부(320), 적용된 보안 정책에 의해 패킷을 검사하는 패킷검사부(330), 해킹일 경우에 증거 자료를 남기기 위해 로그를 기록하는 로그기록부(340) 및 해킹에 대한 응답으로 접근을 제한하는 페이지를 전송하는 접근제한부(350) 등을 포함하여 구성된다.The web firewall 300 according to the present invention clearly distinguishes between a receiving packet and a sending packet in order to inspect only an area where hacking occurs, and advances an area such as a method, a URL, a version, and a cookie. Packet splitting unit 310 for splitting, packet forwarding unit 320 for delivering a packet divided into a receiving firewall (ReceiveFirewall) and a sending firewall (SendFirewall) in order to apply a different security policy to each divided packet, the applied security policy A packet inspection unit 330 for inspecting packets by a packet, a log recording unit 340 for recording a log to leave evidence in case of hacking, and an access restriction unit 350 for transmitting a page for restricting access in response to the hacking; It is configured to include.

본 발명에 따른 웹 방화벽(300)은 XML(Extensible Markup Language) 파일을 이용하여 보안 정책을 설정하며, 보안 정책 재설정시 드라이버를 다시 로드함으로써, 이를 적용한다. 만일 정상적인 서비스 요구에도 강력한 보안 정책에 의해 정상적인 서비스가 되지 않을 경우에 대비하여 제공하는 웹 서비스 업체의 환경에 적합하도록 보안 정책을 적용하기 위해 어떠한 보안 정책에 의해 서비스가 차단되었는지 로그에 남긴다.The web firewall 300 according to the present invention sets a security policy using an Extensible Markup Language (XML) file, and applies it by reloading the driver when the security policy is reset. If the service is blocked by the strong security policy even if the service request is normal, the security policy will be logged in order to apply the security policy to the web service provider's environment.

또한, 웹 방화벽(300)은 드라이버의 형태로 구현되며 XML 파일을 설정할 수 있는 에디터와, 로그를 한눈에 볼 수 있는 뷰어에 대한 인터페이스만을 제공한다.In addition, the web firewall 300 is implemented in the form of a driver and provides only an interface for an editor for setting an XML file and a viewer for viewing logs at a glance.

도 4는 본 발명의 바람직한 실시예에 따른 수신패킷을 필터링하는 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method of filtering a received packet according to a preferred embodiment of the present invention.

도 4를 참조하면, 클라이언트에서 서버로의 웹 접속을 시도할 때 요청되는 패킷을 필터링하는데 NIC(Network Information Center)에서 미니포트(Miniport)를 통해 인터미디엇 드라이버로 들어오는 패킷 중 TCP/HTTP패킷에 대해서만 필터링한다.Referring to FIG. 4, a packet that is requested when a web connection from a client to a server is attempted is filtered to a TCP / HTTP packet among packets coming into an intermediate driver through a miniport in a network information center (NIC). Only filter on.

우선, 들어오는 패킷을 미니포트로부터 PtReceivePacket()함수를 통해 전달받는다(S410).First, an incoming packet is received from the miniport via the PtReceivePacket () function (S410).

이어서, 패킷을 분석하고 웹 공격 패턴을 분석하는 FowPacketFilter()함수를 호출하여(S420) 전달받은 패킷에 대한 해킹여부를 판단하고(S430), 전달받은 패킷이 해킹된 경우 패킷을 큐에 쌓지 않고 바로 해제한다(S432).Subsequently, FowPacketFilter () function which analyzes the packet and analyzes the web attack pattern is called (S420) to determine whether the received packet is hacked (S430), and if the received packet is hacked, the packet is not stacked in the queue immediately Release (S432).

단계 S430에서 전달받은 패킷이 해킹되지 않은 경우 PtQueueReceivePacket()함수를 호출하여 패킷을 큐에 쌓아둔다(S440).If the packet received in step S430 is not hacked, PtQueueReceivePacket () function is called to stack the packet in the queue (S440).

이어서, 큐에 쌓인 패킷을 서버 쪽으로 전송한다. 이때, 큐 영역에 쌓인 패킷을 서버측으로 전송하기 위해서 큐에 패킷이 가득 차거나 또는 패킷의 상태를 검사하여 전송하는데 전자의 경우 큐를 카운트(Count)하여 결정할 수 있으며 후자의 경우 PtReceivePacket()함수에서 PtQueueReceivePacket()함수를 호출하기 전에 NDIS_GET_PACKET_STATUS()함수로서 패킷의 상태를 검사하여 상태값이 STATUS_RESOURCES일 때 즉시 패킷을 보내야하는 것으로 판단함으로써, PtQueueReceivePacket()함수에 전달하여 바로 표시(Indicate)할 수 있도록 한다.Subsequently, the packets accumulated in the queue are transmitted to the server. At this time, in order to transmit the packets accumulated in the queue area to the server side, the queue is full of packets or the packet status is checked and transmitted. In the former case, the queue can be counted and determined. In the latter case, the PtQueueReceivePacket function is used by the PtReceivePacket () function. By calling NDIS_GET_PACKET_STATUS () function before calling () function, it is determined that the packet should be sent immediately when the status value is STATUS_RESOURCES.

끝으로, NdisMIndicateReceivePacket()함수를 이용하여 패킷의 주소와 쌓인 수를 큐로 넘겨줌으로써(S450), 상위 프로토콜 드라이버(Protocol Driver)를 통해 서버로 전달된다.Finally, by using the NdisMIndicateReceivePacket () function to pass the address and the accumulated number of packets to the queue (S450), it is delivered to the server through a higher protocol driver (Protocol Driver).

도 5는 본 발명의 바람직한 실시예에 따른 송신패킷을 필터링하는 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a method of filtering a transmission packet according to a preferred embodiment of the present invention.

도 5를 참조하면, 일반적으로 윈도우 기반에서는 IIS, 리눅스 기반에서는 아파치(Apache)를 서버로 돌리는데 이러한 서버에서 클라이언트의 요청에 응답하기 위해 NDIS의 프로토콜 드라이버로 패킷이 들어온다.Referring to FIG. 5, in general, IIS is run on Windows and Apache is run on a Linux server to a server. In such a server, a packet enters a protocol driver of NDIS to respond to a client's request.

프로토콜 드라이버에서는 들어온 패킷을 다시 인터미디엇 드라이버로 전송해 주는데 인터미디엇 드라이버의 MPSendPacket()함수를 통해 전달받는다(S510). 전달받은 패킷은 수신패킷을 필터링하는 방법과 마찬가지로 복사를 하여 이를 컨트롤하게 되는데 패킷을 필터링하여 해킹 유무를 판단하기 위해서 FowPacketFilter()함수를 적용한다(S520).The protocol driver transmits the received packet back to the intermediate driver, which is transmitted through the MPSendPacket () function of the intermediate driver (S510). The received packet is controlled by copying the packet in the same way as the filtering method of the received packet. In order to filter the packet and determine the hacking, the FowPacketFilter () function is applied (S520).

이어서, FowPacketFilter()함수를 통하여 전달받은 패킷에 대한 해킹 여부를 판단하고(S530), 전달받은 패킷이 해킹된 경우 패킷을 클라이언트에 전송하지 않고 바로 해제시킨다(S532).Subsequently, it is determined whether the received packet is hacked through the FowPacketFilter () function (S530). If the received packet is hacked, the packet is released immediately without being transmitted to the client (S532).

단계 S530에서 전달받은 패킷이 해킹되지 않은 경우 정상적으로 NdisSend()함수를 호출하여 하위 미니포트 드라이버로 전송한다(S540). 이때, 미니포트 드라이버는 NIC를 통해 클라이언트로 전송하게 된다.If the packet received in step S530 is not hacked, the NdisSend () function is normally called and transmitted to the lower miniport driver (S540). At this time, the miniport driver transmits to the client through the NIC.

도 6은 본 발명의 바람직한 실시예에 따른 송수신패킷에 대한 해킹 여부 판단 방법을 나타낸 흐름도이다.6 is a flowchart illustrating a method for determining whether to hack a transmission / reception packet according to a preferred embodiment of the present invention.

도 6을 참조하면, 송수신패킷을 필터링하는 두가지 과정에서 호출되는 함수인 FowPacketFilter()함수는 패킷의 각 헤더를 분석하고 이를 통해 보안 정책에 따른 공격 패턴을 검사하여 차단할지, 전송할지 여부를 판단하는 함수이다.Referring to FIG. 6, the FowPacketFilter () function, which is a function called in two processes of filtering a transmission / reception packet, analyzes each header of a packet and determines whether to block or transmit an attack pattern according to a security policy. Function.

Ethernet, IP, TCP, HTTP헤더에 대한 구조체를 미리 할당하고 GetEthernetHeader()함수를 통해 Ethernet헤더를 분석하고(S610), 다음으로 GetIPHeader()함수를 통해 IP헤더를 분석한다(S620).Structures for the Ethernet, IP, TCP, and HTTP headers are allocated in advance, and the Ethernet header is analyzed through the GetEthernetHeader () function (S610), and then the IP header is analyzed through the GetIPHeader () function (S620).

이어서, IP헤더의 프로토콜 영역이 TCP이면 GetTCPHeader()함수를 통해 TCP헤더를 분석하고(S630), TCP헤더의 포트가 HTTP일 경우 GetTcpData()함수를 통해 데이터를 가져온다(S640).Subsequently, if the protocol area of the IP header is TCP, the TCP header is analyzed through the GetTCPHeader () function (S630). If the port of the TCP header is HTTP, the data is obtained through the GetTcpData () function (S640).

단계 S640에서 포트번호를 확인하여 목적지 포트번호가 HTTP일 경우 서버측으로 요청하는 HTTP 패킷이라 판단하여 GetReceiveHttpHeader()함수를 통해 HTTP 요청 헤더를 분석하고(S650), FowReceiveFirewall()함수를 호출한다(S650). 송신 포트번호가 HTTP일 경우에는 서버측에서 클라이언트로 보내는 패킷이라 판단하여 GetSendHttpHeader()함수를 통해 HTTP 응답 헤더를 분석하고(S652), FowSendFirewall()함수를 호출한다(S654).In step S640, if the destination port number is HTTP, if the destination port number is HTTP, it is determined as an HTTP packet requested to the server side, the HTTP request header is analyzed through the GetReceiveHttpHeader () function (S650), and the FowReceiveFirewall () function is called (S650). . If the transmission port number is HTTP, the server determines that the packet is sent to the client, analyzes the HTTP response header through the GetSendHttpHeader () function (S652), and calls the FowSendFirewall () function (S654).

끝으로, 각각 호출된 함수를 통해 미리 정해놓은 보안 정책에 따라 공격 패턴을 분석하고(S670), 해킹 여부를 판단한다(S680).Finally, the attack pattern is analyzed according to a predetermined security policy through each called function (S670), and whether or not a hack is determined (S680).

단계 S680에서 패킷이 해킹되지 않은 경우 결과를 폴스(False)로 반환한다(S690).If the packet is not hacked at step S680, the result is returned as false (S690).

단계 S680에서 패킷이 해킹된 경우 InterceptSendPacket()함수를 호출하여 차단되었다는 페이지를 클라이언트로 전송하고(S682), 이후에 결과를 트루(True)로 반환한다(S684).If the packet is hacked in step S680, the InterceptSendPacket () function is called to transmit the page to the client (S682), after which the result is returned to True (S684).

도 7은 본 발명에서의 HTTP 헤더부에 대한 해킹 여부 판단 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a method for determining whether to hack an HTTP header unit according to the present invention.

도 7을 참조하면, FowReceiveFirewall()함수는 웹 방화벽(300)의 핵심으로 흘러들어가기 위한 핵심 함수이다. 수신된 HTTP데이터가 메쏘드, URL, 버전, 쿠기, 콘텐츠 및 포스트 데이터를 정확히 추출해내어 해당 부분에 대한 보안 정책을 적용한다. 이때, 얼마나 견고한 보안 정책을 적용하느냐에 따라 웹 방화벽(300)의 성능이 좌우된다.Referring to FIG. 7, the FowReceiveFirewall () function is a core function for flowing into the core of the web firewall 300. The received HTTP data accurately extracts the method, URL, version, cookie, content, and post data and applies the security policy for that part. In this case, the performance of the web firewall 300 depends on how robust the security policy is applied.

HTTP의 헤더부에서 겟(GET), 헤드(HEAD) 및 포스트(POST) 등 요청 메쏘드에 대해서 우선적으로 스캔하여 요청 패킷인지 확인한다. 요청 패킷일 경우 보안 정책을 활용한 스캔을 시작하는데 메쏘드, 버전, 콘텐츠, 쿠기 및 URL 각 스캔 함수를 통하여 패턴을 분석하여(S710, S720, S730, S740, S750) 해킹 유무를 판단하고(S760), 패킷이 해킹된 경우 결과를 트루로 반환한다(S770). 각 스캔 함수에서는 여러 보안 정책에 의해 패턴을 분석하는데 미리 설정된 보안 정책을 고려하여 특정 공격을 차단할 것인지 하지 않을 것인지에 대해서 판단한다. 이는 각 서버를 갖추고 있는 기업, 업체 및 개인마다 사용하고 있는 서버의 웹 애플리케이션(Web Application), 웹 서버(Web Server)가 다르며 특정 공격을 막으면 웹 서버가 정상적으로 작동하지 않을 경우가 발생하기 때문이다.In the header of HTTP, request methods such as GET, HEAD, and POST are first scanned to check whether they are request packets. In case of the request packet, the scan is started using the security policy, and the pattern is analyzed through each scan function (method, version, content, cookie, and URL) (S710, S720, S730, S740, S750) to determine whether the hack is present (S760). If the packet is hacked, the result is returned as true (S770). Each scan function analyzes patterns by several security policies, and considers whether or not to block a specific attack in consideration of a preset security policy. This is because the web applications and web servers of the servers are different for each company, company, and individual with each server, and the web server may not work properly if certain attacks are prevented. .

또한, 단계 S760에서 패킷이 해킹되지 않은 경우 결과를 폴스로 반환한다(S762).In addition, if the packet is not hacked in step S760, the result is returned as a false (S762).

웹 방화벽(300)에서 보안 정책에 따라 검사를 하기 위한 시스템 함수의 구성은 표 2와 같다.The configuration of system functions for checking in accordance with the security policy in the web firewall 300 is shown in Table 2.

Figure 112008001815513-pat00002
Figure 112008001815513-pat00002

표 2를 참조하면, 첫 번째로 스캔메쏘드(ScanMethod)에서는 허용하는 메쏘드를 분석한다. Referring to Table 2, first, the scan method (ScanMethod) analyzes the allowed method.

두 번째로 스캔버전(ScanVersion)에서는 허용하는 버전, 버전의 길이를 검사한다.Secondly, ScanVersion checks the allowed version and the length of the version.

세 번째로 스캔콘텐츠(ScanContents)에서는 콘텐츠의 종류를 분별하여 쿠기를 스캔할 때 데이터 유형에 따른 정책을 적용할 수 있도록 하며 콘텐츠의 길이를 검사한다.Thirdly, ScanContents classifies the types of content so that when a cookie is scanned, a policy according to the data type is applied and the length of the content is checked.

네 번째로 쿠기를 검사하는데 사용자가 날리는 입력값을 검사하여 SQL Injection, DirectoryTraversal, HighbitShellcode 및 XSS 등을 인코딩하여 검사한다. 상황에 따라서 포스트 데이터(Post Data)를 검사하기도 한다.Fourth, to check cookies, it checks the input value that the user is blowing and encodes SQL Injection, DirectoryTraversal, HighbitShellcode, and XSS. In some cases, post data may be checked.

다섯 번째로 URL부분을 주소와 쿼리부분으로 분할하여 길이, 허용되지 않은 경로 접근, DirectoryTraversal, SQL Injection 및 HighbitShellcode 등의 입력값을 검사하여 URL로 들어올 수 있는 모든 공격을 차단하도록 한다.Fifth, the URL part is divided into address and query parts to check all input values such as length, unauthorized path access, DirectoryTraversal, SQL Injection, and HighbitShellcode to block all attacks that can enter the URL.

정해진 보안 정책에 의해 해킹 탐지되면 해킹 패턴이 어떻게 이루어졌는지 로그를 기록하고 해킹 패턴을 발견했다는 의미로 트루(TRUE)를 리턴한다.If a hack is detected by the specified security policy, it logs a log of how the hacking pattern worked and returns TRUE to indicate that the hacking pattern was found.

도 8은 본 발명에서의 XML을 이용한 보안 정책 설정 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a security policy setting method using XML according to the present invention.

도 8을 참조하면, 보안 정책을 설정하는데 XML파일을 이용한다. 보안 정책 설정이 FOW 드라이버(Fow Driver)에 적용되는 시점을 두 가지로 구분한다.Referring to FIG. 8, an XML file is used to set a security policy. There are two ways to apply security policy settings to FOW driver.

첫째로 FOW 드라이버가 로드될 때와 XML문서가 수정될 때이다(S812, S814). 우선 각 보안 설정을 위한 정보가 들어있는 XML파일을 FOW 드라이버가 로드될 때 XML 셋팅 파일의 핸들을 가져와(S820) 이를 파싱하고(S830) 해당되는 셋팅 구조체에 값을 할당한다(S840). 최초에 반드시 한번 거쳐야 되는 과정이다. 그 이후에 FOW 애플리케이션(Fow Application)에 의해 XML 셋팅 파일을 호출하여 이를 수정할 경우 수정된 파일을 다시 로드하기 위해 설치된 FOW 드라이버를 비활성화 후 다시 활성화함으로써 수정된 XML을 셋팅한다.First, when the FOW driver is loaded and when the XML document is modified (S812, S814). First, when the FOW driver loads an XML file containing information for each security setting, the handle of the XML setting file is obtained (S820), parsed (S830), and a value is assigned to the corresponding setting structure (S840). It is a process that must go through at first. After that, if the XML setting file is called by the FOW application and modified, the modified XML is set by deactivating and reactivating the installed FOW driver to reload the modified file.

도 9는 본 발명에서의 로그 기록 방법을 나타낸 흐름도이다.9 is a flowchart showing a log recording method according to the present invention.

도 9를 참조하면, 최근 해킹의 유형을 살펴보면 접근하기 쉬운 웹을 통한 해킹이 많은 부분을 차지한다. 인터넷 뱅킹 및 쇼핑 등과 같이 돈과 관련된 것들이 인터넷에 속속히 들어나면서 사용의 편리성으로 인해 많은 사람들이 웹을 찾고 또 이용한다. 또한, 실제 금전적인 거래, 지적 재산과 연결되어 있는 부분이 많이 차지하기 때문에 웹상에서 많은 보안 사고가 발생한다. 모 게임회사에서 해커에 의해 페이지가 변조되고 이를 협박하여 돈을 요구하는 사례가 있었다. 이런 불법적인 행위에 대한 피해를 입었을 때 이를 조사하기 위해선 그 흔적이 필요하다. 추후 법적 근거 자료를 위해 외부에서 접근하지 못하는 영역에 로그 파일을 생성하고 파일핸들을 통해 날짜, IP 및 공격 유형 등을 속속히 기록한다.Referring to FIG. 9, when looking at recent types of hacking, hacking through the web that is easy to access takes a large part. As money-related things, such as internet banking and shopping, quickly enter the Internet, many people find and use the web because of its ease of use. In addition, a lot of security transactions occur on the web because a lot of money transactions and intellectual property are connected. There was a case where a parent game company had a page tampered with by a hacker and threatened to demand money. The evidence is needed to investigate the damage caused by these illegal acts. In the future, log files are created in areas not accessible from outside for legal evidence, and the date, IP, and attack type are continuously recorded through the file handle.

드라이버 초기화시 로그 기록을 위한 스레드를 생성하고(S910), 해당 루틴을 지정한다(S920). 보안 정책에 의한 검사중 해킹이라면 기록할 로그의 내용을 큐에 쌓아두고(S922), 스레드에 기록을 하겠다는 이벤트를 날린다(S924).When the driver is initialized, a thread for log recording is generated (S910), and the corresponding routine is designated (S920). If the hacking during the security policy is checked, the contents of the logs to be recorded are stacked in the queue (S922), and an event to record to the thread is sent (S924).

이어서, 이벤트를 기록할지 여부를 판단하고(S930), 이벤트를 기록할 경우 이벤트를 받은 스레드는 파일을 기록하기 위해 파일 핸들을 생성하고(S940), 로그를 기록한 후(S950) 다음 기록을 위해 파일 핸들을 닫아준다(S960).Subsequently, it is determined whether or not to record the event (S930), and when the event is recorded, the thread receiving the event generates a file handle (S940), records a log (S950), and then records the file for the next recording. Close the handle (S960).

단계 S930에서 만일 드라이버를 제거한다면 스레드를 종료하겠다는 이벤트를 통해 스레드를 종료한다(S932).If the driver is removed in step S930, the thread is terminated through an event to terminate the thread (S932).

로그 기록은 표 3과 같이 침입을 시도한 날짜와 시간을 기록하며 송수신측 IP를 기록한다. 또한, 어느 부분에서 이루어진 해킹인지 판단하기 위해 발생 위치와 해당 데이터를 기록하며 침입을 시도한 내역, 그리고 어느 부분의 보안 설정에 의해 차단되었는지 기록한다.Log record records the date and time of the intrusion attempt as shown in Table 3 and records the sending and receiving IP. In addition, in order to determine in which part the hacking is made, the location of occurrence and the corresponding data are recorded, and a record of attempted intrusion and which part is blocked by the security setting.

Figure 112008001815513-pat00003
Figure 112008001815513-pat00003

표 4는 본 발명에 따른 웹 애플리케이션 방화벽 FOW를 테스트하여 OWASP TOP 10 취약점에 대응시킨 결과로서, OWASP TOP 10 중에서 불안정한 암호화 저장, 불안전한 통신, URL 접근통제 실패를 제외한 항목에서 취약점을 이용한 공격을 차단할 수 있는 결과를 얻었다.Table 4 shows the results of testing the web application firewall FOW according to the present invention and responding to the OWASP TOP 10 vulnerabilities. The results obtained are as follows.

Figure 112008001815513-pat00004
Figure 112008001815513-pat00004

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

도 1은 OSI 7계층모델을 나타낸 도면,1 is a view showing an OSI seven-layer model,

도 2는 OWASP에서 발표한 OWASP TOP 10을 나타낸 도면,2 is a view showing the OWASP TOP 10 released by OWASP,

도 3은 본 발명의 바람직한 실시예에 따른 웹 방화벽 내부의 개략적인 구성을 나타낸 블럭 구성도,3 is a block diagram showing a schematic configuration inside a web firewall according to a preferred embodiment of the present invention;

도 4는 본 발명의 바람직한 실시예에 따른 수신패킷을 필터링하는 방법을 나타낸 흐름도,4 is a flowchart illustrating a method of filtering a received packet according to a preferred embodiment of the present invention;

도 5는 본 발명의 바람직한 실시예에 따른 송신패킷을 필터링하는 방법을 나타낸 흐름도,5 is a flowchart illustrating a method of filtering a transmission packet according to a preferred embodiment of the present invention;

도 6은 본 발명의 바람직한 실시예에 따른 송수신패킷에 대한 해킹 여부 판단 방법을 나타낸 흐름도,6 is a flowchart illustrating a method for determining whether to hack a transmission / reception packet according to an embodiment of the present invention;

도 7은 본 발명에서의 HTTP 헤더부에 대한 해킹 여부 판단 방법을 나타낸 흐름도,7 is a flowchart illustrating a method for determining whether to hack an HTTP header unit according to the present invention;

도 8은 본 발명에서의 XML을 이용한 보안 정책 설정 방법을 나타낸 흐름도,8 is a flowchart illustrating a security policy setting method using XML according to the present invention;

도 9는 본 발명에서의 로그 기록 방법을 나타낸 흐름도이다.9 is a flowchart showing a log recording method according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

310: 패킷분리부 320: 패킷전달부310: packet separation unit 320: packet delivery unit

330: 패킷검사부 340: 로그기록부330: packet inspection unit 340: log recording unit

350: 접근제한부350: access restriction

Claims (12)

NDIS(Network Driver Interface Specification) 드라이버 모델의 인터미디엇 드라이버(Intermediate Driver)로 구축되고, 상기 인터미디엇 드라이버로 흘러들어오는 수신패킷(ReceivePacket)과 송신패킷(SendPacket)을 구분하여 보안 정책을 적용한 후 침입한 내역을 증거 자료로 내세우기 위한 로그를 기록하는 것을 특징으로 하는 웹 서버 보안을 위한 웹 방화벽으로,It is built as an Intermediate Driver of NDIS (Network Driver Interface Specification) driver model, intrudes after applying Security Policy by distinguishing Receive Packet and SendPacket flowing into the Intermediate Driver. Web firewall for the security of the web server, characterized in that to record a log to make a record as evidence, 상기 웹 방화벽은,The web firewall, 해킹이 발생하는 영역에 대해서만 검사하기 위해 수신패킷과 송신패킷을 구분하는 패킷분리부와,A packet separation unit for distinguishing between a receiving packet and a sending packet to check only an area where hacking occurs, 구분된 패킷 각각에 다른 보안 정책을 적용하기 위해 수신방화벽(ReceiveFirewall)과 송신방화벽(SendFirewall)으로 구분하여 패킷을 전달하는 패킷전달부와,A packet forwarding unit that forwards the packet by dividing it into a Receive Firewall and a SendFirewall to apply a different security policy to each classified packet; 적용된 보안 정책에 의해 상기 패킷을 검사하는 패킷검사부와,A packet inspecting unit inspecting the packet according to an applied security policy; 해킹일 경우에 증거 자료를 남기기 위해 로그를 기록하는 로그기록부Log recorder that logs to leave evidence in case of hacking 를 포함하는 것을 특징으로 하는 웹 서버 보안을 위한 웹 방화벽.Web firewall for the web server security, comprising a. 삭제delete 제1항에 있어서,The method of claim 1, 상기 웹 방화벽은,The web firewall, 해킹에 대한 응답으로 접근을 제한하는 페이지를 클라이언트로 전송하는 접근제한부Restriction section that sends a page to the client that restricts access in response to hacking 를 더 포함하는 것을 특징으로 하는 웹 서버 보안을 위한 웹 방화벽.Web firewall for the web server security, characterized in that it further comprises. 제1항에 있어서,The method of claim 1, 상기 웹 방화벽은 XML(Extensible Markup Language) 파일을 이용하여 상기 보안 정책을 설정하며, 상기 보안 정책 재설정시 드라이버를 다시 로드하여 적용하는 것을 특징으로 하는 웹 서버 보안을 위한 웹 방화벽.The web firewall sets the security policy using an extensible markup language (XML) file and reloads and applies the driver when the security policy is reset. 제1항에 있어서,The method of claim 1, 상기 보안 정책은 데이터 유형 및 중복 허용 여부를 바탕으로 하는 입력 값 검증, 세션관리, 시스템 명령어 실행, 부적절한 환경 설정 및 부적절한 오류 처리를 나타내는 것을 특징으로 하는 웹 서버 보안을 위한 웹 방화벽.And the security policy indicates input value verification, session management, system command execution, improper environment setting and improper error handling based on data type and redundancy allowance. 해킹이 발생하는 영역에 대해서만 검사하기 위해 수신패킷(ReceivePacket)과 송신패킷(SendPacket)을 구분하는 제1 단계와,A first step of distinguishing a ReceivePacket and a SendPacket to inspect only an area where hacking occurs; 구분된 패킷 각각에 다른 보안 정책을 적용하기 위해 수신방화벽(ReceiveFirewall)과 송신방화벽(SendFirewall)으로 구분하여 패킷을 넘겨주는 제2 단계와,A second step of dividing the packet into a Receive Firewall and a SendFirewall to apply a different security policy to each classified packet; 적용된 보안 정책에 의해 상기 패킷을 검사하는 제3 단계와,Inspecting the packet according to an applied security policy; 해킹일 경우에 증거 자료를 남기기 위해 로그를 기록하는 제4 단계Fourth step to record logs to leave evidence in case of hacking 를 포함하는 것을 특징으로 하는 웹 서버 보안 방법.Web server security method comprising a. 제6항에 있어서,The method of claim 6, 해킹에 대한 응답으로 접근을 제한하는 페이지를 클라이언트로 전송하는 제5 단계The fifth step of sending a page to the client that restricts access in response to the hacking 를 더 포함하는 것을 특징으로 하는 웹 서버 보안 방법.Web server security method characterized in that it further comprises. 제6항에 있어서,The method of claim 6, 상기 제3 단계에서 상기 패킷의 각 헤더를 분석하고 보안 정책에 따른 공격 패턴을 검사하여 차단할지 전송할지 여부를 판단하는 것을 특징으로 하는 웹 서버 보안 방법.And analyzing, at the third step, each header of the packet and inspecting an attack pattern according to a security policy to determine whether to block or transmit the packet. 제8항에 있어서,The method of claim 8, 메쏘드(Method), 버전(Version), 콘텐츠(Contents), 쿠기(Cookie) 및 URL 각 스캔 함수를 통하여 패턴을 분석하고, 해킹 유무를 판단하는 것을 특징으로 하는 웹 서버 보안 방법.Web server security method characterized by analyzing the pattern through the scan method (Method, Version, Contents, Cookie, and URL), and determine the presence of hacking. 제6항에 있어서,The method of claim 6, 상기 보안 정책은 데이터 유형 및 중복 허용 여부를 바탕으로 하는 입력 값 검증, 세션관리, 시스템 명령어 실행, 부적절한 환경 설정 및 부적절한 오류 처리 를 나타내는 것을 특징으로 하는 웹 서버 보안 방법.And the security policy indicates input value verification, session management, system command execution, improper environment setting, and improper error handling based on data type and redundancy allowance. 제6항 또는 제10항에 있어서,The method of claim 6 or 10, 상기 보안 정책은 드라이버가 로드될 때 XML 셋팅 파일의 핸들을 가져와 이를 파싱하고 해당되는 셋팅 구조체에 값을 할당하여 설정되는 것을 특징으로 하는 웹 서버 보안 방법.The security policy is set by obtaining a handle of an XML setting file when the driver is loaded, parsing it, and assigning a value to a corresponding setting structure. 제6항에 있어서,The method of claim 6, 상기 제4 단계에서 드라이버 초기화시 로그 기록을 위한 스레드를 생성하고, 보안 정책에 의한 검사중 해킹이라면 기록할 로그의 내용을 큐에 쌓아두며 스레드에 기록을 하겠다는 이벤트를 명령한 후, 상기 이벤트를 받은 스레드에서 파일 핸들을 생성하여 상기 로그를 기록하는 것을 특징으로 하는 웹 서버 보안 방법.In the fourth step, when a driver is initialized, a thread for writing a log is created, and if the hacking is performed during the security policy check, the contents of the log to be recorded are stored in a queue, and an instruction to record to the thread is received. And a file handle is created by a thread to record the log.
KR1020080002575A 2008-01-09 2008-01-09 Method for Securiting Web Server and Web Firewall Therefor KR100958250B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080002575A KR100958250B1 (en) 2008-01-09 2008-01-09 Method for Securiting Web Server and Web Firewall Therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080002575A KR100958250B1 (en) 2008-01-09 2008-01-09 Method for Securiting Web Server and Web Firewall Therefor

Publications (2)

Publication Number Publication Date
KR20090076556A KR20090076556A (en) 2009-07-13
KR100958250B1 true KR100958250B1 (en) 2010-05-17

Family

ID=41333647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080002575A KR100958250B1 (en) 2008-01-09 2008-01-09 Method for Securiting Web Server and Web Firewall Therefor

Country Status (1)

Country Link
KR (1) KR100958250B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124552B2 (en) 2013-03-12 2015-09-01 Centripetal Networks, Inc. Filtering network data transfers
US9866576B2 (en) 2015-04-17 2018-01-09 Centripetal Networks, Inc. Rule-based network-threat detection
US9917856B2 (en) 2015-12-23 2018-03-13 Centripetal Networks, Inc. Rule-based network-threat detection for encrypted communications
KR101889841B1 (en) * 2018-02-20 2018-08-21 (주)지란지교시큐리티 Content firewall for security of multimedia file, security system of content and recording medium
KR101959544B1 (en) * 2018-06-01 2019-03-18 주식회사 에프원시큐리티 Web attack detection and prevention system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040015474A (en) * 2002-08-13 2004-02-19 시큐아이닷컴 주식회사 Network system and method of asymmetric traffic processing for load dispersion
KR20060089338A (en) * 2005-02-04 2006-08-09 송정길 XML-based intrusion detection log monitoring method and system
KR100635130B1 (en) * 2005-07-08 2006-10-17 한국전자통신연구원 System and method for detecting kernel backdoor by windows network inspection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040015474A (en) * 2002-08-13 2004-02-19 시큐아이닷컴 주식회사 Network system and method of asymmetric traffic processing for load dispersion
KR20060089338A (en) * 2005-02-04 2006-08-09 송정길 XML-based intrusion detection log monitoring method and system
KR100635130B1 (en) * 2005-07-08 2006-10-17 한국전자통신연구원 System and method for detecting kernel backdoor by windows network inspection

Also Published As

Publication number Publication date
KR20090076556A (en) 2009-07-13

Similar Documents

Publication Publication Date Title
US7302480B2 (en) Monitoring the flow of a data stream
US8171544B2 (en) Method and system for preventing, auditing and trending unauthorized traffic in network systems
US7313618B2 (en) Network architecture using firewalls
US7756981B2 (en) Systems and methods for remote rogue protocol enforcement
US8230505B1 (en) Method for cooperative intrusion prevention through collaborative inference
KR101424490B1 (en) Reverse access detecting system and method based on latency
US7610375B2 (en) Intrusion detection in a data center environment
US7827605B2 (en) System and method for preventing detection of a selected process running on a computer
US8127290B2 (en) Method and system for direct insertion of a virtual machine driver
US7424735B2 (en) System and method for computer security using multiple cages
US7739302B2 (en) Network attached device with dedicated firewall security
US6721890B1 (en) Application specific distributed firewall
US20150222661A1 (en) Identifying malicious devices within a computer network
JP2005529409A (en) System and method for protocol gateway
KR100958250B1 (en) Method for Securiting Web Server and Web Firewall Therefor
CN110611682A (en) Network access system, network access method and related equipment
Baraka et al. Intrusion detection system for cloud environment
KR20210101519A (en) Efficient Web Server Security System and Method Using Web Firewall
CN106790134B (en) Access control method of video monitoring system and security policy server
Rødfoss Comparison of open source network intrusion detection systems
KR101910496B1 (en) Network based proxy setting detection system through wide area network internet protocol(IP) validation and method of blocking harmful site access using the same
CN113206852B (en) Safety protection method, device, equipment and storage medium
JP2004030287A (en) Bi-directional network intrusion detection system and bi-directional intrusion detection program
KR100862321B1 (en) Method and apparatus for detecting and blocking network attack without attack signature
Gheorghe et al. Attack evaluation and mitigation framework

Legal Events

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

Payment date: 20130423

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee