KR101959544B1 - 웹 공격 탐지 및 차단 시스템 및 그 방법 - Google Patents

웹 공격 탐지 및 차단 시스템 및 그 방법 Download PDF

Info

Publication number
KR101959544B1
KR101959544B1 KR1020180063747A KR20180063747A KR101959544B1 KR 101959544 B1 KR101959544 B1 KR 101959544B1 KR 1020180063747 A KR1020180063747 A KR 1020180063747A KR 20180063747 A KR20180063747 A KR 20180063747A KR 101959544 B1 KR101959544 B1 KR 101959544B1
Authority
KR
South Korea
Prior art keywords
web
request data
web request
risk
filter unit
Prior art date
Application number
KR1020180063747A
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 KR1020180063747A priority Critical patent/KR101959544B1/ko
Priority to PCT/KR2018/011981 priority patent/WO2019231057A1/ko
Priority to US16/492,390 priority patent/US11171919B1/en
Application granted granted Critical
Publication of KR101959544B1 publication Critical patent/KR101959544B1/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • 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/168Implementing security features at a particular protocol layer above the transport 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

웹 서비스를 제공하는 웹 서버를 통해 웹 애플리케이션 공격을 탐지하고 차단하는 웹 공격 탐지 및 차단 시스템 및 그 방법을 개시한다.
본 발명은 웹 애플리케이션의 안정성 및 가용성에 영향을 주지 않으면서 고객 맞춤형 웹 보안 서비스를 제공할 수 있는 효과가 있다.

Description

