KR100729266B1 - Method for checking transmitted files in network and apparatus of enabling the method - Google Patents
Method for checking transmitted files in network and apparatus of enabling the method Download PDFInfo
- Publication number
- KR100729266B1 KR100729266B1 KR1020050041503A KR20050041503A KR100729266B1 KR 100729266 B1 KR100729266 B1 KR 100729266B1 KR 1020050041503 A KR1020050041503 A KR 1020050041503A KR 20050041503 A KR20050041503 A KR 20050041503A KR 100729266 B1 KR100729266 B1 KR 100729266B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- packet
- offset
- pattern
- network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 네트워크를 통해 전송되는 패킷의 가상 오프셋을 계산하여 가상 오프셋에 대응하여 검사할 패턴이 있는 경우에만 패킷을 검사하는 방법 및 그 장치에 관한 것이다. 본 발명에 따르면, 네트워크를 통해 전송되는 파일을 검사할 때 메모리에서 패킷을 재조합하지 않기 때문에 패킷을 저장하기 위해 많은 메모리가 필요하지 않고 파일 검사를 위해서 패킷의 전송을 지연시키지 않는 이점이 있다.The present invention relates to a method and apparatus for inspecting a packet only when there is a pattern to be inspected corresponding to the virtual offset by calculating a virtual offset of the packet transmitted through the network. According to the present invention, since the packet is not recombined in memory when inspecting a file transmitted through the network, it does not need much memory to store the packet and does not delay transmission of the packet for file inspection.
네트워크, 파일, 검색, 이메일웜 Network, file, search, emailworm
Description
도 1은 호스트간에 네트워크 구성의 일례를 나타내는 도면이다.1 is a diagram illustrating an example of a network configuration between hosts.
도 2는 도 1에 도시된 제1 호스트에서 제2 호스트로 패킷의 전송하는 경우를 나타내는 도면이다.FIG. 2 is a diagram illustrating a case of transmitting a packet from a first host to a second host shown in FIG. 1.
도 3은 프록시를 포함하는 네트워크 구성의 일례를 나타내는 도면이다.3 is a diagram illustrating an example of a network configuration including a proxy.
도 4는 종래 파일 재조합 검사 방식의 일례를 나타내는 도면이다.4 is a diagram illustrating an example of a conventional file recombination test method.
도 5는 패킷 필터를 포함하는 네트워크 구성의 일례를 나타내는 도면이다.5 is a diagram illustrating an example of a network configuration including a packet filter.
도 6은 종래 패킷 단위 검사 방식의 일례를 나타내는 도면이다.6 is a diagram illustrating an example of a conventional packet-based inspection method.
도 7은 파일 오프셋을 일례를 나타내는 도면이다.7 is a diagram illustrating an example of a file offset.
도 8은 패킷 오프셋의 일례를 나타내는 도면이다.8 is a diagram illustrating an example of a packet offset.
도 9는 패킷에서 파일 오프셋을 이용하여 가상 오프셋을 계산하는 일례를 나타내는 도면이다.9 is a diagram illustrating an example of calculating a virtual offset using a file offset in a packet.
도 10은 본 발명의 일실시예에 따른 가상 오프셋에 대응하는 검사 규칙의 일례를 나타내는 도면이다.10 is a diagram illustrating an example of a check rule corresponding to a virtual offset according to an embodiment of the present invention.
도 11은 본 발명의 실시예에 따른 파일 검사 대상인 이메일웜의 일례를 나타 내는 도면이다.11 is a diagram illustrating an example of an email worm that is a file scan target according to an embodiment of the present invention.
도 12는 본 발명의 일실시예에 따른 네트워크 장비의 구성을 나타내는 도면이다.12 is a diagram illustrating a configuration of network equipment according to an embodiment of the present invention.
도 13은 본 발명의 일실시예에 따른 파일을 검사할 때 사용되는 규칙 테이블을 나타내는 도면이다.13 is a diagram illustrating a rule table used when inspecting a file according to an embodiment of the present invention.
도 14는 본 발명의 일실시예에 따른 파일 검사 방식의 개념을 나타내는 도면이다.14 illustrates a concept of a file checking method according to an embodiment of the present invention.
도 15는 종래 파일 필터링 방식의 개념을 나타내는 도면이다.15 illustrates a concept of a conventional file filtering method.
도 16은 본 발명의 실시예에 따른 파일 검사 방법의 흐름도를 나타내는 도면이다.16 is a flowchart illustrating a file checking method according to an embodiment of the present invention.
도 17은 본 발명의 실시예에 따른 파일 검사 방법에 있어서, 패킷의 오프셋이 파일의 어느 부분에 위치하는지를 추적하는 단계를 구체화한 일례를 나타내는 도면이다.FIG. 17 is a diagram illustrating an example in which a step of tracking where an offset of a packet is located in a file in the method for checking a file according to an embodiment of the present invention.
도 18은 본 발명의 실시예에 따른 파일 검사 방법에 있어서, 수신된 패킷을 오프셋에 대응하는 검사할 패턴과 비교하는 단계를 구체화한 일례를 나타내는 도면이다.18 is a diagram illustrating an example in which a step of comparing a received packet with a pattern to be inspected corresponding to an offset in the file inspection method according to an embodiment of the present invention is specified.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100, 300, 500: 네트워크100, 300, 500: network
110, 310, 510: 제1 호스트 120, 320, 520: 제2 호스트110, 310, 510:
330: 프록시 530: 패킷 필터330: proxy 530: packet filter
710, 910: 파일 오프셋 810, 920: 패킷 오프셋710, 910:
930: 패킷 데이터930: packet data
1200: 네트워크 장비1200: network equipment
1210: 패턴 저장부 1220: 감지부1210: pattern storage unit 1220: detection unit
1230: 수신부 1240: 위치 추적부1230: receiver 1240: location tracking unit
1250: 패턴 비교부 1260: 전송 제어부1250: pattern comparison unit 1260: transmission control unit
1270: 전송부1270: transmission unit
본 발명은 네트워크를 통해 전송되는 파일을 검사하는 방법 및 그 장치에 관한 것으로서, 더욱 상세하게는 네트워크를 통해 전송되는 패킷의 가상 오프셋을 계산하고 해당 가상 오프셋에 대응하여 검사할 패턴이 있는 경우에만 패킷을 검사하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and an apparatus for inspecting a file transmitted over a network, and more particularly, to calculate a virtual offset of a packet transmitted over a network and to determine a packet only when there is a pattern to be inspected corresponding to the virtual offset. The present invention relates to a method and an apparatus thereof.
네트워크의 보안을 위협하는 요소들이 점점 자동화 및 지능화되어 가는 경향을 보이고 있다. 최근 몇 년간 이러한 보안 위협 요소들 중에서 자동으로 전파되는 웜(worm)에 의해 엄청난 규모의 보안 사고가 계속 발생하고 있는 실정이다. Threats to network security are becoming increasingly automated and intelligent. In recent years, a huge amount of security incidents continue to be caused by worms that automatically spread among these security threats.
또한, 2003년 후반부터 베이글(Bagle)과 넷스카이(Netsky)로 대변되는 이메일웜(e-mail worm)에 의해 천문학적인 규모의 손실이 발생하고 있다. 현재도 인터넷 트래픽의 상당수가 이메일웜이 보내는 반복적인 이메일에 의해 채워지고 있는 실정이다. 인터넷과 이메일을 이용하는 많은 사람들은 자신의 메일박스에 채워져 있는 메일 중에서 정상적인 메일과 웜을 구분하기 위해서 시간을 소모해야 하며, 웜에 의한 피해로 물질적 피해뿐만 아니라 정신적인 피해까지 입고 있는 실정이다. In addition, since late 2003, e-mail worms represented by Bagle and Netsky have been causing astronomical losses. Today, much of the Internet traffic is being filled by repetitive emails sent by email worms. Many people who use the Internet and e-mail have to spend time to distinguish between normal mail and worm among the mails filled in their mailboxes, and the worm damages not only physical damage but also mental damage.
따라서, 이러한 이메일웜의 효율적인 차단에 대한 요구가 점차적으로 증대되고 있다.Therefore, the demand for efficient blocking of such email worms is gradually increasing.
일반적인 네트워크에서 파일을 전송하는 절차는 하기와 같다.The procedure for transferring a file in a general network is as follows.
도 1 및 도 2를 참조하면, 파일(210)이 제1 호스트(110)로부터 네트워크(100)를 통해 제2 호스트(120)로 전송될 때 네트워크(100)의 전송 단위인 패킷(packet)으로 분리되어 전송된다. 네트워크(100)가 전송할 수 있는 패킷의 최대 전송 크기를 초과하는 데이터들(파일)은 여러 개의 패킷으로 나누어진다. 따라서, 일반적으로 크기가 큰 파일들은 여러 개의 패킷으로 분리된다. 1 and 2, when the
예를 들어, 제1 호스트(110)에서 제2 호스트(120)로 파일(210)을 전송하고자 하는 경우 제1 호스트(110)에서 전송된 파일(210)은 네트워크(100)의 패킷 전송 크기에 맞게 작게 분리되어 패킷들의 페이로드(payload)에 담겨서 제2 호스트(120)로 전송된다. For example, when the
제2 호스트(120)에 도달한 패킷들은 페이로드의 데이터(231~233)가 분리되어 원래의 파일(230)로 재구성된다.The packets arriving at the
종래에는 바이러스나 웜 등을 차단하거나 기밀 문서 유출 방지 등의 이유로 파일 단위의 검사를 수행해야 할 경우에 전송되는 패킷들을 모두 수집한 후에 파일로 재조합하는 파일 재조합 검사 방식이 주로 사용되어 왔고, 패킷을 그대로 검사 하는 패킷 단위 검사 방식이 제한적으로 사용되어 왔다.Conventionally, a file recombination scanning method has been mainly used to collect a packet and then recombine a file when a file-by-file scan is required for blocking a virus or worm or preventing confidential document leakage. The packet-based inspection method that checks as it has been used on a limited basis.
종래 파일 재조합 검사 방식은 도 3에 도시된 것과 같이 네트워크(300)에서 파일을 검사하는 장비인 프록시(330)가 네트워크(330)의 가운데 위치해서 네트워크(300)로 전송되는 패킷을 감시하는 것이다. 프록시(330)에서는 네트워크(300)로 파일 전송이 감지되면, 파일에 해당하는 패킷을 수집하여 메모리(도면에 도시되어 있지 않음)에 저장한다. 프록시(330)는 제1 호스트(310)로부터 전송된 원래 파일(410)의 전송이 완료되면, 상기 메모리에 저장된 패킷들에서 파일의 부분들을 분리해서 원래의 파일 형태로 재조합한다. 프록시(330)는 상기 재조합된 파일(420)을 기존의 파일 검사 엔진을 사용해서 검사한 후에 상기 메모리에 저장되어 있는 패킷들을 삭제해서 파일 전송을 차단하거나 또는 차례대로 파일을 전송시켜 준다. In the conventional file recombination inspection method, as illustrated in FIG. 3, a
도 3 및 도 4를 참조하면, 제1 호스트(310)에서 제2 호스트(320)로 예를 들어, "I love you"라는 내용이 들어 있는 파일을 전송하는 상황을 살펴보면 다음과 같다. 제1 호스트(310)와 제2 호스트(320)의 네트워크 전송 경로에 포함된 검사 시스템이 제1 호스트(310)가 속한 네트워크(300)의 게이트웨이에 위치해 있는 HTTP 프록시(Proxy, 330)에 설치되어 있다고 가정한다. 제1 호스트(310)가 속한 네트워크에서 나가는 모든 HTTP 트래픽은 프록시(330)를 통과하게 된다. 프록시(330)는 자신을 통과하는 HTTP 패킷들을 감시하다가 파일 전송이 시작되면, 그때부터 파일에 해당하는 패킷들을 메모리에 저장한다. 즉, "I", "love", "you"가 포함된 패킷들이 전송되는 차례대로 상기 메모리에 저장하는 것이다. Referring to FIGS. 3 and 4, a situation in which a file including, for example, “I love you” is transmitted from the
제1 호스트(310)로부터 모든 파일의 전송이 완료되면, 프록시(330)는 상기 메모리에 저장되어 있는 "I", "love", "you" 패킷들을 순서대로 재배열해서 "I love you"가 포함된 파일을 생성한다. 프록시(330)는 검사를 수행할 대상인 파일 전체가 재구성되어 있으므로 모든 검사 규칙들을 "I love you" 전체에 대해서 수행할 수 있다.When the transfer of all files from the
상기 검사 규칙들을 모두 수행한 후 상기 파일에 대해 문제가 없는 경우 프록시(330)는 네트워크(300)를 통해 상기 메모리에 저장해 두었던 "I", "love", "you"를 순서대로 제2 호스트(320)로 전송한다. After performing all of the check rules, if there is no problem with the file, the
이와 같이, 종래 파일 재조합 검사 방식은 프록시에서 상기 파일을 재조합하기 위해서 전송되는 파일에 관련된 패킷들을 모두 메모리에 수집해야 하므로 메모리 요구량이 높다. 또한, 종래 파일 재조합 검사 방식은 프록시에서 모든 패킷을 다 수집하고, 수집된 패킷들을 조합하여 검사를 하고 난 후에 실제로 전송해주기 때문에 전송 지연이 발생하며, 파일을 재조합하는 작업을 수행함으로 인해 처리 속도가 떨어지는 문제점이 있다.As described above, the conventional file recombination checking method has a high memory requirement because all the packets related to the transmitted file must be collected in the memory in order to reassemble the file in the proxy. In addition, the conventional file recombination inspection method collects all the packets from the proxy, combines the collected packets, and actually transmits them after the inspection. Therefore, transmission delay occurs and processing speed is increased due to recombination of files. There is a problem falling.
따라서, 종래 파일 재조합 검사 방식은 고속의 처리 속도가 요구되는 네트워크 장비에서 사용되기 부적합하다.Therefore, the conventional file recombination test method is not suitable for use in network equipment that requires high processing speed.
한편, 종래 패킷 단위 검사 방식은 패킷 단위로 네트워크 전송을 처리하는 대부분의 네트워크 장비에서 사용하는 방식이다. 종래 패킷 단위 검사 방식은 L2/L3 스위치(switch), 라우터(router), 패킷 필터링 방화벽(packet filtering firewall), L7 스위치 등과 같은 시스템에서 주로 사용되고 있다. 하지만, 종래 패킷 단위 검사 방식은 모든 검사 규칙들이 하나의 패킷 단위로 지정이 되고, 검사 의 범위도 한 패킷 내로 한정된다. 종래 패킷 단위 검사 방식은 패킷 내에 기록되어 있는 헤더 정보뿐만 아니라 페이로드(payload) 부분의 데이터도 검사가 가능하다. 상기 페이로드 검사는 패킷의 페이로드 시작점부터 인덱싱(indexing)되는 오프셋(offset)도 검사 옵션으로 지정이 가능하다. 이런 방식으로 패킷의 페이로드를 검색하는 것을 L7 패킷 필터링(packet filtering)이라고도 한다. On the other hand, the conventional packet-based inspection method is a method used in most network equipment that processes network transmission on a packet basis. Conventional packet inspection is mainly used in systems such as L2 / L3 switches, routers, packet filtering firewalls, and L7 switches. However, in the conventional packet-based inspection method, all inspection rules are designated in one packet unit, and the range of inspection is also limited to one packet. In the conventional packet-based inspection method, not only the header information recorded in the packet but also the data of the payload portion can be inspected. The payload check can also specify an offset that is indexed from the payload start point of the packet as a check option. Retrieving the payload of a packet in this way is also referred to as L7 packet filtering.
종래 패킷 단위로 검사하는 방식을 간략히 설명하면 아래와 같다. A brief description will be given of a conventional packet-based inspection method.
도 5 및 도 6를 참조하면, 제1 호스트(510)와 제2 호스트(520) 사이에 위치한 패킷 필터(530)는 모든 패킷을 검사한다. 패킷 필터(530)는 제1 호스트(510)로부터 파일(610)의 전송을 시작되면, 패킷으로 나누어진 파일 조각들을 소정의 규칙에 따라 필터링하여 제2 호스트(320)로 전송한다. 패킷 필터(530)는 상기 전송 과정에서 규칙에 위배되는 내용이 패킷이 포함되어 있으면, 해당 패킷을 차단한다. 이와 같이 종래 패킷 단위 검사 방식은 전송되는 패킷이 정해진 규칙에 위배되는 경우 해당 패킷을 차단하여 파일 전송을 차단할 수 있다.5 and 6, the
제1 호스트(510)는 "I love you"가 포함되어 있는 파일을 네트워크(500)로 전송한다. 이때, 파일(610)은 "I", "love", "you"로 나눠져서 전송된다. 패킷 필터(530)는 검사 규칙을 "I", "love", "you" 각각의 패킷에 대해서 검사를 한다. 만약, "you"가 포함되어 있는 패킷이 검사 규칙에 위배되면, 패킷 필터(530)는 상기 패킷을 차단한다. 따라서, 제2 호스트(520)는 "I"와 "love" 패킷을 수신하지만 "you" 패킷이 패킷 필터(530)에 의해 차단됨에 따라 결국 전체 파일(I love you)을 수신하지 못하게 됨에 따라 상기 파일에 대한 수신 실패로 처리한다. The
이와 같이, 종래 패킷 단위 검사 방식은 패킷을 검사하는데 사용되는 방식이므로 네트워크로 전송되는 파일을 검사할 때는 많은 문제점을 드러낸다. 즉, 종래 패킷 단위 검사 방식은 파일에 들어 있는 특정 패턴이 여러 개의 패킷으로 나뉘어지는 상황을 처리할 수 없는 문제점이 있다. 또한, 종래 패킷 단위 검사 방식은 패킷 내에서만 오프셋을 지정 가능하므로 파일의 특정 위치를 지정하는 오프셋을 사용할 수 없는 문제점이 있다. As such, the conventional packet-based inspection method is a method used to inspect a packet, and thus reveals many problems when examining a file transmitted to a network. That is, the conventional packet inspection method has a problem in that it is not possible to handle a situation in which a specific pattern included in a file is divided into multiple packets. In addition, the conventional packet-based inspection method has a problem in that an offset that designates a specific position of a file cannot be used because an offset can be specified only within a packet.
종래 패킷 단위 검사 방식은 검사 규칙이 예를 들어, "ove y"라는 패턴을 파일의 오프셋 3에서 찾는 것으로 가정하면, "I love you"라는 파일이 이 규칙에 일치되므로 차단되어야 한다. 하지만, 파일 필터(530)는 "I", "love", "you"라는 패킷들의 각 패킷 내에서는 이런 규칙이 전혀 발견되지 않기 때문에 차단이 불가능한 문제점 있다. The conventional packet-based inspection scheme should be blocked because the inspection rule assumes that the pattern "ove y" is found at offset 3 of the file, for example, and the file "I love you" matches this rule. However, the
이와 같이, 종래 패킷 단위 검사 방식은 여러 패킷으로 나뉘어져서 검사가 이루어지기 때문에 한 패킷에 검사 패턴이 모두 포함되지 않은 경우 검출이 불가능한 문제점과 동일하다. 이러한 종래 패킷 단위 검사 방식은 여러 패킷으로 나누어진 패턴에 대한 검사가 가능하도록 하는 알고리즘을 채용한다고 하더라도, 검사 규칙에 파일의 오프셋을 지정할 수 없기 때문에 정확도가 떨어지고, 오프셋이 지정되지 않기 때문에 모든 위치에서 불필요한 검사를 수행해야 하는 문제점이 있다. As described above, the conventional packet-based inspection method is the same as the problem that detection is not possible when all the inspection patterns are not included in one packet because the inspection is divided into several packets. Although the conventional packet-based inspection method employs an algorithm that enables inspection of a pattern divided into several packets, the accuracy is inferior because the file offset cannot be specified in the inspection rule, and the offset is not specified at all positions. There is a problem that an unnecessary inspection must be performed.
만약 파일 오프셋을 지정할 수 있다면, 도 7에 도시된 것과 같이 파일의 오프셋(710)이 '3'인 경우에 한번만 "ove y"를 비교하면 되지만, 종래 패킷 단위 검사 방식은 패킷으로 나뉘어질 때 패킷이 어떤 크기로 나누어질지 예상할 수 없고, 현재 패킷이 파일의 어느 부분인지 알 수 없기 때문에 패킷에서 오프셋을 특정할 수 없다. 따라서, 종래 패킷 단위 검사 방식은 파일에서 특정 오프셋에 있는 패턴을 검사할 때도 패킷 단위에서 모든 패킷의 처음부터 끝까지 계속해서 비교를 수행해야 한다. 이러한 문제점은 궁극적으로 엄청난 양의 연산 오버헤드를 유발하게 되고, 심각한 성능 저하가 발생하게 된다. If the file offset can be specified, "ove y" is compared only once when the file's offset 710 is '3', as shown in FIG. You can't predict what size to divide, and you can't specify the offset in the packet because you don't know which part of the file is the current packet. Therefore, the conventional packet-based inspection method must continuously perform the comparison from beginning to end of every packet in a packet even when checking a pattern at a specific offset in a file. This problem ultimately incurs a great deal of computational overhead and serious performance degradation.
이와 같이, 정확성 문제와 성능 문제로 인해 네트워크 장비에서 종래의 패킷 단위 검사 방식으로 파일의 특정 패턴을 검사하는 것은 불가능하다고 볼 수 있다. As such, due to accuracy and performance issues, it may be considered impossible to check a specific pattern of a file using a conventional packet-based inspection method in a network device.
한편, 종래 패킷 단위 검사 방식에 따른 이메일웜의 차단 방법은 이메일웜 첨부 파일의 규칙에 오프셋을 지정할 수 없고, 어떤 패킷에 그 규칙을 위반하는 패턴이 포함될지 예상할 수 없기 때문에 목적지 포트가 예를 들어, 25번인 모든 패킷에 대해서 모든 데이터 영역을 검색하도록 규칙을 설정할 수 밖에 없다. 만약 검사 규칙이 도 15에 도시된 것과 같이 8개인 경우라면, 네트워크는 상기 8개의 검사 규칙을 모든 패킷마다 데이터의 처음부터 끝까지 진행하면서 비교를 계속해야 한다. 이는 네트워크의 심각한 성능 저하를 유발하며, 상기 규칙의 개수가 많아질수록 처리 성능은 계속해서 떨어지게 마련이다.On the other hand, the blocking method of the email worm according to the conventional packet inspection method cannot specify an offset in the rule of the email worm attachment and cannot predict which packet contains a pattern that violates the rule. For example, you can set a rule to search all data areas for every packet numbered 25. If there are eight check rules as shown in Fig. 15, the network must continue the comparison while proceeding through the eight check rules from beginning to end of data for every packet. This causes serious performance degradation of the network, and as the number of rules increases, processing performance continues to drop.
이와 같이, 네트워크에서 종래 패킷 단위 이메일 검사 방식은 상기 이메일웜의 경우 첨부 파일의 위치가 가변적이기 때문에 패턴이 하나의 패킷 안에 들어간다는 보장이 없고, 여러 패킷에 걸쳐 있을 수 있는데 이러한 상황에서는 상기 이메일웜을 찾아낼 수 없는 심각한 문제점이 있다. 또한, 종래 패킷 단위 이메일 검사 방식은 패턴을 찾았다고 하더라도 특정 오프셋에서 발견한 것이 아니기 때문에 잘 못된 탐지일 가능성이 아주 높은 문제점도 있다.As described above, the conventional packet-based email scanning method in the network does not guarantee that the pattern fits in one packet because the location of the attachment is variable in the email worm, and may be spread over several packets. There is a serious problem that cannot be found. In addition, the conventional packet-based e-mail inspection method has a problem that even if a pattern is found, it is not likely to be a false detection because it is not found at a specific offset.
대량으로 발생하는 이메일웜을 차단하기 위해서는 빠른 성능과 정확성이 요구되는데 기존의 네트워크와 보안장비에 적용되어 있는 기술로는 이러한 요구에 대응하는데 한계가 있다.Fast performance and accuracy are required to block large numbers of e-mail worms. However, the technology applied to existing networks and security devices is limited in responding to these demands.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 네트워크에서 파일을 검사할 때 파일 재조합 검사 방식과 패킷 단위 검사 방식의 한계점을 극복한 것으로 파일을 재조합하지 않고 패킷 단위로 검사하면서도 파일을 재조합하는 것과 동일한 검사 정확도를 유지할 수 있는 방법 및 그 장치를 제공하는 것을 목적으로 한다.The present invention has been made to solve the above problems, and overcomes the limitations of the file recombination check method and packet unit check method when checking a file in a network, recombining the file while checking the file by packet without recombining the file. It is an object of the present invention to provide a method and an apparatus capable of maintaining the same inspection accuracy as the above.
본 발명의 다른 목적은, 네트워크를 통해 전송되는 파일 검사를 보다 신속하게 처리하는 방법 및 그 장치를 제공하는 것을 목적으로 한다.Another object of the present invention is to provide a method and apparatus for more quickly processing file inspection transmitted through a network.
본 발명의 또 다른 목적은, 네트워크를 통해 전송되는 패킷의 가상 오프셋을 계산하여 수신된 패킷이 파일에서의 위치를 파악하는 방법 및 그 장치를 제공하는 데에 있다.It is still another object of the present invention to provide a method and apparatus for calculating a virtual offset of a packet transmitted through a network to determine a position of a received packet in a file.
본 발명의 또 다른 목적은, 네트워크를 통해 수신된 패킷을 파일의 위치에 대응하는 검사 패턴과 비교하는 방법 및 그 장치를 제공하는 데에 있다.It is still another object of the present invention to provide a method and apparatus for comparing a packet received over a network with a check pattern corresponding to the location of a file.
상기의 목적을 이루기 위한 본 발명의 일실시예에 따른 네트워크 장비에서 소정의 네트워크를 통해 전송되는 파일을 검사하는 방법은, 검사할 패턴을 파일의 오프셋(offset)을 기준으로 하는 패턴 리스트(pattern list)를 저장하고 유지하는 단계 - 상기 패턴은 상기 파일의 소정 오프셋에 위치해야 하는 문자열 정보를 포함함 -; 상기 네트워크의 세션을 추적하여 파일 전송 시작을 감지하는 단계; 상기 파일 전송 시작을 감지함에 따라 상기 파일에서 나누어진 패킷을 수신하는 단계; 상기 전송되는 파일의 세션 정보를 참조하여 상기 수신된 패킷의 오프셋이 상기 파일의 어느 부분에 위치하는지를 추적하는 단계; 상기 수신된 패킷의 가상 오프셋이 상기 파일에서 추적할 필요가 있는 위치인 오프셋에 해당하는 경우 상기 수신된 패킷을 상기 오프셋에 대응하는 검사할 패턴과 비교하는 단계 - 상기 가상 오프셋은 상기 수신된 패킷이 상기 파일의 어느 부분에 위치하는지를 나타내는 정보임 -; 및 상기 비교 결과에 따라 상기 수신된 패킷에 대한 전송을 제어하는 단계를 포함하는 것을 특징으로 한다.In the network device according to an embodiment of the present invention for achieving the above object, a method for inspecting a file transmitted through a predetermined network, a pattern list based on the offset of the file (pattern list) Storing and maintaining the pattern, wherein the pattern includes string information that must be located at a predetermined offset of the file; Detecting a start of file transfer by tracking a session of the network; Receiving a packet divided in the file in response to detecting the start of the file transfer; Tracking in which part of the file an offset of the received packet is located by referring to session information of the transmitted file; Comparing the received packet with a pattern to be inspected corresponding to the offset if the virtual offset of the received packet corresponds to an offset that is a location that needs to be tracked in the file, the virtual offset being determined by the received packet Information indicating where in the file it is located; And controlling transmission of the received packet according to the comparison result.
또한, 상기 목적을 달성하기 위한 기술적 구성으로서, 파일을 패킷으로 전송하는 네트워크에서 파일을 검사하는 네트워크 장비는, 검사할 패턴 리스트를 상기 파일의 오프셋(offset)을 기준으로 배열하여 저장하는 패턴 저장부 - 상기 패턴은 상기 파일의 소정 오프셋에서 일치해야 하는 문자열 정보를 포함함 -; 상기 네트워크의 세션을 추적하여 파일 전송 시작을 감지하는 감지부; 상기 파일 전송 시작에 따라 패킷을 수신하는 수신부; 상기 전송되는 파일의 세션 정보를 참조하여 상기 수신된 패킷이 상기 파일의 어느 부분의 위치인지를 추적하는 위치 추적부; 상기 수신된 패킷이 상기 파일의 오프셋에 해당하는 경우 상기 패킷을 상기 오프셋에 대응하는 패턴을 비교하는 패턴 비교부; 및 상기 패턴의 검사 결과에 따라 상기 패킷 전송을 제어하는 전송 제어부를 포함하는 것을 특징으로 한다.In addition, as a technical configuration for achieving the above object, a network device for inspecting a file in a network that transmits a file as a packet, the pattern storage unit for arranging and storing the list of patterns to be inspected based on the offset of the file The pattern includes string information that must match at a predetermined offset of the file; A detector for detecting a file transfer start by tracking a session of the network; A receiver which receives a packet according to the start of the file transfer; A location tracking unit for tracking a location of the file in which the received packet is located by referring to session information of the transmitted file; A pattern comparison unit comparing the packet corresponding to the offset when the received packet corresponds to the offset of the file; And a transmission control unit for controlling the packet transmission according to the inspection result of the pattern.
이하, 첨부된 도면들을 참조하여 네트워크를 통해 전송되는 파일 검사 방법 및 그 장치에 대하여 설명한다.Hereinafter, a method and an apparatus for checking a file transmitted through a network will be described with reference to the accompanying drawings.
도 12는 본 발명의 일실시예에 따른 네트워크를 통해 전송되는 파일을 검사하는 장치의 구성을 나타내는 도면으로서, 네트워크 장비(1200)는 패턴 저장부(1210), 감지부(1220), 수신부(1230), 위치 추적부(1240), 패턴 비교부(1250), 전송 제어부(1260), 및 전송부(1270)를 포함한다.12 is a diagram illustrating a configuration of an apparatus for inspecting a file transmitted through a network according to an embodiment of the present invention. The
도 12를 참조하면, 패턴 저장부(1210)는 검사할 패턴 리스트를 상기 파일의 오프셋(offset)을 기준으로 배열하여 저장한다. 상기 패턴 리스트는 도 13에 도시된 것과 같이 각 규칙에 대응하는 시그니쳐(Signature) 정보를 포함한다. 상기 시그니쳐 정보는 파일의 오프셋에 대응하는 검사해야 할 패턴 정보를 포함한다. 상기 패턴은 상기 파일의 소정 오프셋에서 일치해야 하는 문자열 정보를 포함한다. 상기 문자열 정보는 2진 코드로 구현될 수도 있다. Referring to FIG. 12, the
감지부(1220)는 상기 네트워크의 세션을 추적하여 파일 전송 시작을 감지한다. The
수신부(1230)는 상기 파일 전송 시작에 따라 상기 네트워크를 통해 전송되는 패킷을 수신한다. The
위치 추적부(1240)는 상기 전송되는 파일의 세션 정보를 참조하여 상기 수신된 패킷이 상기 파일의 어느 부분의 위치인지를 추적한다. 위치 추적부(1240)는 상기 네트워크를 통해 파일의 전송이 종료될 때까지 전송되는 패킷들이 전체 파일 의 어떤 부분인지를 나타내는 가상 오프셋(Virtual Offset)을 계산함으로써 상기 패킷의 위치를 추적한다. 위치 추적부(1240)는 상기 전송되는 파일의 세션 정보를 참조하여 상기 패킷의 오프셋에 대한 상기 파일의 오프셋인 가상 오프셋(920)를 계산한다. 위치 추적부(1240)는 도 9를 참조하면, 제2 패킷(P2)의 시작 부분이 전체 파일에서 오프셋이 '2'에 해당하므로 제2 패킷(P2)의 데이터들에 대한 가상 오프셋(920)을 '2'부터 '6'까지로 지정한다. 마찬가지로 세 번째 패킷(P3)은 '7'에서 '9'까지의 가상 오프셋으로 지정될 수 있다. 위치 추적부(1240)는 상기 가상 오프셋으로부터 상기 패킷 데이터(930)의 위치가 전체 파일의 어느 위치에 해당하는지를 추적할 수 있다. The
패턴 비교부(1250)는 도 13에 도시된 것과 같은 규칙 테이블을 참조하여 상기 수신된 패킷이 상기 파일의 오프셋에 해당하는 경우 상기 패킷을 상기 오프셋에 대응하는 패턴을 비교한다. 패턴 비교부(1250)는 규칙을 검사할 때 순차적으로 규칙을 검사하는 것이 아니라 현재 오프셋에서 일치가 되어야 하는 부분들을 규칙에서 분리해서 선택적으로 비교함으로써 패킷에서 비교하는 규칙의 범위를 최소화함으로써 성능을 향상시킨다. The
전송 제어부(1260)는 상기 패턴의 검사 결과에 따라 상기 패킷 전송을 제어한다.The
전송부(1270)는 전송 제어부(1260)의 제어에 따라 상기 패킷을 전송한다.The
상술한 본 발명에 따른 네트워크 장비는 스위치, 라우터, 방화벽, IPS(Intrusion Prevention System), 바이러스 월(virus wall), 및 ADSL 모뎀 중 어 느 하나일 수 있다. The network equipment according to the present invention described above may be any one of a switch, a router, a firewall, an intrusion prevention system (IPS), a virus wall, and an ADSL modem.
네트워크 장비(1200)가 도 10에 도시된 것과 같이 예를 들어, 규칙 4개의 검사를 수행한다고 가정한다. 도 10을 참조하면, 제1 규칙(1010)은 수신된 패킷이 파일의 처음(파일 오프셋 또는 가상 오프셋이 '0'인 경우)에 위치하고, 상기 위치에 대응하는 패킷의 데이터에 "by"가 존재하면 상기 패킷을 차단한다. Assume that
제2 규칙(1020)은 수신된 패킷이 파일의 세 번째 오프셋에 해당되는 가상 오프셋(3)을 포함하고, 상기 가상 오프셋을 포함하는 패킷의 데이터에 "ove y"가 존재하면, 상기 패킷을 차단한다. The
제3 규칙(1030)은 수신된 패킷이 파일의 다섯 번째 오프셋에 해당되는 가상 오프셋(5)을 포함하고, 상기 가상 오프셋을 포함하는 패킷의 데이터에 "days"가 존재하면, 상기 패킷을 차단한다. The
제4 규칙(1040)은 수신된 패킷이 파일의 열 번째 오프셋에 해당되는 가상 오프셋(10)을 포함하고, 상기 가상 오프셋을 포함하는 패킷의 데이터에 "hi"가 존재하면, 상기 패킷을 차단한다. The
본 발명에 따른 네트워크 장비에서 상기 4개의 규칙을 적용하여 패킷을 검사하는 절차는 다음과 같다.The procedure of inspecting a packet by applying the four rules in the network equipment according to the present invention is as follows.
도 10 내지 도 12를 참조하면, 네트워크 장비(1200)는 수신부(1230)를 통해 제1 패킷(P1)을 수신하면, 위치 추적부(1240)를 통해 제1 패킷(P1)에 대한 위치를 추적한다. 위치 추적부(1240)는 상기 전송되는 파일의 세션 정보를 참조하여 제1 패킷(P1)의 가상 오프셋을 계산하여 제1 패킷(P1)이 상기 파일의 어느 부분에 위치 하는지의 정보를 추적한다. 네트워크 장비(1200)는 제1 패킷(P1)에 대한 가상 오프셋이 '0'에서 '1'이므로 패턴 비교부(1250)를 통해 상기 파일의 처음에 해당하는 제1 규칙(1010)과 제1 패킷(P1)을 비교한다. 네트워크 장비(1200)는 패턴 비교부(1250)를 통해 비교한 결과로서 만약 제1 규칙(1010)에 해당하는 패턴이 존재하면, 전송 제어부(1260)를 통해 제1 패킷(P1)의 전송을 차단한다. 네트워크 장비(1200)는 수신부(1230)를 통해 제2 패킷(P2)이 수신되면, 위치 추적부(1240)를 통해 상기 수신된 제2 패킷(P2)의 위치를 추적한다. 위치 추적부(1240)는 제2 패킷(P2)에 대한 패킷 오프셋(910)이 '0'에서 '4'이므로, 상기 패킷 오프셋(910)과 상기 파일의 세션 정보를 이용하여 제2 패킷(P2)에 대한 가상 오프셋(920)을 계산한다. 제2 패킷(P2)에 대한 계산된 가상 오프셋(920)은 '2'에서 '6'이다. 네트워크 장비(1200)는 제2 패킷(P2)의 가상 오프셋(920)이 제2 규칙(1020)에 대응하는 위치 정보(3부터 7까지)에 포함되므로 패턴 비교부(1250)를 통해 제2 규칙(1020)과 제2 패킷(P2)을 비교한다. 네트워크 장비(1200)는 패턴 비교부(1250)의 비교 결과에 따라 제2 규칙(1020)에 해당하는 단어가 존재하면, 전송 제어부(1260)를 통해 제2 패킷(P2)의 전송을 차단한다. 네트워크 장비(1200)는 예를 들어, 제2 규칙(1020)과 부분적으로만 일치한 경우 제2 규칙(1020)에서 부분적으로 일치한 부분에 대한 위치를 세션 정보에 저장해둔다. 네트워크 장비(1200)는 제2 규칙(1020)과 부분적으로 일치하는 경우 계속해서 다음 규칙을 처리한다. 네트워크 장비(1200)는 패턴 비교부(1250)의 비교 결과에 따라 제3 규칙(1030)과 제2 패킷(P2)이 일치하지 않으므로 제3 패킷(P3)을 처리한다. 네트워크 장비(1200)는 제 2규칙(1020)을 제3 패킷(P3) 의 가상 오프셋에 해당하는 "y"에 대해서만 비교하고 일치하였으므로 차단한다. 네트워크 장비(1200)는 제4 규칙(1040)이 전송되는 파일의 가상 오프셋의 범위 밖이기 때문에 비교하지 않는다. 10 to 12, when the
한편, 이메일웜은 이메일을 통해서 전파되는 웜으로, 피해자의 컴퓨터에서 실행되어 대량의 이메일을 무작위로 전송하는 웜이다. 상기 이메일웜은 전파를 위해서 자기가 전송하는 이메일에 자기 자신을 포함한다. 따라서, 상기 이메일웜을 차단하기 위해서는 이메일에 첨부된 파일을 검사해야 한다. On the other hand, an email worm is a worm that spreads through email and is executed on a victim's computer to send a large amount of email randomly. The email worm includes itself in the emails it sends for propagation. Therefore, in order to block the email worm, a file attached to the email should be scanned.
상기 이메일웜의 구조는 도 11에 도시된 것과 같다.The structure of the email worm is as shown in FIG.
도 11을 참조하면, 상기 이메일이 전송되기 위한 헤더 정보(1110)가 포함되어 있고, MIME 헤더(1120), 인코딩된 첨부 파일(1130)의 순으로 저장된다. Referring to FIG. 11,
이메일이 전송되는 SMTP 프로토콜은 상기 이메일이 전달되면서 전달하는 서버들의 정보들이 상기 이메일의 헤더 앞부분에 추가되기 때문에 전체 이메일의 크기는 항상 가변적이고, 전체 이메일에서 첨부 파일이 시작되는 위치 또한 가변적이다. 이런 가변적인 이메일웜을 차단하기 위해서는 SMTP 상태 추적 기술이 필수적이다. In the SMTP protocol in which an email is transmitted, the size of the entire email is always variable because the information of servers delivering the email is added to the header of the email, and the location of the attachment in the entire email is also variable. SMTP status tracking technology is essential to block this variable email worm.
SMTP는 이메일을 전송하기 위해서 사용되는 프로토콜이다. 정확한 이메일웜 차단을 위해서 SMTP 상태 추적 기술을 사용하며, 상기 SMTP 상태 추적 기술을 이용한 메일 필터링 방법은 본 출원인에 의해 2004년 9월 24일에 출원된 출원번호 제10-2004-0077389호에 상세히 설명되어 있다.SMTP is a protocol used to send email. SMTP status tracking technology is used for accurate email worm blocking, and the mail filtering method using the SMTP status tracking technology is described in detail in the application number 10-2004-0077389 filed on September 24, 2004 by the present applicant. It is.
이메일웜을 차단하기 위해서는 이메일에 첨부되어 있는 첨부 파일에 대한 검 사를 수행해야 하는데 이 첨부 파일의 시작 위치는 상기 이메일 내에서도 정해져 있지 않다. 따라서, 본 발명에 따른 네트워크 장비는 SMTP 세션 추적을 통해서 첨부 파일의 시작 위치를 찾아내고 상기 첨부 파일이 발견되면, 패킷 단위 파일 검사 방식을 적용하여 이메일웜을 찾아낸다.In order to block the email worm, it is necessary to check the attachments attached to the e-mail. The starting position of the attachment is not defined in the e-mail. Therefore, the network device according to the present invention finds the starting position of the attached file through the SMTP session tracking, and if the attached file is found, applies the packet-based file inspection method to find the email worm.
상기 이메일의 첨부 파일에서 이메일웜을 찾아내는 방식은 도 14에 도시된 것과 같다. The method of finding an email worm in the attachment of the email is as shown in FIG.
도 14를 참조하면, 네트워크 장비(1200)는 상기 이메일의 첨부가 시작되면, 가상 오프셋을 계산하여 각 패킷에서 비교할 필요가 있는 규칙들 중에서 상기 가상 오프셋에 속하는 부분만을 한번만 비교하면 한다. 네트워크 장비(1200)는 앞서 설명된 바와 같이 수신된 패킷이 검사 규칙들에 의해 검사되는 오프셋을 넘어서는 경우 상기 세션의 패킷들을 모두 바이패스(bypass)시킴으로써 종래 파일 재조합 검사 방식 또는 종래 패킷 단위 검사 방식과 비교할 때 그 처리 성능을 향상시킬 수 있다. Referring to FIG. 14, when the attachment of the e-mail is started, the
본 발명에 따른 비교 횟수는 시그니쳐 개수와 동일하며, 종래 패킷 단위 이메일 검사 방식에 따른 비교 횟수는 시그니쳐 개수*세션 데이터량/평균 시그니쳐 크기에 해당된다.The number of comparisons according to the present invention is the same as the number of signatures, and the number of comparisons according to the conventional packet-based email checking method corresponds to the number of signatures * session data amount / average signature size.
예를 들면, 30KB 세션, 시그니쳐 100개, 패턴 길이가 20바이트인 경우 도 14에 도시된 본 발명에 따른 비교 횟수는 시그니쳐 개수와 동일한 100인데 반해 도 15에 도시된 종래 패킷 단위 이메일 검사 방식에 따른 비교 횟수는 100*(30*1024)/20=153,600이다. 따라서, 본 발명의 파일 검사 방식에 따른 비교 횟수에 비해 종래 패킷 단위 이메일 검사 방식에 따른 비교 횟수가 무려 1,536배나 된다. 이와 같이, 본 발명에 따른 파일 검사 방식은 종래 검사 방식에 비해 그 비교 횟수가 현저하게 감소됨에 따라 파일 검사 속도가 상대적으로 빨라진다.For example, in the case of a 30KB session, 100 signatures, and a pattern length of 20 bytes, the number of comparisons according to the present invention shown in FIG. 14 is equal to the number of signatures, whereas the number of signatures according to the conventional packet unit email checking method shown in FIG. The number of comparisons is 100 * (30 * 1024) / 20 = 153,600. Therefore, the number of comparisons according to the conventional packet-based email inspection method is as much as 1,536 times compared to the comparison number according to the file inspection method of the present invention. As described above, the file checking method according to the present invention is relatively faster than the conventional scanning method as the number of comparisons is significantly reduced.
도 16은 본 발명의 실시예에 따른 네트워크 장비에서의 파일을 검사하기 위한 동작 흐름도를 나타내는 도면이다.16 is a flowchart illustrating an operation for checking a file in a network device according to an embodiment of the present invention.
도 16을 참조하면, 단계(1610)에서 네트워크 장비는 검사할 패턴을 파일의 오프셋(offset)을 기준으로 하는 패턴 리스트(pattern list)를 저장하고 유지한다. 상기 패턴은 상기 파일의 소정 오프셋에 위치해야 하는 문자열 정보를 포함한다. 상기 패턴 리스트는 동일 오프셋에 대한 패턴이 많은 경우 해시 테이블(hash table)로 구성될 수 있다. Referring to FIG. 16, in
단계(1620)에서 상기 네트워크 장비는 상기 네트워크의 세션을 추적하여 파일 전송 시작을 감지한다.In
단계(1630)에서 상기 네트워크 장비는 상기 파일 전송 시작을 감지함에 따라 상기 파일에서 나누어진 패킷을 수신한다.In
단계(1640)에서 상기 네트워크 장비는 상기 전송되는 파일의 세션 정보를 참조하여 상기 수신된 패킷의 오프셋이 상기 파일의 어느 부분에 위치하는지를 추적한다.In
단계(1650)에서 상기 네트워크 장비는 상기 수신된 패킷의 가상 오프셋이 상기 파일에서 추적할 필요가 있는 위치에 해당하는지를 판단한다. In
상기 수신된 패킷의 오프셋이 상기 추적할 필요가 있는 위치에 해당하는 오 프셋인 경우 단계(1660)에서 상기 네트워크 장비는 상기 수신된 패킷을 상기 오프셋에 대응하는 검사할 패턴과 비교한다. 상기 가상 오프셋은 상기 수신된 패킷이 상기 파일의 어느 부분에 위치하는지를 나타내는 정보이다. 상기 네트워크 장비는 상기 수신된 패킷을 상기 오프셋에 대응하는 검사할 패턴과 비교할 때 상기 해시 테이블로 구성된 경우 해시를 계산해서 동일 해시의 패턴만을 검사한다. If the offset of the received packet is an offset corresponding to the location that needs to be tracked, in
단계(1670)에서 상기 네트워크 장비는 상기 비교 결과에 따라 상기 수신된 패킷에 대한 전송을 제어한다. 상기 네트워크 장비는 단계(1670)를 수행할 때 상기 가상 오프셋이 상기 패턴 리스트에 포함된 상기 패턴의 오프셋을 초과하는 경우 상기 세션의 패킷들을 모두 바이패스한다. In
이와 같이, 본 발명은 수신된 패킷에 대한 파일의 위치를 파악하고, 상기 파악된 위치에 대응하는 검사 패턴을 비교하여 동일한 패킷 데이터가 없거나 또는 상기 파악된 위치에 대응하는 검사 패턴이 없는 경우 검사를 수행하지 않아도 수신된 패킷을 전송할 수 있으므로 그 만큼 파일 검사를 수행하는데 걸리는 시간을 단축시킬 수 있는 이점이 있다. As such, the present invention determines the location of a file with respect to the received packet and compares the inspection pattern corresponding to the identified position to perform an inspection if there is no identical packet data or there is no inspection pattern corresponding to the identified position. Since the received packet can be transmitted without performing it, the time required to perform the file check can be shortened.
도 17은 본 발명의 실시예에 따른 파일 검사 방법에 있어서, 패킷의 오프셋이 파일의 어느 부분에 위치하는지를 추적하는 단계를 구체화한 일례를 나타내는 도면이다.FIG. 17 is a diagram illustrating an example in which a step of tracking where an offset of a packet is located in a file in the method for checking a file according to an embodiment of the present invention.
도 17을 참조하면, 단계(1710)에서 상기 네트워크 장비는 상기 수신된 패킷의 오프셋을 참조하여 상기 파일에 대한 상기 패킷의 가상 오프셋을 계산한다.Referring to FIG. 17, in
단계(1720)에서 상기 네트워크 장비는 상기 계산된 가상 오프셋으로 상기 파 일에서 상기 패킷의 위치를 파악한다.In
도 18은 본 발명의 실시예에 따른 파일 검사 방법에 있어서, 수신된 패킷을 오프셋에 대응하는 검사할 패턴과 비교하는 단계를 구체화한 일례를 나타내는 도면이다.18 is a diagram illustrating an example in which a step of comparing a received packet with a pattern to be inspected corresponding to an offset in the file inspection method according to an embodiment of the present invention is specified.
도 18을 참조하면, 단계(1810)에서 상기 네트워크 장비는 상기 수신된 패킷의 이전 패킷에서 상기 패턴과 일부 일치한 부분을 검출한다. Referring to FIG. 18, in
단계(1820)에서 상기 네트워크 장비는 상기 수신된 패킷을 상기 패턴에서 상기 일부 일치한 부분 이외의 나머지 부분과 비교한다.In
단계(1830)에서 상기 네트워크 장비는 상기 수신된 패킷이 상기 패턴에서 상기 일부 일치한 부분 이외의 나머지 부분과 일치하는지의 여부를 판단한다.In
상기 일부 일치한 부분 이외의 나머지 부분과 일치하는 경우 단계(1840)에서 상기 네트워크 장비는 상기 수신된 패킷이 상기 패턴과 전부 일치하는지의 여부를 판단한다. If it matches the remaining part other than the partially matched part, in
상기 수신된 패킷이 상기 패턴과 전부 일치하지 않는 경우 즉, 상기 패턴과 부분적으로만 일치하는 경우 단계(1850)에서 상기 네트워크 장비는 세션 정보에 부분 일치 정보를 저장한다. If the received packet does not fully match the pattern, that is, only partially matches the pattern, in
이와 달리, 상기 수신된 패킷이 상기 패턴과 전부 일치하는 경우 단계(1860)에서 상기 네트워크 장비는 상기 수신된 패킷이 상기 패턴과 일치함에 따라 그에 대응하는 처리 동작을 수행한다. 상기 네트워크 장비는 상기 패턴과 전부 일치하는 패킷이 포함된 파일을 차단한다. Alternatively, if the received packet matches all of the patterns, in
한편, 상기 비교 결과가 일치하지 않은 경우 단계(1870)에서 상기 네트워크 장비는 상기 수신된 패킷의 가상 오프셋에 대응하는 상기 패턴 리스트의 패턴들을 상기 수신된 패킷과 비교한다.On the other hand, if the comparison result does not match, in
단계(1871)에서 상기 네트워크 장비는 상기 수신된 패킷의 다른 위치(가상 오프셋)에 대응하는 패턴과 일치하는지의 여부를 판단한다.In
이와 달리, 상기 패턴과 일치하는 경우 단계(1872)에서 상기 네트워크 장비는 상기 수신된 패킷과 상기 패턴이 전부 일치하는지의 여부를 판단한다.Alternatively, if it matches the pattern, in
상기 패턴과 전부 일치하지 않고 부분적으로만 일치하는 경우 상기 네트워크 장비는 단계(1850)과 동일하게 상기 세션 정보에 부분 일치 정보를 저장한다. If the pattern does not match all but only partially, the network equipment stores partial match information in the session information in the same manner as in
하지만, 상기 패턴과 전부 일치하는 경우 상기 네트워크 장비는 단계(1860)과 동일하게 상기 수신된 패킷에 대해 일치 처리 동작을 수행한다. However, if all of the patterns match, the network equipment performs a matching processing operation on the received packet in the same manner as in
한편, 상기 패턴과 일치하지 않는 경우 단계(1873)에서 상기 네트워크 장비는 상기 수신된 패킷이 특정의 위치에 대응하는 패턴과 모두 일치하지 않으므로 상기 수신된 패킷을 전달하는 불일치 처리 동작을 수행한다. On the other hand, if the pattern does not match, in
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the invention include a computer readable medium containing program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floppy disks, and ROM, RAM, flash memory, and the like. Hardware devices specifically configured to store and execute the same program instructions are included. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다.While specific embodiments of the present invention have been described so far, various modifications are possible without departing from the scope of the present invention.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the claims below, but also by the equivalents of the claims.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허 청구 범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.
이상의 설명에서 알 수 있는 바와 같이, 본 발명에 따르면, 네트워크를 통해 전송되는 파일을 검사할 때 메모리에서 패킷을 재조합하지 않기 때문에 패킷을 저장하기 위해 많은 메모리가 필요하지 않고 파일 검사를 위해서 패킷의 전송을 지연시키지 않는 이점이 있다.As can be seen from the above description, according to the present invention, since the packet is not recombined in memory when inspecting a file transmitted over a network, a large amount of memory is not required to store the packet and the packet is transmitted for file inspection. There is an advantage of not delaying.
또, 본 발명에 따르면, 네트워크를 통해 전송되는 패킷의 가상 오프셋을 계산하여 수신된 패킷이 파일에서의 위치를 파악함으로써 파일 검사를 보다 정확하게 할 수 있는 이점이 있다.In addition, according to the present invention, by checking the virtual offset of the packet transmitted over the network by the location of the received packet in the file, there is an advantage that can be more accurate file inspection.
또, 본 발명에 따르면, 네트워크를 통해 수신된 패킷을 파일의 위치에 대응하는 검사 패턴만 비교함으로써 파일을 검사하는데 걸리는 시간을 단축시킬 수 있는 이점이 있다. Further, according to the present invention, there is an advantage that the time taken to inspect a file can be shortened by comparing only the inspection pattern corresponding to the location of the file with the packet received through the network.
본 발명에 따르면, 네트워크를 통해 전송되는 파일을 검사할 때 전체 세션에 속한 패킷의 위치 정보를 이용해서 패킷 단위로 파일을 검사함으로써 파일 검색을 보다 정확하고 빠르게 처리할 수 있는 이점이 있다. According to the present invention, when checking a file transmitted through a network, the file can be scanned more accurately and quickly by checking the file on a packet basis by using the location information of the packet belonging to the entire session.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050041503A KR100729266B1 (en) | 2005-05-18 | 2005-05-18 | Method for checking transmitted files in network and apparatus of enabling the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050041503A KR100729266B1 (en) | 2005-05-18 | 2005-05-18 | Method for checking transmitted files in network and apparatus of enabling the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060119002A KR20060119002A (en) | 2006-11-24 |
KR100729266B1 true KR100729266B1 (en) | 2007-06-15 |
Family
ID=37705924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050041503A KR100729266B1 (en) | 2005-05-18 | 2005-05-18 | Method for checking transmitted files in network and apparatus of enabling the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100729266B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090093187A (en) * | 2008-02-28 | 2009-09-02 | 윤성진 | interception system of Pornographic and virus using of hash value. |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000156713A (en) | 1998-10-05 | 2000-06-06 | Paketto Engines Inc | Transfer/filtering method of content base in network- switching device |
KR20010092028A (en) * | 2000-03-13 | 2001-10-24 | 윤종용 | Packet filtering method of network device |
WO2002101968A2 (en) | 2001-06-11 | 2002-12-19 | Bluefire Security Technology | Packet filtering system and methods |
KR20040041299A (en) * | 2002-11-11 | 2004-05-17 | 주식회사 인티게이트 | Apparatus for classifying service of ethernet packet and method of the same |
-
2005
- 2005-05-18 KR KR1020050041503A patent/KR100729266B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000156713A (en) | 1998-10-05 | 2000-06-06 | Paketto Engines Inc | Transfer/filtering method of content base in network- switching device |
KR20010092028A (en) * | 2000-03-13 | 2001-10-24 | 윤종용 | Packet filtering method of network device |
WO2002101968A2 (en) | 2001-06-11 | 2002-12-19 | Bluefire Security Technology | Packet filtering system and methods |
KR20040041299A (en) * | 2002-11-11 | 2004-05-17 | 주식회사 인티게이트 | Apparatus for classifying service of ethernet packet and method of the same |
Also Published As
Publication number | Publication date |
---|---|
KR20060119002A (en) | 2006-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1873992B1 (en) | Packet classification in a network security device | |
US8474044B2 (en) | Attack-resistant verification of auto-generated anti-malware signatures | |
US8353037B2 (en) | Mitigating malicious file propagation with progressive identifiers | |
KR101111433B1 (en) | Active network defense system and method | |
US8448234B2 (en) | Method and apparatus for deep packet inspection for network intrusion detection | |
US7706378B2 (en) | Method and apparatus for processing network packets | |
US20110099631A1 (en) | Distributed Packet Flow Inspection and Processing | |
EP3509001B1 (en) | Method and apparatus for detecting zombie feature | |
CN110166480B (en) | Data packet analysis method and device | |
TWI407328B (en) | Network virus protection method and system | |
US7810158B2 (en) | Methods and systems for deceptively trapping electronic worms | |
US20070166051A1 (en) | Repeater, repeating method, repeating program, and network attack defending system | |
CN110035062A (en) | A kind of network inspection method and apparatus | |
US20080295153A1 (en) | System and method for detection and communication of computer infection status in a networked environment | |
CA2738690A1 (en) | Distributed packet flow inspection and processing | |
US20150235027A1 (en) | Malicious code detection | |
CN115017502A (en) | Flow processing method and protection system | |
KR100729266B1 (en) | Method for checking transmitted files in network and apparatus of enabling the method | |
KR20190028597A (en) | Matching method of high speed snort rule and yara rule based on fpga | |
KR101420301B1 (en) | Method and apparatus for detecting ddos attack | |
US20170346844A1 (en) | Mitigating Multiple Advanced Evasion Technique Attacks | |
KR20110061217A (en) | Distributed denial of service detection system using flow patterns and method thereof | |
EP2040437B1 (en) | Distributed ISP system for the inspection and elimination of eThreats in a multi-path environment | |
Worms | Electrical Engineering and Computer Science Department |
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: 20130730 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140610 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150522 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160610 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170609 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180611 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190610 Year of fee payment: 13 |