[go: up one dir, main page]

KR102726463B1 - 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법 - Google Patents

멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법 Download PDF

Info

Publication number
KR102726463B1
KR102726463B1 KR1020240109920A KR20240109920A KR102726463B1 KR 102726463 B1 KR102726463 B1 KR 102726463B1 KR 1020240109920 A KR1020240109920 A KR 1020240109920A KR 20240109920 A KR20240109920 A KR 20240109920A KR 102726463 B1 KR102726463 B1 KR 102726463B1
Authority
KR
South Korea
Prior art keywords
data
web
learning
web server
module
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020240109920A
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 KR1020240109920A priority Critical patent/KR102726463B1/ko
Application granted granted Critical
Publication of KR102726463B1 publication Critical patent/KR102726463B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L63/0245Filtering by information in the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 실시예는 어텐션 딥러닝(Attention-Based Neural Network Deep Learning) 기반의 추론모델을 탑재하고, 설정된 필드 별로 웹 공격의 피처(Feature)를 추출한 학습 데이터 기반으로 실시간으로 웹서버에서 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지하는 웹방화벽 서비스부재를 포함한다.

Description

멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법{Artificial intelligence hosted web firewall service system for managing web server security in a multi-cloud environment and method thereof}
본 발명은 멀티 클라우드 환경에서 웹서버의 보안을 관리하기 위한 인공지능 기반의 호스트형 웹방화벽에 관한 것으로, 웹 공격 데이터를 수집, 처리 및 분석하여 웹서버의 보안을 강화하는 기술에 관한 것이다.
웹방화벽(Web Application Firewall, WAF)은, 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션이다.
웹방화벽의 기본 역할은 SQL Injection, Cross-Site Scripting(XSS)등과 같은 웹 공격을 탐지하고 차단하는 것으로, 직접적인 웹 공격 대응 이외에도 정보유출방지솔루션, 부정로그인방지솔루션, 웹사이트위변조방지솔루션등으로 활용이 가능하다.
즉, 웹방화벽은 웹 보안 기능을 제공하면서도 미처 예상하지 못했던 외부의 공격으로부터 지켜내고, 사전에 발견하지 못했던 내부의 위험 요소로부터 지켜낼 수 있도록 한다.
최근 보안관제센터(SOC)에서는 지속적인 기술인력 부족문제, 증가하는 보안장비로 인해 침입탐지이벤트의 증가 등으로 인해 보안시스템에 머신러닝을 적용하고 있다.
그러나, 머신러닝 모델이 적용된 종래의 웹방화벽은 머신러닝의 피처으로 인해 보안이벤트에 대한 정확한 정탐과 오탐을 구분하기 위한 보안이벤트의 분석이 필요하다. 즉, 종래기술에서는 오탐과 정탐의 구분을 위하여 도메인에 있는 보안이벤트 식별이 가장 중요하며, 이를 위해서는 학습데이터의 수집과 분석이 필요하다.
하지만, 종래 기술의 학습데이터 수집은 많은 시간과 전문가의 개입이 필요하고, 멀티 클라우드 환경과 같이 다양한 소스에서 발생하는 공격에 대해 효과적으로 대응이 어려운 문제점이 있다.
KR 10-2374127 B1(2022.03.08)
본 발명은 멀티 클라우드 환경에서의 다양한 소스에서 발생하는 공격에 효과적으로 대응할 수 있도록 데이터를 수집 및 실시간으로 분석할 수 있는 인공지능 모델을 탑재하여 웹서버의 보안을 강화할 수 있는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽을 제공함에 있다.
본 발명의 실시예는 웹서버 및 어텐션 딥러닝(Attention-Based Neural Network Deep Learning) 기반의 추론모델을 탑재하고, 설정된 필드 별로 웹 공격의 피처(Feature)를 추출한 학습 데이터 기반으로 실시간으로 웹서버에서 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지하는 웹방화벽 서비스부재를 포함한다.
웹 방화벽 서비스부재는 데이터를 수집하고, 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘이 적용되어 수집된 데이터를 사용자 정의 규칙에 의해 설정된 학습 데이터세트로 변환하는 데이터 수집부와, 데이터 수집부에서 수집된 데이터를 데이터 정제(Data cleaning), 데이터 정규화 (Data normalization), 데이터 분할 (Data splitting), 피처 추출(Feature engineering), 차원 축소 (Dimensionality reduction), 데이터 증강 (Data augmentation), 데이터 비식별화 (Data De-Identification) 중 적어도 하나 처리하는 데이터 처리부와, 자연어처리(NLP) 기법을 적용하여 데이터에서 웹 공격의 피처(Feature)를 추출하고, 추출된 피처(Feature)를 설정된 필드에 따라 클러스터링(Clustering)하여 저장하는 피처 추출부 및 피처 추출부에서 추출 및 클러스터링된 피처(Feature)를 학습하고, 데이터를 분석하여 웹 공격을 탐지하는 탐지부를 포함할 수 있다.
그리고, 데이터 수집부는 자동화된 데이터 수집 에이전트를 각 웹서버에 설치하여 실시간으로 HTTP 요청과 응답을 모니터링하여 데이터를 수집하고, 수집된 데이터에서 설정된 웹 공격 유형을 식별하여 저장하는 데이터 수집 모듈과, 수집 모듈의 수집 데이터를 라벨링 알고리즘을 통해 공격 유형별로 자동 라벨링하고, 라벨링된 데이터를 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘을 적용하여 학습 데이터세트로 변환하는 데이터 변환 모듈과, 추론모델의 지속적, 진화를 위하여 지속적으로 데이터 피드백 루프를 통해 새로운 공격 패턴이 감지되면 학습 데이터세트에 추가하여 추론모델이 지속적으로 진화할 수 있도록 학습 데이터세트를 관리하는 데이터 관리 모듈 및 데이터세트의 상태를 시각화하여 제공하며, 데이터베이스 백업 및 복구 기능을 제공하는 데이터 관리 인터페이스를 포함한다.
또한, 데이터 변환 모듈은 라벨링된 데이터를 설정된 사용자 정의 규칙에 따라 복수의 그룹으로 분할하고, 사용자 정의 규칙에 따라 분할된 복수의 그룹은 방법 실행(메소드(Method)-ENFORCEMENT), 스캐너감지(SCANNER-DETECTION), 프로토콜 실행(PROTOCOL-ENFORCEMENT), 프로토콜 공격(PROTOCOL-ATTACK), 어플리케이션 공격(APPLICATION-ATTACK)과, 그외 그룹에 해당되지 않은 일반(GENERAL) 그룹 중 적어도 2 이상을 포함하고, 어플리케이션 공격(APPLICATION-ATTACK)은 로컬파일(LFI), 원격파일(RFI), 원격코드실행(RCE), PHP, 크로스 사이트 스크립팅(XSS), SQL, 세션고정(SESSION-FIXATION), 세션자바(SESSION-JAVA)의 그룹으로 세분화된 것을 특징으로 한다.
또한, 피처 추출부는 수집된 데이터의 텍스트에서 불용어 제거, 어간 추출, 표제어 추출을 수행하며, 텍스트 토큰화(Tokenization)를 통해 데이터의 유의미한 단위를 분리하는 전처리 과정을 실행하는 전처리 모듈과, 전처리된 데이터를 TF-IDF, Word2Vec, BERT와 같은 텍스트 표현 기법을 사용하여 데이터를 벡터화하여 피처(Feature)를 추출하고, DB에 저장하는 벡터화 모듈 및 벡터화 모듈에서 벡터화된 피처(Feature)를 머신러닝 알고리즘 또는 딥러닝 알고리즘을 통하여 설정된 필드별로 클러스터링(Clustering) 및 저장하여 추론모델의 학습 데이터로 제공하는 클러스터링 모듈을 포함한다.
그리고, 벡터화 모듈에서 추출된 피처(Feature)는 remote ip, main request, sub request, sub resource type, sub resource type group, request header, session id, session create time, session update, header cookie, header user agent, closter id 중 적어도 하나이다.
또한, 전처리 모듈은 Code snippet semantic properties를 이용한 구성된 Abstract Syntax를 이용하여 AST(Abstract Syntax Tree)를 구성하고, AST(Abstract Syntax Tree)를 통해 Path-context를 추출하는 것을 특징으로 한다.
또한, 클러스터링 모듈의 설정 필드는 URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나를 포함한다.
그리고, 추론모델은 자연어처리(NLP) 기반 머신러닝 알고리즘을 적용하여 Http Request Traffic을 각 구간별로 토큰화(Tokinizing) 하고, 피처(Feature) 별로 분류된 문자열에서 URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나를 분석하여 웹 공격 패턴을 탐지한다.
본 발명의 다른 실시예는 a)웹서버에 설치된 자동화된 데이터 수집 에이전트를 통하여 실시간으로 수신된 데이터에서 설정된 웹 공격 유형을 식별하고, 공격 유형별로 자동 라벨링하는 단계와, b)라벨링된 데이터를 데이터 정제(Data cleaning), 데이터 정규화(Data normalization), 데이터 분할(Data splitting), 피처 추출(Feature engineering), 차원 축소(Dimensionality reduction), 데이터 증강(Data augmentation), 데이터 비식별화(Data De-Identification) 중 적어도 하나 이상을 수행하여 수집된 데이터 를 변환시키는 단계와, c)수집된 데이터에서 피처(Feature)를 추출 및 벡터화하고, 벡터화된 피처를 설정된 필드로 클러스터링하여 저장하는 단계 및 d)저장된 피처(Feature)가 포함된 학습 데이터를 기반으로 학습된 어텐션 딥러닝(Attention-Based Neural Network Deep Learning) 기반의 추론모델에서 자연어처리(NLP) 벡터화 알고리즘을 통해 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지하는 단계 및 e)탐지 결과를 분석하여 정확도와 속도의 향상의 수치를 설정된 조건에 따라 비교하여 성능지표를 산출하는 단계를 포함한다.
위 실시예의 a)단계에서, 라벨링된 데이터는 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘이 적용되어 설정된 사용자 정의 그룹의 학습 데이터세트로 변환하는 것을 특징으로 한다.
여기서, c)단계는 텍스트에서 각 스크립트 언어별 Path-Context 추출을 위한 문법을 갖는 스크립트 언어를 추출하고, 추출된 스크립트 언어에서 스크립트 코드를 분해하여 Abstract Syntax를 생성하고, Abstract Syntax를 AST(Abstract Syntax Tree)로 구성하여 Path-context를 추출하는 단계와 추출된 Path-context를 벡터화하여 피처(Feature)를 추출하는 단계 및 벡터화된 피처(Feature)를 머신러닝 알고리즘 또는 딥러닝 알고리즘을 통하여 설정된 필드별로 클러스터링(Clustering) 하여 저장하는 단계를 더 포함한다.
본 발명은 인공지능 기반의 웹방화벽으로서 웹 공격의 피처(Feature)를 추출한 학습 데이터를 기반으로 실시간으로 수집된 데이터를 분석하여 멀티 클라우드 환경에서의 다양한 소스에서 발생하는 공격에 효과적으로 대응할 수 있어 웹서버(200)의 보안을 강화할 수 있다.
도 1은 본 발명에 따른 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템의 개요를 도시한 블럭도이다.
도 2는 웹 방화벽 서비스부재를 도시한 블럭도이다.
도 3은 데이터 수집부를 도시한 블럭도이다.
도 4 및 도 5는 학습 데이터세트의 예를 도시한 도면이다.
도 6은 데이터 처리부를 도시한 블럭도이다.
도 7은 비식별화 처리기법의 예를 도시한 도면이다.
도 8은 피처 추출부를 도시한 블럭도이다.
도 10은 메소드(Method) 처리 단위 추출의 예를 도시한 도면이다.
도 11은 Path-Context 생성의 예를 도시한 도면이다.
도 12는 웹 공격 데이터의 분류 및 분석의 예를 도시한 도면이다.
도 13은 본 발명에 따른 멀티 클라우드 환경 웹서버 보안관리를 위한 인공지능 호스트형 웹 방화벽 서비스 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있지만, 특정 실시예를 도면에 예시하여 상세하게 설명하고자 한다. 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 서로 다른 방향으로 연장되는 a구조물을 연결 및/또는 고정시키기 위한 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물중 어느 하나에 해당되는 것으로 이해되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 피처, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 피처들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제 하지 않는 것으로 이해되어야 한다.
이하부터는 본 발명에 따른 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명에 따른 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템의 개요를 도시한 블럭도이다.
도 1을 참조하면, 본 발명은 웹 방화벽 서비스부재(100)와, 웹서버(200) 및 복수의 사용자 단말(300)을 포함한다.
웹 방화벽 서비스부재(100)는 웹서버(200)와 별도의 관리서버이거나 단말일 수 있다.
웹 방화벽 서비스부재(100)는 기존의 WAF(Web Application Firewall)과 다르게 웹서버(200)에 임베디드 되거나 동일 웹서버(200)에서 동작하는 것이 아닌, 별도로 분리된 장치로 구성되어 웹 방화벽 분석 및 탐지를 수행하는 것을 특징으로 한다.
이와 같은 본 발명의 특징은 웹서버(200) 본연의 서비스 성능에 영향을 주지 않으며, 여러 웹서비스를 운영하는 경우 하나의 단일 창구에서 웹 어플리케이션 방화벽의 기능을 수행한다.
또한, 본 발명은 클라우드 서비스 및 기업 On-premise 환경을 통합하여 단일 창구에서 웹 어플리케이션 방화벽 기능의 수행이 가능하며, 기존의 Apache, NgineX, MS IIS와 같이 다양한 웹서버(200)에서 동작하는 웹어플리케이션 방화벽을 위한 모듈 제작이 불필요한 장점을 갖는다.
또한, 웹 방화벽 서비스부재(100)는 머신러닝 기반의 웹프로토콜 분석 및 탐지와 차단을 위하여 대량의 공격 웹프로토콜 빅데이터 기반의 인공지능 학습 모델을 구현하여 적용 사이트의 특성을 추가 학습하여 정상과 공격을 분석 판단할 수 있다.
또한, 웹 방화벽 서비스부재(100)는 대량의 공격 웹프로토콜 빅데이터를 통하여 수집하고, OWASP top 10(The Open Web Application Security Project) 또는 다양한 공격 웹프로토콜 인공지능 모델의 학습 데이터세트를 통해 웹 공격을 추론 및 탐지하는 학습데이터를 확보할 수 있다.
여기서 학습 데이터는 HTTP 요청 및 응답을 모니터링하고, 포괄적인 로깅을 제공하여 공격 시도를 기록하는 모니터링 및 로깅 데이터와, 정의된 규칙을 기반으로 웹 애플리케이션에서의 잠재적인 공격을 식별하고 차단하는 신호탐지와 차단 데이터와, 사용자 정의 규칙을 추가하거나 수정하여 특정한 환경 또는 어플리케이션에 맞춤형 보안 정책을 적용한 커스텀화 및 유연성에 관련된 데이터를 포함한다.
또한, 웹 방화벽 서비스부재(100)는 웹서비스 사이트의 특성을 반영하기 위해 일정기간 동안 정상 웹프로토콜에 대한 추가학습을 진행하여 Anormaly Detection 예측이 가능한 인공지능 학습 모델을 완성할 수 있다.
이와 같은 웹 방화벽 서비스부재(100)에 대하여 이하에서 보다 상세한 설명을 개시한다.
도 2는 웹 방화벽 서비스부재를 도시한 블럭도, 도 3은 데이터 수집부를 도시한 블럭도이다.
도 2 및 도 3을 참조하면, 웹 방화벽 서비스부재(100)는 데이터 수집부(110)와, 데이터 처리부(120)와, 피처 추출부(130)와, 탐지부(140) 및 평가부(150)를 포함한다.
데이터 수집부(110)는 데이터를 수집하는 데이터 수집 모듈(111)과, 학습 데이터세트를 생성하는 데이터 변환 모듈(112)과, 학습 데이터를 추가하는 데이터 관리 모듈(113)과, 학습 데이터 및 수집된 데이터의 상태를 시각화하여 제공하는 데이터 관리 인터페이스(114)를 포함한다.
데이터 수집 모듈(111)은 자동화된 데이터 수집 에이전트를 각 웹서버(200)에 설치하여 실시간으로 HTTP 요청과 응답을 모니터링하고 로그를 생성한다. 그리고 데이터 수집 모듈(111)은, 예를 들면, SQL 인젝션, XSS, CSRF, 인증 및 세션 관리 취약점, 보안 잘못된 구성 등 OWASP Top 10에 명시된 주요 웹 공격 유형을 식별하여 데이터베이스에 저장한다.
데이터 변환 모듈(112)은 데이터 수집 모듈(111)의 수집 데이터를 라벨링 알고리즘을 통해 공격 유형별로 자동 라벨링한다. 라벨링된 데이터는 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘이 적용되어 학습 데이터세트로 변환된다.
라벨링된 데이터는 설정된 사용자 정의 규칙에 따라 복수의 그룹으로 분할된다. 이와 같은 라벨링 데이터의 사용자 정의 규칙의 그룹들은 도 4 및 도 5에 그 일예가 도시되었다.
도 4는 사용자 정의 규칙에 따라 분류된 그룹의 종류를 도시한 것이며, 도 5는 그룹을 보다 세분화한 예를 도시한 것이다.
먼저 도 4를 참조하면, 변환 모듈(112)의 라벨링 데이터는 일반 데이터(General), 방법 실행(METHOD-ENFORCEMENT), 스캐너감지(SCANNER-DETECTION), 프로토콜 실행(PROTOCOL-ENFORCEMENT), 프로토콜 공격(PROTOCOL-ATTACK), 어플리케이션 공격(APPLICATION-ATTACK)으로 분류할 수 있다.
이중 방법 실행(METHOD-ENFORCEMENT) 그룹은 PUT 및 PATCH와 같은 락 다운 방법에 관한 데이터를 포함한다.
스캐너감지(SCANNER-DETECTION) 그룹는 스캐너의 포트 및 환경 보호에 관한 데이터를 포함한다.
프로토콜 실행(PROTOCOL-ENFORCEMENT) 그룹은 프로토콜 및 인코딩 이슈를 보호하는 데이터를 포함한다.
프로토콜 공격(PROTOCOL-ATTACK) 그룹은 헤더 삽입, 응답 분할, 요청 밀수(request smuggling)에 대한 보호를 위한 데이터를 포함한다.
어플리케이션 공격(APPLICATION-ATTACK)은 로컬파일(LFI), 원격파일(RFI), 원격코드실행(RCE), PHP, 크로스 사이트 스크립팅(XSS), SQL, 세션고정(SESSION-FIXATION), 세션자바(SESSION-JAVA)의 그룹으로 보다 세분화한다.
보다 구체적으로 어플리케이션 공격(APPLICATION-ATTACK) 그룹은 파일과 경로 공격에 대한 보호(Protect against file and path attacks), 원격파일에 대한 보호(Protect against remote file inclusion (RFI), 원격 코드 실행 공격의 보호(Protect again remote code execution attacks), PHP 주입 공격의 보호(Protect against PHP-injection attacks), 크로스 사이트 스크립트 공격의 보호(Protect against cross-site scripting attacks), SQL 주입 공격의 보호(Protect against SQL-injection attacks), 세션 고정 공격 보호(Protect against session-fixation attacks), 자바 공격의 보호(Protect against JAVA attack)의 데이터를 포함하는 그룹으로 보다 세분화된다.
이와 같은 사용자 정의 규칙에 따라 분류된 각 그룹은 ID(Rule ID)로서 도 5와 같이 하위 데이터 그룹으로 분할되며, 각 그룹은 서로 다른 피처(Feature)를 갖는 학습 데이터세트를 포함하는 데이터 시트로 제공된다.
여기서 사용자 정의 규칙으로 분할된 복수 그룹을 포함하는 데이터 시트는 OWASP 재단에서 웹 어플리케이션을 보호하기 위해 아파치나 Nginx 같은 웹 서버에 사용되며, HTTP 및 HTTPS 트래픽을 모니터링하고 필터링하여 보안 취약성을 탐지하는 오픈소스인 ModSecurity의 CRS Rule ID 데이터 시트를 포함한다.
다만, 본 발명의 사용자 정의 규칙으로 그룹화된 복수의 학습 데이터세트를 포함하는 데이터 시트는 ModSecurity의 CRS Rule ID 데이터 시트에 한정되는 것이 아니며, 그외 HTTP 및 HTTPS의 보안 취약성을 탐지할 수 있는 오픈소스 데이터를 적용할 수 있다.
데이터 관리 모듈(113)은 후술되는 인공지능 모델의 지속적, 진화를 위하여 지속적 데이터 피드백 루프를 통해 새로운 공격 패턴이 감지되면 데이터 시트에 추가하여 모델이 지속적으로 진화할 수 있도록 학습 데이터세트를 추가한다.
데이터 관리 인터페이스(114)는 운영자에게 데이터세트의 상태를 시각화하여 제공하며, 데이터베이스 백업 및 복구 기능을 제공한다.
데이터 처리부(120)는 데이터 수집부(110)에서 수집된 데이터를 데이터 정제(Data cleaning), 데이터 정규화 (Data normalization), 데이터 분할 (Data splitting), 피처 추출(Feature engineering), 차원 축소 (Dimensionality reduction), 데이터 증강 (Data augmentation), 데이터 비식별화 (Data De-Identification)를 과정을 통하여 수집된 데이터세트를 정제된 데이터로 변환시킨다.
이와 같은 데이터 처리부(120)는 도 6을 참조하여 설명한다.
도 6은 데이터 처리부를 도시한 블럭도이다.
도 6을 참조하면, 데이터 처리부(120)는 데이터 수집부(110)에서 수집된 데이터 또는 변환된 학습 데이터(이하 데이터세트로 총칭함)를 처리하기 위한 구성을 포함하다.
구체적으로 데이터 처리부(120)는 정제 모듈(121)과, 정규화 모듈(122)과, 분할 모듈(123)과, 피처 엔지니어링 모듈(124)과, 차원 축소 모듈(125)과, 데이터 증강 모듈(126)과, 데이터 비식별화 모듈(127)을 포함한다.
정제 모듈(121)은 데이터세트를 데이터 정제(Data cleaning) 한다. 데이터 정제는 수집된 데이터에서 결측값과 중복 데이터를 제거하고, 데이터의 정확성을 높이기 위한 데이터 클렌징 알고리즘이 적용된다.
정규화 모듈(122)은 정규화 기법을 통한 데이터 정규화 (Data normalization)를 진행한다. 데이터 정규화(Data normalization)는 정규화 기법을 통해 다양한 소스에서 수집된 데이터를 일관된 형식으로 변환하여 데이터의 품질을 향상시킨다.
분할 모듈(123)은 수집된 데이터세트를 데이터 분할 (Data splitting)하여 학습(Training), 검증(Validation), 테스트(Test) 세트로 분할하여 모델의 성능과 일반화 능력을 검증한다.
피처 엔지니어링 모듈(124)은 피처 엔지니어링(Feature engineering)을 수행하여웹 요청 로그에서 유용한 피처(Feature)를 추출하여 모델의 정확도를 향상시킨다. 여기에는 URL 패턴, 요청 메서드, 응답 코드 등이 포함된다.
차원 축소 모듈(125)은 주성분 분석(PCA) 및 t-SNE와 같은 기법을 사용하여 차원 축소 (Dimensionality reduction)를 진행하여 고차원의 데이터를 저차원으로 변환하여 처리 속도를 향상시킨다.
데이터 증강 모듈(126)은 가상 공격 시나리오를 생성하여 데이터세트를 확장시킬 수 있도록 학습 데이터의 데이터 증강(Data augmentation)을 실행하여 모델의 일반화 성능을 높인다.
데이터 비식별화 모듈(127)은 데이터 비식별화 도구를 사용하여 데이터 비식별화 (Data De-Identification)을 실행한다. 데이터 비식별화 도구는 학습 데이터세트에서 개인정보를 포함하지 않도록 처리하여 데이터의 보안성을 높인다. 이와 같은 데이터 비식별화처리는 도 7에 소개되었다.
도 7을 참조하면, 데이터 수집부(110)는 수집되는 데이터의 원천 리소스에 비교적 개인정보를 포함하지 않을 것으로 예상되는 사이트를 지정하여 수집하지만, 개인정보가 부득이하게 포함될 수 밖에 없다. 따라서 데이터 처리부(120)에서는 개인정보에 대한 비식별화 처리를 위하여 다양한 기법을 적용할 수 있다.
특히, 본 발명에서는 데이터 마스킹 방법을 적용하여 개인정보의 비식별화하여 학습 데이터세트으로 사용한다. 본 발명에서 적용된 데이터 비식별화 처리 기법은 가명처리(Pseudonymization), 총계처리(Aggregation), 데이터 삭제(Data Reduction), 데이터 범주화(Data Suppression), 데이터 마스킹(Data Masking) 기법 중 적어도 하나이다.
이중 가명처리(Pseudonymization)는 휴리스틱가명화, 암호화, 교환 방법 중 어느 하나를 적용하여 개인 식별이 가능한 데이터에 대하여 직접적으로 식별할 수 없는 다른 값으로 대체한다.
총계처리(Aggregation)는 총계처리, 부분총계, 라운딩, 데이터 재배열 중 어느 하나가 적용되어 개인 정보에 대하여 통계값(전체 혹은 부분)을 적용하여 특정 개인을 판단할 수 없도록 한다.
데이터 삭제(Data Reduction)는 식별자 삭제, 식별자 부분 삭제, 레코드 삭제, 식별요소 전부 삭제 중 하나 이상이 적용되어 개인 정보 식별이 가능한 특정 데이터 값을 삭제 처리한다.
데이터 범주화(Data Suppression)는 범주화, 랜덤올림방식, 범위방법, 제어 올림 방식중 적어도 하나가 적용되어 단일 식별 정보를 해당 그룹의 대표값으로 변환(범주화)하거나 구간값으로 변환(범위화)하여 고유 정보 추적 및 식별을 방지한다.
데이터 마스킹(Data Masking)은 임의 잡음 추가 및/또는 공백으로 대체하는 방식으로서 개인 식별정보에 대하여 전체 또는 부분적으로 대체값(예를 들면, 공백, '*,%, $ 과 같은 특수문자', 노이즈 등)으로 변환한다.
피처 추출부(130)는 도 8을 참조하여 설명한다.
도 8은 피처 추출부를 도시한 블럭도, 도 9는 피처 정보의 추출과정을 간략도시한 도면이다.
도 8 및 도 9를 참조하면, 피처 추출부(130)는 전처리 모듈(131)과, 벡터화 모듈(132) 및 클러스터링 모듈(133)을 포함하여 Feartuer selection을 실행한다.
전처리 모듈(131)은 텍스트 전처리 과정에서 불용어 제거, 어간 추출, 표제어 추출을 수행하며, 텍스트 토큰화(Tokenization)를 통해 데이터의 유의미한 단위를 분리하는 전처리 과정을 실행한다.
예를 들면, 전처리 모듈(131)은 도 10의 일예와 같은 텍스트에서 메소드(Method) 처리 단위의 추출, Code snippet semantic properties를 이용한 Abstract Syntax 생성과, Abstract Syntax를 이용하여 구성된 AST(Abstract Syntax Tree)에서 Path-context(도 11 참조) 추출한다.
그리고 전처리 모듈(131)은 단일 고정 길이를 갖는 코드 벡터로서 code snippet를 표현하는 code embeddings을 실행한다.
이중, 메소드(Method) 처리 단위의 추출은 PHP/JSP, ASP=c#, ASP-VB에서 HTML의 제거 및 각 스크립트 언어별 Path-Context 추출을 위한 문법체계에 적합한 스크립트 언어를 추출한다.
Code snippet semantic propertied는 스크립트 코드를 분해하고, 각 코드로부터 Abstract Syntax를 추출한다.
AST(Abstract Syntax Tree)는 메소드(Method)를 구성하는 연관관계를 Tree로 구성한 것이다. 즉, 전처리 모듈(131)은 Abstract Syntax의 연관 관계를 Tree로 표현하는 AST(Abstract Syntax Tree)를 생성한다. AST(Abstract Syntax Tree)는 공지된 기술에 해당되어 그 설명을 생략하였다.
Path-context는 구성된 AST(Abstract Syntax Tree)로부터 해당 메소드(Method)의 의미 부여가 가능한 모든 Path-Context에 해당된다. 즉, 전처리 모듈(131)은 AST로부터 해당 메소드(Method)에 관련된 모든 Path-Context를 추출한다.
벡터화 모듈(132)은 TF-IDF, Word2Vec, BERT와 같은 텍스트 표현 기법을 사용하여 데이터를 벡터화하고, 이를 통해 피처(Feature)를 추출하여 DB에 저장한다.
여기서 추출된 피처(Feature)는 remote ip, main request, sub request, sub resource type, sub resource type group, request header, session id, session create time, session update, header cookie, header user agent, closter id 중 적어도 하나로서 웹 공격 분석만을 위한 피처(Feature) 정보이다.
클러스터링 모듈(133)은 벡터화 모듈(132)에서 벡터화된 피처(Feature)를 머신러닝 알고리즘 또는 딥러닝 알고리즘을 통하여 설정된 필드별로 클러스터링(Clustering) 한다. 이때 설정된 필드는 URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나를 포함한다.
탐지부(140)는 피처 추출부(130)에서 추출된 피처(Feature) 기반의 학습 데이터를 통하여 웹 공격을 추론 및 탐지하는 추론모델을 탑재한다.
추론모델은 Code2Vec, Word2Vec, BERT 알고리즘과 같은 자연어처리(NLP) 벡터화 알고리즘이 탑재되어 웹 요청의 의미와 구조를 이해하며 피처 추출부(130)에서 벡터화된 피처(Feature)가 포함된 학습 데이터를 기반으로 수집된 데이터를 분석하여 웹 공격을 탐지한다.
이를 위하여 추론모델은 어텐션(Attention) 메커니즘이 적용되어 특정 패턴에 집중할 수 있도록 어텐션 딥러닝(Attention-Based Neural Network Deep Learning) 기반의 딥러닝 모델로 구현되며, 트랜스포머(Transformer) 아키텍처를 활용하여 웹 공격 패턴을 탐지한다.
그러므로 추론모델은 데이터 수집부(110)에서 수집되고, 피처 추출부(130)에서 벡터화 및 설정 필드별로 클러스터링된 피처(Feature)를 학습하여 웹 공격 패턴을 탐지한다. 추론모델은 웹 공격이 탐지되면 경보수단을 이용하여 경보 할 수 있다.
예를 들면, 추론모델은 자연어처리(NLP) 기반 머신러닝 알고리즘을 적용하여 Http Request Traffic을 각 구간별로 토큰화(Tokinizing) 하여 피처(Feature) 별로 분류된 필드의 문자열(예를 들면, URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나)를 분석하여 웹 공격 패턴을 탐지한다.
이는 도 12를 참조하여 설명한다. 도 12는 데이터 분석의 예를 도시한 도면이다.
도 12를 참조하면, Content-Type 분석은 메소드(Method)가 GET, HEAD, PROPFIND, OPTIONS가 아닌 메소드(Method)는 POST하고, PUT밖에 없으므로 2개의 메소드만 가지고 탐지된 악성 패킷 (rule_id 920420)와 정상 패킷에 대해서 Content-Type을 확인해 봤을 시, 특정 Content-Type이 아니면, 악성으로 판단한다.
Content Length 분석은 Content-Length에 영향을 미치는 학습 데이터(예를 들면, ModSecurity CRS Rule ID 데이터 시트의 rule_id 920170, 920180)에 속한 필드의 메소드(Method) 들이 POST와 PUT 메소드에 한정되어 있으니, 정상 데이터 중에서도 똑같이 POST나 PUT 메소드일때의 Content-Length가 0보다 클 때(1)와 Content-Legnth가 0일때(0), 해당 필드가 없을때(-1)만을 Count 하였을 때, 미추출되었을 때(-1)의 악성으로 판단한다.
여기서 Content-Length로 탐지된 것들의 메소드(Method)들은 POST와 PUT 메소드에 국한된다.
User Agent 분석은 User-Agent에 영향을 미치는 WASP top 10 기반의 ModSecurity CRS Rule ID 데이터 시트의 User-Agent 필드가 존재하는 정상 패킷의 학습 데이터들의 문자열 길이의 분포와 비교하여 User-Agent의 문자열 길이가 낮을 때 악성으로 판단한다.
즉, 탐지부(140)는 어텐션 딥러닝 기반으로 모델링된 추론모델을 탑재하고, 추론모델은 자연어처리(NLP) 기반 머신러닝 알고리즘을 적용하여 수집된 데이터에서 피처(Feature)를 추출하여 웹 공격을 탐지한다.
평가부(150)는 탐지부(140)의 정확도와 속도 성능에 대한 성능지표를 측정 또는 Confusion Matrix 를 통하여 긍정(P)와 부정(N) 값의 조합을 통한 성능지표를 산출 및 출력한다.
본 발명은 상기와 같은 구성을 포함하며, 이하에서는 본 발명에 따른 멀티 클라우드 환경 웹서버(200) 보안관리를 위한 인공지능 호스트형 웹 방화벽 서비스 방법을 설명한다.
도 13은 본 발명에 따른 따른 멀티 클라우드 환경 웹서버 보안관리를 위한 인공지능 호스트형 웹 방화벽 서비스 방법을 도시한 순서도이다.
도 13을 참조하면, 본 발명은 데이터를 수집하는 S100단계, 수집된 데이터를 정제 처리하는 S200 단계, 설정된 필드를 갖는 피처(Feature)를 추출 및 클러스터링하는 S300 단계와, 클러스터링 된 학습 데이터를 기반으로 수집된 데이터를 분석하여 웹 공격을 탐지하는 S400 단계와, 탐지 결과 및 성능을 평가하는 S500 단계를 포함한다.
S100 단계는 데이터 수집부(110)가 수집된 데이터를 학습 데이터로 변환하는 단계이다. 데이터 수집부(110)는 웹서버(200)에 설치된 자동화된 데이터 수집 에이전트를 통하여 실시간으로 수신된 데이터에서 OWASP Top 10에 명시된 주요 웹 공격 유형을 식별하고, 공격 유형별로 자동 라벨링한다. 그리고 라벨링된 데이터는 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘이 적용되어 설정된 사용자 정의 그룹의 학습 데이터세트로 변환된다. 사용자 정의 그룹의 데이터 시트는 ModSecurity의 CRS Rule ID 데이터 시트를 기반으로 한다.
S200 단계는 데이터 처리부(120)가 데이터 수집부(110)에서 수집된 데이터를 데이터 정제(Data cleaning), 데이터 정규화(Data normalization), 데이터 분할(Data splitting), 피처 추출(Feature engineering), 차원 축소(Dimensionality reduction), 데이터 증강(Data augmentation), 데이터 비식별화(Data De-Identification)를 과정을 통하여 수집된 데이터세트를 정제된 데이터로 변환시키는 단계이다.
S300 단계는 피처 추출부(130)가 데이터 처리된 학습 데이터세트를 전처리하여 설정된 필드의 피처(Feature)를 추출 및 벡터화하여 설정된 필드로 클러스터링하는 단계이다.
여기서 피처 추출부(130)는 텍스트 전처리 과정에서 불용어 제거, 어간 추출, 표제어 추출을 수행하며, 텍스트 토큰화(Tokenization)를 통해 데이터의 유의미한 단위를 분리하는 전처리 과정을 실행한다.
예를 들면, 전처리 과정은 텍스트에서 각 스크립트 언어별 Path-Context 추출을 위한 문법을 갖는 스크립트 언어를 추출하고, 추출된 스크립트 언어에서 스크립트 코드를 분해하여 Abstract Syntax를 생성하고, Abstract Syntax를 AST(Abstract Syntax Tree)로 구성하여 Path-context를 추출하는 단계를 포함한다.
또한, 추출된 Path-context(도 11 참조)를 벡터화하는 단계를 더 포함한다.
여기서 추출된 데이터의 벡터화는 TF-IDF, Word2Vec, BERT와 같은 텍스트 표현 기법으로 진행될 수 있다.
그리고 추출 및 벡터화된 데이터는 remote ip, main request, sub request, sub resource type, sub resource type group, request header, session id, session create time, session update, header cookie, header user agent, closter id 중 적어도 하나로서 웹 공격 분석만을 위한 피처(Feature)에 해당된다.
추출된 피처(Feature)(특징정보)는 머신러닝 알고리즘 또는 딥러닝 알고리즘을 통하여 설정된 필드별로 클러스터링(Clustering) 한다. 이때 설정된 필드는 URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나를 포함한다.
S400 단계는 피처(Feature)에 의해 학습된 추론모델에서 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지하는 단계이다. 추론모델은 어텐션 딥러닝 기반(Attention-Based Neural Network Deep Learning)모델로서 피처(Feature)가 포함된 학습 데이터 기반으로 학습되고, Code2Vec, Word2Vec, BERT 알고리즘과 같은 자연어처리(NLP) 벡터화 알고리즘을 탑재하여 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지한다.
S500 단계는 탐지 결과에 대한 성능지표를 산출하는 단계이다. 평가부(150)는 탐지부(140)의 탐지 결과를 분석하여 정확도와 속도의 향상을 비교하여 설정된 알고리즘을 통하여 성능지표를 산출한다.
이와 같이 본 발명은 멀티 클라우드 환경에서 웹 애플리케이션에 대한 보안을 강화할 수 있도록 실시간으로 웹 공격을 탐지하고 대응할 수 있으며, 지속적으로 변화하는 보안 위협에 효과적으로 대응할 수 있다.
이상에서 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 수정 및 변형이 가능함은 물론이다.
또한, 본 실시 예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100 : 웹 방화벽 서비스부재 110 : 데이터 수집부
111 : 데이터 수집 모듈 112 : 데이터 변환 모듈
113 : 데이터 관리 모듈 114 : 데이터 관리 인터페이스
120 : 데이터 처리부 121 : 정제 모듈
122 : 정규화 모듈 123 : 분할 모듈
124 : 피처 엔지니어링 모듈 125 : 차원 축소 모듈
126 : 데이터 증강 모듈 127 : 데이터 비식별화 모듈
130 : 피처 추출부 131 : 전처리 모듈
132 : 벡터화 모듈 133 : 클러스터링 모듈
140 : 탐지부 150 : 평가부
200 : 웹서버 300 : 사용자 단말

Claims (12)

  1. 웹서버; 및
    어텐션 딥러닝(Attention-Based Neural Network Deep Learning) 기반의 추론모델을 탑재하고, 설정된 필드 별로 웹 공격의 피처(Feature)를 추출한 학습 데이터 기반으로 실시간으로 웹서버에서 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지하는 웹방화벽 서비스부재; 를 포함하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  2. 청구항 1에 있어서, 웹 방화벽 서비스부재는
    데이터를 수집하고, 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘이 적용되어 수집된 데이터를 사용자 정의 규칙에 의해 설정된 학습 데이터세트로 변환하는 데이터 수집부;
    데이터 수집부에서 수집된 데이터를 데이터 정제(Data cleaning), 데이터 정규화 (Data normalization), 데이터 분할 (Data splitting), 피처 추출(Feature engineering), 차원 축소 (Dimensionality reduction), 데이터 증강 (Data augmentation), 데이터 비식별화 (Data De-Identification) 중 적어도 하나 처리하는 데이터 처리부;
    자연어처리(NLP) 기법을 적용하여 데이터에서 웹 공격의 피처(Feature)를 추출하고, 추출된 피처(Feature)를 설정된 필드에 따라 클러스터링(Clustering)하여 저장하는 피처 추출부; 및
    피처 추출부에서 추출 및 클러스터링된 피처(Feature)를 학습하고, 데이터를 분석하여 웹 공격을 탐지하는 탐지부; 를 포함하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  3. 청구항 2에 있어서, 데이터 수집부는
    자동화된 데이터 수집 에이전트를 각 웹서버에 설치하여 실시간으로 HTTP 요청과 응답을 모니터링하여 데이터를 수집하고, 수집된 데이터에서 설정된 웹 공격 유형을 식별하여 저장하는 데이터 수집 모듈;
    수집 모듈의 수집 데이터를 라벨링 알고리즘을 통해 공격 유형별로 자동 라벨링하고, 라벨링된 데이터를 새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘을 적용하여 학습 데이터세트로 변환하는 데이터 변환 모듈;
    추론모델의 지속적, 진화를 위하여 지속적으로 데이터 피드백 루프를 통해 새로운 공격 패턴이 감지되면 학습 데이터세트에 추가하여 추론모델이 지속적으로 진화할 수 있도록 학습 데이터세트를 관리하는 데이터 관리 모듈; 및
    데이터세트의 상태를 시각화하여 제공하며, 데이터베이스 백업 및 복구 기능을 제공하는 데이터 관리 인터페이스; 를 포함하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  4. 청구항 3에 있어서, 데이터 변환 모듈은
    라벨링된 데이터를 설정된 사용자 정의 규칙에 따라 복수의 그룹으로 분할하고,
    사용자 정의 규칙에 따라 분할된 복수의 그룹은
    방법 실행(메소드(Method)-ENFORCEMENT), 스캐너감지(SCANNER-DETECTION), 프로토콜 실행(PROTOCOL-ENFORCEMENT), 프로토콜 공격(PROTOCOL-ATTACK), 어플리케이션 공격(APPLICATION-ATTACK)과, 그외 그룹에 해당되지 않은 일반(GENERAL) 그룹 중 적어도 2 이상을 포함하고,
    어플리케이션 공격(APPLICATION-ATTACK)은 로컬파일(LFI), 원격파일(RFI), 원격코드실행(RCE), PHP, 크로스 사이트 스크립팅(XSS), SQL, 세션고정(SESSION-FIXATION), 세션자바(SESSION-JAVA)의 그룹으로 세분화된 것; 을 특징으로 하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  5. 청구항 2에 있어서, 피처 추출부는
    수집된 데이터의 텍스트에서 불용어 제거, 어간 추출, 표제어 추출을 수행하며, 텍스트 토큰화(Tokenization)를 통해 데이터의 유의미한 단위를 분리하는 전처리 과정을 실행하는 전처리 모듈;
    전처리된 데이터를 TF-IDF, Word2Vec, BERT와 같은 텍스트 표현 기법을 사용하여 데이터를 벡터화하여 피처(Feature)를 추출하고, DB에 저장하는 벡터화 모듈; 및
    벡터화 모듈에서 벡터화된 피처(Feature)를 머신러닝 알고리즘 또는 딥러닝 알고리즘을 통하여 설정된 필드별로 클러스터링(Clustering) 및 저장하여 추론모델의 학습 데이터로 제공하는 클러스터링 모듈; 을 포함하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  6. 청구항 5에 있어서, 벡터화 모듈에서 추출된 피처(Feature)는
    remote ip, main request, sub request, sub resource type, sub resource type group, request header, session id, session create time, session update, header cookie, header user agent, closter id 중 적어도 하나인 것; 을 특징으로 하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  7. 청구항 5에 있어서, 전처리 모듈은
    Code snippet semantic properties를 이용한 구성된 Abstract Syntax를 이용하여 AST(Abstract Syntax Tree)를 구성하고, AST(Abstract Syntax Tree)를 통해 Path-context를 추출하는 것; 을 특징으로 하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  8. 청구항 5에 있어서, 클러스터링 모듈의 설정 필드는
    URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나를 포함하는 것; 을 특징으로 하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  9. 청구항 1에 있어서, 추론모델은
    자연어처리(NLP) 기반 머신러닝 알고리즘을 적용하여 Http Request Traffic을 각 구간별로 토큰화(Tokinizing) 하고, 피처(Feature) 별로 분류된 문자열에서 URL Pasthm HTTP Parameter, HTTP 메소드(Method), Content type, Content Length, User Agent, Connection, Host, Refere 중 적어도 하나를 분석하여 웹 공격 패턴을 탐지하는 것; 을 특징으로 하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템.
  10. a)웹서버에 설치된 자동화된 데이터 수집 에이전트를 통하여 실시간으로 수신된 데이터에서 설정된 웹 공격 유형을 식별하고, 공격 유형별로 자동 라벨링하는 단계;
    b)라벨링된 데이터를 데이터 정제(Data cleaning), 데이터 정규화(Data normalization), 데이터 분할(Data splitting), 피처 추출(Feature engineering), 차원 축소(Dimensionality reduction), 데이터 증강(Data augmentation), 데이터 비식별화(Data De-Identification) 중 적어도 하나 이상을 수행하여 수집된 데이터 를 변환시키는 단계;
    c)수집된 데이터에서 피처(Feature)를 추출 및 벡터화하고, 벡터화된 피처를 설정된 필드로 클러스터링하여 저장하는 단계; 및
    d)저장된 피처(Feature)가 포함된 학습 데이터를 기반으로 학습된 어텐션 딥러닝(Attention-Based Neural Network Deep Learning) 기반의 추론모델에서 자연어처리(NLP) 벡터화 알고리즘을 통해 수집된 데이터를 분석하여 웹 공격을 추론 및 탐지하는 단계; 및
    e)탐지 결과를 분석하여 정확도와 속도의 향상의 수치를 설정된 조건에 따라 비교하여 성능지표를 산출하는 단계; 를 포함하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 방법.
  11. 청구항 10에 있어서, a)단계에서, 라벨링된 데이터는
    새로운 패턴을 학습하기 위한 지도 학습 및 비지도 학습 알고리즘이 적용되어 설정된 사용자 정의 그룹의 학습 데이터세트로 변환하는 것; 을 특징으로 하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 방법.
  12. 청구항 10에 있어서, c)단계는
    텍스트에서 각 스크립트 언어별 Path-Context 추출을 위한 문법을 갖는 스크립트 언어를 추출하고, 추출된 스크립트 언어에서 스크립트 코드를 분해하여 Abstract Syntax를 생성하고, Abstract Syntax를 AST(Abstract Syntax Tree)로 구성하여 Path-context를 추출하는 단계;
    추출된 Path-context를 벡터화하여 피처(Feature)를 추출하는 단계; 및
    벡터화된 피처(Feature)를 머신러닝 알고리즘 또는 딥러닝 알고리즘을 통하여 설정된 필드별로 클러스터링(Clustering) 하여 저장하는 단계; 를 더 포함하는 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 방법.