웹 공격 탐지 및 차단 시스템 및 그 방법{WEB ATTACK DETECTION AND PREVENTION SYSTEM AND METHOD}
본 발명은 웹 서비스를 제공하는 웹 서버를 통해 웹 애플리케이션 공격을 탐지하고 차단하는 웹 공격 탐지 및 차단에 대한 것으로서, 보다 상세하게는 웹 서버가 수신한 웹 요청 데이터를 분석하여 웹 요청 데이터의 차단 여부를 판단할 수 있는 웹 공격 탐지 및 차단 시스템 및 그 방법에 관한 것이다.
인터넷을 통한 공격이 날로 진화하고 발전하면서 정상적인 웹(port 80, 443)을 통한 공격 또한 다양화되면서 웹 애플리케이션의 기능별 취약점을 발견하고 공격하는 지능화된 공격 방법들이 지속적으로 출현하고 있다.
이처럼 지능화된 공격 방법에 대하여 기존의 일반적인 네트워크 방화벽(Firewall), 침입 탐지 시스템(IDS: Intrusion Detection System) 및 침입 방지 시스템(IPS: Intrusion Prevention System) 등은 해당 공격 방법에 대하여 유연하게 대처하기 어렵다는 문제가 있다.
따라서 AWS(Amazon Web Services Cloud), Microsoft Azure 등의 클라우드 서비스를 통한 웹 서비스가 점점 활성화되고 있으며, 기반 인프라의 의존성을 없애 클라우드 환경에서도 저렴한 비용으로 쉽게 사용하면서 효과적으로 웹 공격을 탐지하고 차단하는 기술에 대한 니즈가 발생하고 있다.
이러한 니즈를 충족하기 위해서, 종래 대한민국 공개특허공보 제10-2010-0058695호(2010.06.04 공개)에서 웹 어플리케이션 공격 탐지를 위한 프로파일 기반의 모델과 그 선택적 적용 기법을 개시하고 있으나, 상술한 니즈를 정확히 충족시키지 못하고 있다.
즉, 상술한 종래 기술은 웹 애플리케이션의 안정성 및 가용성에 영향을 주지 않으면서 고객 맞춤형 웹 보안 서비스를 제공할 수 없으며, 인터넷 망의 상황에 따라 통신 지연을 발생할 수 있는 가능성이 높다는 점, DNS를 서비스 업체의 IP로 변경해야 하며, HTTPS로 서비스하기 위해서는 웹 방화벽 서비스 업체에 SSL 인증서와 개인키를 업로드 해야 하는 문제를 해결할 수 없다.
대한민국 공개특허공보 제10-2010-0058695호(2010.06.04 공개)
따라서, 이러한 문제점을 해결하기 위한 본 발명의 첫 번째 목적은 웹 애플리케이션의 안정성 및 가용성에 영향을 주지 않으면서 고객 맞춤형 웹 보안 서비스를 제공하며, 인터넷 망 상황과는 관계없이 웹 보안 서비스를 제공하고, 소프트웨어의 설치, 업데이트 및 버전 업그레이드를 간편하게 제공하며, 기존 네트워크 구성을 그대로 유지하면서 보안 서비스를 제공하고, IP 및 DNS를 변경하지 않고 보안 서비스를 제공하며, SSL 인증서 및 개인키 노출 제거와 더불어 초기 도입 비용을 절감시킬 수 있고, 클라우드 서버 환경에 유연하게 적용할 수 있으며, 웹 애플리케이션 보안, 클라우드에 설치되는 웹 서버, 모바일 앱 서버 측의 END POINT 및 IOT사용자 인터페이스 및 서버 측의 END POINT에 적용할 수 있는 웹 공격 탐지 및 차단 시스템을 제공하는 것이다.
또한, 두 번째 목적은 웹 애플리케이션의 안정성 및 가용성에 영향을 주지 않으면서 고객 맞춤형 웹 보안 서비스를 제공하며, 인터넷 망 상황과는 관계없이 웹 보안 서비스를 제공하고, 소프트웨어의 설치, 업데이트 및 버전 업그레이드를 간편하게 제공하며, 기존 네트워크 구성을 그대로 유지하면서 보안 서비스를 제공하고, IP 및 DNS를 변경하지 않고 보안 서비스를 제공하며, SSL 인증서 및 개인키 노출 제거와 더불어 초기 도입 비용을 절감시킬 수 있고, 클라우드 서버 환경에 유연하게 적용할 수 있으며, 웹 애플리케이션 보안, 클라우드에 설치되는 웹 서버, 모바일 앱 서버 측의 END POINT 및 IOT사용자 인터페이스 및 서버 측의 END POINT에 적용할 수 있는 웹 공격 탐지 및 차단 방법을 제공하는 것이다.
상기 첫 번째 목적을 달성하기 위하여 본 발명은, 사용자 단말로부터 웹 요청 데이터를 수신하며, 웹 애플리케이션이 대기 상태로 유지되도록 상기 웹 애플리케이션을 제어하는 필터부 및 상기 필터부로부터 상기 웹 요청 데이터를 수신하고, 상기 웹 요청 데이터를 분석하여 위험도를 판단하며, 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 웹 방화벽 데몬을 포함하는 웹 공격 탐지 및 차단 시스템을 제공한다.
상기 필터부는 상기 웹 방화벽 데몬과 동일 프로토콜로 통신을 수행하며, 상기 웹 방화벽 데몬으로부터 상기 웹 요청 데이터에 대한 위험도 판단 결과를 수신하는 제1통신 모듈 및 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 상기 제1통신 모듈을 제어하는 제1제어 모듈을 포함할 수 있다.
상기 웹 방화벽 데몬은 상기 필터부로부터 상기 웹 요청 데이터를 수신하는 제2통신 모듈, 상기 제2통신 모듈이 수신한 상기 웹 요청 데이터를 분석하여 위험도를 판단하는 위험도 판단 모듈 및 상기 웹 요청 데이터에 대한 위험도 판단 결과, 상기 웹 요청 데이터의 수정이 필요하다고 판단한 경우, 상기 웹 요청 데이터를 수정하여, 수정 웹 요청 데이터를 생성하는 데이터 변경 모듈을 포함하며, 상기 제2통신 모듈은 상기 수정 웹 요청 데이터를 상기 필터부로 송신할 수 있다.
상기 필터부는 상기 웹 요청 데이터 및 상기 웹 요청 데이터에 대한 위험도 판단 결과를 저장하는 저장 모듈을 더 포함하며, 상기 제1제어 모듈은 상기 저장 모듈이 저장하고 있는 상기 웹 요청 데이터에 대한 위험도 판단 결과를 이용하여, 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 상기 제1통신 모듈을 제어할 수 있다.
상기 필터부는 상기 웹 요청 데이터 중 상기 웹 요청 데이터를 송신한 상기 사용자 단말의 IP(Internet Protocol) 어드레스 및 URL(Uniform Resource Locator) 정보를 추출하는 정보 추출 모듈을 더 포함하며, 상기 제1통신 모듈은 상기 정보 추출 모듈이 추출한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 상기 제2통신 모듈로 송신하며, 상기 위험도 판단 모듈은 상기 제2통신 모듈이 수신한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 분석하여, 상기 웹 요청 데이터에 대한 위험도를 판단하며, 상기 사용자 단말의 IP 어드레스 및 URL 정보가 상기 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, 추가 정보 요청을 생성하며, 상기 제2통신 모듈은 상기 제1통신 모듈로 상기 추가 정보 요청을 송신할 수 있다.
상기 정보 추출 모듈은 상기 추가 정보 요청에 대응하는 추가 정보를 상기 웹 요청 데이터에서 추출하며, 상기 제1통신 모듈은 상기 정보 추출 모듈이 상기 웹 요청 데이터에서 추출한 상기 추가 정보를 상기 제2통신 모듈로 송신하고, 상기 위험도 판단 모듈은 상기 제2통신 모듈이 수신한 상기 추가 정보를 분석하여, 상기 웹 요청 데이터에 대한 위험도를 판단하며, 상기 제2통신 모듈은 상기 위험도 판단 모듈이 상기 추가 정보를 분석하여 판단한 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 제1통신 모듈로 송신할 수 있다.
상기 두 번째 목적을 달성하기 위하여 본 발명은, 필터부가 사용자 단말로부터 웹 요청 데이터를 수신하는 단계, 상기 필터부가 웹 애플리케이션이 대기 상태로 유지되도록 상기 웹 애플리케이션을 제어하는 단계, 상기 필터부가 웹 방화벽 데몬으로 상기 웹 요청 데이터를 송신하는 단계, 상기 웹 방화벽 데몬이 상기 웹 요청 데이터를 분석하여 위험도를 판단하는 단계 및 상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계를 포함하는 웹 공격 탐지 및 차단 방법을 제공한다.
상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계는 제1제어 모듈이 상기 웹 방화벽 데몬으로부터 수신한 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈을 제어하는 단계를 포함할 수 있다.
상기 웹 방화벽 데몬이 상기 웹 요청 데이터를 분석하여 위험도를 판단하는 단계는 상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과. 상기 웹 요청 데이터의 수정이 필요한 경우, 상기 웹 요청 데이터를 수정하는 단계, 상기 웹 방화벽 데몬이 상기 웹 요청 데이터를 수정한 수정 웹 요청 데이터를 생성하는 단계를 포함하며, 상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계는 상기 웹 방화벽 데몬이 상기 수정 웹 요청 데이터를 상기 필터부로 송신하는 단계를 포함할 수 있다.
상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계는 상기 필터부가 상기 웹 요청 데이터 및 상기 웹 요청 데이터에 대한 위험도 판단 결과를 저장하는 단계 및 저장되어 있는 상기 웹 요청 데이터에 대한 상기 위험도 판단 결과를 이용하여, 상기 제1제어 모듈이 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 상기 제1통신 모듈을 제어하는 단계를 포함할 수 있다.
상기 필터부가 웹 방화벽 데몬으로 상기 웹 요청 데이터를 송신하는 단계는 상기 필터부가 상기 웹 요청 데이터를 송신한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 추출하는 단계, 상기 필터부가 추출한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 상기 웹 방화벽 데몬으로 송신하는 단계, 상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보를 분석하여 상기 웹 요청 데이터에 대한 위험도를 판단하는 단계, 상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보가 상기 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, 추가 정보 요청을 생성하는 단계 및 상기 웹 방화벽 데몬이 상기 추가 정보 요청을 상기 필터부로 송신하는 단계를 포함할 수 있다.
상기 웹 방화벽 데몬이 상기 추가 정보 요청을 상기 필터부로 송신하는 단계는 상기 필터부가 상기 추가 정보 요청에 대응하는 추가 정보를 상기 웹 요청 데이터에서 추출하는 단계, 상기 필터부가 상기 웹 요청 데이터에서 추출한 추가 정보를 상기 웹 방화벽 데몬으로 송신하는 단계, 상기 웹 방화벽 데몬이 상기 추가 정보를 분석하여, 상기 웹 요청 데이터에 대한 위험도를 판단하는 단계 및 상기 웹 방화벽 데몬이 상기 추가 정보를 분석하여 판단한 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계를 포함할 수 있다.
상기에서 설명한 본 발명의 웹 공격 탐지 및 차단 시스템 및 그 방법에 의하면, 첫 번째로 웹 애플리케이션의 안정성 및 가용성에 영향을 주지 않으면서 고객 맞춤형 웹 보안 서비스를 제공할 수 있다.
그리고 두 번째로 본 발명은 인터넷 망 상황과는 관계없이 웹 보안 서비스를 제공할 수 있다.
또한, 세 번째로 본 발명은 소프트웨어의 설치, 업데이트 및 버전 업그레이드를 간편하게 제공할 수 있다.
그리고 네 번째로 본 발명은 기존 네트워크 구성을 그대로 유지하면서 보안 서비스를 제공할 수 있다.
또한, 다섯 번째로 본 발명은 IP 및 DNS를 변경하지 않고 보안 서비스를 제공할 수 있다.
그리고 여섯 번째로 본 발명은 SSL 인증서 및 개인키 노출 제거와 더불어 초기 도입 비용을 절감시킬 수 있다.
또한, 일곱 번째로 본 발명은 클라우드 서버 환경에 유연하게 적용할 수 있다.
그리고 여덟 번째로 본 발명은 웹 애플리케이션 보안, 클라우드에 설치되는 웹 서버, 모바일 앱 서버 측의 END POINT 및 IOT사용자 인터페이스 및 서버 측의 END POINT에 적용할 수 있다.
도 1은 본 발명의 일 실시예인 웹 공격 탐지 및 차단 시스템의 개략적인 구성을 나타내기 위한 도면이다.
도 2는 본 발명의 일 구성인 필터부의 개략적인 구성을 나타내기 위한 도면이다.
도 3은 본 발명의 일 구성인 웹 방화벽 데몬의 개략적인 구성을 나타내기 위한 도면이다.
도 4는 본 발명의 일 실시예인 웹 공격 탐지 및 차단 방법의 개략적인 흐름을 나타내기 위한 도면이다.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정 해석되지 아니하며, 발명자는 그 사용자의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부”, “…기”, “…단”, “모듈”, “장치” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 및/또는 소프트웨어의 결합으로 구현될 수 있다.
본 발명의 실시 예에서 사용되는 용어에 대해 간략히 설명하고, 본 실시 예들에 대해 구체적으로 설명하기로 한다.
본 발명의 실시 예에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시 예들의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 실시 예들에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 실시 예들의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 발명의 실시 예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시 예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
또한, 본 발명의 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 발명의 실시 예에서, ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의‘모듈’ 혹은 복수의‘부’는 특정한 하드웨어로 구현될 필요가 있는 ‘모듈’ 혹은 ‘부’를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
이하, 본 발명의 실시 예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예인 웹 공격 탐지 및 차단 시스템의 개략적인 구성을 나타내기 위한 도면이며, 도 2는 본 발명의 일 구성인 필터부의 개략적인 구성을 나타내기 위한 도면이고, 도 3은 본 발명의 일 구성인 웹 방화벽 데몬의 개략적인 구성을 나타내기 위한 도면이다.
도 1 내지 도 3을 참고하면, 웹 공격 탐지 및 차단 시스템(10)은 필터부(110) 및 웹 방화벽 데몬(200)을 포함할 수 있다.
그리고 필터부(110)는 제1제어 모듈(111), 제1통신 모듈(112), 정보 추출 모듈(113) 및 저장 모듈(114)을 포함할 수 있다.
또한, 웹 방화벽 데몬(200)은 제2통신 모듈(210), 위험도 판단 모듈(220) 및 데이터 변경 모듈(230)을 포함할 수 있다.
필터부(110)는 사용자 단말(1)로부터 웹 요청 데이터를 수신하며, 웹 애플리케이션(120)이 대기 상태로 유지되도록 제어할 수 있다.
그리고 필터부(110)는 웹 서버 데몬(100)에 임베디드되어 구현될 수 있다.
여기서 사용자 단말(1)은 스마트 폰, 스마트 워치, 스마트 글라스, 태블릿 PC, 노트북 PC 등의 다양한 전자 장치로 구현될 수 있다.
또한, 웹 방화벽 데몬(200)은 필터부(110)로부터 웹 요청 데이터를 수신할 수 있고, 웹 요청 데이터를 분석하여 위험도를 판단할 수 있다.
웹 방화벽 데몬(200)은 웹 요청 데이터에 대한 위험도 판단 결과를 필터부(110)로 송신할 수 있다.
여기서 웹 방화벽 데몬(200)은 웹 서버 데몬(100)에 임베디드되어 구현되는 필터부(110)와 완전히 물리적으로 분리되어 구현될 수 있다.
이를 통해 웹 애플리케이션(120)은 웹 방화벽에 버그나 오류가 발생하더라도 어떠한 영향을 받지 않는다.
따라서, 웹 방화벽 업데이트 또는 버전 업그레이드를 수행하는 경우에도 웹 서버 데몬(100)의 재구동 없이 무정지로 웹 서버 데몬(100)이 웹 요청 데이터에 대한 기능을 수행할 수 있는 효과가 있다.
제1통신 모듈(112) 및 제2통신 모듈(210)은 동일 프로토콜로 상호 간에 통신을 수행할 수 있다.
그리고 제1통신 모듈(112)은 웹 방화벽 데몬(200)으로부터 웹 요청 데이터에 대한 위험도 판단 결과를 수신할 수 있다.
또한, 제1제어 모듈(111)은 제1통신 모듈(112)이 웹 방화벽 데몬(200)으로부터 수신한 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈(112)을 제어할 수 있다.
보다 구체적으로, 제1제어 모듈(111)은 웹 요청 데이터에 대한 위험도 판단 결과, 웹 요청 데이터를 차단하는 것이 타당하다고 판단 결과에 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 웹 요청 데이터를 차단하도록 제어할 수 있다.
그리고 제1제어 모듈(111)은 웹 요청 데이터에 대한 위험도 판단 결과, 웹 요청 데이터를 통과시키는 것이 타당하다고 판단 결과에 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 웹 요청 데이터를 웹 애플리케이션(120)으로 송신하도록 제어할 수 있다.
또한, 제1통신 모듈(112)은 웹 애플리케이션(120)으로부터 해당 웹 요청 데이터에 대응하는 응답 데이터를 수신할 수 있다.
그리고 제1통신 모듈(112)은 제2통신 모듈(210)로 해당 웹 요청 데이터에 대한 응답 데이터를 송신할 수 있다.
또한, 제1통신 모듈(112)은 제2통신 모듈(210)로부터 위험도 판단 모듈(220)이 판단한 응답 데이터에 대한 위험도 판단 결과를 수신할 수 있다.
그리고 제1제어 모듈(111)은 제1통신 모듈(112)이 제2통신 모듈(210)으로부터 수신한 응답 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈(112)을 제어할 수 있다.
보다 구체적으로, 제1제어 모듈(111)은 응답 데이터에 대한 위험도 판단 결과, 응답 데이터를 차단하는 것이 타당하다고 판단 결과에 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 응답 데이터를 차단하도록 제어할 수 있다.
그리고 제1제어 모듈(111)은 응답 데이터에 대한 위험도 판단 결과, 응답 데이터를 통과시키는 것이 타당하다고 판단 결과에 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 응답 데이터를 웹 요청 데이터를 송신한 사용자 단말(1)로 송신하도록 제어할 수 있다.
제2통신 모듈(210)은 필터부(110)로부터 웹 요청 데이터를 수신할 수 있다.
그리고 위험도 판단 모듈(220)은 제2통신 모듈(210)이 제1통신 모듈(112)로부터 수신한 웹 요청 데이터를 분석하여 위험도를 판단할 수 있다.
또한, 위험도 판단 모듈(220)은 제2통신 모듈(210)이 제1통신 모듈(112)로부터 수신한 응답 데이터를 분석하여 위험도를 판단할 수 있다.
여기서 위험도 판단 모듈(220)이 판단하는 위험도는 웹 요청 데이터, 웹 요청 데이터에 대한 응답 데이터 등에 포함될 수 있는 다양한 공격 위험을 판단하는 것이다.
보다 구체적으로 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등이 HTTPS / HTTP v1.0, v1.1, v2 기반의 웹 공격 위험성을 포함하고 있는 경우, 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있으며, 웹 요청 데이터, 응답 데이터 등을 차단하는 것이 타당하다고 판단할 수 있다.
또한, 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등이 기 설정된 제1기준인 인젝션(Injection), 인증 및 세션 관리 취약점(Broken Authentication and Session Management), 민감 데이터 노출(Sensitive Data Exposure), XML 외부 개체 (XXE)(XML External Entities (XXE)), 취약한 접근 제어(Broken Access Control), 보안 설정 오류(Security Misconfiguration), 크로스 사이트 스크립팅(Cross-Site Scripting (XSS)), 안전하지 않은 역직렬화(Insecure Deserialization), 알려진 취약점이 있는 컴포넌트 사용(Using Components with Known Vulnerabilities) 및 불충분한 로깅 및 모니터링(Insufficient Logging & Monitoring) 중 적어도 하나를 포함하고 있는 경우, 웹 요청 데이터, 응답 데이터 등을 비정상으로 판단할 수 있고, 이를 통해, 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등을 차단하는 것이 타당하다는 판단 결과를 도출할 수 있으며, 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있다.
여기서 인젝션은 SQL/XQuery/XPath/LDAP 인젝션을 포함할 수 있다.
또한, 위험도 판단 모듈(220)은 기 설정된 제1규칙으로서, 알려진 스팸 또는 악의적인 활동으로부터 보호하는 규칙(REQUEST-910-IP-REPUTATION), 메서드(PUT, PATCH 등)를 잠그는 규칙(REQUEST-911-METHOD-ENFORCEMENT), 공격으로부터 보호하는 규칙(REQUEST-912-DOS-PROTECTION DoS(서비스 거부)), 포트 및 환경 스캐너로부터 보호하는 규칙(REQUEST-913-SCANNER-DETECTION), 프로토콜 및 인코딩 문제로부터 보호하는 규칙(REQUEST-920-PROTOCOL-ENFORCEMENT), 헤더 주입, 밀수 요청 및 응답 분할로부터 보호하는 규칙(REQUEST-921-PROTOCOL-ATTACK), 파일 및 경로 공격으로부터 보호하는 규칙(REQUEST-930-APPLICATION-ATTACK-LFI), RFI(원격 파일 포함)로부터 보호하는 규칙(REQUEST-931-APPLICATION-ATTACK-RFI), 원격 코드 실행으로부터 보호하는 규칙(REQUEST-932-APPLICATION-ATTACK-RCE), PHP 주입 공격으로부터 보호하는 규칙(REQUEST-933-APPLICATION-ATTACK-PHP), 사이트 간 스크립팅으로부터 보호하기 위한 규칙(REQUEST-941-APPLICATION-ATTACK-XSS), SQL 주입 공격으로부터 보호하기 위한 규칙(REQUEST-942-APPLICATION-ATTACK-SQLI) 및 세션 고정 공격으로부터 보호하는 규칙(REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION) 중 적어도 하나를 이용하여 웹 요청 데이터, 응답 데이터 등을 차단하는 것이 타당하다는 판단 결과를 도출할 수 있으며, 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있다.
그리고 웹 요청 데이터, 응답 데이터 등이 기 설정된 제1기준 중 적어도 하나를 포함하고 있는 경우, 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있다.
또한, 위험도 판단 모듈(220)은 PCI 데이터 보안 표준(PCI DSS)에 웹 요청 데이터, 응답 데이터 등이 적합한지 여부를 판단함으로써, 웹 요청 데이터, 응답 데이터 등의 위험도를 판단할 수 있다.
즉, 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등이 PCI 데이터 보안 표준(PCI DSS)에 적합한 경우, 웹 요청 데이터, 응답 데이터 등을 정상으로 판단할 수 있고, 웹 요청 데이터, 응답 데이터 등이 PCI 데이터 보안 표준(PCI DSS)에 적합하지 않은 경우, 웹 요청 데이터, 응답 데이터 등을 차단하는 것이 타당하다는 판단 결과를 도출할 수 있으며, 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있다.
그리고 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등이 기 설정된 제2기준인 디렉토리 리스팅 취약점, 파일 다운로드 취약점, 크로스 사이트 스크립트 취약점, 파일 업로드 취약점, WebDAV 취약점, 테크노트(Technote) 취약점, 제로보드(Zeroboard) 취약점 및 SQL Injection 취약점 중 적어도 하나를 포함하고 있는 경우, 웹 요청 데이터, 응답 데이터 등을 차단하는 것이 타당하다는 판단 결과를 도출할 수 있으며, 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있다.
또한, 위험도 판단 모듈(220)은 웹 요청 데이터, 응답 데이터 등이 경로별(URI) 파일 위변조 등에 해당하는 경우, 웹 요청 데이터, 응답 데이터 등을 차단하는 것이 타당하다는 판단 결과를 도출할 수 있으며, 웹 요청 데이터, 응답 데이터 등에 대하여 수정이 필요하다고 판단할 수 있다.
그리고 위험도 판단 모듈(220)의 웹 요청 데이터에 대한 위험도 판단 결과, 위험도 판단 모듈(220)이 웹 요청 데이터의 수정이 필요하다고 판단한 경우, 데이터 변경 모듈(230)은 웹 요청 데이터를 수정하여, 수정 웹 요청 데이터를 생성할 수 있다.
또한, 데이터 변경 모듈(230)의 웹 요청 데이터 수정은 웹 요청 데이터의 패이로드 등의 변경을 포함할 수 있다.
그리고 데이터 변경 모듈(230)은 기 설정된 제1규칙으로서, 알려진 스팸 또는 악의적인 활동으로부터 보호하는 규칙(REQUEST-910-IP-REPUTATION), 메서드(PUT, PATCH 등)를 잠그는 규칙(REQUEST-911-METHOD-ENFORCEMENT), 공격으로부터 보호하는 규칙(REQUEST-912-DOS-PROTECTION DoS(서비스 거부)), 포트 및 환경 스캐너로부터 보호하는 규칙(REQUEST-913-SCANNER-DETECTION), 프로토콜 및 인코딩 문제로부터 보호하는 규칙(REQUEST-920-PROTOCOL-ENFORCEMENT), 헤더 주입, 밀수 요청 및 응답 분할로부터 보호하는 규칙(REQUEST-921-PROTOCOL-ATTACK), 파일 및 경로 공격으로부터 보호하는 규칙(REQUEST-930-APPLICATION-ATTACK-LFI), RFI(원격 파일 포함)로부터 보호하는 규칙(REQUEST-931-APPLICATION-ATTACK-RFI), 원격 코드 실행으로부터 보호하는 규칙(REQUEST-932-APPLICATION-ATTACK-RCE), PHP 주입 공격으로부터 보호하는 규칙(REQUEST-933-APPLICATION-ATTACK-PHP), 사이트 간 스크립팅으로부터 보호하기 위한 규칙(REQUEST-941-APPLICATION-ATTACK-XSS), SQL 주입 공격으로부터 보호하기 위한 규칙(REQUEST-942-APPLICATION-ATTACK-SQLI) 및 세션 고정 공격으로부터 보호하는 규칙(REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION) 중 적어도 하나를 이용하여 웹 요청 데이터를 수정할 수 있고, 수정 웹 요청 데이터를 생성할 수 있다.
또한, 상술한 위험도 판단 모듈(220) 및 데이터 변경 모듈(230)에 대한 내용은 웹 요청 데이터뿐만 아니라 웹 요청 데이터, 수정 웹 요청 데이터 및 웹 요청 데이터 또는 수정 웹 요청 데이터에 대응하는 응답 데이터에 모두 적용될 수 있다.
그리고 제2통신 모듈(210)은 수정 웹 요청 데이터를 필터부(110)로 송신할 수 있다.
또한, 저장 모듈(114)은 웹 요청 데이터 및 웹 요청 데이터에 대한 위험도 판단 결과를 저장할 수 있다.
보다 구체적으로, 저장 모듈(114)은 제1통신 모듈(112)이 제2통신 모듈(210)로부터 수신한 웹 요청 데이터 및 웹 요청 데이터에 대한 위험도 판단 모듈(220)의 위험도 판단 결과 중 적어도 하나를 저장할 수 있다.
또한, 저장 모듈(114)은 제1통신 모듈(112)이 제2통신 모듈(210)로부터 수신한 응답 데이터 및 응답 데이터에 대한 위험도 판단 모듈(220)의 위험도 판단 결과 중 적어도 하나를 저장할 수 있다.
그리고 상술한 제1제어 모듈(111)은 저장 모듈(114)이 저장하고 있는 웹 요청 데이터에 대한 위험도 판단 결과를 이용하여, 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈(112)을 제어할 수 있다.
보다 구체적으로, 제1제어 모듈(111)은 제1통신 모듈(112)이 사용자 단말(1)로부터 웹 요청 데이터를 수신한 경우, 해당 웹 요청 데이터에 대한 위험도 판단 결과를 저장 모듈(114)이 저장하고 있는지 판단할 수 있다.
그리고 해당 웹 요청 데이터에 대한 위험도 판단 결과를 저장 모듈(114)이 저장하고 있는 경우, 제1제어 모듈(111)은 해당 웹 요청 데이터에 대한 위험도 판단 결과를 이용하여, 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈(112)을 제어할 수 있다.
즉, 저장 모듈(114)이 저장하고 있는 해당 웹 요청 데이터에 대한 위험도 판단 결과에 웹 요청 데이터를 차단하는 것이 타당하다고 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 웹 요청 데이터를 차단하도록 제어할 수 있다.
또한, 저장 모듈(114)이 저장하고 있는 해당 웹 요청 데이터에 대한 위험도 판단 결과에 웹 요청 데이터를 통과시키는 것이 타당하다고 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 웹 요청 데이터를 웹 애플리케이션(120)으로 송신하도록 제어할 수 있다.
그리고 상술한 제1제어 모듈(111)은 저장 모듈(114)이 저장하고 있는 응답 데이터에 대한 위험도 판단 결과를 이용하여, 응답 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈(112)을 제어할 수 있다.
보다 구체적으로, 제1제어 모듈(111)은 제1통신 모듈(112)이 웹 애플리케이션(120)으로부터 응답 데이터를 수신한 경우, 해당 응답 데이터에 대한 위험도 판단 결과를 저장 모듈(114)이 저장하고 있는지 판단할 수 있다.
그리고 해당 응답 데이터에 대한 위험도 판단 결과를 저장 모듈(114)이 저장하고 있는 경우, 제1제어 모듈(111)은 해당 응답 데이터에 대한 위험도 판단 결과를 이용하여, 응답 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈(112)을 제어할 수 있다.
즉, 저장 모듈(114)이 저장하고 있는 해당 응답 데이터에 대한 위험도 판단 결과에 응답 데이터를 차단하는 것이 타당하다고 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 응답 데이터를 차단하도록 제어할 수 있다.
또한, 저장 모듈(114)이 저장하고 있는 해당 응답 데이터에 대한 위험도 판단 결과에 응답 데이터를 통과시키는 것이 타당하다고 나타난 경우, 제1제어 모듈(111)은 제1통신 모듈(112)이 해당 응답 데이터를 사용자 단말(1)로 송신하도록 제어할 수 있다.
이처럼 저장 모듈(114)이 웹 요청 데이터에 대한 위험도 판단 결과 또는 응답 데이터에 대한 위험도 판단 결과를 저장하고 있음으로써, 보다 신속하고 정확하게 필터부(110)가 웹 요청 데이터에 대한 필터링을 수행할 수 있으며, 웹 방화벽 데몬(200)과 필터부(110) 간의 송수신이 원활하지 않은 경우에도 대비할 수 있는 효과가 있다.
그리고 정보 추출 모듈(113)은 웹 요청 데이터 중 웹 요청 데이터를 송신한 사용자 단말(1)의 IP(Internet Protocol) 어드레스 및 URL(Uniform Resource Locator) 정보를 추출할 수 있다.
또한, 제1통신 모듈(112)은 정보 추출 모듈(113)이 추출한 사용자 단말(1)의 IP 어드레스 및 URL 정보를 상기 제2통신 모듈(210)로 송신할 수 있다.
그리고 위험도 판단 모듈(220)은 제2통신 모듈(210)이 수신한 사용자 단말(1)의 IP 어드레스 및 URL 정보를 분석하여, 웹 요청 데이터에 대한 위험도를 판단할 수 있다.
또한, 위험도 판단 모듈(220)은 사용자 단말(1)의 IP 어드레스 및 URL 정보가 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, 추가 정보 요청을 생성할 수 있다.
그리고 제2통신 모듈(210)은 제1통신 모듈(112)로 추가 정보 요청을 송신할 수 있다.
또한, 정보 추출 모듈(113)은 추가 정보 요청에 대응하는 추가 정보를 웹 요청 데이터에서 추출할 수 있다.
그리고 제1통신 모듈(112)은 정보 추출 모듈(113)이 웹 요청 데이터에서 추출한 추가 정보를 제2통신 모듈(210)로 송신할 수 있다.
또한, 위험도 판단 모듈(220)은 제2통신 모듈(210)이 제1통신 모듈(112)로부터 수신한 추가정보를 분석하여, 웹 요청 데이터에 대한 위험도를 판단할 수 있다.
그리고 제2통신 모듈(210)은 위험도 판단 모듈(220)이 추가 정보를 분석하여 판단한 웹 요청 데이터에 대한 위험도 판단 결과를 제1통신 모듈(112)로 송신할 수 있다.
도 4는 본 발명의 일 실시예인 웹 공격 탐지 및 차단 방법의 개략적인 흐름을 나타내기 위한 도면이다.
도 4를 참고하면, 필터부(110)가 사용자 단말(1)로부터 웹 요청 데이터를 수신할 수 있다.(S430)
그리고 필터부(110)가 웹 애플리케이션(120)이 대기 상태로 유지되도록 웹 애플리케이션(120)을 제어할 수 있다.(S431)
또한, 필터부(110)는 웹 방화벽 데몬(200)으로 웹 요청 데이터를 송신할 수 있다.(S432)
필터부(110)는 웹 요청 데이터를 송신한 사용자 단말(1)의 IP 어드레스 및 URL 정보를 추출할 수 있다.
그리고 필터부(110)는 추출한 사용자 단말(1)의 IP 어드레스 및 URL 정보를 웹 방화벽 데몬(200)으로 송신할 수 있다.
또한, 웹 방화벽 데몬(200)은 사용자 단말(1)의 IP 어드레스 및 URL 정보를 분석하여 웹 요청 데이터에 대한 위험도를 판단할 수 있다.
그리고 웹 방화벽 데몬(200)은 사용자 단말(1)의 IP 어드레스 및 URL 정보가 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, 추가 정보 요청을 생성할 수 있다.
또한, 웹 방화벽 데몬(200)은 추가 정보 요청을 필터부(110)로 송신할 수 있다.
그리고 필터부(110)는 추가 정보 요청에 대응하는 추가 정보를 웹 요청 데이터에서 추출할 수 있다.
또한, 필터부(110)는 웹 요청 데이터에서 추출한 추가 정보를 웹 방화벽 데몬(200)으로 송신할 수 있다.
그리고 웹 방화벽 데몬(200)은 추가 정보를 분석하여, 웹 요청 데이터에 대한 위험도를 판단할 수 있다.
또한, 웹 방화벽 데몬(200)은 추가 정보를 분석하여 판단한 웹 요청 데이터에 대한 위험도 판단 결과를 필터부(110)로 송신할 수 있다.
그리고 웹 방화벽 데몬(200)이 웹 요청 데이터를 분석하여 위험도를 판단할 수 있다.(S433)
또한, 웹 방화벽 데몬(200)이 웹 요청 데이터에 대한 위험도 판단 결과, 웹 요청 데이터의 수정이 필요한 경우, 웹 방화벽 데몬(200)은 웹 요청 데이터를 수정할 수 있다.
그리고 웹 방화벽 데몬(200)은 웹 요청 데이터를 수정한 수정 웹 요청 데이터를 생성할 수 있다.
또한, 웹 방화벽 데몬(200)이 웹 요청 데이터에 대한 위험도 판단 결과를 필터부(110)로 송신할 수 있다.(S434)
그리고 필터부(110)의 제1제어 모듈(111)은 웹 방화벽 데몬(200)으로부터 수신한 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 필터부(110)의 제1통신 모듈(112)을 제어할 수 있다.
또한, 웹 방화벽 데몬(200)은 수정 웹 요청 데이터를 필터부(110)로 송신할 수 있다.
그리고 필터부(110)는 웹 요청 데이터 및 웹 요청 데이터에 대한 위험도 판단 결과를 저장할 수 있다.
그리고 저장되어 있는 웹 요청 데이터에 대한 위험도 판단 결과를 이용하여, 필터부(110)의 제1제어 모듈(111)은 저장하고 있는 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 필터부(110)의 제1통신 모듈(112)을 제어할 수 있다.
상기와 같이 본 발명의 실시 예에 따른 웹 공격 탐지 및 차단 시스템 및 그 방법의 구성 및 동작이 이루어질 수 있으며, 한편 상기 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다.
이상에서 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 수정 및 변형이 가능함은 물론이다.
본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1: 사용자 단말 2: 네트워크 방화벽
10: 웹 공격 탐지 및 차단 시스템 100: 웹 서버 데몬
110: 필터부 111: 제1제어 모듈
112: 제1통신 모듈 113: 정보 추출 모듈
114: 저장 모듈 120: 웹 애플리케이션
200: 웹 방화벽 데몬 210: 제2통신 모듈
220: 위험도 판단 모듈 230: 데이터 변경 모듈

