KR20200002244A - 서비스 요청을 관리하는 서버 및 방법 - Google Patents

서비스 요청을 관리하는 서버 및 방법 Download PDF

Info

Publication number
KR20200002244A
KR20200002244A KR1020180075537A KR20180075537A KR20200002244A KR 20200002244 A KR20200002244 A KR 20200002244A KR 1020180075537 A KR1020180075537 A KR 1020180075537A KR 20180075537 A KR20180075537 A KR 20180075537A KR 20200002244 A KR20200002244 A KR 20200002244A
Authority
KR
South Korea
Prior art keywords
word
address
service request
extracted
index
Prior art date
Application number
KR1020180075537A
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 KR1020180075537A priority Critical patent/KR20200002244A/ko
Publication of KR20200002244A publication Critical patent/KR20200002244A/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/1458Denial of Service
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

서비스 요청을 관리하는 서버는 사용자 단말로부터 적어도 하나의 서비스 요청을 수신하는 수신부, 상기 수신한 서비스 요청으로부터 상기 사용자 단말의 IP 주소 및 파라미터를 추출하는 추출부, 상기 추출한 IP 주소 및 파라미터를 기설정된 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 기록부 및 상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 측정부를 포함한다.

Description

서비스 요청을 관리하는 서버 및 방법{SERVER AND METHOD FOR MANAGING SERVICE REQUEST}
본 발명은 서비스 요청을 관리하는 서버 및 방법에 관한 것이다.
HTTP(HyperText Transfer Protocol) 플러딩 공격이란 정상적인 웹서버 접속을 가장하여 무차별적인 웹 접속 트래픽을 일으킴으로써, 서버와 네트워크를 마비시키는 공격을 의미한다. HTTP 플러딩 공격을 방어하기 위해서는 서비스 요청의 근원인 IP 주소로부터 서버로 얼마나 많은 서로 다른 요청이 발생되었는지를 파악해야 한다.
이러한 HTTP 플러딩 공격 방어와 관련하여, 선행기술인 한국공개특허 제 2012-0066465호는 서비스 거부 공격 차단 방법을 개시하고 있다.
HTTP 플러딩 공격 방어는 메모리가 많이 필요하게 되어 속도가 느린 DRAM(Dynamic Random Access Memroy)을 주로 사용하게 되나, 여러 번의 메모리 접근이 필요하게 되어 서버에 과부하가 걸리게 된다는 단점을 가지고 있다. HTTP 플러딩 공격 방어에 크기가 작고 속도가 빠른 SRAM를 이용하는 경우, 많은 메모리 접근 횟수로 인해 실시간으로 공격 방어가 이루어지지 않는다는 문제점을 가지고 있다.
HTTP 플러딩 공격과 같은 서비스 거부 공격에 대해 실시간 대응을 통해 탐지 및 방어를 수행하는 서비스 요청을 관리하는 서버 및 방법을 제공하고자 한다. 크기가 작은 SRAM에서 동작 가능한 경량화된 자료 구조를 이용하여 서비스 요청을 관리하는 서버 및 방법을 제공하고자 한다. 고속 네트워크에서도 서비스 거부 공격에 대한 탐지 및 방어를 수행할 수 있도록 하는 서비스 요청을 관리하는 서버 및 방법을 제공하고자 한다. 워드 단위의 한번의 메모리 접근을 통해 스프레드 기록과 측정을 동시에 수행하는 서비스 요청을 관리하는 서버 및 방법을 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 사용자 단말로부터 적어도 하나의 서비스 요청을 수신하는 수신부, 상기 수신한 서비스 요청으로부터 상기 사용자 단말의 IP 주소 및 파라미터를 추출하는 추출부, 상기 추출한 IP 주소 및 파라미터를 기설정된 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 기록부 및 상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 측정부를 포함하는 서비스 요청 관리 서버를 제공할 수 있다.
본 발명의 다른 실시예는, 사용자 단말로부터 적어도 하나의 서비스 요청을 수신하는 단계, 상기 수신한 서비스 요청으로부터 상기 사용자 단말의 IP 주소 및 파라미터를 추출하는 단계, 상기 추출한 IP 주소 및 파라미터를 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 단계 및 상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 단계를 포함하는 서비스 요청 관리 방법을 제공할 수 있다.
본 발명의 또 다른 실시예는, 복수의 사용자 단말로부터 적어도 하나의 요청을 수신하는 단계, 상기 수신한 서비스 요청으로부터 상기 각 사용자 단말의 IP 주소 및 파라미터를 추출하는 단계, 상기 추출한 각 사용자 단말의 IP 주소 및 파라미터를 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 단계, 상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 단계 및 상기 측정된 스프레드 값에 기초하여 상기 복수의 사용자 단말 중 적어도 하나의 사용자 단말을 공격자 단말로 판단하여 차단하는 단계를 포함하는 서비스 요청 관리 방법을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, HTTP 플러딩 공격과 같은 서비스 거부 공격에 대해 실시간 대응을 통해 탐지 및 방어를 수행하는 서비스 요청을 관리하는 서버 및 방법을 제공할 수 있다. 크기가 작은 SRAM에서 동작 가능한 경량화된 자료 구조를 이용하여 서비스 요청을 관리하는 서버 및 방법을 제공할 수 있다. 고속 네트워크에서도 서비스 거부 공격에 대한 탐지 및 방어를 수행할 수 있도록 하는 서비스 요청을 관리하는 서버 및 방법을 제공할 수 있다. 워드 단위의 한번의 메모리 접근을 통해 스프레드 기록과 측정을 동시에 수행하는 서비스 요청을 관리하는 서버 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 서비스 요청 관리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 서비스 요청 관리 서버의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 서비스 요청 관리 서버에서 서비스 요청을 관리하는 과정을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 서비스 요청 관리 서버에서 서비스 요청을 관리하는 방법의 순서도이다.
도 5는 본 발명의 일 실시예에 따른 서비스 요청 관리 서버에서 서비스 요청을 관리하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 서비스 요청 관리 시스템의 구성도이다. 도 1을 참조하면, 서비스 요청 관리 시스템(1)은 사용자 단말(110) 및 서비스 요청 관리 서버(120)를 포함할 수 있다. 사용자 단말(110) 및 서비스 요청 관리 서버(120)는 서비스 요청 관리 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 서비스 요청 관리 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 사용자 단말(110)은 서비스 요청 관리 서버(120)와 동시에 또는 시간 간격을 두고 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
사용자 단말(110)은 서비스 요청 관리 서버(120)로 적어도 하나의 서비스를 요청할 수 있다. 여기서, 서비스는 컨텐츠 접속, API(Application Programming Interface) 사용, 서비스 사용 인증과 같이 상시에 불특정 다수로부터 요청받는 모든 서비스를 의미하는 것일 수 있다.
서비스 요청 관리 서버(120)는 사용자 단말(110)로부터 적어도 하나의 서비스 요청을 수신하고, 수신한 서비스 요청으로부터 사용자 단말(110)의 IP 주소 및 파라미터를 추출할 수 있다. 여기서, 파라미터는 사용자 단말(110)로부터 요청받은 서비스명, 서비스 요청 내용, 서비스의 요청 정보의 모든 조합을 포함할 수 있다.
서비스 요청 관리 서버(120)는 추출한 IP 주소 및 파라미터를 기설정된 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하고, 워드에 기록된 IP 주소 및 파라미터에 기초하여 서비스 요청에 대한 스프레드 값을 측정할 수 있다. 이를 위해, 서비스 요청 관리 서버(120)는 추출한 IP 주소를 이용하여 워드 벡터에 포함된 복수의 워드 중 어느 하나의 위치를 탐색할 수 있다. 이 때, 각 워드는 IP 주소가 기록되는 제 1 영역 및 파라미터가 기록되는 제 2 영역을 포함할 수 있다.
예를 들어, 서비스 요청 관리 서버(120)는 추출한 IP 주소에 기초하여 워드 벡터에 대한 제 1 인덱스를 산출하고, 복수의 워드 중 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 확인할 수 있다. 이 때, 제 1 영역에 기록되어 있는 IP 주소가 추출한 IP 주소와 같은 경우, 제 1 인덱스에 해당하는 워드를 추출한 파라미터를 기록할 워드로 선정하고, 선정된 워드의 제 2 영역에 추출한 파라미터를 기록할 수 있다. 구체적으로, 서비스 요청 관리 서버(120)는 추출한 파라미터에 기초하여 선정된 워드의 제 2 영역에 대한 인덱스를 산출하고, 산출된 제 2 영역의 인덱스에 기초하여 추출한 파라미터를 기록하고, 제 2 영역의 비트 개수 및 제 2 영역에 기록된 설정값에 기초하여 추출된 IP 주소에 대한 스프레드 값을 측정할 수 있다. 여기서, 스프레드 값은 수신된 적어도 하나의 서비스 요청이 해당하는 각각 다른 서비스에 대한 요청 개수를 나타내는 것일 수 있다.
다른 예를 들어, 서비스 요청 관리 서버(120)는 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소가 초기화(예를 들어, '0'으로 설정)되어 있는 경우, 제 1 인덱스에 해당하는 워드의 제 1 영역에 추출한 IP 주소를 기록할 수 있다.
또 다른 예를 들어, 서비스 요청 관리 서버(120)는 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소가 추출한 IP 주소와 다른 것으로 확인된 경우, 추출한 IP 주소에 기초하여 워드 벡터에 대한 제 2 인덱스를 재산출하고, 복수의 워드 중 상기 재산출된 제 2 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 확인할 수 있다. 이 때, 제 2 인덱스에 해당하는 워드의 제 1 영역에 기록된 IP 주소가 추출한 IP 주소와 같은 경우, 서비스 요청 관리 서버(120)는 워드 벡터의 제 2 인덱스에 해당하는 워드를 추출한 파라미터를 기록할 워드로 선정할 수 있다.
또 다른 예를 들어, 서비스 요청 관리 서버(120)는 추출한 파라미터를 기록할 워드의 선정을 반복 수행했음에도 워드 선정에 실패한 경우, 산출된 제 1 인덱스에 해당하는 워드를 추출한 파라미터를 기록할 워드로 선정하고, 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 추출된 IP 주소로 대체할 수 있다.
서비스 요청 관리 서버(120)는 측정된 스프레드 값이 기정의된 임계값을 초과하는 경우, 추출된 IP 주소를 차단할 수 있다.
이러한 과정을 거쳐 서비스 요청 관리 서버(120)는 워드 벡터를 구성하는 워드 단위로 메모리 접근을 수행함으로써, IP 주소 및 상기 파라미터에 대한 기록과 스프레드 값에 대한 측정을 동시에 수행할 수 있다는 장점을 가지게 된다.
도 2는 본 발명의 일 실시예에 따른 서비스 요청 관리 서버의 구성도이다. 도 2를 참조하면, 서비스 요청 관리 서버(120)는 초기화부(210), 수신부(220), 추출부(230), 워드 위치 탐색부(240), 기록부(250), 측정부(260) 및 IP 주소 차단부(270)를 포함할 수 있다.
초기화부(210)는 파라미터값을 기록하기 위해 사용할 기설정된 워드 벡터(vector)를 초기화할 수 있다. 워드 벡터는 예를 들어, m개의 워드로 구성된 것일 수 있다. 워드란 메모리에서 CPU 레지스터로 데이터를 옮기는 단위를 의미한다. 예를 들어, 각 워드가 64bit로 구성된 경우, 각 워드의 앞에서부터의 32bit는 IP 주소가 기록되는 제 1 영역 및 나머지 32bit는 파라미터가 기록되는 제 2 영역으로 구성될 수 있다. 이 때, 초기화부(210)는 워드 벡터의 초기화를 위해 워드 벡터의 모든 비트를 '0'으로 설정할 수 있다.
수신부(220)는 사용자 단말(110)로부터 적어도 하나의 서비스 요청을 수신할 수 있다. 예를 들어, 수신부(220)는 사용자 단말(110)로부터 HTTP(HyperText Transfer Protocol)를 통하여 서비스의 요청을 수신할 수 있다. 여기서, 서비스는 컨텐츠 접속, API(Application Programming Interface) 사용, 서비스 사용 인증과 같이 상시에 불특정 다수로부터 요청받는 모든 서비스를 의미하는 것일 수 있다.
추출부(230)는 수신한 서비스 요청으로부터 사용자 단말(110)의 IP 주소 및 파라미터를 추출할 수 있다. 파라미터는 예를 들어, 사용자 단말(110)로부터 요청받은 서비스명, 서비스 요청 내용 또는 서비스의 요청 정보에 대한 모든 조합을 포함할 수 있다.
워드 위치 탐색부(240)는 추출한 IP 주소를 이용하여 워드 벡터에 포함된 복수의 워드 중 어느 하나의 위치를 탐색할 수 있다. 예를 들어, 워드 위치 탐색부(240)는 기설정된 해시 함수(예를 들어, 제 1 해시 함수)에 추출한 IP 주소를 입력하여 워드 벡터에 대한 제 1 인덱스(i)를 산출하고, 복수의 워드 중 산출된 제 1 인덱스(i)에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 확인할 수 있다. 이 때, 제 1 인덱스(i)의 범위는 워드 벡터의 크기에 따라 '0 ≤ i < m'로 설정될 수 있다.
워드 위치 탐색부(240)는 제 1 영역에 기록되어 있는 IP 주소가 추출한 IP 주소와 같은 경우, 제 1 인덱스(i)에 해당하는 워드를 추출한 파라미터를 기록할 워드로 선정할 수 있다.
워드 위치 탐색부(240)는 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소가 추출한 IP 주소와 다른 것으로 확인된 경우, 기설정된 해시 함수와 다른 해시 함수(예를 들어, 제 2 해시 함수)에 추출한 IP 주소를 입력하여 워드 벡터에 대한 제 2 인덱스(i)를 재산출하고, 복수의 워드 중 재산출된 제 2 인덱스(i)에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 확인할 수 있다. 이 때, 워드 위치 탐색부(240)는 제 2 인덱스에 해당하는 워드의 제 1 영역에 기록된 IP 주소가 추출한 IP 주소와 같은 경우, 워드 벡터의 제 2 인덱스에 해당하는 워드를 추출한 파라미터를 기록할 워드로 선정할 수 있으며, 제 2 인덱스에 해당하는 워드의 제 1 영역에 기록된 IP 주소가 추출한 IP 주소가 달라 추출한 파라미터를 기록할 워드로 선정할 수 없는 경우, 워드 위치 탐색부(240)는 파라미터를 기록할 워드를 선정하는 과정을 사전에 기설정된 반복 횟수(예를 들어, k번)만큼 반복할 수 있다.
워드 위치 탐색부(240)는 추출한 파라미터를 기록할 워드의 선정에 실패한 경우(예를 들어, 워드 선정이 k번 초과된 경우), 기설정된 해시 함수(예를 들어, 제 1 해시 함수)를 이용하여 산출된 제 1 인덱스에 해당하는 워드를 추출한 파라미터를 기록할 워드로 선정하고, 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 추출된 IP 주소로 대체할 수 있다. 이 때, 대체된 워드의 제 2 영역에 기록된 파라미터는 기존 상태로 유지될 수 있다.
기록부(250)는 추출한 IP 주소 및 파라미터를 기설정된 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록할 수 있다.
예를 들어, 기록부(250)는 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소가 초기화(예를 들어, '0')되어 있는 경우, 제 1 인덱스에 해당하는 워드의 제 1 영역에 추출한 IP 주소를 기록할 수 있다.
다른 예를 들어, 기록부(250)는 워드 위치 탐색부(240)에서 선정된 워드의 제 2 영역에 추출한 파라미터를 기록할 수 있다. 이 때, 기록부(250)는 별도의 해시 함수(예를 들어, 제 3 해시 함수)에 추출한 파라미터를 입력하여 선정된 워드의 제 2 영역에 대한 인덱스(j)를 산출하고, 산출된 제 2 영역의 인덱스(j)에 기초하여 추출한 파라미터를 기록할 수 있다. 이 때, 제 2 인덱스(j)의 범위는 파라미터가 기록되는 제 2 영역에 따라 '0 ≤ j < 제 2 영역의 비트 개수'로 설정될 수 있으며, 기록부(250)는 제 2 영역의 j번째 비트의 값을 '1'로 설정하여 파라미터를 기록할 수 있다.
측정부(260)는 워드에 기록된 IP 주소 및 파라미터에 기초하여 서비스 요청에 대한 스프레드 값을 측정할 수 있다. 여기서, 스프레드 값은 수신된 적어도 하나의 서비스 요청에 해당하는 각각 다른 서비스에 대한 요청 개수를 나타내는 것일 수 있다.
Figure pat00001
수학식 1을 참조하면, 측정부(260)는 제 2 영역의 총 비트 개수(n) 및 제 2 영역에 기록된 설정값(u)(예를 들어, 제 2 영역 중 '0'으로 설정된 비트 개수)에 기초하여 추출된 IP 주소에 대한 스프레드 값(s)을 측정할 수 있다.
IP 주소 차단부(270)는 측정부(260)에서 측정된 스프레드 값이 기정의된 임계값을 초과하는 경우, 추출된 IP 주소를 차단할 수 있다. 이 때, 추출된 IP 주소는 서비스 거부 공격을 수행하는 공격자의 IP로 간주될 수 있다.
도 3은 본 발명의 일 실시예에 따른 서비스 요청 관리 서버에서 서비스 요청을 관리하는 과정을 설명하기 위한 예시적인 도면이다. 도 3을 참조하면, 서비스 요청 관리 서버(120)는 사용자 단말(110)로부터 서비스 요청을 수신하고, 수신한 서비스 요청으로부터 사용자 단말(110)의 IP 주소 및 파라미터를 추출할 수 있다(도면 부호 300 참조).
서비스 요청 관리 서버(120)는 추출한 IP 주소를 이용하여 워드 벡터(W)에 포함된 복수의 워드 중 어느 하나의 위치를 탐색할 수 있다(도면 부호 310 참조). 예를 들어, 서비스 요청 관리 서버(120)는 추출한 IP 주소에 기초하여 워드 벡터(W)에 대한 제 1 인덱스(311)를 산출하고, 복수의 워드 중 산출된 제 1 인덱스(311)에 해당하는 워드(312)의 제 1 영역(321)에 기록되어 있는 IP 주소를 확인할 수 있다.
서비스 요청 관리 서버(120)는 제 1 영역(321)에 기록되어 있는 IP 주소가 추출한 IP 주소와 같은 경우, 제 1 인덱스(311)에 해당하는 워드(312)를 추출한 파라미터를 기록할 워드로 선정할 수 있다.
서비스 요청 관리 서버(120)는 추출한 파라미터를 기설정된 해시 함수에 입력함으로써 선정된 워드(312)의 제 2 영역(322)에 대한 인덱스를 산출하고(도면 부호 323 참조), 제 2 영역(322) 중 산출된 인덱스에 해당하는 위치에 추출한 파라미터를 기록할 수 있다(도면 부호 320 참조).
이러한 과정을 거쳐 서비스 요청 관리 서버(120)는 워드에 기록된 IP 주소 및 파라미터에 기초하여 서비스 요청에 대한 스프레드 값을 측정함으로써, 서비스 거부 공격을 탐지 및 방어할 수 있게 된다.
도 4는 본 발명의 일 실시예에 따른 서비스 요청 관리 서버에서 서비스 요청을 관리하는 방법의 순서도이다. 도 4에 도시된 서비스 요청 관리 서버(120)에서 서비스 요청을 관리하는 방법은 도 1 내지 도 3에 도시된 실시예에 따른 서비스 요청 관리 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포한한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 3에 도시된 실시예에 따른 서비스 요청 관리 서버(120)에서 서비스 요청을 관리하는 방법에도 적용된다.
단계 S410에서 서비스 요청 관리 서버(120)는 사용자 단말(110)로부터 적어도 하나의 서비스 요청을 수신할 수 있다.
단계 S420에서 서비스 요청 관리 서버(120)는 수신한 서비스 요청으로부터 사용자 단말(110)의 IP 주소 및 파라미터를 추출할 수 있다.
단계 S430에서 서비스 요청 관리 서버(120)는 추출한 IP 주소 및 파라미터를 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록할 수 있다.
단계 S440에서 서비스 요청 관리 서버(120)는 워드에 기록된 IP 주소 및 파라미터에 기초하여 서비스 요청에 대한 스프레드 값을 측정할 수 있다.
상술한 설명에서, 단계 S410 내지 S440은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 5는 본 발명의 일 실시예에 따른 서비스 요청 관리 서버에서 서비스 요청을 관리하는 방법의 순서도이다. 도 5에 도시된 서비스 요청 관리 서버(120)에서 서비스 요청을 관리하는 방법은 도 1 내지 도 4에 도시된 실시예에 따른 서비스 요청 관리 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포한한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4에 도시된 실시예에 따른 서비스 요청 관리 서버(120)에서 서비스 요청을 관리하는 방법에도 적용된다.
단계 S510에서 서비스 요청 관리 서버(120)는 복수의 사용자 단말(100)로부터 적어도 하나의 요청을 수신할 수 있다.
단계 S520에서 서비스 요청 관리 서버(120)는 수신한 서비스 요청으로부터 각 사용자 단말의 IP 주소 및 파라미터를 추출할 수 있다.
단계 S530에서 서비스 요청 관리 서버(120)는 추출한 각 사용자 단말의 IP 주소 및 파라미터를 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록할 수 있다.
단계 S540에서 서비스 요청 관리 서버(120)는 워드에 기록된 IP 주소 및 파라미터에 기초하여 서비스 요청에 대한 스프레드 값을 측정할 수 있다.
단계 S550에서 서비스 요청 관리 서버(120)는 측정된 스프레드 값에 기초하여 복수의 사용자 단말(100) 중 적어도 하나의 사용자 단말을 공격자 단말로 판단하여 차단할 수 있다.
상술한 설명에서, 단계 S510 내지 S550은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 5를 통해 설명된 서비스 요청 관리 서버에서 서비스 요청을 관리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 5를 통해 설명된 서비스 요청 관리 서버에서 서비스 요청을 관리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 복수의 사용자 단말
110: 사용자 단말
120: 서비스 요청 관리 서버
210: 초기화부
220: 수신부
230: 추출부
240: 워드 위치 탐색부
250: 기록부
260: 측정부
270: IP 주소 차단부

Claims (18)

  1. 서비스 요청을 관리하는 서버에 있어서,
    사용자 단말로부터 적어도 하나의 서비스 요청을 수신하는 수신부;
    상기 수신한 서비스 요청으로부터 상기 사용자 단말의 IP 주소 및 파라미터를 추출하는 추출부;
    상기 추출한 IP 주소 및 파라미터를 기설정된 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 기록부; 및
    상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 측정부를 포함하는, 서비스 요청 관리 서버.
  2. 제 1 항에 있어서,
    상기 스프레드 값은 상기 수신된 적어도 하나의 서비스 요청에 해당하는 각각 다른 서비스에 대한 요청 개수를 나타내는 것인, 서비스 요청 관리 서버.
  3. 제 1 항에 있어서,
    상기 파라미터는 상기 사용자 단말로부터 요청받은 서비스명 또는 서비스 요청 내용 중 적어도 어느 하나를 포함하는 것인, 서비스 요청 관리 서버.
  4. 제 1 항에 있어서,
    상기 각 워드는 IP 주소가 기록되는 제 1 영역 및 파라미터가 기록되는 제 2 영역을 포함하는 것인, 서비스 요청 관리 서버.
  5. 제 4 항에 있어서,
    상기 추출한 IP 주소를 이용하여 상기 워드 벡터에 포함된 복수의 워드 중 어느 하나의 위치를 탐색하는 워드 위치 탐색부를 더 포함하는, 서비스 요청 관리 서버.
  6. 제 5 항에 있어서,
    상기 워드 위치 탐색부는 상기 추출한 IP 주소에 기초하여 상기 워드 벡터에 대한 제 1 인덱스를 산출하고,
    상기 복수의 워드 중 상기 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 확인하는 것인, 서비스 요청 관리 서버.
  7. 제 6 항에 있어서,
    상기 워드 위치 탐색부는 상기 제 1 영역에 기록되어 있는 IP 주소가 상기 추출한 IP 주소와 같은 경우, 상기 제 1 인덱스에 해당하는 워드를 상기 추출한 파라미터를 기록할 워드로 선정하는 것인, 서비스 요청 관리 서버.
  8. 제 7 항에 있어서,
    상기 기록부는 상기 선정된 워드의 제 2 영역에 상기 추출한 파라미터를 기록하는 것인, 서비스 요청 관리 서버.
  9. 제 8 항에 있어서,
    상기 기록부는 상기 추출한 파라미터에 기초하여 상기 선정된 워드의 제 2 영역에 대한 인덱스를 산출하고, 상기 산출된 제 2 영역의 인덱스에 기초하여 상기 추출한 파라미터를 기록하는 것인, 서비스 요청 관리 서버.
  10. 제 8 항에 있어서,
    상기 측정부는 상기 제 2 영역의 비트 개수 및 상기 제 2 영역에 기록된 설정값에 기초하여 상기 추출된 IP 주소에 대한 스프레드 값을 측정하는 것인, 서비스 요청 관리 서버.
  11. 제 10 항에 있어서,
    상기 서비스 요청 관리 서버는 상기 워드 벡터를 구성하는 워드 단위로 메모리 접근을 수행함으로써, 상기 IP 주소 및 상기 파라미터에 대한 기록과 상기 스프레드 값에 대한 측정을 동시에 수행하는 것인, 서비스 요청 관리 서버.
  12. 제 10 항에 있어서,
    상기 측정된 스프레드 값이 기정의된 임계값을 초과하는 경우, 상기 추출된 IP 주소를 차단하는 IP 주소 차단부를 더 포함하는, 서비스 요청 관리 서버.
  13. 제 7 항에 있어서,
    상기 기록부는 상기 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소가 초기화되어 있는 경우, 상기 제 1 인덱스에 해당하는 워드의 제 1 영역에 상기 추출한 IP 주소를 기록하는 것인, 서비스 요청 관리 서버.
  14. 제 7 항에 있어서,
    상기 워드 위치 탐색부는 상기 산출된 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소가 상기 추출한 IP 주소와 다른 것으로 확인된 경우, 상기 추출한 IP 주소에 기초하여 상기 워드 벡터에 대한 제 2 인덱스를 재산출하고, 상기 복수의 워드 중 상기 재산출된 제 2 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 확인하는 것인, 서비스 요청 관리 서버.
  15. 제 14 항에 있어서,
    상기 워드 위치 탐색부는 상기 제 2 인덱스에 해당하는 워드의 제 1 영역에 기록된 IP 주소가 상기 추출한 IP 주소와 같은 경우, 상기 워드 벡터의 제 2 인덱스에 해당하는 워드를 상기 추출한 파라미터를 기록할 워드로 선정하는 것인, 서비스 요청 관리 서버.
  16. 제 15 항에 있어서,
    상기 워드 위치 탐색부는 상기 추출한 파라미터를 기록할 워드의 선정에 실패한 경우, 상기 산출된 상기 제 1 인덱스에 해당하는 워드를 상기 추출한 파라미터를 기록할 워드로 선정하고,
    상기 제 1 인덱스에 해당하는 워드의 제 1 영역에 기록되어 있는 IP 주소를 추출된 IP 주소로 대체하는 것인, 서비스 요청 관리 서버.
  17. 서버에서 서비스 요청을 관리하는 방법에 있어서,
    사용자 단말로부터 적어도 하나의 서비스 요청을 수신하는 단계;
    상기 수신한 서비스 요청으로부터 상기 사용자 단말의 IP 주소 및 파라미터를 추출하는 단계;
    상기 추출한 IP 주소 및 파라미터를 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 단계; 및
    상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 단계를 포함하는, 서비스 요청 관리 방법.
  18. 서버에서 서비스 요청을 관리하는 방법에 있어서,
    복수의 사용자 단말로부터 적어도 하나의 요청을 수신하는 단계;
    상기 수신한 서비스 요청으로부터 상기 각 사용자 단말의 IP 주소 및 파라미터를 추출하는 단계;
    상기 추출한 각 사용자 단말의 IP 주소 및 파라미터를 워드 벡터에 포함된 복수의 워드(word) 중 어느 하나의 워드에 기록하는 단계;
    상기 워드에 기록된 IP 주소 및 파라미터에 기초하여 상기 서비스 요청에 대한 스프레드 값을 측정하는 단계; 및
    상기 측정된 스프레드 값에 기초하여 상기 복수의 사용자 단말 중 적어도 하나의 사용자 단말을 공격자 단말로 판단하여 차단하는 단계
    를 포함하는, 서비스 요청 관리 방법.