KR1020240109920A 2024-08-16 2024-08-16 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법 Active KR102726463B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240109920A KR102726463B1 (ko) 2024-08-16 2024-08-16 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240109920A KR102726463B1 (ko) 2024-08-16 2024-08-16 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102726463B1 true KR102726463B1 (ko) 2024-11-05

Family

ID=93462547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240109920A Active KR102726463B1 (ko) 2024-08-16 2024-08-16 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102726463B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102156891B1 (ko) * 2020-02-25 2020-09-16 주식회사 에프원시큐리티 인공지능 머신러닝 행위 기반 웹 프로토콜 분석을 통한 웹 공격 탐지 및 차단 시스템 및 방법
KR102374127B1 (ko) 2021-12-06 2022-03-14 주식회사 이글루시큐리티 인공지능 기반 웹방화벽 모델링 방법 및 장치
KR102443811B1 (ko) * 2021-11-12 2022-09-19 주식회사 에프원시큐리티 인공지능 자가학습형 웹방화벽 서비스 제공 시스템 및 방법
KR20230046182A (ko) * 2021-12-31 2023-04-05 (주)너울리 네트워크에 대한 침해 공격을 탐지하는 장치, 방법 및 컴퓨터 프로그램

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102156891B1 (ko) * 2020-02-25 2020-09-16 주식회사 에프원시큐리티 인공지능 머신러닝 행위 기반 웹 프로토콜 분석을 통한 웹 공격 탐지 및 차단 시스템 및 방법
KR102443811B1 (ko) * 2021-11-12 2022-09-19 주식회사 에프원시큐리티 인공지능 자가학습형 웹방화벽 서비스 제공 시스템 및 방법
KR102374127B1 (ko) 2021-12-06 2022-03-14 주식회사 이글루시큐리티 인공지능 기반 웹방화벽 모델링 방법 및 장치
KR20230046182A (ko) * 2021-12-31 2023-04-05 (주)너울리 네트워크에 대한 침해 공격을 탐지하는 장치, 방법 및 컴퓨터 프로그램

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김홍경, 지도학습 알고리즘을 이용한 침입방지시스템의 페이로드 로그 보안관제 성능 개선, 공학석사 학위논문, 부경대학교, 2021.08 *
안준선 외1, PHP 파일 삽입 취약성 검사를 위한 정적 분석기의 구현, 정보처리학회논문지 A 제18-A권 제5호, 2011.10 *