Claims (12)

  1. 사용자 단말로부터 웹 요청 데이터를 수신하며, 웹 애플리케이션이 대기 상태로 유지되도록 상기 웹 애플리케이션을 제어하는 필터부;및
    상기 필터부로부터 상기 웹 요청 데이터를 수신하고, 상기 웹 요청 데이터를 분석하여 위험도를 판단하며, 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 웹 방화벽 데몬;
    을 포함하며,
    상기 필터부는
    상기 웹 방화벽 데몬과 동일 프로토콜로 통신을 수행하며, 상기 웹 방화벽 데몬으로부터 상기 웹 요청 데이터에 대한 위험도 판단 결과를 수신하는 제1통신 모듈;
    상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 상기 제1통신 모듈을 제어하는 제1제어 모듈;및
    상기 웹 요청 데이터 중 상기 웹 요청 데이터를 송신한 상기 사용자 단말의 IP(Internet Protocol) 어드레스 및 URL(Uniform Resource Locator) 정보를 추출하는 정보 추출 모듈;
    을 포함하고,
    상기 웹 방화벽 데몬은
    상기 필터부로부터 상기 웹 요청 데이터를 수신하는 제2통신 모듈;
    상기 제2통신 모듈이 수신한 상기 웹 요청 데이터를 분석하여 위험도를 판단하는 위험도 판단 모듈;및
    상기 웹 요청 데이터에 대한 위험도 판단 결과, 상기 웹 요청 데이터의 수정이 필요하다고 판단한 경우, 상기 웹 요청 데이터를 수정하여, 수정 웹 요청 데이터를 생성하는 데이터 변경 모듈;
    을 포함하며,
    상기 제1통신 모듈은
    상기 정보 추출 모듈이 추출한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 상기 제2통신 모듈로 송신하며,
    상기 위험도 판단 모듈은
    상기 제2통신 모듈이 수신한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 분석하여, HTTPS / HTTP v1.0, v1.1, v2 기반의 웹 공격 위험성 포함, 기 설정된 제1기준 포함, PCI 데이터 보안 표준(PCI DSS) 부적합 및 기 설정된 제2기준 포함 중 적어도 하나에 해당하는지 확인함으로써, 상기 웹 요청 데이터에 대한 위험도를 판단하며, 상기 사용자 단말의 IP 어드레스 및 URL 정보가 상기 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, HTTPS / HTTP v1.0, v1.1, v2 기반의 웹 공격 위험성 포함, 기 설정된 제1기준 포함, PCI 데이터 보안 표준(PCI DSS) 부적합 및 기 설정된 제2기준 포함 중 적어도 하나에 해당하는지 확인을 위한 추가 정보 요청을 생성하며,
    상기 제2통신 모듈은
    상기 수정 웹 요청 데이터를 상기 필터부로 송신하며, 상기 제1통신 모듈로 상기 추가 정보 요청을 송신하며,
    상기 제1기준은
    인젝션(Injection), 인증 및 세션 관리 취약점(Broken Authentication and Session Management), 민감 데이터 노출(Sensitive Data Exposure), XML 외부 개체 (XXE)(XML External Entities (XXE)), 취약한 접근 제어(Broken Access Control), 보안 설정 오류(Security Misconfiguration), 크로스 사이트 스크립팅(Cross-Site Scripting (XSS)), 안전하지 않은 역직렬화(Insecure Deserialization), 알려진 취약점이 있는 컴포넌트 사용(Using Components with Known Vulnerabilities) 및 불충분한 로깅 및 모니터링(Insufficient Logging & Monitoring) 중 적어도 하나를 포함하고 있는 경우를 의미하며,
    상기 제2기준은
    디렉토리 리스팅 취약점, 파일 다운로드 취약점, 크로스 사이트 스크립트 취약점, 파일 업로드 취약점, WebDAV 취약점, 테크노트(Technote) 취약점, 제로보드(Zeroboard) 취약점 및 SQL Injection 취약점 중 적어도 하나를 포함하고 있는 경우를 의미하는 것을 특징으로 하는 웹 공격 탐지 및 차단 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 필터부는
    상기 웹 요청 데이터 및 상기 웹 요청 데이터에 대한 위험도 판단 결과를 저장하는 저장 모듈;
    을 더 포함하며,
    상기 제1제어 모듈은
    상기 저장 모듈이 저장하고 있는 상기 웹 요청 데이터에 대한 위험도 판단 결과를 이용하여, 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 상기 제1통신 모듈을 제어하는 것을 특징으로 하는 웹 공격 탐지 및 차단 시스템.
  5. 삭제
  6. 제1항에 있어서,
    상기 정보 추출 모듈은
    상기 추가 정보 요청에 대응하는 추가 정보를 상기 웹 요청 데이터에서 추출하며,
    상기 제1통신 모듈은
    상기 정보 추출 모듈이 상기 웹 요청 데이터에서 추출한 상기 추가 정보를 상기 제2통신 모듈로 송신하고,
    상기 위험도 판단 모듈은
    상기 제2통신 모듈이 수신한 상기 추가 정보를 분석하여, 상기 웹 요청 데이터에 대한 위험도를 판단하며,
    상기 제2통신 모듈은
    상기 위험도 판단 모듈이 상기 추가 정보를 분석하여 판단한 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 제1통신 모듈로 송신하는 것을 특징으로 하는 웹 공격 탐지 및 차단 시스템.
  7. 필터부가 사용자 단말로부터 웹 요청 데이터를 수신하는 단계;
    상기 필터부가 웹 애플리케이션이 대기 상태로 유지되도록 상기 웹 애플리케이션을 제어하는 단계;
    상기 필터부가 웹 방화벽 데몬으로 상기 웹 요청 데이터를 송신하는 단계;
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터를 분석하여 위험도를 판단하는 단계;및
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계;
    를 포함하되,
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계는
    제1제어 모듈이 상기 웹 방화벽 데몬으로부터 수신한 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 제1통신 모듈을 제어하는 단계;
    를 포함하며,
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터를 분석하여 위험도를 판단하는 단계는
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과. 상기 웹 요청 데이터의 수정이 필요한 경우, 상기 웹 요청 데이터를 수정하는 단계;
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터를 수정한 수정 웹 요청 데이터를 생성하는 단계;
    를 포함하며,
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계는
    상기 웹 방화벽 데몬이 상기 수정 웹 요청 데이터를 상기 필터부로 송신하는 단계;
    를 포함하고,
    상기 필터부가 웹 방화벽 데몬으로 상기 웹 요청 데이터를 송신하는 단계는
    상기 필터부가 상기 웹 요청 데이터를 송신한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 추출하는 단계;
    상기 필터부가 추출한 상기 사용자 단말의 IP 어드레스 및 URL 정보를 상기 웹 방화벽 데몬으로 송신하는 단계;
    상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보를 분석하여 상기 웹 요청 데이터에 대한 위험도를 판단하는 단계;
    상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보가 상기 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, 추가 정보 요청을 생성하는 단계;및
    상기 웹 방화벽 데몬이 상기 추가 정보 요청을 상기 필터부로 송신하는 단계;
    를 포함하며,
    상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보를 분석하여 상기 웹 요청 데이터에 대한 위험도를 판단하는 단계는
    상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보를 분석하여, HTTPS / HTTP v1.0, v1.1, v2 기반의 웹 공격 위험성 포함, 기 설정된 제1기준 포함, PCI 데이터 보안 표준(PCI DSS) 부적합 및 기 설정된 제2기준 포함 중 적어도 하나에 해당하는지 확인함으로써, 상기 웹 요청 데이터에 대한 위험도를 판단하는 단계;
    를 포함하며,
    상기 웹 방화벽 데몬이 상기 사용자 단말의 IP 어드레스 및 URL 정보가 상기 웹 요청 데이터에 대한 위험도를 판단하기에 부족하다고 판단한 경우, 추가 정보 요청을 생성하는 단계는
    상기 웹 방화벽 데몬이 HTTPS / HTTP v1.0, v1.1, v2 기반의 웹 공격 위험성 포함, 기 설정된 제1기준 포함, PCI 데이터 보안 표준(PCI DSS) 부적합 및 기 설정된 제2기준 포함 중 적어도 하나에 해당하는지 확인을 위한 추가 정보 요청을 생성하는 단계;
    를 포함하고,
    상기 제1기준은
    인젝션(Injection), 인증 및 세션 관리 취약점(Broken Authentication and Session Management), 민감 데이터 노출(Sensitive Data Exposure), XML 외부 개체 (XXE)(XML External Entities (XXE)), 취약한 접근 제어(Broken Access Control), 보안 설정 오류(Security Misconfiguration), 크로스 사이트 스크립팅(Cross-Site Scripting (XSS)), 안전하지 않은 역직렬화(Insecure Deserialization), 알려진 취약점이 있는 컴포넌트 사용(Using Components with Known Vulnerabilities) 및 불충분한 로깅 및 모니터링(Insufficient Logging & Monitoring) 중 적어도 하나를 포함하고 있는 경우를 의미하며,
    상기 제2기준은
    디렉토리 리스팅 취약점, 파일 다운로드 취약점, 크로스 사이트 스크립트 취약점, 파일 업로드 취약점, WebDAV 취약점, 테크노트(Technote) 취약점, 제로보드(Zeroboard) 취약점 및 SQL Injection 취약점 중 적어도 하나를 포함하고 있는 경우를 의미하는 것을 특징으로 하는 웹 공격 탐지 및 차단 방법.
  8. 삭제
  9. 삭제
  10. 제7항에 있어서,
    상기 웹 방화벽 데몬이 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계는
    상기 필터부가 상기 웹 요청 데이터 및 상기 웹 요청 데이터에 대한 위험도 판단 결과를 저장하는 단계;및
    저장되어 있는 상기 웹 요청 데이터에 대한 상기 위험도 판단 결과를 이용하여, 상기 제1제어 모듈이 상기 웹 요청 데이터에 대한 위험도 판단 결과에 대응하도록 상기 제1통신 모듈을 제어하는 단계;
    를 포함하는 웹 공격 탐지 및 차단 방법.
  11. 삭제
  12. 제7항에 있어서,
    상기 웹 방화벽 데몬이 상기 추가 정보 요청을 상기 필터부로 송신하는 단계는
    상기 필터부가 상기 추가 정보 요청에 대응하는 추가 정보를 상기 웹 요청 데이터에서 추출하는 단계;
    상기 필터부가 상기 웹 요청 데이터에서 추출한 추가 정보를 상기 웹 방화벽 데몬으로 송신하는 단계;
    상기 웹 방화벽 데몬이 상기 추가 정보를 분석하여, 상기 웹 요청 데이터에 대한 위험도를 판단하는 단계;및
    상기 웹 방화벽 데몬이 상기 추가 정보를 분석하여 판단한 상기 웹 요청 데이터에 대한 위험도 판단 결과를 상기 필터부로 송신하는 단계;
    를 포함하는 웹 공격 탐지 및 차단 방법.
