KR102159930B1 - 네트워크 공격 방어 시스템 및 방법 - Google Patents

네트워크 공격 방어 시스템 및 방법 Download PDF

Info

Publication number
KR102159930B1
KR102159930B1 KR1020187037369A KR20187037369A KR102159930B1 KR 102159930 B1 KR102159930 B1 KR 102159930B1 KR 1020187037369 A KR1020187037369 A KR 1020187037369A KR 20187037369 A KR20187037369 A KR 20187037369A KR 102159930 B1 KR102159930 B1 KR 102159930B1
Authority
KR
South Korea
Prior art keywords
mode
protected site
site
current
target
Prior art date
Application number
KR1020187037369A
Other languages
English (en)
Other versions
KR20190009379A (ko
Inventor
시아오 한
슈닝 게
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20190009379A publication Critical patent/KR20190009379A/ko
Application granted granted Critical
Publication of KR102159930B1 publication Critical patent/KR102159930B1/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/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • 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/1425Traffic logging, e.g. anomaly detection

Abstract

네트워크 공격 방어는: 보호된 사이트의 하나 이상의 사이트 속성들의 세트에 대한 통계들을 수집함으로써 보호된 사이트에 대한 하나 이상의 통계적인 속성들의 세트를 획득하고, 사이트 속성들은 보호된 사이트의 작동 모드를 나타내고; 하나 이상의 통계적인 속성들의 세트에 기초하여, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하고, 현재 작동 모드는 타깃 작동 모드의 타깃 방어 전략과 상이한 현재 방어 전략을 가지고; 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 경우, 현재 작동 모드로부터 타깃 작동 모드로 변환하고 현재 작동 모드 대신에 보호된 사이트에 대한 타깃 방어 전략을 적용하는 것을 포함한다.

Description

네트워크 공격 방어 시스템 및 방법
다른 출원들에 대한 교차 참조
본 출원은 모든 목적들에 대해 참조로서 여기에 통합되는 2016년 7월 22일에 출원된 발명의 명칭이 네트워크 공격 방어 시스템, 방법 및 디바이스(A NETWORK ATTACK DEFENSE SYSTEM, METHOD AND DEVICE)인 중화 인민 공화국 출원 번호 제 201610586673.9 호에 대한 우선권을 주장한다.
발명의 분야
본 출원은 일반적으로 네트워크 보안에 관한 것이고, 특히 네트워크 공격 방어 시스템들 및 네트워크들에 관한 것이다.
하이퍼텍스트 전송 프로토콜(hypertext transport protocol; HTTP)은 클라이언트들과 서버들 사이에 애플리케이션 계층 통신에 대한 가장 대중적인 메커니즘이다. 다른 통신 프로토콜들과 유사하게, HTTP-기반 통신은 플러드 공격들(flood attacks) 또는 분산형 서비스 거부(distributed denial of service; DDoS) 공격들에 취약하다. 예를 들면, 공격자가 HTTP 서버에 의해 서비스되는 자원들에 대한 액세스를 요청하기 위해 충분히 큰 수의 "GET" 패킷들을 HTTP 서버로 송신할 때, HTTP 서버는 결국 "GET" 패킷을 처리하는 그의 최대 용량에 도달하게 되고, 합법적인 사용자들에게 응답할 수 없게 된다.
현재, HTTL 플러드 공격들을 검출하기 위한 여러 방법들이 알려져있다. 예를 들면, 특정한 소스 IP의 통계들 또는 특정한 소스 IP의 쿠키들에 기초하여, 주파수 통계가 미리 결정된 임계치를 초과하는 경우, 특정한 소스 IP는 공격들에 관여하고 있다고 결정된다. 또한, 요청의 특정한 특징들(예를 들면, 프록시 헤더(proxy header)가 존재하는지의 여부)은 공격들을 검출하기 위해 사용될 수 있다. 또한, 특정한 소스 IP로부터 데이터 패킷들에 대한 특정한 필드들의 분포에 대한 통계들은 공격들을 검출하기 위해 사용될 수 있다. 마지막으로, 공격들은 합법적인 클라이언트 또는 인간 사용자들에 의해 응답되지만, 공격 프로그램들 또는 보트들(bots)에 의해서는 응답되지 않는 검증 코드 페이지, 자바 스크립트 페이지, HTTP 설정 쿠키 헤더들 등을 포함하기 위해 HTTP에 의해 변경된 페이지들을 리턴하는, 시도-응답 테스트들을 사용함으로써 검출될 수 있다.
그러나, 네트워크 환경이 항상 변하고 있고 고정된 방어 전략들은 종종 시간에 걸쳐 증가된 잘못된 긍정 비율들(예를 들면, 정상 트래픽을 오인하고 차단함) 및/또는 잘못된 부정 비율들(예를 들면, 공격 트래픽이 네트워크를 통과하게 함)을 초래한다는 사실에도 불구하고, 상기 설명된 방법들은 일반적으로 고정된 방어 전략들에 의존하는 결함을 가진다. 따라서, 감소된 잘못된 긍정들 및 잘못된 부정들의 감소된 가능성들에 의해 증가하는 방어 효율에 대한 필요가 존재한다.
본 출원의 목적은 네트워크 공격 방어 시스템 및 방법을 제공하는 것이다.
본 발명은 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 연결된 메모리상에 저장되고 및/또는 그에 의해 제공된 명령들을 실행하도록 구성된 프로세서와 같은, 프로세서를 프로세스로서 포함하는 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들이라고 칭해질 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않으면, 태스크를 수행하도록 구성되는 것으로 설명되는 프로세서 또는 메모리와 같은 구성 요소는 태스크를 수행하도록 제작되는 특정한 구성 요소 또는 주어진 시간에 태스크를 수행하도록 시간적으로 구성되는 일반적인 구성 요소로서 구현될 수 있다. 여기에서 사용된 바와 같은, 용어 '프로세서'는 컴퓨터 프로그램 명령들과 같은 데이터를 처리하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 처리 코어들을 지칭한다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부하는 도면들과 함께 이하에 제공된다. 본 발명은 이러한 실시예들과 함께 설명되지만, 본 발명은 임의의 실시예로 한정되지 않는다. 본 발명의 범위는 청구항들에 의해서만 한정되고, 본 발명은 다수의 대안들, 변경들, 및 동등물들을 포함한다. 다수의 상세한 설명들은 본 발명의 완전한 이해를 제공하기 위해 다음의 상세한 설명에서 설명된다. 이들 상세들은 예시의 목적들을 위해 제공되고 본 발명은 이들 특정한 상세들의 일부 또는 전부 없이 청구항들에 따라 실시될 수 있다. 명확성의 목적을 위해, 본 발명에 관련된 기술 분야들에서 알려진 기술적인 자료는 본 발명이 불필요하게 모호해지지 않도록 상세하게 설명되지 않는다.
당업자가 본 발명을 더 잘 이해하게 하기 위해, 본 발명의 기술적인 해결책은 본 발명의 실시예들에 포함된 도면들에 관하여 이하에 명확히 및 완전히 설명된다. 분명하게는, 설명된 실시예들은 단지 본 발명의 실시예들의 일 부분이고, 가능한 실시예들의 전체를 나타내지는 않는다. 본 출원에 포함된 실시예들에 기초하여, 창의적인 수고의 노력 없이 당업자들에 의해 획득된 모든 다른 실시예들은 본 출원의 보호들의 범위 내에 속해야 한다.
본 출원의 상세한 설명 및 청구항들, 뿐만 아니라 도면들에서 "제 1", "제 2" 등의 용어들은 유사한 객체들을 구별하기 위해 사용되고 특정한 순서 또는 시퀀스를 설명하기 위해 반드시 의도되는 것은 아님이 주의되어야 한다. 이러한 방식으로 사용된 데이터는 적절한 상황들에서 상호 교환 가능해서, 여기에 설명된 본 출원의 실시예들은 여기에 도시되거나 설명된 것들 외의 순서대로 구현될 수 있다는 것이 이해되어야 한다. 더욱이, 용어들 "포함하는", 및 "구비하는" 및 그의 임의의 변형들은 비배타적인 포함을 포함하도록 의도된다; 예를 들면, 일련의 단계들을 포함하는 프로세스들, 방법들, 시스템들, 제품들, 또는 장비 또는 유닛들은 명백하게 열거되는 단계들 또는 유닛들에 반드시 한정되는 것은 아니고, 명백하게 열거되지 않거나 이들 프로세스들, 방법들, 시스템들, 제품들 또는 장비에 내재되는 다른 단계들 또는 유닛들을 포함할 수 있다.
본 개시의 실시예들의 이해를 가능하게 하기 위하여, 실시예들에 대해 사용된 용어들은 다음과 같이 규정된다.
여기에 사용되는 용어 "사이트"는 서버, 서버 애플리케이션, 소프트웨어 모듈, 하드웨어 모듈 등에 의해 컴퓨터 네트워크상에 호스트된 서비스 또는 애플리케이션의 웹사이트를 말한다. 특정한 사이트는 웹 브라우저로부터 서비스를 찾고 액세스하기 위해 일반적인 메커니즘으로서 그와 연관된 특정 포인터, 예를 들면, URL(유니폼 리소스 로케이터; Uniform Resource Locator)를 가진다. 사이트 URL은 www.sina.com.cn, www.sohu.com 등과 같은 서버 도메인 이름을 포함한다.
여기에 사용되는 용어 "사이트 속성"은 작동시 사이트의 특징을 특징으로 하는 속성을 말한다. 예를 들면, 사이트 속성은 사이트가 초당 수신하는 요청들의 수, 사이트가 초당 송신하는 정상 응답들의 수, 애플리케이션이 초당 에러들(예를 들면, 애플리케이션 에러들로서 에러(500) 및 에러들을 찾을 수 없는 페이지로서 에러(404))을 나타내기 위해 송신하는 응답들의 수, 초당 사이트에서 수신된 의심스러운 공격들일 것으로 생각되는 요청들의 수, 특정한 수신지 IP들에 대해 개방된 동시에 발생하는 접속들의 수, HTTP 패킷 필드들(예를 들면, 헤더 필드들)에 나타내진 일반적인 사용자-에이전트들의 수, 특정한 웹 브라우저들에 대해 발생되는 동시에 발생하는 HTTP 쿠키들의 수 등일 수 있다.
여기에 사용되는 용어 "방어 전략"은 네트워크 공격들에 대한 방어에서 사이트에 의해 배치되거나 적용되는 규칙들 또는 방법들을 말한다. 예를 들면, 방어 전략은 잘못된 부정 비율을 나타내는 계단식 방어 레벨들의 범위 및/또는 하나 이상의 방어 알고리즘의 세트를 포함할 수 있지만, 그로 한정되지 않는다. 이하에 논의된 예들에서, 방어 알고리즘은 잘못된 긍정 비율과 연관된다. 방어 알고리즘의 예들은 클러스터 알고리즘, K-최근점 이웃 알고리즘에 대한 변환 신뢰 기계들 등을 포함한다.
여기에 사용되는 용어 "분산형 서비스 거부(DDoS)"는 서비스 거부의 지수적으로 증가된 출력에 의해, 하나 이상의 타깃들에 대해 다수의 컴퓨터들로부터 DDoS 공격들을 시작하기 위해, 예를 들면, 클라이언트-서버 기술을 사용하는 것을 말한다. 일반적으로, 공격자는, 미리 결정된 시간 기간 내에서, 네트워크상의 다수의 컴퓨터들상에 이미 설치된 다수의 에이전트 프로그램들과 통신하는, 하나의 컴퓨터상에 DDoS 마스터 제어 프로그램을 설치하기 위해 도용된 계정을 사용한다. 마스터 제어 프로그램으로부터 명령의 수신시, 에이전트 프로그램들은 그에 따라서 공격을 시작한다. 클라이언트-서버 기술의 도움으로, 마스터 제어 프로그램은 수초 이내에 수백 및 수천의 에이전트 프로그램들을 공격 동작으로 활성화할 수 있다.
여기에 사용되는 용어 "하이퍼텍스트 전송 프로토콜(HTTP)"은 모든 웹 페이지들 또는 웹 파일들이 준수하는 인터넷상의 일반적인 네트워크 통신 프로토콜을 말한다.
여기에 사용되는 용어 "HTTP 플러드" 또는 "HTTP GET 플러드" 또는 "CC 공격"은 공격자가 예를 들면, 에이전트 서버들의 도움에 의해, 합법적인 HTTP GET 요청들을 생성하고, 공격자 소스 또는 신분(챌린지 컬랩서(challenge collapsar(CC)라고도 알려짐)에 관한 정보를 드러내지 않고 DDoS를 달성하기 위해 이들 GET 요청들을 희생자 호스트로 지향시키는 특정한 형태의 DDoS 공격을 말한다. 현재, 더욱 더 많은 사람들이 정보를 검색하고 분배하기 위해 웹-기반 서비스들을 사용하는 것에 의해, 인터넷상의 웹 보안은 네트워크 보안 연구의 중요한 주제가 되어왔다. 웹-기반 서비스들에 대한 키 프로토콜로서, HTTP 패킷들은 HTTP 플러드/HTTP get 플러드/CC 공격들이라고 알려진 DDoS 공격들을 시작하기 위해 해커들에 의해 종종 사용된다. 이들 공격들의 특징은 합법적인 요청들 및 불법적인 요청들의 콘텐트들이 매우 유사하고, 이러한 공격들에 대한 검출 및 방어를 매우 어렵게 만든다는 것이다.
본 발명의 다양한 실시예들은 다음의 상세한 설명 및 첨부하는 도면들에서 개시된다.
여기에 설명된 도면들은 본 발명의 이해를 촉진시키고 본 출원의 부분을 형성하도록 의도된다. 본 출원의 예시적인 실시예들 및 그의 설명들은 본 발명을 설명하도록 의도되고, 본 발명의 범위의 부적절한 제한을 구성하지 않는다.
도 1은 본 개시의 하나 이상의 실시예들에 따라 네트워크 공격 방어를 위해 프로그램된 컴퓨터 시스템의 일 실시예를 예시하는 기능도.
도 2는 본 개시의 하나 이상의 실시예들에 따라 일 예시적인 통신 시스템에서 예시된 일 예시적인 네트워크 공격 방어 시스템의 도면.
도 3은 본 개시의 하나 이상의 실시예들에 따라 네트워크 공격 방어의 일 예시적인 프로세스의 플로차트.
도 4는 본 개시의 하나 이상의 실시예들에 따라 일 예시적인 트래픽 데이터 패킷 검색 서브-프로세스의 플로차트.
도 5는 본 개시의 하나 이상의 실시예들에 따라 일 예시적인 사이트 통계 서브-프로세스의 플로차트.
도 6은 본 개시의 하나 이상의 실시예들에 따라 일 예시적인 사이트 상태 모니터링 서브-프로세스의 플로차트.
도 7a 내지 도 7c는 본 개시의 일 실시예들에 따라 방어 레벨들과 방어 알고리즘 사이의 예시적인 작동 변환들의 개략도들.
도 1은, 본 개시의 일 실시예에 따라, 일 예시적인 네트워크 공격 방어 시스템을 구현하도록 구성된 프로그램된 컴퓨터 시스템의 일 실시예를 예시하는 블록도이다. 시스템(100)은 제 1 디바이스, 네트워크, 웹 서버 시스템, 및/또는 제 2 디바이스(도 2에 도시됨)를 적절하게 구현하기 위해 사용될 수 있다. 명백한 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들이 네트워크 공격 방어를 위한 시스템들 및 방법들을 구현하기 위해 사용될 수 있다. 이하에 설명된 다양한 서브시스템들을 포함하는 컴퓨터 시스템(100)은 적어도 하나의 마이크로프로세서 서브시스템(프로세서 또는 중앙 처리 장치(CPU)라고도 지칭됨)(102a, 102b, ..., 102n)을 포함한다. 프로세서들(102a, ..., 102n)은 마이크로프로세서들(MCU) 또는 프로그램 가능한 로직 디바이스들(FPGA)에 의해 구현될 수 있다. 메모리(104)로부터 검색된 명령들을 사용하여, 프로세서들(102a, 102b, ..., 102n)은 입력 데이터의 수신 및 조작, 및 출력 디바이스들(예를 들면, 디스플레이(124))상에 데이터의 출력 및 디스플레이를 제어한다.
프로세서들(102a, ..., 102n)은 제 1 주기억 장치 영역, 일반적으로 랜덤 액세스 메모리(RAM), 및 제 2 주기억 장치 영역, 일반적으로 판독 전용 메모리(ROM)를 포함할 수 있는 메모리(104)에 양방향으로 결합된다. 본 기술 분야에서 잘 알려진 바와 같이, 주기억 장치는 범용 기억 장치 영역으로서 및 스크래치-패드 메모리로서 사용될 수 있고, 입력 데이터 및 처리된 데이터를 저장하기 위해 또한 사용될 수 있다. 주기억 장치는 또한 프로세서들(102a, ..., 102n)상에 작동하는 프로세스들에 대한 명령들 및 다른 데이터 외에 데이터 객체들 및 텍스트 객체들의 형태로 프로그래밍 명령들 및 데이터를 저장할 수 있다. 또한 본 기술분야에서 잘 알려진 바와 같이, 주기억 장치는 일반적으로 그의 기능들(예를 들면, 프로그램된 명령들)을 수행하기 위해 프로세서들(102a, ..., 102n)에 의해 사용된 기본 작동 명령들, 프로그램 코드, 데이터, 및 객체들을 포함한다.
네트워크 인터페이스(105)는 네트워크를 통해 데이터를 수신 또는 전송하기 위해 사용된다. 상기 네트워크의 특정한 예들은 컴퓨터 시스템(100)에 대한 통신 서비스 제공자에 의해 제공된 무선 네트워크를 포함할 수 있다. 일 실시예에서, 네트워크 인터페이스(105)는 기지국을 통해 다른 네트워크 장비에 링크할 수 있는 네트워크 인터페이스 제어기(NIC)를 포함해서, 그를 인터넷과 통신하게 한다. 일 실시예에서, 네트워크 인터페이스(105)는 인터넷과 무선으로 통신하기 위해 사용되는 무선 주파수(RF) 모듈일 수 있다.
디스플레이(124)는 사용자들이 컴퓨터 시스템(100)의 사용자 인터페이스(107)와 상호 작용하게 하도록 구성되는, 예를 들면, 터치-스크린 액정 디스플레이(LCD)일 수 있다.
기억 장치 서브시스템들에 프로세서들(102a, ..., 102n) 액세스를 제공하는 것 외에, 버스(106)는 또한 다른 서브시스템들 및 디바이스들에 대한 액세스를 제공하기 위해 사용될 수 있다. 도시된 바와 같이, 이들은 디스플레이(124), 네트워크 인터페이스(105), 키보드(122), 및 커서 제어(120), 뿐만 아니라, 보조 입력/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 다른 서브시스템들을 필요에 따라 포함할 수 있다. 예를 들면, 커서 제어(120)는 마우스, 스타일러스, 트랙 볼, 또는 태블릿일 수 있고, 그래픽 사용자 인터페이스와 상호작용하기에 유용하다.
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(100)과 함께 사용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서들(102a, ..., 102n)이 마이크로폰들, 터치 감응식 디스플레이들, 트랜스듀서 카드 판독기들, 테이프 판독기들, 음성 또는 필기 인식기들, 생체 측정 판독기들, 카메라들, 이동식 대용량 저장 장치들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터의 데이터를 전송 및 더 일반적으로 데이터를 수신하게 하는 범용 및 맞춤형 인터페이스들을 포함할 수 있다.
도 2는 본 개시의 일 실시예에 따라 일 예시적인 통신 시스템에서 작동하는 일 예시적인 네트워크 공격 방어 시스템의 블록도를 도시한다. 통신 시스템(200)은 하나 이상의 제 1 디바이스들(202)(여기에 단 하나만 도시됨), 네트워크(204), 및 하나 이상의 제 2 디바이스들(206)을 포함하는 웹 서버 시스템(208)을 포함한다. 다른 통신 시스템들에서, 제 2 디바이스들은 웹 서버 시스템 외부에 있을 수 있다. 웹 서버 시스템(208)은 네트워크(204)를 통해 서비스를 제공하는 보호된 사이트를 호스트한다. 하나 이상의 제 1 디바이스들(202)은 웹 서버 시스템(208)에 호스트된 서비스를 요청 및 수신하기 위해 네트워크(204)를 통해 패킷들을 송신한다. 일부 실시예들에서, 제 1 디바이스(202), 네트워크(204), 웹 서버 시스템(208), 및 제 2 디바이스(206)는, 예를 들면, 도 1의 컴퓨팅 시스템(100)에 의해 구현될 수 있다.
제 1 디바이스(202)는 클라이언트 컴퓨팅 디바이스일 수 있고, 네트워크(204)에 대한 하나 이상의 유선, 무선, 또는 임의의 다른 적절한 통신 접속들을 갖는 개인용 컴퓨터들, 랩탑들, 개인용 정보 단말들(PDAs), 스마트폰들, 웨어러블 디바이스들, 독립 실행형 서버들(standalone servers), 분산형 서버들 등과 같은 하나 이상의 컴퓨팅 디바이스들을 포함할 수 있다.
네트워크(204)는 ISP들의 네트워크 및 다른 중간 네트워크들을 포함할 수 있다. 제 1 디바이스(202)로부터 제 2 디바이스(206)로의 통신 접속은 제 1 디바이스(202)로부터 제 2 디바이스(206)로 및 그와 반대로 데이터 패킷들의 송신들을 위해 이들 네트워크들의 일부를 통해 형성된다. 하나의 제 1 디바이스(202), 하나의 네트워크(204), 하나의 웹 서버 시스템(208), 및 하나의 제 2 디바이스(206)가 예시의 목적을 위해 도 2에 도시되지만, 본 개시의 실시예들은 복수의 제 1 디바이스들, 네트워크들, 웹 서버 시스템들, 및 제 2 디바이스들 등에 적용될 수 있다는 것이 주의되어야 한다.
제 1 디바이스(202)는 의도된 사용자가 합법적인 서비스 요청들을 보호된 사이트로 송신하는 컴퓨팅 디바이스일 수 있다. 다른 한편으로, 제 1 디바이스(202)는 또한 공격자 컴퓨팅 디바이스, 예를 들면, 보호된 사이트에 대해 DDoS 공격들과 같은 네트워크 공격들을 시작하기 위해 공격자에 의해 원격으로 제어된, 좀비 PC일 수 있다. 후자의 시나리오에서, 복수의 제 1 디바이스들(202)은 제 2 디바이스(206)로 서비스 요청들을 송신하기 위해 협력하여 작동하고, 그에 대한 공격을 시작하기 위해 보호된 사이트에 이용 가능한 컴퓨팅 자원들을 소비한다.
이러한 예에서, 제 2 디바이스(206)는 보호된 사이트를 호스팅하는 웹 서버이다. 따라서, 제 1 디바이스(202)는 서비스 요청들을 제 2 디바이스(206)상에 호스트된 보호된 사이트로 전송하도록 구성된다. 일부 다른 실시예들에서, 제 2 디바이스(206) 및 웹 서버 시스템(208)에서 보호된 사이트를 호스트하는 서버는 상이한 네트워크 엔티티들일 수 있다. 제 2 디바이스(206)는 다수의 웹 서버 시스템들의 작동들을 감독하고 통신 시스템(200)에 설치된 모니터링 디바이스일 수 있다. 예를 들면, 제 2 디바이스(206)는 네트워크(204)상의 라우터에, 웹 서버 시스템(208)의 구성 요소로서, 또는 방화벽(도시되지 않음)에 설치될 수 있다.
다양한 실시예들에서, 제 2 디바이스(206)는 제 1 디바이스(202)에 의해 송신되고 보호된 사이트를 호스트하는 서버에서 수신된 서비스 요청들로부터 정보를 수집함으로써 보호된 사이트에 대한 통계적인 속성들을 획득하도록 구성된다. 이러한 예에서, 제 2 디바이스(206)는 보호된 사이트에서 수신된 서비스 요청들의 통계적인 정보를 수집한다. 통계적인 속성들은 제 1 미리 결정된 시간 간격 내에서 보호된 사이트의 사이트 속성들에 대해 획득된다. 획득된 통계적인 속성들을 사용함으로써, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것이 결정된다. 현재 작동 모드는 현재 방어 전략을 갖고, 타깃 작동 모드는 타깃 방어 전략을 가지고, 현재 방어 전략은 타깃 방어 전략과 다르다. 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로의 전환하지 않는다는 결정에 응답하여, 현재 전략이 유지된다. 그렇지 않으면, 보호된 사이트는 현재 작동 모드로부터 타깃 작동 모드로 전환하고, 보호된 사이트에 타깃 방어 전략을 적용한다.
일부 실시예들에서, 제 2 디바이스(206)는 보호된 사이트에서 수신된 HTTP 패킷들을 검색하고 수신된 HTTP 패킷들로부터 사이트 속성들을 추출하도록 구성된다. 사이트 속성들은, 예를 들면, 다음의 측정치들의 카테고리들을 포함하지만, 그로 한정되지 않는다: 사이트가 초당 수신하는 요청들의 수, 사이트가 초당 송신하는 정상 응답들의 수, 애플리케이션이 초당 에러들을 나타내기 위해 송신하는 응답들의 수, 초당 사이트에서 수신된 공격들이 의심되는 요청들의 수, 특정한 수신지 IP들에 대해 개방되는 동시에 발생하는 접속들의 수, HTTP 패킷 필드들에 나타내진 공통적인 사용자 에이전트들의 수, 및 특정한 웹 브라우저들에 대해 발생되는 동시에 발생하는 HTTP 쿠키들의 수. 동일한 카테고리의 사이트 속성들의 데이터를 분석함으로써, 다양한 형태들의 통계적인 속성들이 보호된 사이트에 대해 획득된다.
일부 실시예들에서, 제 2 디바이스(206)는 상기에 설명된 통계적인 속성들에 대한 이동 평균들(rolling averages)을 획득하도록 구성된다. 이러한 이동 평균들은 누적되거나 가중된 형태들로 계산될 수 있다. 예를 들면, 누적되는 이동 평균 방식은 보호된 사이트가 현재 시간까지 하나 이상의 시간 간격들 동안 초당 수신한 다수의 요청들을 획득하기 위해 적용될 수 있다. 가중된 이동 평균 방식은, 예를 들면, 현재 시간까지 하나 이상의 시간 간격들 동안 상이한 시점들에서 샘플링된 데이터에 대해 상이한 가중치들로서 하나 이상의 곱셈 팩터들과 함께, 보호된 사이트가 초당 수신한 요청들의 수에 대해 획득하도록 적용될 수 있다. 제 2 디바이스(206)는 또한 보호된 사이트가 현재 작동 모드에 있는 동안 시간 지속 기간의 값을 획득하도록 구성된다. 시간 지속 기간의 값과 함께 통계적인 속성들의 상기 언급된 이동 평균들을 사용함으로써, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는지의 여부가 결정된다.
이러한 예에서, 제 2 디바이스(206)는 결과 값을 생성하기 위해 상기 언급된 이동 평균들, 통계적인 속성들, 뿐만 아니라 시간 지속 기간의 값을 불린 함수에 입력하도록 구성된다. 결과 값에 따라, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것인지의 여부가 결정된다.
여기에 사용된 바와 같이, 방어 전략은 하나 이상의 방어 레벨들을 갖는 하나 이상의 방어 알고리즘들을 포함한다. 이러한 예에서, 방어 레벨들은 보호된 사이트에 대한 보호의 범위 또는 정도를 나타낸다. 예를 들면, 1의 방어 레벨은 낮은 잘못된 긍정 비율 그러나 높은 잘못된 부정 비율들을 갖는 가장 낮은 레벨에서 보호된다는 것을 나타내고, 3의 방어 레벨은 사이트가 높은 잘못된 긍정 비율 및 낮은 잘못된 부정 비율을 갖는 최고 레벨에서 보호된다는 것을 나타낸다.
도 3은 본 개시의 일 실시예에 따라 네트워크 공격 방어의 일 예시적인 프로세스의 플로차트를 도시한다. 프로세스(300)는, 예를 들면, 도 2의 제 2 디바이스(206)에 의해 구현될 수 있지만 그로 한정되지 않는다.
프로세스(300)는 302에서 시작하고, 여기서 보호된 사이트에 대한 통계적인 속성들은 제 1 미리 결정된 시간 간격 내에서 보호된 사이트의 사이트 속성들에 대해 획득된다.
이러한 예에서, 통계적인 속성들은, 예를 들면, 보호된 사이트에 수신된 HTTP 패킷들의 정보를 검색하는 것에 의해 획득되지만, 그로 한정되지 않는다. 사이트 속성들은 수신된 HTTP 패킷들로부터 추출되고, 통계적인 분석은 상기에 설명된 바와 같이 그들의 각각의 카테고리들에 따라 분류되는 사이트 속성 데이터를 통해 수행된다. 일부 실시예들에서, 사이트 속성들은 동일한 형태의 속성 데이터를 획득하기 위해 HTTP 요청 헤더 필드들을 분석함으로써 추출된다. 이러한 형태들은, 예를 들면, 요청 방법들, 요청 URI들(유니폼 리소스 식별자들), 쿠키들, 요청 파라미터들 및 요청 파라미터 대응 키들 등의 HTTP 필드들의 카테고리들일 수 있다. 따라서, 상기에 설명된 헤더 필드들에 임베딩된 정보는 그들의 각각의 형태들에 따라 획득될 수 있다. 또한, 이러한 형태들은 구성 기반일 수 있고, 동일하거나 상이할 수 있는(그러나 동일한 형태로 지정됨) 등이다.
현재 웹 서버 기술, 예를 들면, 아파치(Apache)에 의해, 웹 서버는 하나의 IP 어드레스에서 다수의 웹 사이트들을 호스트할 수 있다. 따라서, 이러한 예에서, 제 2 디바이스(206)는 보호된 사이트를 포함하는 복수의 웹 사이트들을 호스트할 수 있고 다수의 사이트들에 대하여 HTTP 트래픽 패킷들을 획득할 수 있다. 이러한 상황에서, 302에서, 복수의 데이터 소스들(예를 들면, 다수의 클라이언트들)에 대해 송신된 HTTP 패킷들이 획득되고, 그들의 각각의 수신지 사이트들에 따라 카테고리화된다. 이후, 보호된 사이트에 대해 의도된 HTTP 패킷들은 보호된 사이트 정보를 질의로서 사용하여 카테고리화된 데이터 패킷들로부터 획득된다.
304에서, 획득된 통계적인 속성들에 기초하여, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는지의 여부가 결정되고, 현재 작동 모드에 대해 구성된 방어 전략들이 타깃 작동 모드에 대해 구성된 것들과 상이하다.
일부 실시예들에서, 상기 설명된 결정을 수행하기 위하여, 상기 언급된 통계적인 속성들의 이동 평균들, 보호된 사이트가 현재 작동 모드에 있는 동안 시간 지속 기간의 값이 또한 획득된다. 획득된 이동 평균들, 통계적인 속성들, 뿐만 아니라 시간 지속 기간의 값을 사용함으로써, 보호된 사이트는 현재 작동 모드로부터 타깃 작동 모드로의 스위칭인, 전환에 대한 것인지의 여부가 결정된다.
다양한 실시예들에서, 시간 지속 기간, 이동 평균들, 및 통계적인 속성들에 기초한 결정은 다양한 규칙들 또는 정책들에 따라 수행될 수 있다. 예를 들면, 일부 실시예들에서, 이들 속성들(시간 지속 기간, 이동 평균들, 및 통계적인 속성들)은 그들의 각각의 비교 결과들을 발생시키기 위해 그들의 각각의 임계값들과 비교된다. 비교 결과들에 부분적으로 기초하여, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는지의 최종 결정이 그에 따라 행해진다. 일부 실시예들에서, 비교 결과들 중 하나 또는 둘 또는 셋이 미리 결정된 상태를 만족할 때, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것이 결정된다. 그렇지 않은 경우, 보호된 사이트는 현재 작동 모드로부터 타깃 작동 모드로 전환하지 않는 것이 결정된다. 본 개시의 일부 다른 실시예들에서, 보호된 사이트에 대응하는 불린 함수를 사용함으로써 결정이 행해진다. 이동 평균들, 통계적인 속성들, 및 시간 지속 기간은 결과 값을 발생시키기 위해 불린 함수로 입력된다. 발생된 결과값에 기초하여, 보호된 사이트는 현재 작동 모드로부터 타깃 작동 모드로 전환하는지의 여부가 결정된다.
306에서, 결정에 응답하여, 대응하는 방어 전략들이 보호된 사이트의 보호를 위해 배치된다. 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것이 결정될 때, 타깃 작동 모드에 대응하는 방어 전략들이 배치된다. 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하지 않는 것이 결정될 때, 현재 작동 모드에 대응하는 방어 전략들이 계속 배치된다.
본 개시의 다양한 실시예들에서, 방어 전략들은 방어 레벨들 및/또는 방어 알고리즘을 포함하지만, 그로 한정되지 않는다. 이러한 예에서, 방어 레벨들은 보호된 사이트에 대한 보호의 범위 또는 정도를 나타낸다. 일부 실시예들에서, 네트워크 공격들에 대한 보호의 범위 또는 정도는 잘못된 부정 비율로 나타내진다. 방어 전략과 연관된 잘못된 부정 비율이 낮을수록, 그에 의해 부여된 보호의 정도는 더 크다. 예를 들면, 방어 레벨들은 세 개의 레벨들로 분류될 수 있다: 레벨 1, 레벨 2, 및 레벨 3. 각각의 레벨은 감소하는 값들의 상이한 방어 임계치를 갖는다. 예를 들면, 레벨 1은 가장 낮은 잘못된 부정 비율, 레벨 2는 중간 잘못된 부정 비율, 레벨 3은 가장 높은 잘못된 부정 비율에 대응할 수 있다. 일부 다른 실시예들에서, 보호의 범위는 합법적인 트래픽의 굿풋(goodput)(예를 들면, 애플리케이션-레벨 처리량), 지연, 및 손실율과 같은 다양한 성능 메트릭들로 측정될 수 있다.
다양한 실시예들에서, 상기 설명된 방어 레벨들의 조정은 다음의 예를 사용함으로써 구현될 수 있지만, 그로 한정되지 않는다. 미리 결정된 제 2 시간 간격에 대하여, 잘못된 긍정 비율은 알려진 테스트 데이터 패킷들을 사용하여 보호된 사이트에 대한 통계들을 수집함으로써 획득된다. 보호된 사이트는 현재 방어 전략으로 배치된다. 잘못된 긍정 비율이 각각의 임계치를 초과할 때, 현재 배치된 방어 알고리즘이 변경된다. 추가로, 또는 독립적으로, 미리 결정된 제 3 시간 간격 동안 및 알려진 테스트 데이터 패킷들을 사용하여, 잘못된 부정 비율이 방어 전략에 의해 배치된 보호된 사이트에 대해 획득된다. 잘못된 부정 비율이 각각의 임계치를 초과할 때, 방어 레벨이 조정된다. 방어 레벨 및 방어 알고리즘의 조정의 더 많은 상세들은 도 7a 내지 도 7c과 관련하여 이하에 설명된다. 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로의 전환하는지의 여부의 결정에 응답하여, 현재 작동 모드에 대응하는 방어 전략들 또는 타깃 작동 모드에 대응하는 방어 전략들에 의해 보호된 사이트가 배치된 후, 상기 설명된 조정이 수행된다.
본 개시의 다양한 실시예들에서, 네트워크 공격 방어의 프로세스는 다음에 의해 구현될 수 있다:
1) 트래픽 데이터 패킷 검색 서브-프로세스
2) 사이트 통계 서브-프로세스
3) 사이트 작동 모드 및 규칙 관리 서브-프로세스
4) 사이트 상태 모니터링 서브-프로세스
5) 소스-기반 보안 검출 및 방어 전략 배치 서브-프로세스
도 4는 본 개시의 일 실시예에 따라 일 예시적인 트래픽 데이터 패킷 검색 서브-프로세스의 플로차트를 도시한다. 서브-프로세스(400)는 예를 들면, 프로세스(300)의 단계(302)를 부분적으로 구현하기 위해 실행될 수 있다.
이러한 예에서, 서브-프로세스(400)는 패킷 로그 분석, 측면 네트워크 패킷 모니터링, 및 계층 7 부하 균형 디바이스들을 사용함으로써 HTTP 헤더 필드들에 포함된 사이트 속성 데이터를 획득하도록 구현된다. 다음으로, 이들 특징들은 사이트 통계 서브-프로세스 및 소스 기반 검출 및 방어 전략 배치 서브-프로세스로 종합 및 송신된다.
서브-프로세스(400)는 402에서 시작하고, 여기서 HTTP 패킷들은 하나 이상의 데이터 소스들로부터 획득된다.
404에서, 획득된 HTTP 패킷들은 요청 방법, 요청 URI, 쿠키들, 요청 파라미터들 및 각각의 키들 등과 같은 HTTP 필드들에 대응하는 형태들의 데이터로 분석된다.
406에서, 분석된 HTTP 데이터의 결과들은 상이한 데이터 형태들에 따라 컴파일되거나 종합된다. 406의 상세들은 도 5의 506에 관하여 이하에 더 완전히 설명된다.
408에서, 컴파일되거나 종합된 데이터는 통계 서브-프로세스 및 소스-기반 검출 및 방어 전략 배치 서브-프로세스로 송신된다.
도 5는 본 개시의 일 실시에에 따라 일 예시적인 사이트 통계 서브-프로세스의 플로차트를 도시한다. 서브-프로세스(500)는, 예를 들면, 프로세스(300)의 단계(302)를 부분적으로 구현하기 위해 실행될 수 있다.
이러한 예에서, 서브-프로세스(500)는 서브-프로세스(400)에 의해 획득 및 분류되는 컴파일되거나 종합된 HTTP 데이터에 대해 통계적인 분석을 수행하도록 구현된다. 통계적인 사이트 속성들은: 초당 요청들의 수, 초당 정상 응답들의 수, 초당 비정상 또는 에러 응답들의 수, 초당 공격들이 의심되는 것으로 생각되는 요청들의 수, 상술된 네개의 통계들의 임의의 피크값 변동의 존재, 다수의 시간 간격들(예를 들면, 15s/600s/1800s) 동안 상술된 제 1의 네 개의 통계들의 이동 평균들, 특정한 IP들에 대해 개방되는 동시에 발생하는 접속들의 수, 사이트로부터 할당된 동시에 발생하는 쿠키들의 수, 동시에 발생하는 공통 사용자-에이전트들의 수 등을 포함하지만 그로 한정되지 않는다.
서브-프로세스(500)는 502에서 시작하고, 여기서 502-506은 상기 402-406과 유사하게 수행될 수 있다.
506에서, 다양한 형태들의 통계들은 사이트 통계 속성들을 도출하기 위하여 획득된 HTTP 데이터에 대해 수행된다. 이러한 예에서, 프로세스들의 하나 이상의 스레드들은 HTTP 데이터를 통해 특정한 형태의 통계들을 수행하도록 구현된다. 이러한 스레드들 또는 프로세스들은: (1) 초당 요청들의 수, (2) 초당 정상 응답들의 수, (3) 초당 비정상 또는 에러 응답들의 수, (4) 초당 공격들이 의심스럽게 생각된 요청들의 수, (5) 특정한 IP들에 대해 개방되는 동시에 발생하는 접속들의 수, (6) 동시에 발생하는 공통 사용자-에이전트들의 수, (7) 사이트로부터 할당된 동시에 발생하는 쿠키들의 수 등을 획득하기 위한 프로세스들 또는 스레드를 포함하지만 그로 한정되지 않는다.
508에서, 모든 상술된 통계들의 이동 평균값들은 미리 결정된 시간 간격, 예를 들면, 도 2에 관하여 상술된 바와 같이 사이트 관리자에 의해 구성된 시간 간격에 걸쳐 계산된다. 이동 평균값들은, 다른 값들 중에서, 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는지 여부의 2진 결정을 나타내는 결과값을 발생시키기 위해 불린 함수에 입력된다.
510에서, 결과들은 사이트 상태 모니터링 서브-프로세스와 같은 네트워크 공격 방어의 서브-프로세스들 또는 다른 프로세스들에 의한 사용을 위해 출력된다.
도 6은 본 개시의 일 실시예에 따라 일 예시적인 사이트 상태 모니터링 서브-프로세스의 플로차트를 도시한다. 서브-프로세스(600)는 예를 들면, 프로세스(300)의 단계들(304, 306)을 구현하도록 실행될 수 있다.
이러한 예에서, 서브-프로세스(600)는 사이트 통계 서브-프로세스(500)에 의해, 및 사이트 작동 모드에 의해 제공된 규칙들에 의해 계산된 통계적인 속성들을 검색하고, 규칙 관리 서브-프로세스(도시되지 않음)는 필요한 경우 작동 상태 및 대응하는 모드 전환을 결정한다. 작동 모드 전환시, 서브-프로세스(600)는 또한 타깃 작동 모드와 연관된 사이트-지정 검출 규칙들을 동적으로 구성한다.
서브-프로세스(600)는 602에서 시작하고, 여기서 사이트 지정 동작 규칙들 또는 정책들이 획득된다. 예를 들면, 사이트 지정 동작 규칙들은, 예를 들면, 트래픽 비정상 검출 임계치들, 트래픽 비정상 검출 함수들 등을 지정할 수 있다.
604에서, 사이트 동작 모드 테이블은 사이트 작동 모드를 나타내는 하나 이상의 사이트 상태 기계들의 세트는 하나 이상의 보호된 사이트들의 세트로 맵핑되도록 초기화된다.
606에서, 통계적인 속성들은, 예를 들면, 통계 서브-프로세스(500)를 사용하여 사이트로부터 획득된다.
608에서, 보호된 사이트의 도메인 이름을 사용하여, 보호된 사이트에 대응하는 상태 기계는 사이트 작동 모드 테이블로부터 검색된다.
610에서, 작동 모드 전환 상태가 충족되었는지의 여부가 결정된다. 결정을 행하는 방법은 도 7a 내지 도 7c에 관하여 이하에 더 완전히 설명된다. 이러한 상태가 충족된 것의 결정에 응답하여, 방법은 YES 경로를 따라 612로 간다. 그렇지 않으면, 서브-프로세스(600)는 NO 경로를 따라 606으로 가서 보호된 사이트에 대한 통계적인 속성을 계속 수집 및 모니터링한다.
612에서, 작동 모드는 현재 작동 모드로부터 타깃 작동 모드로 전환되고, 타깃 작동 모드에 대응하는 정책 구성들이 실행된다.
이러한 예에서, 소스-기반 보안 검출 및 방어 전략 배치 서브-프로세스(도시되지 않음)는 소스-기반 통계들, 지정된 요청 특징들, 및 지정된 소스 필드들에 대한 분배 통계들에 매칭하도록 사이트 상태 모니터링 서브-프로세스(600)에 의해 발행된 규칙들을 사용한다. 성공적인 매칭시, 소스-기반 보안 검출 및 방어 전략 배치 서브-프로세스는 또한 페이지 차단 또는 전송 인간-기계 인터페이스 시도들과 같은 대응하는 지정된 방어들을 수행한다.
도 7a는 본 개시의 일 실시예에 따라 방어 레벨들과 방어 알고리즘 사이에 예시적인 작동 모드 전환들의 개략도를 도시한다. 이러한 변환들은 예를 들면, 프로세스(300)의 단계(306)를 구현하기 위해 실행될 수 있는 서브-프로세스를 조정하는 방어 전략들에 의해 수행될 수 있다.
이러한 예에서, 서브-프로세스를 조정하는 방어 전략들은 현재 작동 모드에서 방어 전략과 연관된 잘못된 부정 비율 및 잘못된 긍정 비율을 분석하기 위해 사이트 통계 서브-프로세스(500)를 사용하여 방법 전략들이 조정되는지의 여부를 결정하기 위해 사이트 상태 모니터링 서브-프로세스(600)에 의해 실행될 수 있다. 잘못된 부정 비율 및/또는 잘못된 긍정 비율이 그들의 각각의 임계치를 초과하는 경우, 방어 전략들이 조정될 것이다. 일부 실시예들에서, 현재 방어 전략의 조정은 대응하는 방어 알고리즘을 조정하는 것, 대응하는 방어 레벨을 조정하는 것, 또는 둘 모두를 포함한다.
여기에 도시된 바와 같이, 작동 모드 전환 정책 또는 규칙은 n개의 변수들을 갖는 불린 함수로서 구현되고, n개의 변수들은 서브-프로세스(500)로부터 출력된 통계 속성들이다. 특히, 변수들은 다음의 속성들의 형태들을 포함한다: 초당 요청들의 수, 초당 정상 응답들의 수, 초당 에러 응답들의 수, 초당 공격들이 의심스러운 요청들의 수, 특정한 IP들에 대해 개방되는 동시에 발생하는 접속들의 수의 통계들, 동시에 발생하는 공통 사용자-에이전트들의 통계적인 수, 및 동시에 발생하는 쿠키들의 통계적인 수 등. 변수들은 또한 이들 통계 속성들의 이동 평균들, 및 보호된 사이트가 현재 작동 모드에서 작동하는 시간 지속 기간의 값을 포함한다. 입력 변수들의 지정 세트가 제공되면(예를 들면, 작동 속성들), 불린 함수는 1 또는 0의 결과(또는 예 또는 아니오와 같은 두 개의 별개의 상태들의 다른 표시자들)를 제공한다. 불린 함수는 입력 변수들을 예 또는 아니오의 결정으로 맵핑하는 맵핑 함수 및/또는 논리 함수들의 세트로서 구현될 수 있다.
일부 실시예들에서, 불린 함수는 작동 모드 전환 결정을 생성하는 목적을 위해 상기에 설명된 속성들에 따라 생성된다. 다시 말해서, 작동 모드 전환 결정은 타깃 작동 모드로의 작동 모드 전환을 하기 위해 보호된 사이트에 대해 필요한지 또는 현재 작동 모드에 머물러야 하는지를 지시한다.
여기에 도시된 바와 같이, 작동 모드 전환 정책은 제 1 크기 및 제 2 크기를 따라 복수의 개별적인 상태들을 포함하는 상태 기계이다. 상태 1... 상태 n의 행들은 n개의 방어 정도들, 예를 들면, 대응하는 방어 전략과 연관된 잘못된 부정 비율들의 레벨들을 나타낸다. 특정한 잘못된 부정 비율의 각각의 레벨 내에서, 각각의 레벨의 서브-상태, 예를 들면, 상태 1-1, 상태 1-2, ..., 상태 1-n은 각각 동일한 방어 레벨 1에서 잘못된 긍정 비율들의 다양한 레벨들에 대응하는 다수의 방어 알고리즘을 나타낸다. 방어 레벨들의 수 및 방어 알고리즘의 수는 예시의 목적을 위해 동일한 수 n(여기서 도 7a 내지 도 7c에 도시된 바와 같이)임이 주의되어야 하고, 본 개시는 방어 레벨들의 수 및 방어 알고리즘의 수가 상이한 수인 상태 기계에 적용될 수 있다.
일 실시예에서, 702에서, 상태 기계는 초기 정상 모드(상태 0)에서 시작하고, 여기서 DDos 공격이 검출되지 않고 따라서 방어 전략들은 배치되지 않는다. HTTP 패킷들이 서브-프로세스(400)에 의해 획득되고 분석되기 때문에, 상태 기계는 상태 1-1의 704로 전환하고, 여기서 방어 레벨은 레벨 1로서 구성되고 방어 알고리즘은 알고리즘 1로서 구성된다.
706-1-1에서, n 개의 변수들은 상태 스위치가 발생하는지의 여부를 결정하기 위해 불린 함수로 입력된다. 이러한 예에서, 불린 함수의 입력 파라미터들은 다음을 포함한다:
1) 초당 요청들의 수, 초당 정상 응답들의 수, 초당 잘못된 응답들의 수, 초당 의심스러운 공격 요청들의 수, 표로 작성된 동시에 발생하는 IP들의 수, 표로 작성된 동시에 발생하는 사용자-에이전트들의 수, 및 매크로 통계 모듈에 의해 출력된 표로 작성된 동시에 발생하는 쿠키들의 수에 대한 수치값들
2) 매크로 통계 모듈에 의해 출력된 상기 수치값들에 대한 이동하는 평균값들
3) 현재 상태로의 점프 이래로 지속 기간
입력들이 주어지면, 불린 함수는 상이한 모드로 전환할지 여부의 표시자를 출력한다. 아니오인 경우, 이는 현재 작동 모드가 원하는 보호를 보호된 사이트에 제공한다는 것을 의미한다. 예인 경우, 상태 기계는 상태 1-2로 진입하고, 이러한 경우 방어 레벨은 1이고 사용되고 있는 알고리즘은 알고리즘 2이다. 706-1-2에서, 불린 함수는 현재 입력 값들을 사용하여 다시 작동된다. 이러한 예에서, 프로세스는 통계가 리프레시되기 전에 미리 결정된 간격을 대기하도록 강제된다.
불린 함수의 작동 및 동일한 방어 레벨에서 다음 방어 알고리즘에 대응하는 다음 상태로의 전환은 작동 모드가 새로운 모드로 전환할 필요가 없다는 결정에 도달하기 위해 불린 함수에 대해 필요되는 한에 대해 반복된다.
상태 기계가 하나의 방어 레벨에서 마지막 상태, 예를 들면, 707-1에서 상태 1-n에 도달할 때, 불린 함수는 상이한 모드로의 전환할지 여부의 표시자를 출력하기 위해 작동된다. 아니오인 경우, 이는 현재 작동 모드가 원하는 보호를 보호된 사이트로 제공한다는 것을 의미한다. 예인 경우, 상태 기계는 상태 2-1로 진입하고, 이러한 경우 방어 레벨은 지금 2이고 사용되고 있는 알고리즘은 1이다. 다시, 불린 함수의 작동 및 동일한 방어 레벨에서 다음 방어 알고리즘에 대응하는 다음 상태로의 전환은 작동 모드가 새로운 모드로의 전환에 필요하지 않다는 결정에 도달하기 위해 불린 함수에 대해 필요로 되는 한 반복된다.
도 7b에 도시되는 이러한 예에서, 상태 기계는 스위치들이 잘못된 부정 비율들이 가능한 한 낮게 유지되게 하도록 가능한 한 많이 동일한 레벨 내에서 발생하도록 설계된다. 다른 실시예들에서, 도 7c에 도시된 바와 같이, 상태 기계들은 스위치들이 상이한 레벨들과 함께 동일한 알고리즘에 대해 발생하도록 설계된다.
특히, 도 7b는 본 개시의 일 실시예에 따라 그의 각각의 작동 상태들 중에서 일 예시적인 상태 기계 전환을 나타내는 2차원 그래프이다. 여기서, 축 x는 방어 레벨들을 나타내고 축 y는 방어 알고리즘을 나타낸다. 따라서, 상태 기계의 복수의 작동 상태들은 그래프에서 복수의 지점들로서 표시되고, 숫자들의 쌍과 연관된 각각의 지점은 대응하는 방어 레벨 첫번째 및 방어 알고리즘 두번째를 나타낸다. 상태 기계는 원점에서 상태(0,0)에서 시작하고 이후 상태(1,1)이다. 불린 함수가 현재 작동 모드가 새로운 작동 상태로의 전환에 대해 필요하다는 결정에 도달하여 유지될 때, 작동 모드가 새로운 모드로의 전환에 필요하지 않다는 결정에 도달하기 위해 불린 함수에 대해 필요로 되는 한 (2,1), (2,2) 등에 수직으로 전환하기 전에 상태 기계는 (1,1)로부터 (1,2)로, ..., (1,n)으로 수평으로 이동한다.
도 7c는 본 개시의 일 실시예에 따라 그의 각각의 작동 상태들 중에서 다른 예시적인 상태 기계 전환을 나타내는 2차원 그래프이다. 여기서, 상태 기계는 원점에서 상태(0,0)에서 시작하고 이후 상태(1,1)이다. 불린 함수가 현재 작동 모드가 새로운 작동 상태로의 전환에 대해 필요하다는 결정에 도달하여 유지될 때, 작동 모드가 새로운 모드로의 전환에 필요하지 않다는 결정에 도달하기 위해 불린 함수에 대해 필요로 되는 한 수평 방향으로 전환하는 등의 전에 (1,1)로부터 (1,2)로, ..., (1,n)으로 수직으로 이동한다.
본 개시에 포함된 실시예들은 단계적인 방식으로 설명된다. 각각의 실시예의 설명이 다른 실시예들과의 상이점의 영역들에 집중하고, 그의 설명들은 동일하거나 유사한 각각의 실시예의 부분들에 대해 상호간에 참조될 수 있다.
당업자는 본 발명의 실시예가 방법들, 디바이스들, 또는 컴퓨터 프로그램 제품들을 제공할 수 있다는 것을 이해할 것이다. 따라서, 본 출원의 실시예들은 전적으로 하드웨어인 실시예들, 전적으로 소프트웨어인 실시예들, 및 하드웨어 및 소프트웨어 양태들을 조합하는 실시예들의 형태를 취할 수 있다. 더욱이, 본 출원의 실시예들은 컴퓨터 작동 가능한 컴퓨터 코드를 포함하는 컴퓨터 작동 가능한 저장 매체(자기 디스크 기억 장치들, CD-ROM들, 및 광 기억 장치들을 포함하지만 그로 한정되지 않음)을 구현하는 컴퓨터 제품들의 하나 이상의 형태들을 채용할 수 있다.
하나의 일반적인 구성에서, 컴퓨터 장비는 하나 이상의 프로세서들(CPU들), 입력/출력 인터페이스들, 네트워크 인터페이스들, 및 메모리를 포함한다. 메모리는 컴퓨터 판독 가능한 매체 내 휘발성 기억 장치들, 랜덤 액세스 메모리(RAM), 및/또는 판독 전용 메모리(ROM) 또는 플래시 메모리(플래시 RAM)와 같은 비휘발성 메모리와 같은 이러한 형태들을 포함할 수 있다. 메모리는 컴퓨터 판독 가능한 매체의 일 예이다. 영구 및 비영구 및 제거 가능한 및 제거가능하지 않은 매체를 포함하는 컴퓨터 판독 가능한 매체는 임의의 방법 또는 기술에 의해 정보 저장을 달성할 수 있다. 정보는 컴퓨터 판독 가능한 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터일 수 있다. 컴퓨터 저장 매체의 예들은 상 변화 메모리(phase-change memory; PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 형태들의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기적 소거 가능한 프로그램 가능한 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 디지트 다기능 디스크(DVD) 또는 다른 광 기억 장치, 자기 카세트들, 자기 테이프 또는 자기 디스크 기억 장치, 또는 다른 자기 기억 장비 또는 컴퓨터들에 액세스 가능한 정보를 저장하기 위해 사용될 수 있는 임의의 다른 비송신 매체를 포함하지만, 그로 한정되지 않는다. 본 명세서에 규정된 바와 같이, 컴퓨터 판독 가능한 매체는 변조된 데이터 신호들 및 반송파들과 같은 일시적 컴퓨터 판독가능한 매체(일시적 매체)를 포함하지 않는다.
본 출원의 실시예들은 방법들, 단말 장비(시스템들), 단말 장비(시스템), 및 본 출원의 실시예들의 컴퓨터 프로그램 제품들에 기초하여 플로차트들 및/또는 블록도들을 참조하여 설명된다. 플로차트들 및/또는 블록도들 내의 각각의 플로차트 및/또는 블록도 및 플로차트들 및/또는 블록도들 내의 플로차트들 및/또는 블록도들의 조합들이 컴퓨터 명령들에 의해 실현될 수 있다는 것을 주의하라. 이들 컴퓨터 프로그램 명령들은 범용 컴퓨터들, 특수화된 컴퓨터들, 임베딩된 프로세서 디바이스들의 프로세서들, 또는 기계를 생성하기 위한 다른 프로그램 가능한 데이터 처리 단말들에 제공될 수 있다. 컴퓨터들 또는 다른 프로그램 가능한 데이터 처리 단말 장비의 프로세서들에 의해 실행된 명령들은 결과적으로 디바이스들이 플로차트들의 하나 이상의 프로세스들 및 블록도들의 하나 이상의 블록들에 특정된 기능들을 구현하도록 한다.
이들 컴퓨터 프로그램 명령들은 또한 컴퓨터들 또는 다른 프로그램 가능한 데이터 처리 단말 장비가 특정한 방식으로 작동하도록 안내할 수 있는 컴퓨터 판독 가능한 메모리에 저장될 수 있다. 결과로서, 컴퓨터 판독 가능한 메모리에 저장된 명령들은 명령 디바이스들을 포함하는 제품들을 초래한다. 이들 명령 디바이스들은 플로차트들의 하나 이상의 프로세스들 및/또는 블록도들의 하나 이상의 블록들에 특정된 기능들을 구현한다.
이들 컴퓨터 프로그램 명령들은 또한 컴퓨터들 또는 다른 프로그램 가능한 데이터 처리 단말 장비상에 로딩될 수 있고 컴퓨터 구현 처리를 초래하도록 컴퓨터들 또는 다른 프로그램 가능한 데이터 처리 단말 장비상에 일련의 단계들을 실행하게 할 수 있다. 그에 의해 컴퓨터들 또는 다른 프로그램 가능한 데이터 처리 단말 장비상에 실행된 명령들은 플로차트들의 하나 이상의 프로세스들 및/또는 블록도들의 하나 이상의 블록들에 특정된 기능들의 단계들을 제공한다.
본 출원의 바람직한 실시예들이 이전에 설명되었지만, 당업자는 기본적인 독창적 개념을 파악하면 이들 실시예들에 대한 다른 변경들 또는 수정들을 행할 수 있다. 따라서, 첨부된 청구항들은 본 출원의 실시예들의 범위 내에 속하는 모든 변경들 및 수정들뿐만 아니라 바람직한 실시예들을 포함하는 것으로 해석될 것이다.
전술한 실시예들이 이해의 명료성을 위해 일부 상세하게 설명되었지만, 본 발명은 제공된 상세들에 한정되는 것은 아니다. 본 발명을 구현하는 많은 대안적인 방식들이 존재한다. 개시된 실시예들은 예시적이고 제한적이 아니다.

Claims (20)

  1. 네트워크 공격 방어 방법에 있어서:
    보호된 사이트의 하나 이상의 사이트 속성들의 세트에 대한 통계들을 수집함으로써 상기 보호된 사이트에 대한 하나 이상의 통계적인 속성들의 세트를 획득하는 단계로서, 상기 보호된 사이트의 상기 하나 이상의 사이트 속성들의 세트는 상기 보호된 사이트의 작동 모드를 나타내는, 상기 하나 이상의 통계적인 속성들의 세트를 획득하는 단계;
    상기 하나 이상의 통계적인 속성들의 세트에 적어도 부분적으로 기초하여, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하는 단계로서, 상기 현재 작동 모드는 현재 방어 전략을 가지고 상기 타깃 작동 모드는 타깃 방어 전략을 가지고, 상기 현재 방어 전략은 상기 타깃 방어 전략과 상이하고, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하는 단계는:
    상기 하나 이상의 통계적인 속성들의 세트에 대한 하나 이상의 이동 평균들(rolling averages)을 획득하는 단계; 및
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는지의 여부를 결정하기 위해 상기 하나 이상의 통계적인 속성들, 및 상기 하나 이상의 통계적인 속성들에 대한 상기 하나 이상의 이동 평균을 이용하는 단계를 포함하는, 상기 결정 단계; 및
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환한다는 상기 결정에 응답하여, 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하고 상기 보호된 사이트에 대한 상기 타깃 방어 전략을 적용하는 단계를 포함하는, 네트워크 공격 방어 방법.
  2. 제 1 항에 있어서,
    상기 보호된 사이트에 대한 상기 하나 이상의 통계적인 속성들의 세트를 획득하는 단계는:
    지정된 시간 간격 내에서 상기 보호된 사이트에 의해 수신된 복수의 HTTP 패킷들을 획득하는 단계; 및
    상기 하나 이상의 통계적인 속성들의 세트를 획득하기 위해 동일한 형태의 HTTP 헤더들의 사이트 속성들에 대한 통계들을 수집하기 위해 상기 HTTP 패킷들로부터 사이트 속성들을 추출하는 단계를 포함하는, 네트워크 공격 방어 방법.
  3. 제 2 항에 있어서,
    상기 복수의 HTTP 패킷들을 획득하는 단계는:
    복수의 데이터 소스들로부터 HTTP 패킷들의 세트를 획득하는 단계; 및
    상기 보호된 사이트에 대하여 상기 복수의 HTTP 패킷들을 결정하기 위해 그들의 각각의 수신지 사이트들에 기초하여 상기 HTTP 패킷들의 세트를 카테고리화하는 단계를 포함하는, 네트워크 공격 방어 방법.
  4. 제 1 항에 있어서,
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로의 전환하는 것을 결정하는 단계는:
    상기 보호된 사이트가 상기 현재 작동 모드에 있는 동안 시간 지속 기간을 획득하는 단계; 및
    상기 하나 이상의 통계적인 속성들, 상기 하나 이상의 통계적인 속성들에 대한 상기 하나 이상의 이동 평균들, 및 상기 시간 지속 기간에 적어도 부분적으로 기초하여 상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는지의 여부를 결정하는 단계를 포함하는, 네트워크 공격 방어 방법.
  5. 제 1 항에 있어서,
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는 것을 결정하는 단계는:
    출력값을 생성하기 위해 상기 하나 이상의 이동 평균들, 상기 하나 이상의 통계적인 속성들, 및 상기 보호된 사이트가 상기 현재 작동 모드에 있는 동안 시간 지속 기간을 상기 보호된 사이트에 대응하는 불린 함수로 입력하는 단계; 및
    상기 출력값을 사용함으로써, 상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는 것을 결정하는 단계를 포함하는, 네트워크 공격 방어 방법.
  6. 제 1 항에 있어서,
    상기 현재 방어 전략은 복수의 방어 알고리즘을 포함하고, 상기 복수의 방어 알고리즘 중 하나의 방어 알고리즘은 대응하는 복수의 방어 레벨들을 가지고, 상기 대응하는 복수의 방어 레벨들은 상기 보호된 사이트가 보호되는 범위들을 나타내는, 네트워크 공격 방어 방법.
  7. 제 6 항에 있어서,
    상기 보호된 사이트에 대한 상기 하나 이상의 통계적인 속성들의 세트는 제 1 미리 결정된 시간 간격 내에서 상기 보호된 사이트의 작동 모드를 나타내고,
    상기 방법은:
    제 2 미리 결정된 시간 간격 동안 상기 보호된 사이트에 대한 잘못된 긍정 비율을 획득하기 위한 통계들을 수집하는 단계로서, 상기 보호된 사이트는 상기 현재 방어 전략에 의해 배치되는, 상기 통계들을 수집하는 단계; 및
    상기 잘못된 긍정 비율이 대응하는 임계값을 초과한다는 결정에 응답하여, 상기 현재 방어 전략을 조정하는 단계를 더 포함하는, 네트워크 공격 방어 방법.
  8. 제 7 항에 있어서,
    상기 현재 방어 전략을 조정하는 단계는 대응하는 방어 알고리즘을 조정하는 단계, 대응하는 방어 레벨을 조정하는 단계, 또는 둘 모두를 포함하는, 네트워크 공격 방어 방법.
  9. 제 1 항에 있어서,
    상기 보호된 사이트에 대한 상기 하나 이상의 통계적인 속성들의 세트는 지정된 시간 간격 내 상기 보호된 사이트의 작동 모드를 나타내는, 네트워크 공격 방어 방법.
  10. 시스템에 있어서:
    하나 이상의 프로세서들로서:
    보호된 사이트의 하나 이상의 사이트 속성들의 세트에 대한 통계들을 수집함으로써 상기 보호된 사이트에 대한 하나 이상의 통계적인 속성들의 세트를 획득하고, 상기 하나 이상의 사이트 속성들의 세트는 상기 보호된 사이트의 작동 모드를 나타내고,
    상기 하나 이상의 통계적인 속성들의 세트에 기초하여, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하고, 상기 현재 작동 모드는 현재 방어 전략을 가지고 상기 타깃 작동 모드는 타깃 방어 전략을 가지고, 상기 현재 방어 전략은 상기 타깃 방어 전략과 상이하고, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하는 것은:
    상기 하나 이상의 통계적인 속성들의 세트에 대한 하나 이상의 이동 평균들을 획득하고;
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는지의 여부를 결정하기 위해 상기 하나 이상의 통계적인 속성들, 및 상기 하나 이상의 통계적인 속성들에 대한 상기 하나 이상의 이동 평균을 이용하는 것을 포함하고;
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환한다는 상기 결정에 응답하여, 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하고 상기 현재 작동 모드 대신 상기 보호된 사이트에 대하여 상기 타깃 방어 전략을 적용하도록 구성되는, 상기 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 명령들을 제공하도록 구성된 하나 이상의 메모리들을 포함하는, 시스템.
  11. 제 10 항에 있어서,
    상기 보호된 사이트에 대한 상기 하나 이상의 통계적인 속성들의 세트를 획득하는 것은:
    지정된 시간 간격 내 상기 보호된 사이트에 의해 수신된 복수의 HTTP 패킷들을 획득하고,
    상기 하나 이상의 통계적인 속성들의 세트를 획득하기 위해 동일한 형태의 HTTP 헤더들의 사이트 속성들에 대한 통계들을 수집하기 위해 상기 복수의 HTTP 패킷들로부터 사이트 속성들을 추출하는 것을 포함하는, 시스템.
  12. 제 11 항에 있어서,
    상기 복수의 HTTP 패킷들을 획득하는 것은:
    복수의 데이터 소스들로부터 HTTP 패킷들의 세트를 획득하고,
    상기 보호된 사이트에 대한 상기 복수의 HTTP 패킷들을 결정하기 위해 수신지 사이트들에 기초하여 상기 HTTP 패킷들의 세트를 카테고리화하는 것을 포함하는, 시스템.
  13. 제 10 항에 있어서,
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는 것을 결정하는 것은:
    상기 보호된 사이트가 상기 현재 작동 모드에 있는 동안 시간 지속 기간을 획득하고;
    상기 하나 이상의 통계적인 속성들, 상기 하나 이상의 통계적인 속성들에 대한 상기 하나 이상의 이동 평균들, 및 상기 시간 지속 기간에 적어도 부분적으로 기초하여 상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는지의 여부를 결정하는 것을 포함하는, 시스템.
  14. 제 10 항에 있어서,
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는 것을 결정하는 것은:
    출력값을 생성하기 위해 상기 하나 이상의 이동 평균들, 상기 하나 이상의 통계적인 속성들, 및 상기 보호된 사이트가 상기 현재 작동 모드에 있는 동안 시간 지속 기간을 상기 보호된 사이트에 대응하는 불린 함수로 입력하고,
    상기 출력값을 사용함으로써, 상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는 것을 결정하는 것을 포함하는, 시스템.
  15. 제 10 항에 있어서,
    상기 현재 방어 전략은 복수의 방어 알고리즘을 포함하고, 상기 복수의 방어 알고리즘 중 하나의 방어 알고리즘은 대응하는 복수의 방어 레벨들을 가지고, 상기 대응하는 복수의 방어 레벨들은 상기 보호된 사이트가 보호되는 범위들을 나타내는, 시스템.
  16. 제 15 항에 있어서,
    상기 보호된 사이트에 대한 상기 하나 이상의 통계적인 속성들의 세트는 제 1 미리 결정된 시간 간격 내 상기 보호된 사이트의 작동 모드를 나타내고; 상기 하나 이상의 프로세서들은 또한:
    제 2 미리 결정된 시간 간격 동안 상기 보호된 사이트에 대한 잘못된 긍정 비율을 획득하기 위해 통계들을 수집하고, 상기 보호된 사이트는 상기 현재 방어 전략으로 배치되고,
    상기 잘못된 긍정 비율이 대응하는 임계값을 초과할 때 상기 현재 방어 전략을 조정하도록 구성되는, 시스템.
  17. 제 16 항에 있어서,
    상기 현재 방어 전략을 조정하는 것은 대응하는 방어 알고리즘을 조정하는 것, 대응하는 방어 레벨을 조정하는 것, 또는 둘 모두를 포함하는, 시스템.
  18. 제 11 항에 있어서,
    상기 보호된 사이트에 대한 상기 하나 이상의 통계적인 속성들의 세트는 지정된 시간 간격 내 상기 보호된 사이트의 작동 모드를 나타내는, 시스템.
  19. 네트워크 공격 방어를 위한 컴퓨터 명령들을 포함하는 컴퓨터 프로그램이 저장된 유형의 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 명령들은:
    보호된 사이트의 하나 이상의 사이트 속성들의 세트에 대한 통계들을 수집함으로써 상기 보호된 사이트에 대한 하나 이상의 통계적인 속성들의 세트를 획득하고, 상기 하나 이상의 사이트 속성들의 세트는 상기 보호된 사이트의 작동 모드를 나타내고,
    상기 하나 이상의 통계적인 속성들의 세트에 기초하여, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하고, 상기 현재 작동 모드는 현재 방어 전략을 가지고 상기 타깃 작동 모드는 타깃 방어 전략을 가지고, 상기 현재 방어 전략은 상기 타깃 방어 전략과 상이하고, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하는 것은:
    상기 하나 이상의 통계적인 속성들의 세트에 대한 하나 이상의 이동 평균들을 획득하고;
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하는지의 여부를 결정하기 위해 상기 하나 이상의 통계적인 속성들, 및 상기 하나 이상의 통계적인 속성들에 대한 상기 하나 이상의 이동 평균을 이용하는 것을 포함하고;
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환한다는 상기 결정에 응답하여, 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하고, 상기 현재 작동 모드 대신에 상기 보호된 사이트에 대하여 상기 타깃 방어 전략을 적용하기 위한 것인, 유형의 컴퓨터 판독 가능 저장 매체.
  20. 방법에 있어서,
    보호된 사이트의 하나 이상의 사이트 속성들의 세트에 대한 통계들을 수집함으로써 상기 보호된 사이트에 대한 하나 이상의 통계적인 속성들의 세트를 획득하는 단계로서, 상기 보호된 사이트의 상기 하나 이상의 사이트 속성들의 세트는 제 1 미리 결정된 시간 간격 내에서 상기 보호된 사이트의 작동 모드를 나타내는, 상기 하나 이상의 통계적인 속성들의 세트를 획득하는 단계;
    상기 하나 이상의 통계적인 속성들의 세트에 적어도 부분적으로 기초하여, 상기 보호된 사이트가 현재 작동 모드로부터 타깃 작동 모드로 전환하는 것을 결정하는 단계로서, 상기 현재 작동 모드는 현재 방어 전략을 가지고 상기 타깃 작동 모드는 타깃 방어 전략을 가지고, 상기 현재 방어 전략은 상기 타깃 방어 전략과 상이한, 상기 결정하는 단계;
    상기 보호된 사이트가 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환한다는 상기 결정에 응답하여, 상기 현재 작동 모드로부터 상기 타깃 작동 모드로 전환하고, 상기 보호된 사이트에 대하여 상기 타깃 방어 전략을 적용하는 단계;
    제 2 미리 결정된 시간 간격 동안 상기 보호된 사이트에 대한 잘못된 긍정 비율을 획득하기 위한 통계들을 수집하는 단계로서, 상기 보호된 사이트는 상기 현재 방어 전략에 의해 배치되는, 상기 통계들을 수집하는 단계; 및
    상기 잘못된 긍정 비율이 대응하는 임계값을 초과할 때 상기 현재 방어 전략을 조정하는 단계를 포함하는, 방법.


KR1020187037369A 2016-07-22 2017-07-19 네트워크 공격 방어 시스템 및 방법 KR102159930B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201610586673.9 2016-07-22
CN201610586673.9A CN107645478B (zh) 2016-07-22 2016-07-22 网络攻击防御系统、方法及装置
US15/653,157 2017-07-18
US15/653,157 US10505974B2 (en) 2016-07-22 2017-07-18 Network attack defense system and method
PCT/US2017/042880 WO2018017725A1 (en) 2016-07-22 2017-07-19 Network attack defense system and method

Publications (2)

Publication Number Publication Date
KR20190009379A KR20190009379A (ko) 2019-01-28
KR102159930B1 true KR102159930B1 (ko) 2020-09-29

Family

ID=60990172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187037369A KR102159930B1 (ko) 2016-07-22 2017-07-19 네트워크 공격 방어 시스템 및 방법

Country Status (7)

Country Link
US (2) US10505974B2 (ko)
EP (1) EP3488559B1 (ko)
JP (2) JP6701390B2 (ko)
KR (1) KR102159930B1 (ko)
CN (1) CN107645478B (ko)
TW (1) TWI727060B (ko)
WO (1) WO2018017725A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112398800A (zh) * 2019-08-19 2021-02-23 华为技术有限公司 一种数据处理方法及装置
CN111125671B (zh) * 2019-12-19 2023-08-01 字节跳动有限公司 验证码处理方法及装置、存储介质
CN111600841B (zh) * 2020-04-16 2022-12-09 广西电网有限责任公司电力科学研究院 一种Web站点的综合安全监测方法及系统
CN112202821B (zh) * 2020-12-04 2021-03-30 北京优炫软件股份有限公司 一种cc攻击的识别防御系统及方法
CN112702321B (zh) * 2020-12-15 2023-04-07 深圳市快付通金融网络科技服务有限公司 分布式交易限流方法、装置、设备及存储介质
US20230119260A1 (en) * 2021-10-14 2023-04-20 F5, Inc. METHODS FOR MITIGATING DDoS ATTACK USING HARDWARE DEVICE AND DEVICES THEREOF
US11552989B1 (en) 2021-11-23 2023-01-10 Radware Ltd. Techniques for generating signatures characterizing advanced application layer flood attack tools
US11582259B1 (en) 2021-11-23 2023-02-14 Radware Ltd. Characterization of HTTP flood DDoS attacks
CN114301796B (zh) * 2021-12-20 2023-10-03 上海纽盾科技股份有限公司 预测态势感知的验证方法、装置及系统
CN115174233B (zh) * 2022-07-08 2024-03-26 广东瑞普科技股份有限公司 基于大数据的网络安全分析方法、设备、系统及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010506460A (ja) 2006-09-29 2010-02-25 アルカテル−ルーセント タイプ2ファジーニューラルネットワークを使用したインテリジェンスネットワーク異常検出
US20150055468A1 (en) * 2013-08-26 2015-02-26 Vmware, Inc. Traffic and load aware dynamic queue management
US20160182542A1 (en) * 2014-12-18 2016-06-23 Stuart Staniford Denial of service and other resource exhaustion defense and mitigation using transition tracking

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032871A1 (en) * 2000-09-08 2002-03-14 The Regents Of The University Of Michigan Method and system for detecting, tracking and blocking denial of service attacks over a computer network
JP2002342279A (ja) 2001-03-13 2002-11-29 Fujitsu Ltd フィルタリング装置、フィルタリング方法およびこの方法をコンピュータに実行させるプログラム
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
US7467202B2 (en) 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
JP2005210601A (ja) 2004-01-26 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> 不正侵入検知装置
US7478429B2 (en) 2004-10-01 2009-01-13 Prolexic Technologies, Inc. Network overload detection and mitigation system and method
US8498210B2 (en) 2005-01-31 2013-07-30 British Telecommunications Plc Control of data in a network
JP2007006054A (ja) 2005-06-23 2007-01-11 Hitachi Ltd パケット中継装置及びパケット中継システム
US7617170B2 (en) 2006-10-09 2009-11-10 Radware, Ltd. Generated anomaly pattern for HTTP flood protection
JP4957439B2 (ja) 2007-08-02 2012-06-20 パナソニック株式会社 正抵抗温度特性抵抗体
US8484729B2 (en) * 2007-09-20 2013-07-09 Nec Corporation Security operation management system, security operation management method, and security operation management program
US8789173B2 (en) 2009-09-03 2014-07-22 Juniper Networks, Inc. Protecting against distributed network flood attacks
CN102075365B (zh) * 2011-02-15 2012-12-26 中国工商银行股份有限公司 一种网络攻击源定位及防护的方法、装置
US8151341B1 (en) 2011-05-23 2012-04-03 Kaspersky Lab Zao System and method for reducing false positives during detection of network attacks
JP5752020B2 (ja) 2011-12-06 2015-07-22 株式会社Kddi研究所 攻撃対策装置、攻撃対策方法及び攻撃対策プログラム
IL219499B (en) * 2012-04-30 2019-02-28 Verint Systems Ltd A system and method for detecting malicious software
WO2013187923A2 (en) 2012-06-14 2013-12-19 Aerohive Networks, Inc. Multicast to unicast conversion technique
KR101394383B1 (ko) * 2012-06-15 2014-05-13 건국대학교 산학협력단 디도스 방어를 위한 에이에스 내부 라우팅 배치 시스템 및 그 방법
US9679131B2 (en) * 2013-01-25 2017-06-13 Cybereason Inc. Method and apparatus for computer intrusion detection
US10104124B2 (en) 2014-03-19 2018-10-16 Nippon Telegraph And Telephone Corporation Analysis rule adjustment device, analysis rule adjustment system, analysis rule adjustment method, and analysis rule adjustment program
CN106464577B (zh) 2014-06-18 2019-10-29 日本电信电话株式会社 网络系统、控制装置、通信装置以及通信控制方法
US9587974B2 (en) * 2014-07-21 2017-03-07 Mettler-Toledo, LLC Weighing scale diagnostics method
CN105991511A (zh) 2015-01-27 2016-10-05 阿里巴巴集团控股有限公司 一种检测cc攻击的方法及设备
ES2965917T3 (es) * 2016-05-06 2024-04-17 Sitelock Llc Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado
US10530795B2 (en) * 2017-03-17 2020-01-07 Target Brands, Inc. Word embeddings for anomaly classification from event logs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010506460A (ja) 2006-09-29 2010-02-25 アルカテル−ルーセント タイプ2ファジーニューラルネットワークを使用したインテリジェンスネットワーク異常検出
US20150055468A1 (en) * 2013-08-26 2015-02-26 Vmware, Inc. Traffic and load aware dynamic queue management
US20160182542A1 (en) * 2014-12-18 2016-06-23 Stuart Staniford Denial of service and other resource exhaustion defense and mitigation using transition tracking

Also Published As

Publication number Publication date
CN107645478B (zh) 2020-12-22
CN107645478A (zh) 2018-01-30
JP6701390B2 (ja) 2020-05-27
US20200067946A1 (en) 2020-02-27
WO2018017725A1 (en) 2018-01-25
JP6957675B2 (ja) 2021-11-02
EP3488559A1 (en) 2019-05-29
JP2020140723A (ja) 2020-09-03
TW201804757A (zh) 2018-02-01
EP3488559B1 (en) 2022-03-16
TWI727060B (zh) 2021-05-11
US11184387B2 (en) 2021-11-23
US10505974B2 (en) 2019-12-10
KR20190009379A (ko) 2019-01-28
EP3488559A4 (en) 2019-12-25
JP2019523584A (ja) 2019-08-22
US20180026994A1 (en) 2018-01-25

Similar Documents

Publication Publication Date Title
KR102159930B1 (ko) 네트워크 공격 방어 시스템 및 방법
Choi et al. A method of DDoS attack detection using HTTP packet pattern and rule engine in cloud computing environment
Thapngam et al. Distributed Denial of Service (DDoS) detection by traffic pattern analysis
Thapngam et al. Discriminating DDoS attack traffic from flash crowd through packet arrival patterns
Al-Hammadi et al. DCA for bot detection
US9300684B2 (en) Methods and systems for statistical aberrant behavior detection of time-series data
Beitollahi et al. ConnectionScore: a statistical technique to resist application-layer DDoS attacks
Hoque et al. FFSc: a novel measure for low‐rate and high‐rate DDoS attack detection using multivariate data analysis
Li et al. Detecting saturation attacks based on self-similarity of OpenFlow traffic
US20220174075A1 (en) Identifying malicious client network applications based on network request characteristics
Sree et al. HADM: detection of HTTP GET flooding attacks by using Analytical hierarchical process and Dempster–Shafer theory with MapReduce
Haddadi et al. Botnet behaviour analysis: How would a data analytics‐based system with minimum a priori information perform?
Batool et al. Lightweight statistical approach towards tcp syn flood ddos attack detection and mitigation in sdn environment
Lah et al. Proposed framework for network lateral movement detection based on user risk scoring in siem
Catak Two-layer malicious network flow detection system with sparse linear model based feature selection
Basicevic et al. On the use of principal component analysis in the entropy based detection of denial‐of‐service attacks
Oo et al. Enhancement of preventing application layer based on DDoS attacks by using hidden semi-Markov model
Kukreti et al. DDoS attack using SYN flooding: A case study
Hwoij et al. Detecting Network Anomalies using Rule-based machine learning within SNMP-MIB dataset
Ivannikova et al. Probabilistic transition-based approach for detecting application-layer ddos attacks in encrypted software-defined networks
Liu et al. Anomaly diagnosis based on regression and classification analysis of statistical traffic features
Kushwah et al. Distributed denial of service attacks and defense in cloud computing
Radhika et al. Mitigation of Distributed Denial of Service Attacks on the Internet of Things
Sairam et al. Using CAPTCHA selectively to mitigate HTTP-based attacks
Harsha et al. Feature selection for effective botnet detection based on periodicity of traffic

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