Similar Documents

Publication Publication Date Title
US10778705B1 (en) Deep-learning-based intrusion detection method, system and computer program for web applications
Svacina et al. On vulnerability and security log analysis: A systematic literature review on recent trends
EP2487860B1 (en) Method and system for improving security threats detection in communication networks
Kosoresow et al. Intrusion detection via system call traces
US9697058B2 (en) Method, computer program and apparatus for controlling access to a computer resource and obtaining a baseline therefor
CN107404473A (zh) 基于Mshield机器学习多模式Web应用防护方法
Cinque et al. Contextual filtering and prioritization of computer application logs for security situational awareness
CN112560029A (zh) 基于智能分析技术的网站内容监测和自动化响应防护方法
CN110020687B (zh) 基于操作人员态势感知画像的异常行为分析方法及装置
CN117827813A (zh) 一种计算机信息安全监控系统
CN117176441A (zh) 一种网络设备安全日志事件检测系统、方法
CN117692203A (zh) 一种事件处置策略智能推荐方法及系统
CN117454376A (zh) 工业互联网数据安全检测响应与溯源方法及装置
Lambert II Security analytics: Using deep learning to detect Cyber Attacks
Marquardt et al. Déjà vu? client-side fingerprinting and version detection of web application software
KR102726463B1 (ko) 멀티 클라우드 환경 웹서버 보안 관리를 위한 인공지능 호스트형 웹 방화벽 서비스 시스템 및 방법
Ait El Hadj et al. Efficient security policy management using suspicious rules through access log analysis
US20070185703A1 (en) Method, Computer Program and Apparatus for Analysing Symbols in a Computer System
Dey et al. Heterogeneous security events prioritization using auto-encoders
CN113849810B (zh) 风险操作行为的识别方法、装置、设备及存储介质
CN115567241A (zh) 一种多站点网络感知检测系统
Lin et al. An intrusion detection model based upon intrusion detection markup language (IDML)
CN118972162B (zh) 基于身份认证和端口感知的网络资源访问控制方法及系统
Ficco et al. A correlation approach to intrusion detection
US20250071130A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240816

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20240816

Comment text: Patent Application

PA0302 Request for accelerated examination

Patent event date: 20240828

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20241024

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20241031

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20241101

End annual number: 3

Start annual number: 1

PG1601 Publication of registration