KR1020180063747A 2018-06-01 2018-06-01 웹 공격 탐지 및 차단 시스템 및 그 방법 KR101959544B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180063747A KR101959544B1 (ko) 2018-06-01 2018-06-01 웹 공격 탐지 및 차단 시스템 및 그 방법
PCT/KR2018/011981 WO2019231057A1 (ko) 2018-06-01 2018-10-11 웹 공격 탐지 및 차단 시스템 및 그 방법
US16/492,390 US11171919B1 (en) 2018-06-01 2018-10-11 Web attack detecting and blocking system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180063747A KR101959544B1 (ko) 2018-06-01 2018-06-01 웹 공격 탐지 및 차단 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101959544B1 true KR101959544B1 (ko) 2019-03-18

Family

ID=65948909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180063747A KR101959544B1 (ko) 2018-06-01 2018-06-01 웹 공격 탐지 및 차단 시스템 및 그 방법

Country Status (3)

Country Link
US (1) US11171919B1 (ko)
KR (1) KR101959544B1 (ko)
WO (1) WO2019231057A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042490A (ko) * 2002-11-14 2004-05-20 한국전자통신연구원 네트워크 상의 방화벽 검열 우회 방지 시스템 및 그 방법
KR20090076556A (ko) * 2008-01-09 2009-07-13 한남대학교 산학협력단 웹 서버 보안 방법 및 이를 위한 웹 방화벽
KR20100058695A (ko) 2008-11-25 2010-06-04 박영민 웹 어플리케이션 공격 탐지를 위한 프로파일 기반의 모델과 그 선택적 적용 기법
KR101005927B1 (ko) * 2010-07-05 2011-01-07 펜타시큐리티시스템 주식회사 웹 어플리케이션 공격 탐지 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080735A1 (en) * 2004-09-30 2006-04-13 Usa Revco, Llc Methods and systems for phishing detection and notification
US8458769B2 (en) * 2009-12-12 2013-06-04 Akamai Technologies, Inc. Cloud based firewall system and service
US8370940B2 (en) * 2010-04-01 2013-02-05 Cloudflare, Inc. Methods and apparatuses for providing internet-based proxy services
US20150020188A1 (en) * 2013-07-14 2015-01-15 Check Point Software Technologies Ltd. Network Host Provided Security System for Local Networks
US9654445B2 (en) * 2013-11-13 2017-05-16 ProtectWise, Inc. Network traffic filtering and routing for threat analysis
US9860208B1 (en) * 2014-09-30 2018-01-02 Palo Alto Networks, Inc. Bridging a virtual clone of a target device in a honey network to a suspicious device in an enterprise network
US10044675B1 (en) * 2014-09-30 2018-08-07 Palo Alto Networks, Inc. Integrating a honey network with a target network to counter IP and peer-checking evasion techniques
KR101625338B1 (ko) 2015-10-20 2016-05-27 홍익대학교세종캠퍼스산학협력단 악성 경유지를 탐지하는 시스템 및 방법
US10855725B2 (en) * 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042490A (ko) * 2002-11-14 2004-05-20 한국전자통신연구원 네트워크 상의 방화벽 검열 우회 방지 시스템 및 그 방법
KR20090076556A (ko) * 2008-01-09 2009-07-13 한남대학교 산학협력단 웹 서버 보안 방법 및 이를 위한 웹 방화벽
KR20100058695A (ko) 2008-11-25 2010-06-04 박영민 웹 어플리케이션 공격 탐지를 위한 프로파일 기반의 모델과 그 선택적 적용 기법
KR101005927B1 (ko) * 2010-07-05 2011-01-07 펜타시큐리티시스템 주식회사 웹 어플리케이션 공격 탐지 방법

