KR101455293B1 - Device and method for detecting cache attack - Google Patents

Device and method for detecting cache attack Download PDF

Info

Publication number
KR101455293B1
KR101455293B1 KR1020130033316A KR20130033316A KR101455293B1 KR 101455293 B1 KR101455293 B1 KR 101455293B1 KR 1020130033316 A KR1020130033316 A KR 1020130033316A KR 20130033316 A KR20130033316 A KR 20130033316A KR 101455293 B1 KR101455293 B1 KR 101455293B1
Authority
KR
South Korea
Prior art keywords
request
content
matrix
rank
cache
Prior art date
Application number
KR1020130033316A
Other languages
Korean (ko)
Other versions
KR20140118070A (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 KR1020130033316A priority Critical patent/KR101455293B1/en
Publication of KR20140118070A publication Critical patent/KR20140118070A/en
Application granted granted Critical
Publication of KR101455293B1 publication Critical patent/KR101455293B1/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 각 모니터링 시점에서, 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성하는 요청 행렬 생성부; 및 상기 요청 행렬의 랭크(rank)를 산출하는 행렬 랭크 산출부;를 포함하되, 상기 랭크를 통해 상기 요청 행렬의 무작위성(randomness)을 조사하여, 컨텐츠 제공 요청 분포가 균일 분포(uniform distribution)에 근접해졌는지 여부에 따라 컨텐츠에 대한 요청을 조작하는 방식의 서비스 거부 공격을 탐지하는 캐시 공격 탐지 장치를 제공한다.The present invention provides a content delivery system, comprising: a request matrix generation unit for generating a request matrix including a request indicator for contents received at each monitoring time; And a matrix rank calculation unit for calculating a rank of the request matrix, wherein the randomness of the request matrix is checked through the rank to determine whether a content provision request distribution is close to a uniform distribution And detecting a denial of service attack by manipulating a request for content according to whether the content is lost or not.

Description

캐시 공격 탐지 장치 및 방법{DEVICE AND METHOD FOR DETECTING CACHE ATTACK}TECHNICAL FIELD [0001] The present invention relates to a cache attack detection apparatus and method,

본 발명은 서비스 거부 공격의 일종인 캐시 오염 공격(cache pollution attack)을 탐지하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for detecting a cache pollution attack, which is a kind of denial of service attack.

최근 사용자에 의해 만들어진 컨텐츠들이 폭발적으로 늘어남에 따라, 컨텐츠가 사용자에게 효율적으로 전달될 수 있도록 캐시 서버 사용이 늘어나고 있으며, 각 라우터에 캐시를 구현하는 형태의 네트워크 아키텍쳐인 컨텐츠 중심 네트워킹(CCN: Content-Centric Networking)도 주목받고 있다.Recently, as the contents created by users have been explosively expanded, the use of cache servers has been increasing so that contents can be efficiently delivered to users. Content-oriented networking (CCN), which is a network architecture in which caches are implemented in each router, Centric Networking is also attracting attention.

이에 따라, 컨텐츠 서버 또는 캐시 서버를 공격하기 위한 신종 서비스 거부 공격(DDoS: Distributed Denial of Service)들도 등장하고 있다. 서비스 거부 공격은 최근 등장하고 있는 다양하고 위협적인 보안 위협 중에서도 치명적인 피해를 끼칠 수 있는 위험한 공격이다. 따라서 신속하게 탐지하고 대응하는 것이 중요하다.Accordingly, new distributed denial of service attacks (DDoS) for attacking a content server or a cache server are also emerging. Denial of service attack is a dangerous attack that can cause fatal damage even among various threats that are emerging recently. Therefore, it is important to detect and respond quickly.

캐시 오염 공격(cache pollution attack)은 캐시 내 컨텐츠의 지역성(locality)이 위반되도록 비인기 컨텐츠를 계속 요청하여, 인기 컨텐츠가 캐시 내에 저장되어 있지 못하게 만들어, 사용자에게 컨텐츠 제공 서비스를 제대로 제공할 수 없게 만드는 방식의 서비스 거부 공격이다.The cache pollution attack continuously requests non-content to violate the locality of the content in the cache, thereby preventing popular content from being stored in the cache and making it impossible for the user to provide the content providing service properly Denial of service attacks.

사용자의 컨텐츠 제공 요청은 일반적으로 Zipf 분포를 따른다. 즉, 인기 컨텐츠에 대한 제공 요청이 전체 컨텐츠 제공 요청에서 차지하는 비중이 굉장히 높다. 따라서 공격이 없을 때는 인기 컨텐츠가 캐시에 이미 저장되어 있을 확률이 높고 사용자가 해당 인기 컨텐츠를 요청할 확률 또한 높으므로, 캐시 히트율(hit ratio)이 높을 것이다. 그러나 캐시 오염 공격 때문에 인기 컨텐츠가 캐시에서 쫓겨나면, 사용자가 해당 인기 컨텐츠를 요청할 확률은 여전히 높지만 캐시에는 해당 컨텐츠가 저장되어 있지 못하므로, 도 2에 도시되어 있는 예와 같이, 캐시 히트율이 낮아진다. A user's request to provide a content generally follows a Zipf distribution. That is, the request for providing popular content is very high in the total content providing request. Thus, when there is no attack, the popularity of the content is likely to be already stored in the cache, and the probability of the user requesting the popular content is also high, so the cache hit ratio will be high. However, if the popular content is kicked out of the cache due to the cache pollution attack, the probability that the user requests the popular content is still high, but the corresponding content is not stored in the cache, so that the cache hit rate is lowered as in the example shown in FIG. 2 .

도 2는 적법한 컨텐츠 제공 요청에 대한 공격, 즉 오염된 컨텐츠 제공 요청의 비율이 높아질 때 캐시 히트율이 낮아짐을 보여주고 있다. 인기 컨텐츠를 캐시로 다시 저장하더라도 다른 컨텐츠에 의해 다시 캐시에서 쫓겨나기 때문에 여전히 캐시에는 해당 컨텐츠가 존재하지 않게 된다. 따라서 캐시 오염 공격이 성공하면, 인기 컨텐츠를 캐시에 불러들이는 동작을 반복하더라도, 사용자에게는 해당 인기 컨텐츠가 원할하게 제공되지 못하게 된다. FIG. 2 shows that the cache hit rate is lowered when an attack against a legitimate content providing request, that is, a ratio of a request to provide a contaminated content becomes high. Even if the popular contents are stored again in the cache, the contents are still removed from the cache by the other contents, so that the contents do not exist in the cache. Therefore, if the cache pollution attack is successful, even if the operation of loading the popular content into the cache is repeated, the popular content can not be provided to the user smoothly.

그러므로 이러한 유형의 서비스 거부 공격을 효과적으로 탐지할 수 있는 장치 및 방법이 필요하다.Therefore, there is a need for an apparatus and method that can effectively detect this type of denial of service attack.

이와 관련하여 미국등록특허 US7930428호("Verification of DNS accuracy in cache poisoning")에는 DNS 캐시 포이즌 공격(DNS cache poisoning attack)을 막는 방법이 개시되어 있다.In this regard, US Patent Application No. US7930428 ("Verification of DNS in cache poisoning") discloses a method for preventing a DNS cache poisoning attack.

또한, 미국등록특허 US7656840호("Method of reducing denial-of-service attacks and a system as well as an access router therefor")에는 모바일 IP 환경에서 서비스 거부 공격을 감소시키는 방법이 개시되어 있다.Also disclosed is a method of reducing denial of service attacks in a mobile IP environment, as disclosed in US 7,668,840 (" Method of reducing denial-of-service attacks and a system of access routers therefor ").

본 발명은 전술한 문제를 해결하기 위한 것으로서, 그 목적은 저비용으로 정확하게 서비스 거부 공격을 탐지하는 캐시 공격 탐지 장치 및 방법을 제공하는 것이다.It is an object of the present invention to provide a cache attack detection apparatus and method that accurately detect a denial of service attack at a low cost.

상기와 같은 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 캐시에 대한 공격을 탐지하는 장치는 각 모니터링 시점에서, 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성하는 요청 행렬 생성부; 및 상기 요청 행렬의 랭크(rank)를 산출하는 행렬 랭크 산출부;를 포함하되, 상기 랭크를 통해 상기 요청 행렬의 무작위성(randomness)을 조사하여, 컨텐츠 제공 요청 분포가 균일 분포(uniform distribution)에 근접해졌는지 여부에 따라 컨텐츠에 대한 요청을 조작하는 방식의 서비스 거부 공격을 탐지하는 것을 특징으로 한다.According to a first aspect of the present invention, there is provided an apparatus for detecting an attack on a cache, the apparatus comprising: a request matrix generating unit for generating a request matrix including a request for content, Generating unit; And a matrix rank calculation unit for calculating a rank of the request matrix, wherein the randomness of the request matrix is checked through the rank to determine whether a content provision request distribution is close to a uniform distribution And detecting a denial of service attack by manipulating a request for content according to whether or not the content is lost.

상기와 같은 목적을 달성하기 위한 본 발명의 제 2 측면에 따른 캐시 공격 탐지 장치를 사용하는 캐시 공격 탐지 방법에 있어서, 각 모니터링 시점에서, 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성하는 단계; 및 상기 요청 행렬의 랭크(rank)를 산출하는 단계;를 포함하며, 상기 랭크를 통해 상기 요청 행렬의 무작위성(randomness)을 조사하여, 컨텐츠 제공 요청 분포가 균일 분포(uniform distribution)에 근접해졌는지 여부에 따라 컨텐츠에 대한 요청을 조작하는 방식의 서비스 거부 공격을 탐지하는 것을 특징으로 한다.According to a second aspect of the present invention, there is provided a cache attack detection method using a cache attack detection apparatus, the method comprising the steps of: ; And calculating a rank of the request matrix by checking the randomness of the request matrix through the rank to determine whether or not the distribution request of the content providing request is close to a uniform distribution, And detecting a denial of service attack by manipulating a request for the content.

본 발명은 캐시 공격 탐지 장치 및 방법에 있어, 저비용으로 빠르고 정확하게 서비스 거부 공격을 탐지하는 효과를 얻는다.The present invention obtains the effect of detecting a denial of service attack quickly and accurately at low cost in a cache attack detecting apparatus and method.

트래픽이 아니라 캐시 내 존재하는 컨텐츠를 조사하며, 해당 컨텐츠들에 대한 제공 요청의 분포를 행렬로 표현하고, 가우시안 소거법이라는 단순한 연산을 사용하여 행렬 랭크의 변화를 감시하는 간단한 방법을 사용하므로 노력과 자원이 적게 들고 탐지 성능이 좋다.It uses a simple method of examining the contents present in the cache, expressing the distribution of the provision requests for the contents by a matrix, and monitoring the change of the matrix rank by using a simple operation of the Gaussian elimination method. And the detection performance is good.

이에 더해 XOR이라는 단순한 연산을 통해 행렬에서 인기 컨텐츠를 미리 소거하므로 효율이 더욱 높다.In addition, the efficiency is higher because the popular content is pre-erased in the matrix by a simple operation of XOR.

또한 CUSUM을 추적하여 랭크 추적만으로 놓칠 수 있는 공격까지 탐지하여 탐지 성능이 더욱 높다.It also tracks CUSUM and detects attacks that can be missed only by rank tracking, resulting in higher detection performance.

도 1은 본 발명의 일실시예에 따른 캐시 공격 탐지 장치의 구조를 도시함.
도 2는 캐시 오염 공격이 있을 때 캐시 히트율 추이를 도시함.
도 3은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 흐름을 도시함.
도 4는 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 파라미터 설정 단계의 흐름을 도시함.
도 5는 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 요청 행렬 생성 단계의 흐름을 도시함.
도 6은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 요청 행렬 필터링 단계의 흐름을 도시함.
도 7은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 행렬 랭크(rank) 산출 단계의 흐름을 도시함.
도 8은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 CUSUM(cumulative sum) 산출 단계의 흐름을 도시함.
도 9는 캐시 내를 조사하였을 때의 랭크 추이와 트래픽을 조사하였을 때의 랭크 추이를 비교 도시함.
FIG. 1 illustrates a structure of a cache attack detecting apparatus according to an embodiment of the present invention.
Figure 2 shows the cache hit rate transition when there is a cache pollution attack.
FIG. 3 illustrates a flow of a cache attack detection method according to an embodiment of the present invention.
4 is a flowchart illustrating a parameter setting step of the cache attack detection method according to an embodiment of the present invention.
FIG. 5 illustrates a flow of a request matrix generation step of a cache attack detection method according to an embodiment of the present invention.
FIG. 6 illustrates a flow of a request matrix filtering step of the cache attack detection method according to an embodiment of the present invention.
FIG. 7 shows a flow of a matrix rank calculation step of the cache attack detection method according to an embodiment of the present invention.
FIG. 8 is a flowchart illustrating a CUSUM (cumulative sum) calculation step of the cache attack detection method according to an embodiment of the present invention.
FIG. 9 shows a comparison of the rank transition when the cache is examined and the rank transition when the traffic is examined.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

도 1은 본 발명의 일실시예에 따른 캐시 공격 탐지 장치의 구조를 도시하고 있다.FIG. 1 illustrates a structure of a cache attack detecting apparatus according to an embodiment of the present invention.

본 발명의 일실시예에 따른 캐시 공격 탐지 장치(10)는 컨텐츠 서버(20)에 대한 서비스 거부 공격의 일종인 캐시 오염 공격(cache pollution attack)을 탐지하기 위해 컨텐츠 서버(20)에 포함되거나 연결되도록 구성될 수 있다.The cache attack detecting apparatus 10 according to an embodiment of the present invention may include or be connected to the content server 20 to detect a cache pollution attack, which is a kind of a denial of service attack against the content server 20. [ Lt; / RTI >

컨텐츠 서버(20)는 컨텐츠가 저장되는 컨텐츠 저장소(22) 및 컨텐츠 저장소(22)에 저장되어 있는 컨텐츠가 사용자(30)에게 제공되기 위해 임시 저장되는 컨텐츠 캐시(24), 및 사용자(30)로부터 컨텐츠 제공 요청을 수신하고, 컨텐츠 저장소(22) 및 컨텐츠 캐시(24)를 사용하여 사용자(30)에게 컨텐츠를 제공하는 컨텐츠 제공부(25)를 포함한다. 본 명세서에서 사용자(30) 및 공격자(32)는 하드웨어나 소프트웨어 등의 개체(entity)를 지칭하는 개념으로 사용된다. 컨텐츠 서버(20)는 사용자(30)와 다양한 종류의 네트워크를 통해 연결될 수 있으며, 본명세서에서 지칭하는 네트워크의 종류에는 제한이 없다. The content server 20 includes a content repository 22 in which content is stored and a content cache 24 in which content stored in the content repository 22 is provisionally stored to be provided to the user 30, And a content provider 25 for receiving the content providing request and providing the content to the user 30 using the content repository 22 and the content cache 24. In this specification, the user 30 and the attacker 32 are used as a concept of an entity such as hardware or software. The content server 20 may be connected to the user 30 through various kinds of networks, and there is no limitation on the kind of the network referred to in the present specification.

컨텐츠 서버(20)는 하나 이상의 별도의 장치가 네트워크를 통해 서로 연결되도록 구성된 것일 수 있다. 예를 들어, 컨텐츠 서버(20)는 컨텐츠 저장소(22)를 포함하는 하나 이상의 서버와 컨텐츠 캐시(24)를 포함하는 하나 이상의 서버(예: 캐시 서버)가 서로 연결되어 서버군이 형성된 것일 수 있다. 일실시예에서, 컨텐츠 서버(20)는 컨텐츠 중심 네트워크(CCN: content contric network)를 구성하는 요소로 사용될 수 있다. 이러한 실시예에서는 각 라우터에 컨텐츠 캐시(24)가 포함된다. 또는 일실시예에서 컨텐츠 서버(20)는 캐시 서버만을 포함할 수 있으며, 캐시 공격 탐지 장치(10)는 캐시 서버에만 포함되거나 연결된 것일 수 있다.The content server 20 may be configured such that one or more separate devices are connected to each other via a network. For example, the content server 20 may be a server group formed by connecting one or more servers including the content repository 22 and one or more servers (e.g., cache servers) including the content cache 24 . In one embodiment, the content server 20 may be used as an element constituting a content contric network (CCN). In this embodiment, each router includes a content cache 24. Or in one embodiment, the content server 20 may include only a cache server, and the cache attack detection device 10 may be included or connected only to the cache server.

본 발명의 일실시예에 따른 캐시 공격 탐지 장치(10)는 컨텐츠 서버(20)에 대한 서비스 거부 공격을 탐지하기 위하여, 파라미터 설정부(100), 요청 행렬 생성부(200), 요청 행렬 필터링부(300), 행렬 랭크 산출부(400), 및 CUSUM 산출부(500)를 포함한다.The cache attack detecting apparatus 10 according to an embodiment of the present invention includes a parameter setting unit 100, a request matrix generating unit 200, a request matrix filtering unit 200, A matrix rank calculating unit 400, and a CUSUM calculating unit 500. [

앞서 도 2를 통해 살펴본 바와 같이, 캐시 오염 공격은 캐시에 저장되는 컨텐츠의 지역성(locality)을 조작하여 캐시의 히트율을 낮추어 인기 컨텐츠가 원할하게 서비스되지 못하도록 하는 일종의 서비스 거부 공격이다.As shown in FIG. 2, the cache pollution attack is a kind of denial-of-service attack that lowers the cache hit rate by manipulating the locality of contents stored in the cache, thereby preventing popular contents from being served unfavorably.

캐시 오염 공격은 인기 컨텐츠를 제외한 비인기 컨텐츠에 대해 제공 요청을 계속 보내는 방법으로 수행될 수 있다. 가짜 지역성 공격(false-locality attack)이라고 불리는 이 방법에서, 공격자(32)는 적법한 사용자(30)가 요청하지 않는 비인기 컨텐츠들을 파악하고, 컨텐츠 서버(20)에 해당 비인기 컨텐츠들에 대한 요청을 반복적으로 보낸다. 이 방법을 사용하려는 공격자(32)는 인기 컨텐츠의 전체 분포를 알고 있어야 하는데, 인기 컨텐츠는 시간에 따라 캐시의 위치에 따라 달라지므로 현실적인 방법은 아니다.The cache pollution attack can be performed in such a manner that a request for provision is continuously transmitted to non-target contents other than the popular content. In this method, referred to as a false-locality attack, the attacker 32 grasps non-human content that is not requested by the legitimate user 30, and repeatedly requests the content server 20 for the corresponding non- Lt; / RTI > The attacker 32 who wants to use this method should be aware of the overall distribution of the popular content, which is not a realistic method since the popularity content depends on the location of the cache with time.

대신 공격자(32)는 모든 컨텐츠에 대해 균일 분포(uniform distribution)로 컨텐츠 제공 요청을 보내는 방법으로 캐시 오염 공격을 수행할 수 있다. 지역성 혼란 공격(locality-disruption attack)이라 불리는 이 방법에서, 공격자(32)는 요청할 컨텐츠를 무작위로(randomly) 선정하면 되므로, 컨텐츠의 인기도를 파악하지 않고도 컨텐츠 서버(20)를 효과적으로 공격할 수 있다.Instead, the attacker 32 may perform a cache pollution attack in such a manner that a content provision request is sent to all contents with a uniform distribution. In this method called locality-disruption attack, the attacker 32 can randomly select the content to be requested, and thus can effectively attack the content server 20 without grasping the popularity of the content .

본 발명의 일실시예에 따른 캐시 공격 탐지 장치(10)는 후자의 방법에 대해 대응한다. 이를 위해 캐시 공격 탐지 장치(10)는 컨텐츠 제공 요청이 Zipf 분포를 따르지 않고 균일 분포에 근접해졌는지를 감시한다. 즉, 컨텐츠 제공 요청의 무작위성(randomness)를 감시한다.The cache attack detecting apparatus 10 according to an embodiment of the present invention corresponds to the latter method. To this end, the cache attack detection device 10 monitors whether the content provision request does not follow the Zipf distribution and approaches the uniform distribution. That is, it monitors the randomness of the content provision request.

사용자(30)가 무작위로 컨텐츠를 요청하는 경우는 실제 상황에서 발생하지 않는다. 적법한 사용자(30)만이 존재한다면, 어떠한 상황에서도 인기있는 컨텐츠와 인기 없는 컨텐츠가 존재하게 되고, 인기 있는 컨텐츠에 대해서는 반복된 요청이 컨텐츠 서버(20)에 들어오게 된다. 이러한 반복된 요청은 많은 서로 다른 사용자(30)에게서 들어오는 요청이다. 따라서 요청된 컨텐츠의 분포가 Zipf 분포를 따르지 않고 무작위한 균일 분포를 따른다면, 실생활에서 나올 수 없는 분포이므로 공격으로 판단할 수 있다.The case where the user 30 randomly requests the content does not occur in an actual situation. If only the legitimate user 30 exists, popular contents and unpopular contents exist in any situation, and repeated requests are entered into the contents server 20 for popular contents. This repeated request is a request coming in from many different users (30). Therefore, if the distribution of the requested content does not follow the Zipf distribution but follows a random uniform distribution, it can be judged to be an attack because it is a distribution that can not come out from real life.

이를 위해 본 발명의 일실시예에 따른 캐시 공격 탐지 장치(10)는 무작위성이 높은 이진 행렬은 높은 랭크 값을 갖는다는 특징을 활용한다. 따라서 행렬의 랭크 값이 소정의 임계값을 넘어서면 컨텐츠 제공 요청이 균일 분포에 근접하였다고 판단할 수 있다. 본명세서에서 이 임계값은 랭크 임계값으로 지칭되며, 바람직한 실시예에서 랭크 임계값은 4이다. 이는 수학적으로 증명된 값이다. 이 값의 이상의 랭크값이 나오면, 99.999%이상의 확률로 행렬의 원소들의 분포가 랜덤해짐이 증명되었다.To this end, the cache attack detecting apparatus 10 according to an embodiment of the present invention utilizes a feature that a binary matrix having a high randomness has a high rank value. Therefore, if the rank value of the matrix exceeds a predetermined threshold value, it can be determined that the content providing request is close to the uniform distribution. In the present specification, this threshold value is referred to as a rank threshold value, and in the preferred embodiment, the rank threshold value is 4. This is a mathematically proven value. If an upper rank value of this value is found, it is proved that the distribution of the elements of the matrix becomes random with a probability of 99.999% or more.

컨텐츠 제공 요청의 분포를 표현할 수 있는 요청 행렬을 생성하고, 요청 행렬의 랭크(rank)의 값과 변화를 추적하기 위해, 본 발명의 일실시예에 따른 캐시 공격 탐지 장치(10)는 파라미터 설정부(100), 요청 행렬 생성부(200), 요청 행렬 필터링부(300), 행렬 랭크 산출부(400), 및 CUSUM 산출부(500)를 포함한다.In order to generate a request matrix capable of expressing the distribution of a content provision request, and to track the value and change of the rank of the request matrix, the cache attack detection apparatus 10 according to an embodiment of the present invention, A request matrix generating unit 200, a request matrix filtering unit 300, a matrix rank calculating unit 400, and a CUSUM calculating unit 500.

요청 행렬 생성부(200)는 각 모니터링 시점에서 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성한다. 요청 행렬은 0과 1로 이루어진 이진(binary number) 행렬이 사용될 수 있다. 컨텐츠 제공 요청을 받지 않은 컨텐츠에 대응되는 요소는 0으로 설정되고, 컨텐츠 제공 요청을 받은 컨텐츠에 대응되는 요소는 1로 설정된다. 즉, 요청 행렬은 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지로 1을 사용한다. The request matrix generation unit 200 generates a request matrix including request signs for contents received at each monitoring time. A binary number matrix consisting of 0 and 1 can be used as the request matrix. The element corresponding to the content for which the content providing request is not received is set to 0, and the element corresponding to the content for which the content providing request is received is set to 1. That is, the request matrix uses 1 as a request mark for the content receiving the content providing request.

이를 위해 요청 행렬 생성부(200)는 영행렬을 생성한 후 컨텐츠 제공 요청을 받은 컨텐츠에 대응되는 요소를 1로 설정할 수 있다. 컨텐츠 제공 요청을 받은 컨텐츠를 요청 행렬의 요소에 대응시키는 데에는 해당 컨텐츠의 이름의 해시(hash)가 사용될 수 있다. 자세한 내용은 후술한다.To this end, the request matrix generator 200 may set the element corresponding to the content receiving the request for content generation to 1 after generating the zero matrix. A hash of the name of the content may be used to associate the content received with the content providing request with the element of the request matrix. Details will be described later.

행렬 랭크 산출부(400)는 행렬 랭크를 산출한다. 행렬 랭크는 가우시안 소거법을 사용하여 산출할 수 있다. 가우시안 소거법을 행렬에 적용하면, 행렬은 상삼각행렬(대각행렬 기준으로 아래는 모두 0인 행렬)이 된다. 그 중에 모두 0으로 구성되지 않은 행의 개수가 랭크값이다.The matrix rank calculation unit 400 calculates a matrix rank. The matrix rank can be calculated using the Gaussian elimination method. When the Gaussian elimination method is applied to a matrix, the matrix becomes an upper triangular matrix (a matrix with all 0s below on a diagonal matrix basis). And the number of the rows that are not all zeros among them is the rank value.

행렬 랭크 산출부(400)가 행렬 랭크를 산출하기 전에, 요청 행렬 필터링부(300)가 요청 행렬에서 인기 컨텐츠를 미리 걸러내어 효율을 높일 수 있다. 요청 행렬 필터링부(300)는 요청 행렬 중 연속으로 컨텐츠 제공 요청을 받은 컨텐츠에 대해 표시된 요청 표지를 소거한다. 요청 행렬의 1인 요소 중 이전 모니터링 시점에 생성된 요청 행렬에서도 1인 요소를 0으로 소거하기 위해 XOR 연산을 사용한다. 자세한 내용은 후술한다.Before the matrix rank calculation unit 400 calculates the matrix rank, the request matrix filtering unit 300 may pre-sort the popular contents in the request matrix to increase efficiency. The request matrix filtering unit 300 cancels the displayed request mark for the content that is continuously requested to provide the content among the request matrices. An XOR operation is used to erase one element of the request matrix from zero even in the request matrix generated at the previous monitoring time. Details will be described later.

CUSUM 산출부(500)가 요청 행렬의 랭크에 대한 CUSUM(cumulative sum)을 추적할 수 있다. CUSUM의 편차가 횟수 임계값 이상 연속으로 편차 임계값을 넘어서는 경우, 서비스 거부 공격이 있다고 판단할 수 있다.The CUSUM calculating unit 500 may track the CUSUM (cumulative sum) of the rank of the request matrix. If the deviation of CUSUM exceeds the deviation threshold continuously over the threshold value, it can be judged that there is a denial of service attack.

CUSUM을 통해 랭크의 변화까지 추적하는 이유는 아주 느린 공격 속도를 가진 공격(low-rate attack)까지 탐지하기 위함이다. 이러한 낮은 속도의 공격은 랭크만으로는 탐지할 수 없을 수 있으나, CUSUM을 함께 조사하면, 낮은 공격 속도를 가진(정상에 비해 1/10의 속도를 가진) 공격도 실시간으로 탐지가 가능하다. 자세한 내용은 후술한다.The reason for tracking the change in rank through CUSUM is to detect even a very low-rate attack. These low-speed attacks can not be detected by the rank alone, but if you investigate CUSUM together, it is possible to detect attacks with low attack rates (1/10 of the normal attack rate) in real time. Details will be described later.

본격적으로 모니터링을 시작하기 전에 파라미터 설정부(100) 요청 행렬의 크기 및 모니터링 단위 시간 등을 포함하는 파라미터를 설정할 수 있다. 자세한 내용은 후술하되, 도 9를 통해, 바람직한 실시예에서 요청 행렬은 컨텐츠 객체가 저장되는 캐시(cache)를 조사하여 생성됨을 먼저 살펴본다.The parameters including the size of the parameter setting unit 100 request matrix and the monitoring unit time can be set before starting the monitoring in earnest. The details will be described later with reference to FIG. 9, wherein the request matrix is generated by examining a cache in which a content object is stored in a preferred embodiment.

도 9는 캐시 내를 조사하였을 때의 랭크 추이(첫번째 도면)와 트래픽을 조사하였을 때의 랭크 추이(두번째 도면)를 비교 도시하고 있다.FIG. 9 shows a comparison between a rank transition (first drawing) when a cache is searched and a rank transition (second drawing) when traffic is examined.

컨텐츠에 대한 요청은 컨텐츠 캐시(24) 내부를 조사하여 파악될 수도 있고, 컨텐츠 서버(20)가 수신하는 요청을 컨텐츠 캐시(24) 외부에서 조사하여 파악될 수도 있을 것이다. 이에 대해 실험한 결과, 도면에 도시되어 있는 바와 같이, 캐시 내를 조사하였을 경우가 Zipf 분포일 때와 균일 분포일 때의 랭크 값의 추이를 더 잘 추적하는 것으로 나타났다. 따라서 본 발명의 일실시예에 따른 요청 행렬 생성부(200)는 요청 행렬 생성시 컨텐츠 캐시(24) 내부를 조사한다.A request for content may be grasped by inspecting the content cache 24 or may be grasped by examining a request received by the content server 20 from the content cache 24. [ As a result of the experiment, it is shown that when the cache is irradiated, it tracks the transition of the rank value when the Zipf distribution is uniform and uniformly distributed, as shown in the figure. Therefore, the request matrix generator 200 according to an embodiment of the present invention checks the contents cache 24 when generating the request matrix.

도 3은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 흐름을 도시하고 있다. 각 단계를 대략적으로 살펴보고 자세한 내용은 후술한다.FIG. 3 illustrates a flow of a cache attack detection method according to an embodiment of the present invention. Each step will be briefly reviewed and further details will be given later.

파라미터를 설정한다(S100). 컨텐츠 개수에 기초하여 요청 행렬의 크기를 결정하고, 요청 행렬의 크기에 기초하여 모니터링 시간 단위를 결정한다.Parameters are set (S100). Determines the size of the request matrix based on the number of contents, and determines the monitoring time unit based on the size of the request matrix.

각 모니터링 시점에서(S200), 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성한다(S300).At each monitoring time (S200), a request matrix including a request mark for the content received from the content providing request is generated (S300).

다음, 요청 행렬 중 연속으로 컨텐츠 제공 요청을 받은 컨텐츠에 대해 표시된 요청 표지를 소거하여 요청 행렬을 필터링한다(S400).Next, in step S400, the request matrix is filtered by deleting the request mark for the content that has received the content providing request successively among the request matrices.

다음, 가우스 소거법을 사용하여 요청 행렬의 랭크(rank)를 산출한다(S500).Next, the rank of the request matrix is calculated using the Gaussian elimination method (S500).

다음, 행렬 랭크의 CUSUM을 산출한다(S700).Next, the CUSUM of the matrix rank is calculated (S700).

행렬 랭크가 랭크 임계값을 넘어서거나(S600), CUSUM 편차가 편차 임계값을 넘어서면(S800), 공격이 탐지된 것이다(S900). 도면은 랭크 임계값과 편차 임계값을 별도의 단계에서 추적하는 바람직한 실시예를 도시하고 있으나, 한꺼번에 추적하여도 된다.If the matrix rank exceeds the rank threshold value (S600) or the CUSUM deviation exceeds the deviation threshold value (S800), an attack is detected (S900). Although the figure shows a preferred embodiment of tracking the rank threshold and the deviation threshold in separate steps, they may be tracked at once.

공격이 탐지되면 공격이 탐지되었음을 알리고 대응 조치를 취한다. 공격이 탐지되지 않았을 때는 상기 단계들(S200~S800)을 반복하여 모니터링을 계속한다.When an attack is detected, it is notified that an attack has been detected and a countermeasure is taken. If an attack is not detected, the above steps (S200 to S800) are repeated to continue monitoring.

도 4는 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 파라미터 설정 단계의 흐름을 도시하고 있다.FIG. 4 shows a flow of a parameter setting step of the cache attack detection method according to an embodiment of the present invention.

컨텐츠 수를 산출한다(S110). 예를 들어, 컨텐츠 객체 수 총합(So) 및 캐시 내 객체 수 평균(Sc)가 산출될 수 있다. 캐시 내 객체 수 평균을 산출하는 이유는 도 9를 통해 전술한 바와 같이, 본 발명의 일실시예에 따른 캐시 공격 탐지 방법은 요청 행렬 생성시 컨텐츠 캐시(24) 외부가 아닌 컨텐츠 캐시(24) 내부를 조사하기 때문이다.The number of contents is calculated (S110). For example, the total number of content objects (So) and the number of objects in the cache (Sc) can be calculated. The reason for calculating the average number of objects in the cache is as follows. As described above with reference to FIG. 9, in the cache attack detection method according to the embodiment of the present invention, .

이에 기초하여 요청 행렬의 크기를 결정한다(S120). 요청 행렬로 (nxn) 행렬이 사용된다면 n은 도시되어 있는 바와 같이, 캐시 내 객체 수 평균에 기초하여 산출될 수 있다. 예를 들어, 평균 파일 크기가 1MB이고 컨텐츠 캐시(24)의 크기가 1TB라면, n은 대략 1,000이 될 수 있다.The size of the request matrix is determined based on the determined size (S120). If a (nxn) matrix is used as the request matrix, n may be computed based on the average number of objects in the cache, as shown. For example, if the average file size is 1 MB and the size of the content cache 24 is 1 TB, then n can be approximately 1,000.

요청 행렬의 크기가 너무 작으면 요청 분포의 무작위성을 제대로 탐지하지 못할 것이고, 너무 크면 공간 자원 낭비가 심할 것이므로, 적절한 크기를 산출하는 것은 중요하다.If the size of the request matrix is too small, it will not correctly detect the randomness of the request distribution, and if it is too large, it will waste space resources.

다음 모니터링 단위 시간 크기를 결정한다(S130). 모니터링 단위 시간은 실제 시간 단위를 사용할 수도 있으나, 컨텐츠 제공 요청 건수에 따라 모니터 시간을 정하는 것이 효율적일 수 있다. 예를 들어, 바람직한 실시예에서 3n개의 요청마다 모니터링되도록 설정될 수 있다.The next monitoring unit time size is determined (S130). The monitoring unit time may be an actual time unit, but it may be effective to set the monitoring time according to the number of content providing requests. For example, in the preferred embodiment, it can be set to monitor every 3n requests.

도 5는 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 요청 행렬 생성 단계의 흐름을 도시하고 있다.FIG. 5 illustrates a flow of a request matrix generation step of a cache attack detection method according to an embodiment of the present invention.

t 시점의 요청 행렬 Mt를 생성한다(S310). Mt는 (nxn) 크기의 영행렬이다. 컨텐츠 제공 서비스를 요청받은 컨텐츠에 대해 1을 요청 표지로서 설정할 것이므로, 요청 행렬 Mt는 이진 행렬이 된다.and generates a request matrix Mt at time t (S310). Mt is a (nxn) size zero matrix. Since the content providing service is set to 1 as a request mark for the requested content, the request matrix Mt becomes a binary matrix.

요청 표지를 설정할 행렬의 요소를 찾기 위해, 컨텐츠 제공 서비스를 요청받은 컨텐츠 객체 이름(c)에 대응되는 인덱스 (i, j)를 산출한다(S320). 전술한 바와 같이 해시(hash) 연산이 사용되었다. 해시 연산은 입력으로 컨텐츠 이름(c)을 받아서, 행렬의 인덱스 (i, j)를 출력한다. 해시와 나머지연산(mod)이라는 간단한 연산을 사용하므로 도 5의 단계는 효율이 높다.In step S320, an index (i, j) corresponding to the content object name (c) requested by the content providing service is calculated to find the element of the matrix for which the request mark is to be set. A hash operation was used as described above. The hash operation receives the content name (c) as an input and outputs the index (i, j) of the matrix. The steps in FIG. 5 are efficient because they use a simple operation of a hash and the remainder of the operation (mod).

(i, j) 번째 요소를 1로 설정한다(S330). 결국 요청 행렬은 요청된 컨텐츠들에 대한 부분만 1이 되고, 요청받지 않은 부분은 모두 0으로 남아있게 된다.(i, j) th element is set to 1 (S330). As a result, the request matrix becomes only one part for the requested contents, and all unrequested parts remain zero.

도 6은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 요청 행렬 필터링 단계의 흐름을 도시하고 있다.FIG. 6 illustrates a flow of a request matrix filtering step of the cache attack detection method according to an embodiment of the present invention.

t, t-1, t-2 시점의 요청 행렬들을 읽는다(S410).t, t-1, and t-2 (S410).

XOR 연산을 사용하는 연산 단계들(S420, S430)을 통해, 인기 객체가 필터링된 요청 행렬인 Mt''를 출력한다(S440).Through the operation steps S420 and S430 using the XOR operation, the popular object outputs the filtered request matrix Mt '' (S440).

Mt''는 도시된 벤 다이어그램에서 색칠된 부분이다. 벤다이어그램에서 색칠이 되지 않은 부분이 인기있는 컨텐츠인 반면, 색이 칠해진 부분이 비인기 컨텐츠를 나타낸다. 즉, 인기 객체가 필터링된 요청 행렬은 연속된 세번의 시간 구간에서 중복되지 않는 부분들에 대한 내용들만을 표현하게 된다.Mt " is the colored portion in the Venn diagram shown. In the Venn diagram, the uncolored part is the popular content, while the colored part shows the non-content. That is, the request matrix in which the popular object is filtered expresses only the contents of non-overlapping portions in three consecutive time intervals.

인기있는 컨텐츠는 연속된 세번의 모니터링 시점에서 지속적으로 출몰하는 컨텐츠이다. 인기가 있으므로, 많은 사용자들로부터 반복적으로 컨텐츠 요청이 들어오기 때문이다. Mt에서 색칠된 부분은 이전의 Mt-1이나 Mt-2에서 한번도 요청된적이 없는 파일들이며, Mt-1에서 색칠된 부분은 Mt혹은 Mt-2에서 한번도 요청되지 않은 파일들이기 때문에 인기 없는 컨텐츠 객체들만 추출되게 된다.Popular content is content that continuously pops up at three consecutive monitoring points. Because it is popular, content requests are repeated from many users. Since the colored parts in Mt are files that have never been requested in the previous Mt-1 or Mt-2 and the colored parts in Mt-1 are files that have never been requested in Mt or Mt-2, And extracted.

XOR과 AND라는 간단한 연산을 사용하므로 도 6의 단계는 효율이 높다.Since the simple operation of XOR and AND is used, the step of FIG. 6 is highly efficient.

도 7은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 행렬 랭크(rank) 산출 단계의 흐름을 도시하고 있다.FIG. 7 shows a flow of a matrix rank calculation step of the cache attack detection method according to an embodiment of the present invention.

인기 객체가 필터링된 요청 행렬 Mt''를 가우스 소거법을 사용하여 상삼각 행렬로 변환하여(S510), 0이 아닌 요소가 있는 행의 개수인 행렬 랭크 r 산출한다(S520).(S510), and the matrix rank r, which is the number of rows having non-zero elements, is calculated by using the Gaussian elimination method (S520).

가우스 소거법이라는 간단한 연산을 사용하므로 도 7의 단계는 효율이 높다.The step of FIG. 7 is highly efficient because it uses a simple operation called a Gauss elimination method.

도 8은 본 발명의 일실시예에 따른 캐시 공격 탐지 방법의 CUSUM(cumulative sum) 산출 단계의 흐름을 도시하고 있다.FIG. 8 is a flowchart illustrating a CUSUM (Cumulative Sum) calculation step of the cache attack detection method according to an embodiment of the present invention.

t 시점의 랭크 관찰값(rt)을 읽는다(S710). 즉, 랭크 관찰값은 각 모니터링 시점에 행렬 랭크 산출부(400)에 의해 산출된 랭크이다.The rank observation value rt at time t is read (S710). That is, the rank observation value is a rank calculated by the matrix rank calculation unit 400 at each monitoring time.

t 시점의 랭크 기대값 평균(Et)을 산출한다(S720). 수식을 보면, t 시점의 랭크 기대값 평균은 이전 시점(t-1 시점)의 랭크 기대값 평균과 t 시점의 랭크 관찰값을 기초로 가중치(w)를 사용하여 산출됨을 알 수 있다. 가중치 w는 EWMA(exponentially weighted moving average) 가중치일 수 있다. The average expected value Et at time t is calculated (S720). From the formula, it can be seen that the average of the rank expected values at time t is calculated using the weight w based on the rank expected value average at the previous time point (t-1 time point) and the rank observation value at time point t. The weight w may be an exponentially weighted moving average (EWMA) weight.

t 시점의 랭크 기대값 평균의 편차(deviation, gt)를 산출한다(S730). 단, 도시되어 있는 바와 같이, g0=0로 미리 설정되고, gt가 0보다 작거나 같으면 gt=0으로 재조정된다.(deviation, gt) of the average expected rank value at time t is calculated (S730). However, as shown in the figure, g0 = 0 is set in advance, and if gt is less than or equal to 0, gt = 0 is readjusted.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

20: 컨텐츠 서버
22: 컨텐츠 저장소
24: 컨텐츠 캐시
25: 컨텐츠 제공부
30: 사용자
32: 공격자
10: 캐시 공격 탐지 장치
100: 파라미터 설정부
200: 요청 행렬 생성부
300: 요청 행렬 필터링부
400: 행렬 랭크 산출부
500: CUSUM 산출부
20: Content server
22: Content repositories
24: Content Cache
25: Content offerer
30: User
32: Attacker
10: Cache Attack Detector
100: Parameter setting section
200: request matrix generation unit
300: request matrix filtering unit
400: matrix rank calculation unit
500: CUSUM calculating section

Claims (15)

캐시에 대한 공격을 탐지하는 장치에 있어서,
각 모니터링 시점에서, 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성하는 요청 행렬 생성부; 및
상기 요청 행렬의 랭크(rank)를 산출하는 행렬 랭크 산출부;를 포함하되,
상기 랭크를 통해 상기 요청 행렬의 무작위성(randomness)을 조사하여, 컨텐츠 제공 요청 분포가 균일 분포(uniform distribution)에 근접해졌는지 여부에 따라 컨텐츠에 대한 요청을 조작하는 방식의 서비스 거부 공격을 탐지하며, 상기 랭크가 랭크 임계값을 넘어서는 경우, 서비스 거부 공격이 있다고 판단하는 캐시 공격 탐지 장치.
An apparatus for detecting an attack on a cache,
A request matrix generation unit for generating a request matrix including a request sign for contents received at each monitoring time; And
And a matrix rank calculation unit for calculating a rank of the request matrix,
Detecting a denial of service attack by manipulating a request for content according to whether a distribution of a content provision request approaches a uniform distribution by examining a randomness of the request matrix through the rank, If the rank exceeds the rank threshold, determines that there is a denial of service attack.
제 1 항에 있어서,
상기 요청 행렬 생성부는
컨텐츠 제공을 위해 컨텐츠 객체가 저장되는 캐시(cache)를 조사하여 상기 요청 행렬을 생성하는 캐시 공격 탐지 장치.
The method according to claim 1,
The request matrix generation unit
A cache attack detector for generating a request matrix by examining a cache in which a content object is stored for providing a content.
삭제delete 제 1 항에 있어서,
상기 캐시 공격 탐지 장치는
상기 요청 행렬 중 연속으로 컨텐츠 제공 요청을 받은 컨텐츠에 대해 표시된 요청 표지를 소거하는 요청 행렬 필터링부;를 더 포함하는 캐시 공격 탐지 장치.
The method according to claim 1,
The cache attack detection device
And a request matrix filtering unit for clearing the request markers displayed on the contents received in response to the contents providing request successively among the requesting matrices.
제 1 항에 있어서,
상기 캐시 공격 탐지 장치는
상기 행렬 랭크 산출부가 산출한 랭크에 대한 CUSUM(cumulative sum)을 추적하는 CUSUM 산출부;를 더 포함하며,
상기 CUSUM의 편차가 횟수 임계값 이상 연속으로 편차 임계값을 넘어서는 경우, 서비스 거부 공격이 있다고 판단하는 캐시 공격 탐지 장치.
The method according to claim 1,
The cache attack detection device
And a CUSUM calculating unit for tracking a CUSUM (cumulative sum) of the rank calculated by the matrix rank calculating unit,
And determines that there is a denial-of-service attack if the deviation of the CUSUM exceeds a deviation threshold value continuously over a threshold value.
제 1 항에 있어서,
상기 행렬 랭크 산출부는
가우시안 소거법을 사용하여 상기 랭크를 산출하는 캐시 공격 탐지 장치.
The method according to claim 1,
The matrix rank calculation unit
And calculating the rank using the Gaussian elimination method.
제 1 항에 있어서,
상기 캐시 공격 탐지 장치는
컨텐츠 개수에 기초하여 상기 요청 행렬의 크기를 결정하고,
상기 요청 행렬의 크기에 기초하여 모니터링 시간 단위를 결정하는 캐시 공격 탐지 장치.
The method according to claim 1,
The cache attack detection device
Determining a size of the request matrix based on the number of contents,
And determines a monitoring time unit based on the size of the request matrix.
제 1 항에 있어서,
상기 요청 행렬은
컨텐츠 제공 요청을 받지 않은 컨텐츠에 대응되는 요소는 0으로 설정되고, 컨텐츠 제공 요청을 받은 컨텐츠에 대응되는 요소는 1로 설정되는 캐시 공격 탐지 장치.
The method according to claim 1,
The request matrix
Wherein the element corresponding to the content for which the content provision request is not received is set to 0 and the element corresponding to the content for which the content provision request is received is set to 1.
제 1 항에 있어서,
상기 요청 행렬 생성부는
상기 컨텐츠 제공 요청을 받은 컨텐츠의 이름을 해시(hash)하여 상기 요청 행렬의 요소에 대응시키는 캐시 공격 탐지 장치.
The method according to claim 1,
The request matrix generation unit
And associates the name of the content received with the content providing request with an element of the request matrix.
캐시 공격 탐지 장치를 사용하는 캐시 공격 탐지 방법에 있어서,
각 모니터링 시점에서, 컨텐츠 제공 요청을 받은 컨텐츠에 대한 요청 표지를 포함하는 요청 행렬을 생성하는 단계; 및
상기 요청 행렬의 랭크(rank)를 산출하는 단계;를 포함하며,
상기 랭크를 통해 상기 요청 행렬의 무작위성(randomness)을 조사하여, 컨텐츠 제공 요청 분포가 균일 분포(uniform distribution)에 근접해졌는지 여부에 따라 컨텐츠에 대한 요청을 조작하는 방식의 서비스 거부 공격을 탐지하되, 상기 랭크가 랭크 임계값을 넘어서는 경우, 서비스 거부 공격이 있다고 판단하는 캐시 공격 탐지 방법.
A cache attack detection method using a cache attack detection device,
Generating, at each monitoring time point, a request matrix including a request mark for content received from the content providing request; And
And calculating a rank of the request matrix,
Detecting a denial of service attack by manipulating a request for content according to whether a distribution of a content providing request approaches a uniform distribution by checking a randomness of the request matrix through the rank, If the rank exceeds a rank threshold, determines that there is a denial of service attack.
제 10 항에 있어서,
상기 요청 행렬의 랭크에 대한 CUSUM(cumulative sum)을 추적하는 단계;를 더 포함하며,
상기 CUSUM의 편차가 횟수 임계값 이상 연속으로 편차 임계값을 넘어서는 경우, 서비스 거부 공격이 있다고 판단하는 캐시 공격 탐지 방법.
11. The method of claim 10,
Further comprising: tracking a cumulative sum (CUSUM) for the rank of the request matrix,
And determining that there is a denial-of-service attack if the deviation of the CUSUM exceeds a deviation threshold continuously over a threshold number of times.
제 10 항에 있어서,
컨텐츠 개수에 기초하여 상기 요청 행렬의 크기를 결정하고, 상기 요청 행렬의 크기에 기초하여 모니터링 시간 단위를 결정하는 단계;를 더 포함하는 캐시 공격 탐지 방법.
11. The method of claim 10,
Determining a size of the request matrix based on the number of contents, and determining a monitoring time unit based on the size of the request matrix.
제 10 항에 있어서,
상기 요청 행렬 중 연속으로 컨텐츠 제공 요청을 받은 컨텐츠에 대해 표시된 요청 표지를 소거하는 단계;를 더 포함하는 캐시 공격 탐지 방법.
11. The method of claim 10,
And clearing the displayed request mark for the content that has received the content providing request successively among the request matrices.
제 10 항에 있어서,
상기 요청 행렬을 생성하는 단계는
컨텐츠 제공을 위해 컨텐츠 객체가 저장되는 캐시(cache)를 조사하여, 상기 컨텐츠 제공 요청을 받은 컨텐츠의 이름을 해시(hash)함으로써 상기 요청 행렬의 대응되는 요소의 인덱스를 산출하는 캐시 공격 탐지 방법.
11. The method of claim 10,
The step of generating the request matrix
A cache attack detection method for searching a cache in which a content object is stored for providing a content and calculating an index of a corresponding element of the request matrix by hash the name of the content received the content providing request.
제 10 항에 있어서,
상기 요청 행렬은
컨텐츠 제공 요청을 받지 않은 컨텐츠에 대응되는 요소는 0으로 설정되고, 컨텐츠 제공 요청을 받은 컨텐츠에 대응되는 요소는 1로 설정되는 캐시 공격 탐지 방법.
11. The method of claim 10,
The request matrix
The element corresponding to the content for which the content provision request is not received is set to 0, and the element corresponding to the content for which the content provision request is received is set to 1. [
KR1020130033316A 2013-03-28 2013-03-28 Device and method for detecting cache attack KR101455293B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130033316A KR101455293B1 (en) 2013-03-28 2013-03-28 Device and method for detecting cache attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130033316A KR101455293B1 (en) 2013-03-28 2013-03-28 Device and method for detecting cache attack

Publications (2)

Publication Number Publication Date
KR20140118070A KR20140118070A (en) 2014-10-08
KR101455293B1 true KR101455293B1 (en) 2014-10-31

Family

ID=51990980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130033316A KR101455293B1 (en) 2013-03-28 2013-03-28 Device and method for detecting cache attack

Country Status (1)

Country Link
KR (1) KR101455293B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102411884B1 (en) 2017-09-28 2022-06-22 삼성전자주식회사 Electronic device and control method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745613B1 (en) * 2006-03-20 2007-08-02 고려대학교 산학협력단 Apparatus and recording medium storing program for monitoring network
KR20100049470A (en) * 2008-11-03 2010-05-12 고려대학교 산학협력단 Method and apparatur for detecting distributed denial of service attack
KR101009482B1 (en) * 2008-11-03 2011-01-25 고려대학교 산학협력단 Method and apparatus for early detecting unknown internet worms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745613B1 (en) * 2006-03-20 2007-08-02 고려대학교 산학협력단 Apparatus and recording medium storing program for monitoring network
KR20100049470A (en) * 2008-11-03 2010-05-12 고려대학교 산학협력단 Method and apparatur for detecting distributed denial of service attack
KR101009482B1 (en) * 2008-11-03 2011-01-25 고려대학교 산학협력단 Method and apparatus for early detecting unknown internet worms

Also Published As

Publication number Publication date
KR20140118070A (en) 2014-10-08

Similar Documents

Publication Publication Date Title
Lashkari et al. Towards a network-based framework for android malware detection and characterization
Dou et al. A confidence-based filtering method for DDoS attack defense in cloud environment
Dabirmoghaddam et al. Understanding optimal caching and opportunistic caching at" the edge" of information-centric networks
CN111586046B (en) Network traffic analysis method and system combining threat intelligence and machine learning
Yang et al. Empirical evaluation and new design for fighting evolving twitter spammers
Kim et al. Efficient content verification in named data networking
CN103179132B (en) A kind of method and device detecting and defend CC attack
CN104243408B (en) The method, apparatus and system of message are monitored in domain name resolution service DNS systems
Kim et al. Malicious URL protection based on attackers' habitual behavioral analysis
CN111818103B (en) Traffic-based tracing attack path method in network target range
Taylor et al. Detecting malicious exploit kits using tree-based similarity searches
CN106888211A (en) The detection method and device of a kind of network attack
KR102061833B1 (en) Apparatus and method for investigating cyber incidents
Feng et al. Application-layer DDoS defense with reinforcement learning
Mohaisen Towards automatic and lightweight detection and classification of malicious web contents
Sree et al. HADM: detection of HTTP GET flooding attacks by using Analytical hierarchical process and Dempster–Shafer theory with MapReduce
Wu et al. Detect repackaged android application based on http traffic similarity
Alhisnawi et al. Detecting and mitigating DDoS attack in named data networking
CN114338064A (en) Method, device, equipment and storage medium for identifying network traffic type
Sharma et al. An intrusion detection system for detecting denial-of-service attack in cloud using artificial bee colony
Levine et al. Statistical detection of downloaders in freenet
KR20110029340A (en) Protection system against ddos
KR101455293B1 (en) Device and method for detecting cache attack
Singh et al. Privacy attack modeling and risk assessment method for name data networking
Karami et al. Attribution of economic denial of sustainability attacks in public clouds

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
FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 5