KR1020180075537A 2018-06-29 2018-06-29 서비스 요청을 관리하는 서버 및 방법 KR20200002244A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180075537A KR20200002244A (ko) 2018-06-29 2018-06-29 서비스 요청을 관리하는 서버 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180075537A KR20200002244A (ko) 2018-06-29 2018-06-29 서비스 요청을 관리하는 서버 및 방법

Publications (1)

Publication Number Publication Date
KR20200002244A true KR20200002244A (ko) 2020-01-08

Family

ID=69154314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180075537A KR20200002244A (ko) 2018-06-29 2018-06-29 서비스 요청을 관리하는 서버 및 방법

Country Status (1)

Country Link
KR (1) KR20200002244A (ko)

Similar Documents

Publication Publication Date Title
CN105681133B (zh) 一种检测dns服务器是否防网络攻击的方法
Loesing et al. A case study on measuring statistical data in the Tor anonymity network
US9781427B2 (en) Methods and systems for estimating entropy
KR102047585B1 (ko) 프록시 ip 어드레스를 식별하는 방법 및 장치
Nithyanand et al. Measuring and mitigating AS-level adversaries against Tor
US8819227B1 (en) Discerning web content and services based on real-time DNS tagging
Zhou et al. Exploiting the Vulnerability of Flow Table Overflow in Software‐Defined Network: Attack Model, Evaluation, and Defense
US7937586B2 (en) Defending against denial of service attacks
TW201824047A (zh) 攻擊請求的確定方法、裝置及伺服器
EP2472822A2 (en) Method and system for estimating the reliability of blacklists of botnet-infected computers
US10218733B1 (en) System and method for detecting a malicious activity in a computing environment
Leng et al. An inference attack model for flow table capacity and usage: Exploiting the vulnerability of flow table overflow in software-defined network
CN105939347B (zh) 防御域名攻击的方法及装置
CN102790809B (zh) 域名系统解析方法、装置及客户端
JP2020140723A (ja) ネットワーク攻撃防御システムおよび方法
CN107682470B (zh) 一种检测nat地址池中公网ip可用性的方法及装置
CN114145004A (zh) 用于使用dns消息以选择性地收集计算机取证数据的系统及方法
CN105940655A (zh) 用于防范DDos攻击的系统
CN112272164B (zh) 报文处理方法及装置
CN102737119A (zh) 统一资源定位符的查找方法、过滤方法和相关设备及系统
CN105635073A (zh) 访问控制方法、装置和网络接入设备
Knockel et al. Counting packets sent between arbitrary internet hosts
CN109726340A (zh) 统一资源定位符分类的查询方法及装置
CN111953638B (zh) 网络攻击行为检测方法、装置及可读存储介质
Alahari et al. Performance analysis of denial of service dos and distributed dos attack of application and network layer of iot