Also Published As

Publication number Publication date
US20210328970A1 (en) 2021-10-21
WO2019231057A1 (ko) 2019-12-05
US11171919B1 (en) 2021-11-09

Similar Documents

Publication Publication Date Title
US11916933B2 (en) Malware detector
EP3704846B1 (en) Cloud-based multi-function firewall and zero trust private virtual network
US7814543B2 (en) System and method for securing a computer system connected to a network from attacks
US7716727B2 (en) Network security device and method for protecting a computing device in a networked environment
KR101130394B1 (ko) 보안 통신에서 네트워크 환경을 통해 전달된 컴퓨터 익스플로이트로부터 컴퓨팅 장치를 보호하기 위한 시스템 및 방법
US7950056B1 (en) Behavior based processing of a new version or variant of a previously characterized program
EP1564964A2 (en) Network security device and method for protecting a computing device in a networked environment
US11803647B2 (en) Computer system vulnerability lockdown mode
CN114257407B (zh) 基于白名单的设备连接控制方法、装置、计算机设备
US10757118B2 (en) Method of aiding the detection of infection of a terminal by malware
US9390290B1 (en) Applying group policies
KR101959544B1 (ko) 웹 공격 탐지 및 차단 시스템 및 그 방법
US11451584B2 (en) Detecting a remote exploitation attack
US20240330474A1 (en) Policy-based blocking of vulnerable software installations using a proxy
US20230216830A1 (en) Client-side firewall
Kritikos A practical approach for web application security
Bezborodov Intrusion Detection Systems and Intrusion Prevention System with Snort provided by Security Onion.
CN113765859A (zh) 网络安全过滤方法及装置
JP2020107335A (ja) 情報処理システム、サーバ装置、サーバ装置の制御方法およびプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant