KR20120129000A - 분산 서비스 거부 공격 방어 방법 및 그 장치 - Google Patents

분산 서비스 거부 공격 방어 방법 및 그 장치 Download PDF

Info

Publication number
KR20120129000A
KR20120129000A KR1020110046990A KR20110046990A KR20120129000A KR 20120129000 A KR20120129000 A KR 20120129000A KR 1020110046990 A KR1020110046990 A KR 1020110046990A KR 20110046990 A KR20110046990 A KR 20110046990A KR 20120129000 A KR20120129000 A KR 20120129000A
Authority
KR
South Korea
Prior art keywords
user terminal
redirection
cookie
request message
service
Prior art date
Application number
KR1020110046990A
Other languages
English (en)
Other versions
KR101266171B1 (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 주식회사 솔박스
Priority to KR1020110046990A priority Critical patent/KR101266171B1/ko
Publication of KR20120129000A publication Critical patent/KR20120129000A/ko
Application granted granted Critical
Publication of KR101266171B1 publication Critical patent/KR101266171B1/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
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/143Denial of service attacks involving systematic or selective dropping of packets

Abstract

소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말에 대하여 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 재접속을 유도한다. 이에 따라 정상 사용자 단말은 리다이렉션 태그를 포함하는 메시지를 전송하면서 재접속을 하게 된다. 그러므로 리다이렉션 태그를 포함하는 메시지를 전송하면서 재접속을 한 사용자 단말에게 요청한 서비스를 제공하고, 리다이렉션 태그를 포함하지 않은 메시지를 전송하면서 서비스를 요청하는 단말에 대해서는 서비스를 제공하지 않는다.

Description

분산 서비스 거부 공격 방어 방법 및 그 장치 {Defense apparatus and method for distributed denial of service attacks}
본 발명은 방어 방법 및 그 장치에 관한 것으로, 더욱 상세하게 말하자면, 분산 서비스 거부 공격에 대한 방어 방법 및 그 장치에 관한 것이다.
현재 인터넷 기술의 발달과 이용인구의 증가로 인터넷을 구성하는 많은 기반시설들이 급격히 설치되면서 보안적 요소를 치밀하게 준비하지 못한 관계로 인터넷의 많은 취약점이 노출되고, 이런 취약점을 악용하려는 세력들이 등장하고 불특정 다수를 공격하는 사이버 테러가 빈번히 발생한다. 이러한 사이버 공격은 갈수록 지능화 조직화 되고 있으며 경제적 이득을 취득하기 위해 전문적이고 조직적인 네트워크를 형성해 나가고 있다.
최근에 인터넷을 통하여 행해지는 분산 서비스 거부(Distributed denial of service, 이하 "DDoS"라 함) 공격은 좀비 PC(personal computer)를 이용한 공격과, 직접 공경 툴(tool)을 다운로드받아 공격을 감행하는 자의적 공격 형태로 분류될 수 있다. 좀비 PC 기반의 공격은 악의를 가진 해커가 PC를 감염시켜 자신이 마음대로 조종할 수 있는 봇으로 만들고 이렇게 감염된 PC들의 수천, 수만대를 네트워크를 통해 일제히 조종하면서 악성행위들을 수행하는 방식으로 이루어진다. 반면, 자의적인 형태의 DDOS 공격은 공통된 특정 목적을 가지는 사용자들이 같은 시간에 같은 목표를 향하여 동시에 공격을 수행하는 형태로 이루어지고 있다.
이러한 다양한 형태의 DDoS 공격에 의하여 많은 심각한 피해들이 발생하고 있으며, 이를 위하여 DDoS 공격을 방어하기 위한 다양한 방법들이 개발되고 있다.
본 발명이 해결하고자 하는 과제는 분산 서비스 거부(Distributed denial of service) 공격에 대하여 보다 간단하면서도 효율적으로 대응할 수 있는 방어 방법 및 그 장치를 제공하는 것이다.
위의 과제를 위한 본 발명의 특징에 따른 공격 방어 방법은 소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말로부터 서비스 요청 메시지를 수신하는 단계; 상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는지를 판단하는 단계; 상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는 경우 상기 사용자 단말이 요청한 서비스를 제공하는 단계; 및 상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있지 않은 경우, 상기 사용자 단말에게 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 재접속을 요청하는 단계를 포함한다.
본 발명의 다른 특징에 따른 공격 방어 방법은, 소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말로부터 서비스 요청 메시지를 수신하는 단계; 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는지를 판단하는 단계; 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는 경우 상기 사용자 단말이 요청한 서비스를 제공하는 단계; 및 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있지 않은 경우 상기 사용자 단말에 리다이렉션 쿠키를 설정하고 재접속을 요청하는 단계를 포함한다.
본 발명의 또 다른 특징에 따른 공격 방어 장치는, 소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말로부터 수신되는 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있거나, 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는 경우 해당 단말이 정상 사용자 단말인 것으로 판단하는 메시지 판별부; 및 정상 사용자 단말로 판단되지 않은 사용자 단말에 대하여, 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 재접속을 요청하는 방어 처리부를 포함한다.
이러한 공격 방어 장치는 정상 사용자 단말로 판단되지 않은 사용자 단말에 대하여, 리다이렉션 쿠기를 설정하는 쿠키 설정부를 더 포함할 수 있다. 또한 정상 사용자 단말로 판단된 사용자 단말에 대하여 요청한 서비스를 제공하는 응답 처리부를 더 포함할 수 있다.
본 발명의 실시 예에 따르면, 페이지 접속을 요청하는 사용자 단말에 다시 접속을 요청하는 리다이렉션 응답 처리를 하고, 이러한 응답에 정상적으로 응답하여 다시 접속하는 사용자 단말에 대해서만 요청한 페이지에 대한 응답을 수행함으로써, 보다 간단하면서도 효율적으로 분산 서비스 거부 공격을 방어할 수 있다.
또한 페이지 접속을 요청하는 사용자 단말에 리다이렉션 쿠키를 설정하고 다시 접속을 요청하는 리다이렉션 응답 처리를 한다. 그리고 이러한 응답에 정상적으로 응답하여 다시 접속하면서 리다이렉션 쿠키가 설정되어 있는 사용자 단말에 대해서만 요청한 페이지에 대한 응답을 수행함으로써, 보다 간단하면서도 효율적으로 분산 서비스 거부 공격을 방어할 수 있다.
도 1은 본 발명의 실시 예에 따른 통신을 위한 네트워크 환경을 나타낸 도이다.
도 2는 본 발명의 제1 실시 예에 따른 공격 방어 장치의 구조도이다.
도 3은 본 발명의 제1 실시 예에 따른 공격 방어 방법의 흐름도이다.
도 4 및 도 5는 본 발명의 제1 실시 예에 따른 분산 서비스 거부 공격에 대한 방어시, 정상 사용자 단말을 처리하는 과정을 나타낸 예시도이다.
도 6은 본 발명의 제2 실시 예에 따른 공격 방어 장치의 구조도이다.
도 7은 본 발명의 제2 실시 예에 따른 공격 방어 방법의 흐름도이다.
도 8은 본 발명의 제2 실시 예에 따른 분산 서비스 거부 공격에 대한 방어시, 정상 사용자 단말을 처리하는 과정을 나타낸 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도면을 참조하여 본 발명의 실시 예에 따른 분산 서비스 거부 공격 방어 방법 및 그 장치에 대하여 설명한다.
도 1은 본 발명의 실시 예에 따른 분산 서비스 거부 공격 방어 장치의 네트워크 환경을 나타낸 도이다.
첨부한 도 1에서와 같이, 본 발명의 실시 예에 따른 분산 서비스 거부 공격 방어 장치(1)(이하, 설명의 편의를 위하여 공격 방어 장치라고 명명함)는 복수의 클라이언트 즉 사용자 단말로부터 전달되는 서비스 요청이 정상적인 요청인지 아니면 분산 서비스 거부 공격(Distributed denial of service attack, 이하 "DDoS 공격"이라 함) 공격에 따른 요청인지를 판단하고, 판단 결과에 따라 DDoS 공격을 방어하기 위한 동작을 수행한다.
본 발명의 실시 예에 따른 공격 방어 장치(1)는 적어도 하나의 웹 서버(30)와 연결된 웹 캐시 서버(10)에 위치되어 있다.
웹 캐시 서버(10)는 웹 컨텐츠가 보다 다양해지고 웹 서비스가 보다 대형화되고 복잡해짐에 따라와 안정적인 웹 서비스 제공을 위하여, 사용자 단말(20)과 웹 서버(30) 사이에 위치되어 접속이 잦은 컨텐츠를 미리 저장하고, 웹 서버 대신에 저장된 컨텐츠를 이용하여 사용자 단말(20)로 제공한다. 이에 따라 웹 서버로의 실제 요청을 최소화하여 네트워크 대역폭을 줄일 수 있다. 즉, 웹 캐시 서버(10)는 적어도 하나의 사이트를 등록하며, 사이트로의 요청이 입력되면 해당 사이트에 매핑된 원래의 서버(origin server) 즉, 웹 서버로부터 해당하는 컨텐츠를 가져와서 캐시하고 어셈블하여 요청에 대한 응답을 하거나, 자주 사용되거나 변화가 없는 정적 페이지는 저장하였다가 사용자 단말로부터 요청이 있으면 제공한다. 즉, 사용자 단말로부터 정적 페이지가 요청되는 경우에는 일반적으로 웹 캐시 서버(10)가 응답하여 관련 페이지를 사용자 단말로 제공한다. 한편 동적 페이지(게시판 등)가 요청되는 경우에는 웹 캐시 서버(10)가 웹 서버(30)로부터 해당 페이지를 요청하며, 웹 서버(30)는 자체적으로 보유하고 있는 데이터베이스를 참조하여 관련 페이지를 웹 캐시 서버(10)로 제공하여, 최종적으로 사용자 단말(20)로 제공되도록 한다.
따라서 다수의 사용자 단말이 동시에 동적 페이지를 요청하게 되면 정적 페이지와는 달리 웹 캐시 서버(10)뿐만 아니라 웹 서버(30)와 해당 데이터베이스에도 처리 부하를 증가시켜 공격 효과를 증가시킬 수 있다. 이에 따라 동적 페이지를 동시에 요청하는 동작을 반복적으로 수행하여 서비스 장애를 유발시키는 DDoS 공격이 이루어지고 있다.
일반적으로 DDoS 공격을 하는 사용자 단말에서 구동되는 DDoS 에이전트는 단순 TCP(transmission control procedure) 소켓 프로그램으로 구현된다. 즉, HTTP(hypertext transfer protocol) 클라이언트 풀(full) 기능을 가지는 에이전트가 아니라 단순히 TCP에 따라 서버로 페이지를 요청하는 기능만을 수행하는 프로그램으로 구현된다. 따라서 HTTP 301 리다이렉션(redirection)과 쿠키(cookie)를 지원하지 않을 가능성이 매우 크다.
본 발명의 실시 예에서는 이러한 것을 고려하여 사용자 단말로부터의 페이지 요청에 따라 리다이렉션 파라미터를 포함하는 HTTP 301 에러코드를 응답한다. 리다이렉션 파라미터는 다른 URL(uniform resource locator)로 접속하라는 것이 아니라 다시 접속하려고 하였던 URL로 다시 접속하라는 것을 나타내며, 이에 따라 사용자 단말은 리다이렉션 파라미터 응답에 따라 해당 URL을 가지는 사이트로 다시 접속을 요청한다. 본 발명의 제1 실시 예에 따른 공격 방어 장치(1)는 사용자 단말로부터 전달되는 서비스를 요청하는 겟(GET) 파라미터를 체크하여 리다이렉션 태그(tag)가 있는지의 여부를 판단하고, 판단 결과에 따라 해당 사용자 단말이 DDoS 공격을 하는 단말인지를 판단한다. 이하에서는 설명의 편의를 위하여 DDoS 공격을 하는 단말을 "정상 사용자 단말"이라고 명명하고, DDoS 공격을 하지 않는 정상적인 단말을 "공격 사용자 단말"이라고 명명한다.
본 발명의 제1 실시 예에서는 정상 사용자 단말은 HTTP 301 리다이렉션을 지원함으로 사용자 단말로부터 전달되는 겟 파라미터에 리다이렉션 태그가 있는 경우에는 해당 단말이 정상 사용자 단말인 것으로 판단하고, 겟 파라미터에 리다이렉션 태그가 없는 경우에는 해당 단말이 공격 사용자 단말인 것으로 판단한다. 즉, 공격 방어 장치(1)는 겟 파라미터를 이용하여 서비스를 요청하는 단말들에게 무조건 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 단말들이 다시 접속을 하도록 한다. 그리고 다시 접속하여 서비스를 요청하는 단말로부터 전송되는 메시지에 리다이렉션 태그가 있는 경우에는 해당 단말이 HTTP 301 리다이렉션을 지원하는 정상 사용자 단말인 것으로 판단하고, 메시지에 리다이렉션 태그가 없는 경우에는 해당 단말이 처음 접속을 요청한 단말이거나 HTTP 301 리다이렉션을 지원하지 않는 공격 사용자 단말인 것으로 판단한다.
이를 위하여, 본 발명의 제1 실시 예에 따른 공격 방어 장치(1)는 도 2에 도시된 바와 같은 구조로 이루어진다.
도 2는 본 발명의 제1 실시 예에 따른 공격 방어 장치의 구조를 나타낸 도이다.
첨부한 도 2에서와 같이, 본 발명의 제1 실시 예에 따른 공격 방어 장치(1)는 메시지 판별부(11), 방어 처리부(12) 및 응답 처리부(13)를 포함한다.
메시지 판별부(11)는 단말로부터 전달되는 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는지의 여부를 판단하고, 판단 결과에 따라 해당 사용자 단말이 정상 사용자 단말인지 아니면 공격 사용자 단말인지를 판단한다. 구체적으로 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는 경우에는 해당 단말이 정상 사용자 단말인 것으로 판단한다. 반면 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있지 않은 경우에는 해당 단말이 처음 서비스를 요청한 단말이거나 공격 사용자 단말인 것으로 판단한다.
방어 처리부(12)는 처음 접속을 요청한 단말이거나 공격 사용자 단말인 것으로 판단된 사용자 단말로부터 전송된 서비스 요청 메시지에 대하여, 리다이렉션 파라미터를 포함하는 응답 메시지를 전송한다. 이에 따라 처음 서비스를 요청하였던 정상 사용자 단말은 리다이렉션 파라미터를 포함하는 응답 메시지에 따라 리다이렉션 태그를 포함하는 서비스 요청 메시지를 전송하는 재접속을 시도하여 원하는 사이트로부터의 서비스를 제공받게 된다. 그러나 공격 사용자 단말은 리다이렉션 파라미터를 포함하는 응답 처리에 대한 기능이 없으므로 계속하여 겟 파라미터를 이용한 초기 페이지 접속 즉, 리다이렉션 태그를 포함하지 않는 메시지만을 전송하게 됨으로써, 원하는 서비스 요청에 대한 처리를 받지 못하게 된다. 이에 따라 공격 사용자 단말로부터의 서비스 요청에 대한 응답 처리가 이루어지지 않으므로, DDoS 공격에 대한 방어를 수행할 수 있다.
응답 처리부(13)는 정상 사용자 단말인 것으로 판단된 사용자 단말로부터 제공되는 서비스 요청에 대하여, 해당 웹서버와 연계하여 서비스에 관련된 페이지를 사용자 단말로 제공한다. 따라서 정상 사용자 단말은 해당 페이지를 통하여 요청한 서비스를 제공받게 된다.
여기서 응답 메시지에 포함되는 리다이렉션 파라미터는 설정된 주기별로 또는 시스템 특성에 따라 설정되는 조건이 성립되는 경우에 변경되어, 좀비 PC와 같은 공격 사용자 단말이 대응하지 못하도록 할 수 있다.
다음은 이러한 구조를 토대로 본 발명의 제1 실시 예에 따른 분산 서비스 거부 공격 방어 방법에 대하여 설명한다.
도 3은 본 발명의 제1 실시 예에 따른 분산 서비스 거부 공격 방어 방법의 흐름도이며, 도 4는 본 발명의 제1 실시 예에 따른 분산 서비스 거부 공격에 대한 방어시, 정상 사용자 단말을 처리하는 과정을 나타낸 예시도이다.
사용자 단말(20)이 소정 페이지로 접속하기 위하여, 서버로부터 정보를 가져오기 위한 겟(GET) 방식에 따라 서비스 요청 메시지를 전송한다. 사용자 단말(20)로부터의 메시지는 웹 캐시 서버(10)로 전달되며, 웹 캐시 서버(10)에 설치되어 있는 본 발명의 실시 예에 따른 공격 방어 장치(1)는 다음과 같이 동작하여 DDoS 공격에 대한 방어 처리를 수행한다.
공격 방어 장치(1)는 소정 사용자 단말(20)로부터 서비스 요청 메시지가 수신되면 리다이렉션 태그를 포함하는지를 판단한다(S100, S110). 그리고 리다이렉션 태그가 포함되지 않은 경우에는 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 해당 사용자 단말이 재접속을 하도록 한다(S120).
예를 들어, 사용자 단말(20)이 웹 사이트에 접속하여 서비스를 받고자 하는 경우, 겟(GET) 메소드(method)를 이용하여 특정 URL을 요청한다. 일반적으로 URL은 "프로토콜://서버이름/디렉토리 이름/파일 이름"과 같은 형태로 이루어지는데, 예를 들어 도 4에서와 같이 사용자 단말이 HTTP 에 따라 서버로부터 정보를 가져오기 위한 겟(GET) 방식으로 "GET http://aaa.com/a.php"와 같은 형태의 서비스 요청 메시지를 전송한다.
이러한 형태의 서비스 요청 메시지가 전달되면 본 발명의 실시 예에 따른 공격 방어 장치(1)는 HTTP 301 에러 코드를 통보하면서 리다이렉션 파라미터를 추가하여 응답한다. 이러한 응답 메시지는 "HTTP/1.1 301 Moved Permanently Location: Http://aaa.com/a.php? Redirection=yes"와 같은 형태로 이루어질 수 있다.
한편 사용자 단말(20)은 서비스 요청 메시지에 대하여 위에 예시된 바와 같은 형태의 리다이렉션 응답 메시지를 수신하면, 리다이렉션 응답 메시지에 따라 이후의 처리를 수행한다. 사용자 단말(20)이 정상 사용자 단말이라면 리다이렉션 응답 메시지에 포함되어 있던 리다이렉션 파라미터를 이용하여 다시 서비스 요청 메시지를 전송한다. 예를 들어, "GET Http://aaa.com/a.php? Redirection=yes"와 같이 리다이렉션 태그를 포함하는 형태의 서비스 요청 메시지를 전송한다.
그러나 공격 사용자 단말은 단순히 TCP 소켓 프로그램으로 이루어진 에이전트에 따라 공격을 하기 때문에, 서비스 요청 메시지에 대하여 리다이렉션 파라미터를 포함하는 응답 메시지를 수신하여도 리다이렉션 파라미터를 이용하여 다시 재접속을 하는 것이 아니라, 페이지 접속을 위한 기본 형태의 서비스 요청 메시지 즉, "GET http://aaa.com/a.php"의 메시지만을 계속하여 전송한다.
따라서 본 발명의 실시 예에 따른 공격 방어 장치(1)는 서비스 요청 메시지가 리다이렉션 태그를 포함하지 않는 경우에는 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 해당 사용자 단말이 재접속을 하도록 한다. 그러나 서비스 요청 메시지가 리다이렉션 태그를 포함하는 경우에는 해당 단말이 리다이렉션 응답 처리에 따라 재접속한 정상 사용자 단말인 것으로 판단하고, 사용자 단말(20)이 요청한 서비스에 대하여 정상적인 응답 처리를 수행한다. 따라서 사용자 단말(20)이 요청한 페이지가 사용자 단말(20)로 제공된다(S130).
한편 이러한 제1 실시 예에서 서비스 요청 메시지에 레퍼러(referrer) URL이 포함될 수 있다. 레퍼러 URL은 방문자가 분석 대상 웹 사이트로 방문할 수 있도록 링크를 제공한 웹 페이지의 URL을 나타내며, 참조 링크라고도 명명된다. 이러한 레퍼러 URL은 웹 사이트 내부에서 참조 링크에 의하여 이동할 때 발생하는 내부 레퍼러 URL과 방문자가 어떠한 경로로 웹 사이트를 인지하고 방문하였는지를 나타내는 외부 레퍼러 URL로 나뉘어질 수 있다. 예를 들어 사용자가 직접적으로 웹 브라우저의 URL 입력창에 접속하고자 하는 페이지의 URL을 입력하지 않고 검색된 결과에 링크된 참조 링크를 통하여 소정 페이지에 접속하고자 하는 경우에는 레퍼러 URL이 서비스 요청 메시지에 포함된다.
이러한 경우에도 위의 제1 실시 예와 같이 레퍼러 URL을 포함하는 서비스 요청 메시지에 대하여 공격 방어 장치(1)는 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하며, 그 결과 사용자 단말은 레퍼러 URL에 리다이렉션 태그를 포함하는 서비스 요청 메시지를 전송하면서 다시 해당 페이지로의 접속을 시도하게 된다. 이러한 경우에도 공격 방어 장치(1)는 서비스 요청 메시지의 레퍼러 URL에 리다이렉션 태그가 포함되어 있으면 해당 단말이 정상 사용자 단말인 것으로 판단하고, 레퍼러 URL에 리다이렉션 태그 없으면 처음 접속한 단말이거나 공격 사용자 단말인 것으로 판단하여 리다이렉션 응답 처리를 수행한다.
도 5는 본 발명의 제1 실시 예에 따른 분산 서비스 거부 공격에 대한 방어시, 정상 사용자 단말을 처리하는 과정을 나타낸 다른 예시도이다. 도 5에 예시되어 있듯이, 사용자 단말(20)로부터 제공되는 서비스 요청 메시지가 "GET Http://aaa.com/a.gif Refferrer http ://aaa.com/a.php? Redirection=yes"와 같이 레퍼러 URL에 리다이렉션 태그가 포함되어 있으면, 해당 사용자 단말이 정상 사용자 단말인 것으로 판단하여 요청한 페이지를 정상적으로 제공한다.
레퍼러 URL이 리다이렉션 태그를 포함하는지를 체크함으로써, 이미지의 참조를 링크를 통하여 접속하는 공격 사용자 단말에 대해서도 보다 효과적으로 방어할 수 있다.
이러한 실시 예에 따르면 기존에는 사용자 단말의 접속 패턴을 분석하고 접속 패턴 분석 결과에 따라 공격 사용자 단말을 판단하는 등의 분석을 포함하는 복잡한 처리를 통하여 DDoS 공격에 대응하였지만, 본 발명의 실시 예에서는 페이지 접속을 요청하는 사용자 단말에 다시 접속을 요청하는 리다이렉션 응답 처리를 하고, 이러한 응답에 정상적으로 응답하여 다시 접속하는 사용자 단말에 대해서만 요청한 페이지에 대한 응답을 수행함으로써, 보다 간단하면서도 효율적으로 분산 서비스 거부 공격을 방어할 수 있다. 특히 정상 사용자 단말인 경우에는 1회의 리다이렉션을 수행하는 것만으로 정상 서비스를 제공받을 수 있으므로, 정상 사용자 단말로부터의 서비스 요청에 대하여 큰 지연 없이 서비스를 제공할 수 있다.
다음에는 본 발명의 제2 실시 예에 따른 공격 방어 장치 및 그 방법에 대하여 설명한다.
도 6은 본 발명의 제2 실시 예에 따른 공격 방어 장치의 구조를 나타낸 도이다.
도 6를 참조하면, 본 발명의 제2 실시 예에 따른 공격 방어 장치(1)도 위의 제1 실시 예와 같이, 메시지 판별부(11), 방어 처리부(12) 및 응답 처리부(13)를 포함하며, 제1 실시 예와는 달리 쿠키 설정부(14)를 더 포함한다.
본 발명의 제2 실시 예에서는 서비스를 요청하는 사용자 단말에 리다이렉션을 응답하면서 쿠키(Cookies)를 설정하고, 접속하는 사용자 단말에 설정된 쿠키가 있는지의 여부를 판단하여 정상 사용자 단말인지 아니면 공격 사용자 단말인지를 판단한다. 쿠키는 웹 사이트 측에서 사용자와 관련된 정보를 사용자의 하드디스크에 저장해 둔 것을 나타내는데, 본 발명의 제2 실시 예에서는 사용자 단말에 설정된 쿠기 파일이 저장되어 있는지를 판단한다. 즉, 본 발명의 제2 실시 예에서는 쿠키 설정부(14)가 접속을 요청하는 사용자 단말에게 리다이렉션 쿠키를 설정하고, 방어 처리부(12)가 리다이렉션을 요청하는 응답 메시지를 전송한다. 이러한 과정을 통하여 접속을 포함하는 서비스를 요청하는 사용자 단말에 리다이렉션 쿠키가 설정되어 있으면 해당 사용자 단말이 이전에 접속을 요청하였다가 재접속한 정상 사용자 단말인 것으로 판단한다. 반면 서비스를 요청하는 사용자 단말에 리다이렉션 쿠키가 설정되어 있지 않은 경우에는 처음으로 접속을 요청한 단말이거나 공격 사용자 단말인 것으로 판단하여 사용자 단말에 리다이렉션 쿠키를 설정하고 리다이렉션 응답 처리를 하여 사용자 단말이 다시 재접속하도록 한다.
본 발명의 제2 실시 예에서, 리다이렉션 쿠키는 이름, 값을 포함하며, 해당쿠키의 만료될 시점을 나타내는 유효 시간, 쿠키를 사용할 수 있는 도메인, 쿠키가 적용될 경로 등을 포함할 수 있다. 유효 시간이 설정되지 않은 경우에는 단말의 메모리 상에만 존재하고 웹 브라우저가 모두 종료되었을 때 해당 쿠키는 자동으로 소멸된다. 또한 리다이렉션 쿠키는 도메인별로 설정되거나 호스트별로 설정될 수 있으며, 소정 주기별로 또는 시스템 특성에 따라 설정되는 조건이 성립되는 경우에, 유효 시간이나 그 값이 변경되어 좀비 PC와 같은 공격 사용자 단말이 대응할 수 없도록 할 수 있다.
도 7은 본 발명의 제2 실시 예에 따른 분산 서비스 거부 공격 방어 방법의 흐름도이며, 도 8은 본 발명의 실시 예에 따른 분산 서비스 거부 공격에 대한 방어시, 정상 사용자 단말을 처리하는 과정을 나타낸 예시도이다.
첨부한 도 7에 도시되어 있듯이, 공격 방어 장치(1)는 소정 사용자 단말(20)로부터 서비스 요청 메시지가 수신되면 리다이렉션 쿠키가 사용자 단말에 설정되어 있는지를 판단한다(S200, S210).
사용자 단말(20)에 리다이렉션 쿠키가 설정되어 있는 경우에는 해당 사용자 단말이 일전에 서비스를 요청하였다가 다시 접속한 정상 사용자 단말인 것으로 판단하여, 사용자가 요청한 서비스에 응답한다(S220).
반면, 사용자 단말(20)에 리다이렉션 쿠키가 설정되어 있지 않은 경우에는 해당 사용자 단말이 처음 접속한 단말이거나 공격 사용자 단말인 것으로 판단한다. 그리고 리다이렉션을 요청하는 응답 메시지를 전송하여 해당 사용자 단말이 재접속을 하도록 하고(S230), 사용자 단말에 리다이렉션 쿠키를 설정한다(S240).
예를 들어, 도 8에서와 같이, 사용자 단말(20)이 웹 사이트에 접속하기 위하여 "GET http://aaa.com/a.php" 와 같은 형태의 서비스 요청 메시지를 전송하면, "HTTP/1.1 301 Moved Permanently Location: Http://aaa.com/a.php" 와 같은 해당 사이트의 URL을 포함하는 리다이렉션을 요청하는 응답 메시지를 전송하고, 또한 "Set-Cookie:Redirction=yes"와 같은 형태의 리다이렉션 쿠키를 사용자 단말에 설정한다.
따라서 정상 사용자 단말인 경우에는 HTTP 301 리다이렉션을 지원함으로 다시 "Http://aaa.com/a.php"로 재접속하게 되며, 이 경우 리다이렉션 쿠키가 이미 설정되어 있으므로, 공격 방어 장치(1)에 의하여 정상 사용자 단말인 것으로 판단되어 이후 서비스 요청에 대한 응답을 받게 된다.
반면 공격 사용자 단말인 경우에는 HTTP 301 리다이렉션을 지원하지 않으므로 리다이렉션을 수행하지 않고 계속하여 초기 형태의 서비스 요청 메시지만을 전송하며, 또한 쿠기 기능을 지원하지 않으므로 단말에는 리다이렉션 쿠키가 설정되지 않는다. 따라서 공격 방어 장치(1)에 의하여 공격 사용자 단말인 것으로 판단되어 계속하여 리다이렉션 요청만 응답받게 되어, 해당 웹 서버로부터 관련된 서비스를 받지 못하게 된다. 또한 공격 방어 장치(1)에 의하여 관련 요청이 해당 웹서버로 전달되지 않으므로, 웹 서버(30)에 별도의 부하를 야기시키지 않는다.
한편 위의 제1 실시 예에 대하여 제2 실시 예를 추가적으로 적용할 수도 있다. 예를 들어 제1 실시 예와 같이 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있지 않은 경우 사용자 단말에 리다이렉션 쿠키가 설정되어 있는지를 판단하고, 리다이렉션 쿠키가 설정되어 있는 경우에는 정상 사용자 단말인 것으로 판단하여 요청한 서비스를 제공할 수 있다.
또한 제1 실시 예와 제2 실시 예를 통합하여 분산 서비스 공격을 방어할 수 있다. 예를 들어, 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있고, 사용자 단말에 리다이렉션 쿠키가 설정되어 있는 경우에만, 정상 사용자 단말인 것으로 판단하여 요청한 서비스를 제공할 수 있다. 이 경우 리다이렉션 태그가 포함되는데 리다이렉션 쿠키가 설정되어 있지 않다면 제2 실시 예와 같이 사용자 단말에 리다이렉션 쿠키를 설정하면서 다시 재접속을 요청할 수 있다. 이러한 것들은 당업자라면 위의 실시 예들을 토대로 구현할 수 있으므로 여기서는 상세한 설명을 생략한다.
이러한 본 발명의 실시 예들에 따르면, 공격 사용자 단말로부터의 정적 페이지 요청에 대한 트래픽을 절감할 수 있으며, 또한 공격 사용자 단말로부터의 동적 페이지 요청에 대하여 웹 서버의 처리 부하를 효과적으로 감소시킬 수 있으며, 또한 웹 서버의 데이터베이스에서의 처리 부하도 효과적으로 감소시킬 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말로부터 서비스 요청 메시지를 수신하는 단계;
    상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는지를 판단하는 단계;
    상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는 경우 상기 사용자 단말이 요청한 서비스를 제공하는 단계; 및
    상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있지 않은 경우, 상기 사용자 단말에 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 재접속을 요청하는 단계
    를 포함하는 공격 방어 방법.
  2. 제1항에 있어서
    상기 리다이렉션 태그가 포함되어 있는지를 판단하는 단계는 상기 서비스 요청 메시지에 레퍼러(referrer) URL(uniform resource locator)이 포함되어 있는 경우, 상기 레퍼러 URL에 리다이렉션 태그가 포함되어 있는지를 판단하는, 공격 방어 방법.
  3. 제1항에 있어서
    상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있지 않은 경우, 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는지를 판단하는 단계;
    상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는 경우 상기 사용자 단말이 요청한 서비스를 제공하는 단계; 및
    상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있지 않은 경우 상기 사용자 단말에 리다이렉션 쿠키를 설정하고, 상기 사용자 단말에게 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 재접속을 요청하는 단계
    를 더 포함하는 공격 방어 방법.
  4. 제1항에 있어서
    상기 사용자 단말이 요청한 서비스를 제공하는 단계는
    상기 수신된 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있는 경우, 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는지를 판단하는 단계; 및
    상기 사용자 단말에 리다이렉션 태그가 포함되어 있고 리다이렉션 쿠키가 설정되어 있는 경우, 상기 사용자 단말이 요청한 서비스를 제공하는 단계
    를 더 포함하는, 공격 방어 방법.
  5. 제4항에 있어서
    상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있지 않은 경우 상기 사용자 단말에 리다이렉션 쿠키를 설정하는 단계를 더 포함하는, 공격 방어 방법.
  6. 소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말로부터 서비스 요청 메시지를 수신하는 단계;
    상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는지를 판단하는 단계;
    상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는 경우 상기 사용자 단말이 요청한 서비스를 제공하는 단계; 및
    상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있지 않은 경우 상기 사용자 단말에 리다이렉션 쿠키를 설정하고 재접속을 요청하는 단계
    를 포함하는 공격 방어 방법.
  7. 제6항에 있어서
    상기 리다이렉션 쿠기는 유효 시간을 포함하는, 공격 방어 방법.
  8. 제6항에 있어서
    상기 리다이렉션 쿠키는 소정 주기 별로 유효 시간이나 값이 변경되는, 공격 방어 방법.
  9. 제1항 또는 제6항에 있어서
    상기 공격 방어 방법은 웹 서버와 사용자 단말 사이에 위치하는 웹 캐시 서버에 의하여 수행되는, 공격 방어 방법.
  10. 소정 웹 서버로부터 서비스를 제공하고자 하는 사용자 단말로부터 수신되는 서비스 요청 메시지에 리다이렉션 태그가 포함되어 있거나, 상기 사용자 단말에 리다이렉션 쿠키가 설정되어 있는 경우 해당 단말이 정상 사용자 단말인 것으로 판단하는 메시지 판별부; 및
    정상 사용자 단말로 판단되지 않은 사용자 단말에 대하여, 리다이렉션 파라미터를 포함하는 응답 메시지를 전송하여 재접속을 요청하는 방어 처리부
    를 포함하는 공격 방어 장치.
  11. 제10항에 있어서
    정상 사용자 단말로 판단되지 않은 사용자 단말에 대하여, 리다이렉션 쿠기를 설정하는 쿠키 설정부
    를 더 포함하는 공격 방어 장치.
  12. 제10항 또는 제11항에 있어서
    정상 사용자 단말로 판단된 사용자 단말에 대하여 요청한 서비스를 제공하는 응답 처리부
    를 더 포함하는, 공격 방어 장치.
  13. 제10항 또는 제11항에 있어서
    상기 메시지 판별부는
    상기 서비스 요청 메시지에 레퍼러(referrer) URL(uniform resource locator)이 포함되어 있으며, 상기 레퍼러 URL에 리다이렉션 태그가 포함되어 있으면 해당 단말이 정상 사용자 단말인 것으로 판단하는, 공격 방어 장치.
  14. 제10항 또는 제11항에 있어서
    상기 공격 방어 장치는 사용자 단말과 웹 서버 사이에 위치된 웹 캐시 서버에 위치하는, 공격 방어 장치.
KR1020110046990A 2011-05-18 2011-05-18 분산 서비스 거부 공격 방어 방법 및 그 장치 KR101266171B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110046990A KR101266171B1 (ko) 2011-05-18 2011-05-18 분산 서비스 거부 공격 방어 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110046990A KR101266171B1 (ko) 2011-05-18 2011-05-18 분산 서비스 거부 공격 방어 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20120129000A true KR20120129000A (ko) 2012-11-28
KR101266171B1 KR101266171B1 (ko) 2013-05-21

Family

ID=47513565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110046990A KR101266171B1 (ko) 2011-05-18 2011-05-18 분산 서비스 거부 공격 방어 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101266171B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092665A (zh) * 2014-06-19 2014-10-08 小米科技有限责任公司 访问请求过滤方法、装置及设备
KR101479834B1 (ko) * 2013-03-20 2015-01-12 정승훈 사용자 행태 기반 광고 노출 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101479834B1 (ko) * 2013-03-20 2015-01-12 정승훈 사용자 행태 기반 광고 노출 방법 및 장치
CN104092665A (zh) * 2014-06-19 2014-10-08 小米科技有限责任公司 访问请求过滤方法、装置及设备

Also Published As

Publication number Publication date
KR101266171B1 (ko) 2013-05-21

Similar Documents

Publication Publication Date Title
US11245662B2 (en) Registering for internet-based proxy services
US11321419B2 (en) Internet-based proxy service to limit internet visitor connection speed
US9654494B2 (en) Detecting and marking client devices
US7702772B2 (en) Discovering and determining characteristics of network proxies
US8726338B2 (en) Dynamic threat protection in mobile networks
WO2018121331A1 (zh) 攻击请求的确定方法、装置及服务器
EP2830280B1 (en) Web caching with security as a service
US10083322B2 (en) Obscuring user web usage patterns
CN110557358A (zh) 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
Nakatsuka et al. PDoT: private DNS-over-TLS with TEE support
US10360379B2 (en) Method and apparatus for detecting exploits
KR101266171B1 (ko) 분산 서비스 거부 공격 방어 방법 및 그 장치
Hosoi et al. A browser scanner: Collecting intranet information
JP6278934B2 (ja) サーバ装置、サーバ装置の制御方法、及びプログラム
Sy Enhanced Performance and Privacy for Core Internet Protocols
JP2016136745A (ja) 情報処理装置、処理方法およびプログラム
Sy Kumulative Dissertation

Legal Events

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

Payment date: 20160513

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180514

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190514

Year of fee payment: 7