KR101993648B1 - Method and apparatus for security in network device - Google Patents

Method and apparatus for security in network device Download PDF

Info

Publication number
KR101993648B1
KR101993648B1 KR1020170065975A KR20170065975A KR101993648B1 KR 101993648 B1 KR101993648 B1 KR 101993648B1 KR 1020170065975 A KR1020170065975 A KR 1020170065975A KR 20170065975 A KR20170065975 A KR 20170065975A KR 101993648 B1 KR101993648 B1 KR 101993648B1
Authority
KR
South Korea
Prior art keywords
segment
data
segments
information
unit
Prior art date
Application number
KR1020170065975A
Other languages
Korean (ko)
Other versions
KR20180130196A (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 KR1020170065975A priority Critical patent/KR101993648B1/en
Publication of KR20180130196A publication Critical patent/KR20180130196A/en
Application granted granted Critical
Publication of KR101993648B1 publication Critical patent/KR101993648B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

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

Abstract

네트워크 기기에서의 보안 방법을 개시한다. 본 발명의 일 실시예에 따른 네트워크 보안 방법은 수신부가 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신하는 단계; 복구부가 상기 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 단계; 및 재조립부가 상기 복수의 세그먼트를 재조립하여 재조립데이터를 생성하는 단계를 포함한다.A security method in a network device is disclosed. According to another aspect of the present invention, there is provided a network security method comprising: receiving received data, which is data composed of a plurality of segments, from an external device in response to a data request signal, which is a signal for requesting transmission of data; Recovering a damaged segment of the plurality of segments based on a database in which the recovery unit includes at least one of header information and identification information for each of the plurality of segments; And the reassembling unit reassembles the plurality of segments to generate reassembly data.

Description

네트워크 기기에서의 보안 방법 및 장치{METHOD AND APPARATUS FOR SECURITY IN NETWORK DEVICE}METHOD AND APPARATUS FOR SECURITY IN NETWORK DEVICE FIELD OF THE INVENTION [0001]

본 발명은 네트워크 기기에서의 보안 방법 및 장치에 관한 것으로, 보다 상세하게는 네트워크 기기의 가용성을 저하시키는 재조립 공격에 대한 복구를 수행하고, 직접적인 패치의 수행없이 가상의 패치를 통해 네트워크 기기에 대한 외부 공격을 탐지함으로써 보안을 향상시키는 방법 및 장치에 관한 것이다.The present invention relates to a security method and apparatus in a network device, and more particularly, to a security method and apparatus in a network device, and more particularly, And more particularly, to a method and apparatus for improving security by detecting an external attack.

산업제어시스템을 비롯한 네트워크 기기는 기존에 폐쇄적으로 운영됨에 따라 소프트웨어 취약점 등 보안에 대한 인식 수준이 미비했으나, IIoT (Industrial Internet of Things)와 같이 산업제어시스템 환경의 연결성이 증대되면서 보안에 대한 필요성도 역시 증대되고 있다.As network devices including industrial control systems are already closed, the recognition level of security such as software vulnerabilities is insufficient. However, as the connectivity of industrial control system environment such as IIoT (Industrial Internet of Things) increases, the need for security Is also increasing.

특히, Automatak사의 Project Robus에서 네트워크 기기에서 사용되는 통신 프로토콜(예: DNP3, IEC 61850, Modbus, etc.)이 구현된 소프트웨어 제품에서 31개의 취약점을 찾아내었으며 조작된 패킷으로 기기의 제어권한을 탈취하거나 정상 동작하지 못하게 하는 결과를 초래하였다.Especially, in Project Robus of Automatak, 31 vulnerabilities were found in software products that implemented communication protocols (eg DNP3, IEC 61850, Modbus, etc.) used in network devices. Or to prevent normal operation.

이를 위해 각 제품 사에서 보안 펌웨어를 제공하였으나 가용성이 중시되는 네트워크 기기의 특징상 장비를 정지 시키기 힘들뿐더러 잠재적 문제가 파악되지 않은 새로운 펌웨어로 패치하기에는 위험 부담이 크므로 장비에 영향을 주지 않는 보안 패치 방안이 필요하게 되었다.In order to do this, security firmware was provided by each product company, but it is difficult to stop the equipment due to the feature of the network device having the importance of availability, and there is a great risk of patching the new firmware that has no potential problem. Therefore, security patch I needed a plan.

또한, 이외에도 이와 같은 잠재적인 소프트웨어 및 프로토콜 취약성을 이용한 공격에 대한 보안 방안이 필요한 상황이 발생하고 있으며, 특히 재조립 관련 필드의 값을 조작한 공격은 수신된 데이터의 재조립을 불가능하게 하여 네트워크 기기의 가용성을 저하시킬 수 있다.In addition, there is a need for security measures against attacks using potential software and protocol vulnerabilities. In particular, an attack that manipulates the values of reassembly-related fields makes it impossible to reassemble the received data, Can be reduced.

따라서, 산업제어시스템과 같은 네트워크 기기에 대해 재조립 공격에 대한 복구를 수행하여 가용성을 향상시키고, 직접적인 패치의 수행없이 가상의 패치를 통해 네트워크 기기에 대한 공격을 탐지함으로써 보안을 향상시키는 방법 및 장치에 관한 필요성이 대두되고 있다.Accordingly, there is a need for a method and apparatus for improving security by performing recovery against a reassembly attack against a network device such as an industrial control system and detecting an attack against a network device through a virtual patch without performing a direct patch There is a growing need for

관련 선행기술로는 대한민국 등록특허공보 제10-1383069호(발명의 명칭: 네트워크 이상상태 탐지 장치 및 방법, 공개일자: 2014년 4월 2일)가 있다.A related prior art is Korean Registered Patent No. 10-1383069 entitled " Network abnormal status detection device and method, public date: April 2, 2014.

본 발명은 네트워크 기기의 가용성을 저하시키는 재조립 공격에 대한 복구를 수행하고, 직접적인 패치의 수행없이 가상의 패치를 통해 네트워크 기기에 대한 공격을 탐지함으로써 보안을 향상시키는 방법 및 장치를 제공하고자 한다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for improving security by performing restoration of a reassembly attack degrading the availability of a network device and detecting an attack on a network device through a virtual patch without performing a direct patch.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 네트워크 보안 방법은 수신부가 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신하는 단계; 복구부가 상기 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 단계; 및 재조립부가 상기 복수의 세그먼트를 재조립하여 재조립데이터를 생성하는 단계를 포함한다.According to another aspect of the present invention, there is provided a network security method comprising: receiving received data, which is data composed of a plurality of segments, from an external device in response to a data request signal, which is a signal for requesting transmission of data; Recovering a damaged segment of the plurality of segments based on a database in which the recovery unit includes at least one of header information and identification information for each of the plurality of segments; And the reassembling unit reassembles the plurality of segments to generate reassembly data.

바람직하게는, 상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 단계는 상기 데이터베이스에 포함된 헤더 정보를 이용하여, 상기 복수의 세그먼트 중에서 시작세그먼트를 검출하는 단계; 상기 데이터베이스에 포함된 식별 정보를 이용하여, 상기 복수의 세그먼트 중에서 상기 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 세그먼트인 중간세그먼트를 검출하는 단계; 상기 복수의 세그먼트 각각의 크기에 기초하여, 상기 복수의 세그먼트 중에서 상기 종료세그먼트를 검출하는 단계; 및 상기 시작세그먼트, 상기 적어도 하나의 중간세그먼트 및 상기 종료세그먼트에 기초하여, 상기 복수의 세그먼트 각각에 포함된 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 중 적어도 하나에 대한 정보를 복구하는 단계를 포함할 수 있다.Advantageously, the step of recovering the damaged segment among the plurality of segments comprises: detecting a beginning segment among the plurality of segments using header information included in the database; Detecting an intermediate segment that is at least one segment of the plurality of segments excluding the start segment and the end segment using the identification information included in the database; Detecting the ending segment from among the plurality of segments based on the size of each of the plurality of segments; And at least one of a start segment identifier (FIR), an end segment identifier (FIN), and a serial number (SEQ) included in each of the plurality of segments, based on the start segment, the at least one intermediate segment, And recovering the information about the information.

바람직하게는, 상기 식별 정보는 상기 적어도 하나의 중간세그먼트의 순서를 식별하기 위한 정보일 수 있다.Advantageously, said identification information may be information for identifying the order of said at least one intermediate segment.

바람직하게는, 상기 수신데이터를 수신하는 단계는 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합, 상기 수신데이터의 크기 및 세그먼트당 최대 크기에 기초하여, 종료세그먼트의 수신 여부를 판단할 수 있다.Preferably, the step of receiving the received data may determine whether the end segment is received based on the total size of the at least one segment received so far, the size of the received data, and the maximum size per segment.

바람직하게는, 가상패치부가 화이트리스트 규칙 및 블랙리스트 규칙 중 적어도 하나에 기초하여, 상기 재조립데이터가 비정상 데이터인지 판단하는 단계를 더 포함할 수 있다.Preferably, the method may further include determining whether the reassembled data is abnormal data, based on at least one of the virtual patch attachment white list rule and the black list rule.

바람직하게는, 알람부가 상기 재조립데이터가 비정상 데이터이면, 상기 재조립데이터가 비정상 데이터인 원인에 대한 정보를 포함하는 알람정보를 생성하는 단계를 더 포함할 수 있다.Preferably, the alarm unit may further include generating alarm information including information on the cause of the reassembled data being abnormal data if the reassembled data is abnormal data.

또한, 본 발명의 일 실시예에 따른 네트워크 보안 장치는 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신하는 수신부; 상기 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 복구부; 및 상기 복수의 세그먼트를 재조립하여 재조립데이터를 생성하는 재조립부를 포함한다.According to another aspect of the present invention, there is provided a network security apparatus comprising: a reception unit for receiving reception data, which is data composed of a plurality of segments from an external device, in response to a data request signal, which is a signal for requesting transmission of data; A restoration unit for restoring a damaged segment among the plurality of segments based on a database including at least one of header information and identification information for each of the plurality of segments; And a reassembly unit for reassembling the plurality of segments to generate reassembly data.

바람직하게는, 상기 복구부는 상기 데이터베이스에 포함된 헤더 정보를 이용하여, 상기 복수의 세그먼트 중에서 시작세그먼트를 검출하고, 상기 데이터베이스에 포함된 식별 정보를 이용하여, 상기 복수의 세그먼트 중에서 상기 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 세그먼트인 중간세그먼트를 검출하고, 상기 복수의 세그먼트 각각의 크기에 기초하여, 상기 복수의 세그먼트 중에서 상기 종료세그먼트를 검출하고, 상기 시작세그먼트, 상기 적어도 하나의 중간세그먼트 및 상기 종료세그먼트에 기초하여, 상기 복수의 세그먼트 각각에 포함된 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 중 적어도 하나에 대한 정보를 복구할 수 있다.Preferably, the recovery unit detects a start segment from among the plurality of segments using the header information included in the database, and, using the identification information included in the database, extracts, from among the plurality of segments, Detecting an end segment of the plurality of segments based on the size of each of the plurality of segments, and detecting the start segment, the at least one intermediate segment, and the at least one intermediate segment, Based on the end segment, information about at least one of a start segment identifier (FIR), an end segment identifier (FIN), and a serial number (SEQ) included in each of the plurality of segments can be recovered.

바람직하게는, 상기 식별 정보는 상기 적어도 하나의 중간세그먼트의 순서를 식별하기 위한 정보일 수 있다.Advantageously, said identification information may be information for identifying the order of said at least one intermediate segment.

바람직하게는, 상기 수신부는 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합, 상기 수신데이터의 크기 및 세그먼트당 최대 크기에 기초하여, 종료세그먼트의 수신 여부를 판단할 수 있다.Preferably, the receiver may determine whether to receive the end segment based on the total size of the at least one segment received so far, the size of the received data, and the maximum size per segment.

바람직하게는, 화이트리스트 규칙 및 블랙리스트 규칙 중 적어도 하나에 기초하여, 상기 재조립데이터가 비정상 데이터인지 판단하는 가상패치부를 더 포함할 수 있다.Preferably, based on at least one of the white list rule and the black list rule, the virtual patch unit may further include a virtual patch unit for judging whether the reassembled data is abnormal data.

바람직하게는, 상기 재조립데이터가 비정상 데이터이면, 상기 재조립데이터가 비정상 데이터인 원인에 대한 정보를 포함하는 알람정보를 생성하는 알람부를 더 포함할 수 있다.Preferably, if the reassembled data is abnormal, the alarm unit may generate alarm information including information on the cause of the reassembled data being abnormal data.

본 발명의 네트워크 보안 방법 및 장치는 네트워크 기기에 대한 직접적인 패치의 수행없이, 가상의 패치를 통해 네트워크 기기의 보안을 향상시킴으로써 네트워크 기기의 가용성을 극대화할 수 있는 효과가 있다.The network security method and apparatus of the present invention can maximize the availability of the network device by improving the security of the network device through the virtual patch without directly patching the network device.

또한, 본 발명은 복수의 세그먼트로 나뉘어 전송되는 데이터의 순서가 조작 또는 손상되더라도, 그 조작 또는 손상된 세그먼트를 복구할 수 있는 효과가 있다.Further, the present invention has the effect of restoring the operation or the damaged segment even if the order of the data transmitted by being divided into a plurality of segments is manipulated or damaged.

또한, 본 발명은 블랙리스트 규칙 및 화이트리스트 규칙을 이용하여, 네트워크 기기에 전송되는 비정상 데이터를 탐지할 수 있는 효과가 있다.In addition, the present invention has an effect of detecting abnormal data transmitted to a network device using a blacklist rule and a white list rule.

도 1은 본 발명의 일 실시예에 따른 네트워크 보안 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 다른 실시예에 따른 네트워크 보안 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 손상된 세그먼트를 복구하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 네트워크 보안 장치를 설명하기 위한 블록도이다.
도 5 내지 6은 본 발명의 일 실시예에 따른 각각의 세그먼트의 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 정보에 발생하는 손상에 대하여 설명하기 위한 도면이다.
도 7 내지 9는 본 발명의 일 실시예에 따른 복수의 세그먼트를 재조립하는 과정을 설명하기 위한 도면이다.
1 is a flowchart illustrating a network security method according to an embodiment of the present invention.
2 is a flowchart illustrating a network security method according to another embodiment of the present invention.
3 is a flow chart illustrating a method for recovering a damaged segment in accordance with an embodiment of the present invention.
4 is a block diagram illustrating a network security apparatus according to an embodiment of the present invention.
FIGS. 5 to 6 are diagrams for explaining damage occurring to the start segment whether or not the start segment (FIR), the end segment (FIN), and the serial number (SEQ) information of each segment according to an embodiment of the present invention.
7 to 9 are views for explaining a process of reassembling a plurality of segments according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 네트워크 보안 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a network security method according to an embodiment of the present invention.

가상패치(virtual patch)는 네트워크 기기(예, 산업제어시스템 기기)의 내부에 직접적으로 적용하는 패치가 아니며, 외부 네트워크와 그 네트워크 기기의 사이에서 적용하여 그 네트워크 기기에 대한 외부 공격을 탐지하기 위한 패치이다. A virtual patch is not a patch applied directly to the inside of a network device (e.g., an industrial control system device), but is applied between an external network and the network device to detect an external attack on the network device It is a patch.

이때, 재조립 공격에 대한 복구 및 가상패치와 같은 네트워크 보안 방법이 적용된 보안 장치는 외부 네트워크와 그 네트워크 기기의 사이에 위치하여 외부 공격을 탐지함으로써, 그 네트워크 기기를 외부 공격으로부터 보호하는 역할을 수행할 수 있다. 이를 위해 보안 장치는 수신부, 복구부 및 재조립부를 포함할 수 있다.At this time, the security device including the restoration of the reassembly attack and the network security method such as the virtual patch is located between the external network and the network device to detect the external attack, thereby protecting the network device from external attack can do. To this end, the security device may include a receiving unit, a restoring unit, and a reassembling unit.

또한, 가상패치가 업데이트되는 경우에도, 그 네트워크 기기의 운영을 중지할 필요 없이 보안 장치만을 업데이트함으로써, 그 네트워크 기기의 가용성을 보장할 수 있다.In addition, even when the virtual patch is updated, the availability of the network device can be ensured by updating only the security device without stopping the operation of the network device.

단계 S110에서는, 수신부가 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신한다.In step S110, the receiving unit receives received data, which is data composed of a plurality of segments, from an external device in response to a data request signal, which is a signal for requesting transmission of data.

이때, 데이터요청신호는 네트워크 기기와 외부기기 간에 정의된 통신 프로토콜에 미리 정의된 신호로써, 네트워크 기기로부터 외부기기에 전송된 신호일 수 있다. 바꾸어 말하면, 네트워크 기기는 외부기기로부터 프로토콜에 정의된 특정한 데이터를 수신하기 위하여, 외부기기에게 데이터요청신호를 전송할 수 있다.At this time, the data request signal may be a signal predefined in the communication protocol defined between the network device and the external device, and may be a signal transmitted from the network device to the external device. In other words, the network device can transmit the data request signal to the external device in order to receive the specific data defined in the protocol from the external device.

또한, 그 데이터요청신호에 따라, 네트워크 기기는 그 외부기기로부터 수신데이터를 수신할 수 있다. 이때, 그 수신데이터는 네트워크 기기에 도달하기에 앞서 외부 네트워크와 네트워크 기기의 사이에 위치한 수신부에게 먼저 도달할 수 있다.Further, in accordance with the data request signal, the network device can receive the received data from the external device. At this time, the received data may reach the receiving unit located between the external network and the network device before reaching the network device.

한편, 세그먼트(segment)는 컴퓨터 간에 데이터를 나누어서 전송하기 위한 단위로서, 그 프로토콜 등에 의해 미리 정의될 수 있다. 또한, 컴퓨터 간에 전송되는 데이터를 정해진 크기(즉, 패킷의 최대 크기)에 따라 분할한 패킷(packet)과 같은 의미일 수 있다.On the other hand, a segment is a unit for dividing and transmitting data between computers, and can be defined in advance by the protocol and the like. In addition, it may be the same as a packet in which data transmitted between computers is divided according to a predetermined size (i.e., a maximum size of a packet).

다른 실시예에서는, 수신부가 수신데이터를 수신할 때, 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합, 수신데이터의 크기 및 세그먼트당 최대 크기에 기초하여, 종료세그먼트의 수신 여부를 판단할 수 있다.In another embodiment, when the receiving unit receives the received data, it may determine whether to receive the ending segment based on the sum of the sizes of the at least one segment received so far, the size of the received data, and the maximum size per segment .

즉, 수신부는 수학식 1을 이용하여 종료세그먼트의 수신여부를 판단할 수 있다. 보다 구체적으로, 수신부는 수학식 1의 부등식이 성립하는 경우, 이제 수신되는 세그먼트는 종료세그먼트임을 판단할 수 있다.That is, the receiving unit can determine whether or not the end segment is received by using Equation (1). More specifically, when the inequality of Equation (1) holds, the receiving unit can determine that the received segment is the ending segment.

[수학식 1][Equation 1]

Figure 112017050921739-pat00001
Figure 112017050921739-pat00001

여기서, R은 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합이고, T는 수신데이터의 크기이다.Where R is the sum of the sizes of at least one segment received so far and T is the size of the received data.

예컨대, 그 수신데이터의 총 크기는 750바이트이고, 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합이 700바이트이고, 세그먼트당 최대 크기가 100바이트일 수 있다. 이때, 수신해야 하는 데이터의 크기가 50바이트로 세그먼트당 최대 크기인 100바이트보다 작으므로, 수신부는 이제 수신되는 세그먼트는 종료세그먼트임을 판단할 수 있다.For example, the total size of the received data is 750 bytes, the total size of at least one segment received so far is 700 bytes, and the maximum size per segment can be 100 bytes. At this time, since the size of the data to be received is 50 bytes, which is smaller than the maximum size per segment of 100 bytes, the receiving unit can now judge that the received segment is the ending segment.

이때, 그 수신데이터의 총 크기는 전송된 데이터요청신호의 종류에 따라 프로토콜 등에 의하여 미리 결정될 수 있으며, 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합은 수신된 각각의 세그먼트의 크기를 합하여 결정될 수 있으며, 세그먼트당 최대 크기는 프로토콜 등에 의하여 미리 결정될 수 있다.At this time, the total size of the received data may be determined in advance by a protocol or the like according to the type of the transmitted data request signal, and the sum of the sizes of the at least one segment received so far may be determined by summing the sizes of the received segments , And the maximum size per segment may be determined in advance by a protocol or the like.

단계 S120에서는, 복구부가 그 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 그 복수의 세그먼트 중 손상된 세그먼트를 복구한다.In step S120, the recovery unit recovers the damaged segment among the plurality of segments based on the database including at least one of the header information and the identification information for each of the plurality of segments.

여기서, 데이터베이스는 외부기기로부터 네트워크 기기로 전송되는 정상적인 데이터로 구성된 정상 트래픽으로부터 데이터 재조립에 필요한 정보를 추출하여 생성될 수 있다. 예를 들어, 데이터 재조립에 필요한 정보는 데이터의 헤더에 포함되는 필드값 및 그 필드값의 위치, 세그먼트의 순서를 구분하기 위해 규칙적으로 사용되는 식별값 및 그 식별값의 위치, 데이터의 종류에 따라 전송되는 세그먼트의 총 개수 등이 될 수 있다.Here, the database can be generated by extracting information necessary for data reassembly from normal traffic composed of normal data transmitted from an external device to a network device. For example, the information required for data reassembly may include a field value included in a header of the data, a position of the field value, an identification value regularly used to identify the order of the segment, a position of the identification value, The total number of segments to be transmitted, and so on.

또한, 헤더 정보는 외부기기로부터 네트워크 기기로 전송되는 데이터의 헤더(예, 기능과 관련된 function code, 데이터의 종류에 관한 data type 등)에 포함되는 필드의 값 및 위치에 대한 정보일 수 있다. 또한, 식별 정보는 각각의 세그먼트를 식별하기 위한 식별값 및 그 식별값의 위치에 대한 정보일 수 있다. 또한, 데이터베이스는 외부기기로부터 네트워크 기기로 전송되는 데이터의 종류에 따라 전송되는 세그먼트의 총 개수에 대한 정보를 포함할 수 있다.The header information may be information on the value and position of a field included in a header of data transmitted from an external device to a network device (e.g., a function code related to a function, a data type related to the type of data, and the like). Further, the identification information may be an identification value for identifying each segment and information on the position of the identification value. In addition, the database may include information on the total number of segments transmitted according to the type of data transmitted from the external device to the network device.

이때, 복구부는 데이터베이스에 기초하여 그 복수의 세그먼트를 분석한 결과 손상된 세그먼트가 검출되지 않는 경우, 세그먼트를 복구하는 과정을 거치지 않고, 단계 S130을 바로 수행할 수 있다.At this time, if the damaged segment is not detected as a result of analyzing the plurality of segments based on the database, the recovery unit can directly perform step S130 without restoring the segment.

한편, 복구부가 그 손상을 복구하는 자세한 방법에 관하여는 도 3에 대한 설명에서 구체적으로 후술한다.On the other hand, a detailed method of restoring the damage by the restoring unit will be described later in detail with reference to FIG.

마지막으로 단계 S130에서는, 재조립부가 그 복수의 세그먼트를 재조립하여 재조립데이터를 생성한다.Finally, in step S130, the reassembly unit reassembles the plurality of segments to generate reassembly data.

예컨대, 재조립부는 시작세그먼트, 종료세그먼트 및 나머지 중간 세그먼트를 이용하여 재조립함으로써, 재조립데이터를 생성할 수 있다. 이때, 재조립부는 단계 S120에서 복구된 세그먼트를 이용하여 재조립데이터를 생성할 수 있다.For example, the reassembly unit may generate reassembly data by reassembly using the start segment, the end segment, and the remaining intermediate segments. At this time, the reassembling unit can generate reassembly data using the segment recovered in step S120.

그러나, 만일 재조립 과정에서 특정한 세그먼트가 누락된 것이 발견될 경우, 재조립부는 재조립데이터를 생성하지 않을 수 있다. 또한, 재조립부는 그 세그먼트 누락에 대한 알람정보가 생성되도록 하여 네트워크 기기의 관리자에게 전송할 수 있다.However, if a particular segment is found to be missing in the reassembly process, the reassembly unit may not generate the reassembly data. Also, the reassembly unit can generate alarm information for the segment omission and transmit it to the manager of the network device.

이와 같이, 본 발명의 일 실시예에 따른 네트워크 보안 방법은 복수의 세그먼트로 나뉘어 전송되는 데이터의 순서가 조작 또는 손상되더라도, 조작 또는 손상된 세그먼트를 복구할 수 있는 효과가 있다.As described above, the network security method according to an embodiment of the present invention has the effect of recovering a manipulated or damaged segment even if the order of data transmitted in a plurality of segments is manipulated or damaged.

도 2는 본 발명의 다른 실시예에 따른 네트워크 보안 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a network security method according to another embodiment of the present invention.

단계 S210에서는, 수신부가 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신한다.In step S210, in response to the data request signal, which is a signal for requesting data transmission, the receiving unit receives received data, which is data composed of a plurality of segments from an external device.

단계 S220에서는, 복구부가 그 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 그 복수의 세그먼트 중 손상된 세그먼트를 복구한다In step S220, the recovery unit recovers the damaged segment among the plurality of segments based on the database including at least one of the header information and the identification information for each of the plurality of segments

단계 S230에서는, 재조립부가 그 복수의 세그먼트를 재조립하여 재조립데이터를 생성한다.In step S230, the reassembly unit reassembles the plurality of segments to generate reassembly data.

마지막으로 단계 S240에서는, 가상패치부가, 화이트리스트 규칙 및 블랙리스트 규칙 중 적어도 하나에 기초하여, 그 재조립데이터가 비정상 데이터인지 판단한다.Finally, in step S240, based on at least one of the virtual patch section, the white list rule, and the black list rule, it is determined whether the reassembled data is abnormal data.

여기서, 화이트리스트 규칙(whitelist rule)은 외부기기로부터 네트워크 기기로 전송되는 정상 데이터에 관련된 정보를 수집하여 구축한 화이트리스트를 기반으로 하여, 그 재조립데이터가 그 화이트리스트에 포함될 경우 그 재조립데이터가 그 규칙에 위반되지 않는 것으로 판단하는 규칙일 수 있다.Here, the whitelist rule is based on a white list constructed by collecting information related to normal data transmitted from an external device to a network device, and when the reassembled data is included in the whitelist, May not be in violation of the rule.

반면에, 블랙리스트 규칙(blacklist rule)은 외부기기로부터 네트워크 기기로 전송되는 비정상 데이터에 관련된 정보를 수집하여 구축한 블랙리스트를 기반으로 하여, 그 재조립데이터가 그 블랙리스트에 포함될 경우 그 재조립데이터가 그 규칙에 위반되는 것으로 판단하는 규칙일 수 있다.On the other hand, the blacklist rule is based on a black list constructed by collecting information related to abnormal data transmitted from an external device to a network device, and when the reassembled data is included in the blacklist, It may be the rule that determines that the data violates the rule.

즉, 가상패치부는 그 재조립데이터가 화이트리스트에 포함되지 않았거나, 블랙리스트에 포함되는 경우, 비정상 데이터로 판단할 수 있다. 하지만, 가상패치부는 그 재조립데이터가 화이트리스트에 포함되지 않은 경우와 블랙리스트에 포함된 경우를 구분하여 상이하게 처리할 수 있다.That is, when the reassembled data is not included in the whitelist or is included in the black list, the virtual patch unit can judge it as abnormal data. However, the virtual patch section can distinguish the case where the reassembled data is not included in the whitelist and the case in which the reassembled data is included in the black list, and can be processed differently.

예컨대, 가상패치부는 그 재조립데이터가 블랙리스트에 포함된 경우에는, 그 재조립데이터를 폐기하여 네트워크 기기에 전달되지 않도록 할 수 있다. 이는, 그 재조립데이터는 네트워크 기기에 치명적인 문제를 야기할 수 있는 공격일 수도 있기 때문이다.For example, if the reassembled data is included in the blacklist, the virtual patch unit can discard the reassembled data and prevent it from being transmitted to the network device. This is because the reassembled data may be an attack that may cause a fatal problem to the network device.

반면에, 가상패치부는 그 재조립데이터가 블랙리스트 및 화이트리스트에 포함되지 않은 경우에는, 그 재조립데이터를 네트워크 기기에게 전달할 수 있다. 이는, 비록 그 재조립데이터가 화이트리스트에 포함되지는 않았지만, 블랙리스트에 포함된 것은 아니므로 위험한 데이터는 아닐 수 있기 때문이다.On the other hand, when the reassembled data is not included in the black list and the whitelist, the virtual patch section can transmit the reassembled data to the network device. This is because although the reassembly data is not included in the whitelist, it is not included in the blacklist and may not be dangerous data.

다른 실시예에서는, 알람부가 그 재조립데이터가 비정상 데이터이면, 그 재조립데이터가 비정상 데이터인 원인에 대한 정보를 포함하는 알람정보를 생성할 수 있다.In another embodiment, if the alarm section is abnormal data, the reassembly data may generate alarm information including information about the cause of the reassembly data being abnormal data.

한편, 알람부는 그 재조립데이터가 비정상 데이터이면, 비정상 데이터로 판단된 원인에 대한 정보를 포함하는 알람정보를 생성하여, 그 네트워크 기기의 관리자에게 전송할 수 있다. 이때, 비정상 데이터의 원인은 그 재조립데이터가 블랙리스트에 포함되었거나, 화이트리스트에 포함되지 않은 것일 수 있다.On the other hand, if the reassembled data is abnormal, the alarm unit can generate alarm information including information on the cause of the abnormal data, and transmit the generated alarm information to the manager of the network device. At this time, the cause of the abnormal data may be that the reassembled data is included in the blacklist or not included in the whitelist.

보다 구체적으로, 가상패치부는 그 재조립데이터가 블랙리스트에 포함된 경우에는, 그 재조립데이터를 폐기하여 네트워크 기기에 전달하지 않는 한편, 알람부는 블랙리스트에 포함된 비정상 데이터가 수신된 것을 원인으로 하는 알람정보를 생성할 수 있다.More specifically, when the reassembled data is included in the blacklist, the virtual patch unit discards the reassembled data and does not deliver the reassembled data to the network device. On the other hand, the alarm unit causes the abnormal data included in the blacklist to be received Can be generated.

또한, 가상패치부는 그 재조립데이터가 블랙리스트 및 화이트리스트에 포함되지 않은 경우에는, 그 재조립데이터를 네트워크 기기에게 전달하는 한편, 알람부는 화이트리스트에 포함되지 않은 비정상 데이터가 수신된 것을 원인으로 하여 알람정보를 생성할 수 있다.When the reassembled data is not included in the black list and the whitelist, the virtual patch unit transfers the reassembled data to the network device. On the other hand, the alarm unit causes the abnormal patch data not included in the whitelist to be received So that alarm information can be generated.

이와 같이, 본 발명의 다른 실시예에 따른 네트워크 보안 방법은 블랙리스트 규칙 및 화이트리스트 규칙을 이용하여, 네트워크 기기에 전송되는 데이터가 공격을 위한 비정상 데이터인지 탐지할 수 있는 효과가 있다.As described above, the network security method according to another embodiment of the present invention is capable of detecting whether data transmitted to the network device is abnormal data for attack using the blacklist rule and the white list rule.

도 3은 본 발명의 일 실시예에 따른 손상된 세그먼트를 복구하는 방법을 설명하기 위한 흐름도이다.3 is a flow chart illustrating a method for recovering a damaged segment in accordance with an embodiment of the present invention.

예컨대, 도 6을 참조하면, 총 4개의 세그먼트에 대하여 FIR, FIN 및 Seg#(즉, SEQ)값이 정상적인 경우(Normal)가 나타나 있다. 또한, 각각 FIN 및 FIR 값이 0에서 1로 또는 1에서 0으로 손상된 경우도 역시 나타나 있다.For example, referring to FIG. 6, the FIR, FIN, and Seg # (i.e., SEQ) values are normal (Normal) for a total of four segments. Also, the case where the FIN and FIR values are damaged from 0 to 1 or from 1 to 0 is also shown.

단계 S310에서는, 복구부가 데이터베이스에 포함된 헤더 정보를 이용하여, 복수의 세그먼트 중에서 시작세그먼트를 검출한다.In step S310, the recovery unit detects the start segment from the plurality of segments using the header information included in the database.

예컨대, 도 7을 참조하면, 네트워크 기기는 특정한 수신데이터를 수신하기 위하여 그 특정한 데이터에 대응되는 데이터요청신호를 외부기기에게 전송할 수 있다. 이때, 그 특정한 데이터요청신호에 대응되는 수신데이터의 헤더 정보에 포함된 function code 필드값이 0x81라면, 복구부는 복수의 세그먼트 중에서 function code 필드값이 0x81인 세그먼트를 찾음으로써 시작세그먼트를 검출할 수 있다. For example, referring to FIG. 7, a network device may transmit a data request signal corresponding to the specific data to an external device in order to receive specific received data. At this time, if the value of the function code field included in the header information of the received data corresponding to the specific data request signal is 0x81, the recovering unit can detect the start segment by searching for a segment having a function code field value of 0x81 among a plurality of segments .

이때, 복구부는 function code 뿐만 아니라 헤더 정보에 포함된 다양한 필드값의 정보를 이용함으로써, 시작세그먼트의 검출 정확성을 향상시킬 수 있다.At this time, the recovery unit can improve the detection accuracy of the start segment by using the information of various field values included in the header information as well as the function code.

한편, 복구부는 request 메시지 전송 이후 수신이 예상되는 response 외에도 자발적 response(즉, 비동기적 response) 등 주요 메시지를 그 예상되는 response 전에 전송 받을 수 있으며, 이 또한 처리할 수 있어야 한다. 이는, 단계 S310에서 function code를 검사하여 특정 처리 하여야 하는 메시지인 경우 메시지를 수용하고 이외의 경우 데이터요청신호에 대응되는 응답이 아닌 것으로 간주하여 그 세그먼트를 무시하는 방법으로 처리될 수 있다.In addition to the expected response after the transmission of the request message, the recovery unit can receive and process the main message such as a spontaneous response (i.e., asynchronous response) before the expected response. This can be handled by checking the function code in step S310 and accepting the message in the case of a message to be processed, and ignoring the segment if the response is not a response corresponding to the data request signal in other cases.

단계 S320에서는, 복구부가 데이터베이스에 포함된 식별 정보를 이용하여, 복수의 세그먼트 중에서 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 세그먼트인 중간세그먼트를 검출한다.In step S320, the recovery unit detects the intermediate segment, which is at least one of the plurality of segments, excluding the start segment and the end segment, from among the plurality of segments, using the identification information included in the database.

즉, 복구부는 데이터베이스에 저장된 식별 정보를 이용하여, 적어도 하나의 중간세그먼트 각각의 순서를 결정할 수 있다. 또한, 도 8을 참조하면, 복구부는 수신된 시작세그먼트와 중간세그먼트의 총 크기가 수신데이터의 총 크기에서 세그먼트당 최대 크기를 뺀 값보다 작은 동안은 계속하여 중간세그먼트를 검출하고 그 순서를 결정할 수 있다.That is, the restoring unit can use the identification information stored in the database to determine the order of each of the at least one intermediate segment. 8, the restoring unit can continuously detect the middle segment and determine the order thereof while the total size of the received start segment and the middle segment is smaller than the total size of the received data minus the maximum size per segment have.

한편, 복구부가 적어도 하나의 중간세그먼트 각각의 순서를 결정하는 자세한 방법에 대하여는 아래의 실시예에 대한 설명에서 구체적으로 후술한다.The detailed method for determining the order of each of the at least one intermediate segment will be described later in detail in the description of the embodiments below.

다른 실시예에서는, 식별 정보는 적어도 하나의 중간세그먼트의 순서를 식별하기 위한 정보일 수 있다.In another embodiment, the identification information may be information for identifying the order of at least one intermediate segment.

즉, 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 중간세그먼트는 전송되는 데이터를 정해진 크기에 따라 순서대로 나열한 것이기 때문에, 그 적어도 하나의 중간세그먼트 간에는 몇 번째 세그먼트인지 구분을 하기 어려울 수 있다. 따라서, 각각의 중간세그먼트는 이를 구분하기 위하여 규칙적으로 사용되는 특정한 식별값을 포함할 수 있다. 또한, 각각의 중간세그먼트들이 모두 순서를 결정할 수 있는 식별값을 포함하도록 프로토콜을 설계하는 것이 보다 바람직할 수 있다.That is, since at least one intermediate segment other than the start segment and the end segment is a data sequence to be transmitted in order according to a predetermined size, it may be difficult to distinguish the segment among the at least one intermediate segment. Thus, each intermediate segment may contain a particular identification value that is used regularly to distinguish it. It may also be more desirable to design the protocol such that each intermediate segment includes an identification value that can all be sequenced.

예컨대, 각각의 중간세그먼트는 정해진 위치에 순차적으로 증가하는 일련번호의 정보를 포함할 수 있으며, 그 일련번호에 대한 정보가 식별 정보에 포함될 수 있다. 또한, 어떤 중간세그먼트는 세그먼트별로 정해진 규칙에 따라 정해진 위치에 특정값을 포함할 수 있으며, 그 정해진 규칙에 대한 정보가 식별 정보에 포함될 수 있다.For example, each intermediate segment may include serial number information that sequentially increases at a predetermined position, and information about the serial number may be included in the identification information. Also, some intermediate segments may include a specific value at a predetermined position according to a rule determined for each segment, and information about the predetermined rule may be included in the identification information.

이때, 복구부는 그 데이터베이스에 저장된 식별 정보를 이용하여 적어도 하나의 중간세그먼트의 순서를 식별할 수 있다.At this time, the recovery unit can identify the order of the at least one intermediate segment using the identification information stored in the database.

단계 S330에서는, 복구부가 복수의 세그먼트 각각의 크기에 기초하여, 그 복수의 세그먼트 중에서 종료세그먼트를 검출한다.In step S330, the restoring unit detects the ending segment among the plurality of segments based on the size of each of the plurality of segments.

예컨대, 수신데이터가 총 10개의 세그먼트로 구성되어 있고, 1개 세그먼트의 최대 크기가 100바이트일 때, 9개의 세그먼트의 크기가 100바이트이고, 1개의 세그먼트의 크기가 50바이트일 수 있다. 이때, 복구부는 그 50바이트 크기의 세그먼트를 종료세그먼트로 검출할 수 있다.For example, when the received data is composed of 10 segments in total, and the maximum size of one segment is 100 bytes, the size of nine segments may be 100 bytes and the size of one segment may be 50 bytes. At this time, the recovery unit can detect the segment of the size of 50 bytes as the end segment.

이는, 일반적으로 전송되는 세그먼트의 개수를 최소화하기 위하여 최대의 크기를 가지도록 세그먼트를 생성하여 데이터를 전송하는 경우가 많기 때문에, 그 최대의 크기보다 작은 크기의 세그먼트는 종료세그먼트로 볼 수 있기 때문이다.This is because, in general, a segment is generated so as to have a maximum size in order to minimize the number of segments to be transmitted, and data is transmitted, so a segment smaller than the maximum size can be regarded as an end segment .

한편, 도 9를 참조하면, 복구부는 수신데이터의 크기와 수신된 복수의 세그먼트의 크기의 총합이 같아질 경우, 수신데이터의 수신이 완료된 것으로 판단할 수 있다.Referring to FIG. 9, the recovery unit may determine that the reception of the received data is completed when the sum of the sizes of the received data and the received plurality of segments becomes equal.

마지막으로 단계 S340에서는, 복구부가 시작세그먼트, 적어도 하나의 중간세그먼트 및 종료세그먼트에 기초하여, 복수의 세그먼트 각각에 포함된 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 중 적어도 하나에 대한 정보를 복구한다.Finally, in step S340, the recovery unit determines whether the start segment (FIR), the end segment (FIN), and the serial number (SEQ) included in each of the plurality of segments based on the start segment, the at least one intermediate segment, Restores information about at least one.

예컨대, 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ)에 대한 정보를 모두 포함하는 1Byte(8bit)의 데이터가 각각의 세그먼트의 정해진 위치에 포함될 수 있다. 이때, FIR는 1일 때 시작세그먼트를 나타내고, 0일 때 시작세그먼트가 아님을 나타낼 수 있다. 또한, FIN는 1일 때 종료세그먼트를 나타내고, 0일 때 종료세그먼트가 아님을 나타낼 수 있다. 또한, SEQ는 전송되는 복수의 세그먼트 중에서 몇 번째 세그먼트인지를 나타낼 수 있다.For example, data of 1 byte (8 bits) including information on start segment existence (FIR), end segment existence (FIN) and serial number (SEQ) may be included in a predetermined position of each segment. At this time, the FIR indicates a start segment when it is 1, and it can indicate that it is not a start segment when it is 0. In addition, FIN indicates a termination segment when it is 1, and it can indicate that it is not a termination segment when it is 0. [ Also, the SEQ may indicate how many segments are transmitted among the plurality of segments.

또한, 도 5를 참조하면, 일반적인 네트워크 기기가 FIR, FIN 및 SEQ값을 이용하여 데이터를 수신하여 동작하는 방식이 나타나 있다. 즉, 일반적인 네트워크 기기는 FIR, FIN 및 SEQ값에 따라 도 5와 같이 정해진 규칙에 의해 동작하게 되며, 만일 1bit라도 FIR, FIN 및 SEQ값이 조작되거나 손상되면 복수의 세그먼트로 구성되는 수신데이터가 사용할 수 없게 될 수 있다.Also, referring to FIG. 5, there is shown a method in which a general network device receives and operates data using FIR, FIN, and SEQ values. That is, according to the FIR, FIN and SEQ values, a general network device operates according to a predetermined rule as shown in FIG. 5. If the FIR, FIN, and SEQ values are manipulated or damaged even if 1 bit is used, It can become impossible.

그러나, 복구부는 앞서 검출된 시작세그먼트, 중간세그먼트, 종료세그먼트 각각에 대하여 FIR, FIN 및 SEQ값을 분석하여, 만일 FIR, FIN 및 SEQ값이 손상된 경우, 그 손상된 값을 복구할 수 있다.However, the recovery unit may analyze the FIR, FIN, and SEQ values for each of the detected start segment, intermediate segment, and end segment, and recover the corrupted value if the FIR, FIN, and SEQ values are corrupted.

예컨대, 복구부는 시작세그먼트의 FIR값이 1, FIN값이 0, SEQ값이 1이 아닌 경우, FIR값이 1, FIN값이 0, SEQ값이 1이 되도록 복구할 수 있다. 또한, 복구부는 중간세그먼트의 FIR값이 0, FIN값이 0, SEQ값이 N(N은 자연수)이 아닌 경우, FIR값이 0, FIN값이 0, SEQ값이 N이 되도록 복구할 수 있다. 이때, N은 식별 정보에 따라 결정된 세그먼트의 순서를 나타내는 값일 수 있다. 또한, 복구부는 종료세그먼트의 FIR값이 0, FIN값이 1, SEQ값이 M(M은 세그먼트의 총 개수)이 아닌 경우, FIR값이 0, FIN값이 1, SEQ값이 M이 되도록 복구할 수 있다.For example, if the FIR value of the start segment is 1, the FIN value is 0, and the SEQ value is not 1, the recovery unit can restore the FIR value to 1, FIN value to 0, and SEQ value to 1. [ If the FIR value of the intermediate segment is 0, the FIN value is 0, and the SEQ value is not N (N is a natural number), the recovery unit can recover the FIR value to 0, the FIN value to 0, and the SEQ value to N . In this case, N may be a value indicating the order of the segments determined according to the identification information. If the FIR value of the ending segment is 0, the FIN value is 1, and the SEQ value is not M (M is the total number of segments), the recovery unit may be configured such that the FIR value is 0, the FIN value is 1, can do.

이와 같이, 본 발명의 일 실시예에 따른 네트워크 보안 방법은 복수의 세그먼트로 나뉘어 전송되는 데이터의 순서가 조작 또는 손상되더라도, 조작 또는 손상된 세그먼트를 복구할 수 있는 효과가 있다.As described above, the network security method according to an embodiment of the present invention has the effect of recovering a manipulated or damaged segment even if the order of data transmitted in a plurality of segments is manipulated or damaged.

도 4는 본 발명의 일 실시예에 따른 네트워크 보안 장치를 설명하기 위한 블록도이다.4 is a block diagram illustrating a network security apparatus according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 네트워크 보안 장치(400)는 수신부(410), 복구부(420) 및 재조립부(430)를 포함한다. 또한, 선택적으로 가상패치부(미도시) 및 알람부(미도시)를 더 포함할 수 있다.Referring to FIG. 4, the network security apparatus 400 includes a receiving unit 410, a restoring unit 420, and a reassembling unit 430 according to an embodiment of the present invention. In addition, it may further include a virtual patch unit (not shown) and an alarm unit (not shown).

수신부(410)는 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신한다.The receiving unit 410 receives received data, which is data composed of a plurality of segments, from an external device in response to a data request signal, which is a signal for requesting data transmission.

다른 실시예에서는, 수신부(410)는 현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합, 수신데이터의 크기 및 세그먼트당 최대 크기에 기초하여, 종료세그먼트의 수신 여부를 판단할 수 있다.In another embodiment, the receiver 410 may determine whether to receive the end segment based on the sum of the sizes of the at least one segment received so far, the size of the received data, and the maximum size per segment.

복구부(420)는 그 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 그 복수의 세그먼트 중 손상된 세그먼트를 복구한다.The restoring unit 420 restores the damaged segment among the plurality of segments based on the database including at least one of the header information and the identification information for each of the plurality of segments.

다른 실시예에서는, 복구부(420)는 데이터베이스에 포함된 헤더 정보를 이용하여, 그 복수의 세그먼트 중에서 시작세그먼트를 검출하고, 데이터베이스에 포함된 식별 정보를 이용하여, 그 복수의 세그먼트 중에서 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 세그먼트인 중간세그먼트를 검출하고, 그 복수의 세그먼트 각각의 크기에 기초하여, 그 복수의 세그먼트 중에서 종료세그먼트를 검출하고, 시작세그먼트, 적어도 하나의 중간세그먼트 및 종료세그먼트에 기초하여, 그 복수의 세그먼트 각각에 포함된 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 중 적어도 하나에 대한 정보를 복구할 수 있다.In another embodiment, the restoring unit 420 detects the start segment among the plurality of segments using the header information included in the database, and uses the identification information included in the database to identify the start segment and the start segment Detecting an end segment of the plurality of segments based on the size of each of the plurality of segments, and detecting an end segment of the start segment, at least one of the intermediate segment and the end segment , Information on at least one of the start segment existence (FIR), the end segment existence (FIN), and the serial number (SEQ) contained in each of the plurality of segments can be restored.

또 다른 실시예에서는, 식별 정보는 적어도 하나의 중간세그먼트의 순서를 식별하기 위한 정보일 수 있다.In another embodiment, the identification information may be information for identifying the order of at least one intermediate segment.

재조립부(430)는 그 복수의 세그먼트를 재조립하여 재조립데이터를 생성한다.The reassembling unit 430 reassembles the plurality of segments to generate reassembly data.

가상패치부(미도시)는 화이트리스트 규칙 및 블랙리스트 규칙 중 적어도 하나에 기초하여, 그 재조립데이터가 비정상 데이터인지 판단한다.The virtual patch unit (not shown) determines whether the reassembled data is abnormal based on at least one of the whitelisting rule and the blacklist rule.

알람부(미도시)는 그 재조립데이터가 비정상 데이터이면, 그 재조립데이터가 비정상 데이터인 원인에 대한 정보를 포함하는 알람정보를 생성한다.If the reassembled data is abnormal, the alarm unit (not shown) generates alarm information including information on the cause of the reassembled data being abnormal data.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM, DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (12)

외부 네트워크와 네트워크 기기 사이에 위치하는 보안 장치가 상기 네트워크 기기의 보안 방법에 있어서,
수신부가 데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신하는 단계;
복구부가 상기 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 단계;
재조립부가 상기 복수의 세그먼트를 재조립하여 재조립데이터를 생성하는 단계; 및
가상패치부가 상기 재조립데이터를 이용하여 상기 네트워크 기기에 대한 외부 공격을 탐지하는 단계
를 포함하는 것을 특징으로 하는 네트워크 보안 방법.
A security device located between an external network and a network device, the security method comprising:
Receiving received data, which is data composed of a plurality of segments, from an external device in response to a data request signal, which is a signal for requesting transmission of data by the receiving unit;
Recovering a damaged segment of the plurality of segments based on a database in which the recovery unit includes at least one of header information and identification information for each of the plurality of segments;
Reassembling the plurality of segments to generate reassembly data; And
Wherein the virtual patch unit detects an external attack on the network device using the reassembled data
The method comprising the steps of:
제1항에 있어서,
상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 단계는
상기 데이터베이스에 포함된 헤더 정보를 이용하여, 상기 복수의 세그먼트 중에서 시작세그먼트를 검출하는 단계;
상기 데이터베이스에 포함된 식별 정보를 이용하여, 상기 복수의 세그먼트 중에서 상기 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 세그먼트인 중간세그먼트를 검출하는 단계;
상기 복수의 세그먼트 각각의 크기에 기초하여, 상기 복수의 세그먼트 중에서 상기 종료세그먼트를 검출하는 단계; 및
상기 시작세그먼트, 상기 적어도 하나의 중간세그먼트 및 상기 종료세그먼트에 기초하여, 상기 복수의 세그먼트 각각에 포함된 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 중 적어도 하나에 대한 정보를 복구하는 단계
를 포함하는 것을 특징으로 하는 네트워크 보안 방법.
The method according to claim 1,
The step of recovering the damaged segment of the plurality of segments
Detecting a start segment among the plurality of segments using header information included in the database;
Detecting an intermediate segment that is at least one segment of the plurality of segments excluding the start segment and the end segment using the identification information included in the database;
Detecting the ending segment from among the plurality of segments based on the size of each of the plurality of segments; And
(FIR), end segment (FIN), and serial number (SEQ) contained in each of the plurality of segments based on the start segment, the at least one intermediate segment, and the end segment. Steps to recover information
The method comprising the steps of:
제2항에 있어서,
상기 식별 정보는
상기 적어도 하나의 중간세그먼트의 순서를 식별하기 위한 정보인 것을 특징으로 하는 네트워크 보안 방법.
3. The method of claim 2,
The identification information
Wherein the information is information for identifying the order of the at least one intermediate segment.
제1항에 있어서,
상기 수신데이터를 수신하는 단계는
현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합, 상기 수신데이터의 크기 및 세그먼트당 최대 크기에 기초하여, 종료세그먼트의 수신 여부를 판단하는 것을 특징으로 하는 네트워크 보안 방법.
The method according to claim 1,
The step of receiving the received data
Determining whether to receive the end segment based on the total size of at least one segment received so far, the size of the received data, and the maximum size per segment.
제1항에 있어서,
상기 네트워크 기기에 대한 외부 공격을 탐지하는 단계는
화이트리스트 규칙 및 블랙리스트 규칙 중 적어도 하나에 기초하여, 상기 재조립데이터가 비정상 데이터인지 판단하는 것을 특징으로 하는 네트워크 보안 방법.
The method according to claim 1,
The step of detecting an external attack on the network device
Determining whether the reassembled data is abnormal data, based on at least one of a whitelist rule and a blacklist rule.
제5항에 있어서,
알람부가 상기 재조립데이터가 비정상 데이터이면, 상기 재조립데이터가 비정상 데이터인 원인에 대한 정보를 포함하는 알람정보를 생성하는 단계
를 더 포함하는 것을 특징으로 하는 네트워크 보안 방법.
6. The method of claim 5,
Generating alarm information including information on a cause that the reassembled data is abnormal data if the reassembled data is abnormal;
Further comprising the steps of:
외부 네트워크와 네트워크 기기 사이에 위치하는 네트워크 보안 장치에 있어서,
데이터의 전송을 요청하는 신호인 데이터요청신호에 대응하여, 외부기기로부터 복수의 세그먼트로 구성되는 데이터인 수신데이터를 수신하는 수신부;
상기 복수의 세그먼트 각각에 대한 헤더 정보 및 식별 정보 중 적어도 하나를 포함하는 데이터베이스에 기초하여, 상기 복수의 세그먼트 중 손상된 세그먼트를 복구하는 복구부;
상기 복수의 세그먼트를 재조립하여 재조립데이터를 생성하는 재조립부; 및
상기 재조립데이터를 이용하여 상기 네트워크 기기에 대한 외부 공격을 탐지하는 가상 패치부
를 포함하는 것을 특징으로 하는 네트워크 보안 장치.
1. A network security device located between an external network and a network device,
A receiving unit for receiving received data, which is data composed of a plurality of segments from an external device, in response to a data request signal, which is a signal for requesting transmission of data;
A restoration unit for restoring a damaged segment among the plurality of segments based on a database including at least one of header information and identification information for each of the plurality of segments;
A reassembly unit for reassembling the plurality of segments to generate reassembly data; And
A virtual patch unit for detecting an external attack on the network device using the reassembled data;
The network security device comprising:
제7항에 있어서,
상기 복구부는
상기 데이터베이스에 포함된 헤더 정보를 이용하여, 상기 복수의 세그먼트 중에서 시작세그먼트를 검출하고,
상기 데이터베이스에 포함된 식별 정보를 이용하여, 상기 복수의 세그먼트 중에서 상기 시작세그먼트와 종료세그먼트를 제외한 나머지 적어도 하나의 세그먼트인 중간세그먼트를 검출하고,
상기 복수의 세그먼트 각각의 크기에 기초하여, 상기 복수의 세그먼트 중에서 상기 종료세그먼트를 검출하고,
상기 시작세그먼트, 상기 적어도 하나의 중간세그먼트 및 상기 종료세그먼트에 기초하여, 상기 복수의 세그먼트 각각에 포함된 시작세그먼트 여부(FIR), 종료세그먼트 여부(FIN) 및 일련번호(SEQ) 중 적어도 하나에 대한 정보를 복구하는 것을 특징으로 하는 네트워크 보안 장치.
8. The method of claim 7,
The recovery unit
Detecting a start segment among the plurality of segments by using header information included in the database,
Detecting an intermediate segment that is at least one segment from the plurality of segments excluding the start segment and the end segment using the identification information included in the database,
Detecting the end segment among the plurality of segments based on the size of each of the plurality of segments,
(FIR), end segment (FIN), and serial number (SEQ) contained in each of the plurality of segments based on the start segment, the at least one intermediate segment, and the end segment. Wherein the information is recovered.
제8항에 있어서,
상기 식별 정보는
상기 적어도 하나의 중간세그먼트의 순서를 식별하기 위한 정보인 것을 특징으로 하는 네트워크 보안 장치.
9. The method of claim 8,
The identification information
Wherein the information is information for identifying the order of the at least one intermediate segment.
제7항에 있어서,
상기 수신부는
현재까지 수신된 적어도 하나의 세그먼트의 크기의 총합, 상기 수신데이터의 크기 및 세그먼트당 최대 크기에 기초하여, 종료세그먼트의 수신 여부를 판단하는 것을 특징으로 하는 네트워크 보안 장치.
8. The method of claim 7,
The receiving unit
Wherein the determination unit determines whether to receive the end segment based on the total size of the at least one segment received so far, the size of the received data, and the maximum size per segment.
제7항에 있어서,
상기 가상패치부는 화이트리스트 규칙 및 블랙리스트 규칙 중 적어도 하나에 기초하여, 상기 재조립데이터가 비정상 데이터인지 판단하는 것을 특징으로 하는 네트워크 보안 장치.
8. The method of claim 7,
Wherein the virtual patch section determines whether the reassembled data is abnormal data based on at least one of a whitelist rule and a blacklist rule.
제11항에 있어서,
상기 재조립데이터가 비정상 데이터이면, 상기 재조립데이터가 비정상 데이터인 원인에 대한 정보를 포함하는 알람정보를 생성하는 알람부
를 더 포함하는 것을 특징으로 하는 네트워크 보안 장치.
12. The method of claim 11,
If the reassembled data is abnormal, generating an alarm information including information on a cause that the reassembled data is abnormal data,
The network security device further comprising:
KR1020170065975A 2017-05-29 2017-05-29 Method and apparatus for security in network device KR101993648B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170065975A KR101993648B1 (en) 2017-05-29 2017-05-29 Method and apparatus for security in network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170065975A KR101993648B1 (en) 2017-05-29 2017-05-29 Method and apparatus for security in network device

Publications (2)

Publication Number Publication Date
KR20180130196A KR20180130196A (en) 2018-12-07
KR101993648B1 true KR101993648B1 (en) 2019-06-27

Family

ID=64669490

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170065975A KR101993648B1 (en) 2017-05-29 2017-05-29 Method and apparatus for security in network device

Country Status (1)

Country Link
KR (1) KR101993648B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113872918A (en) * 2020-06-30 2021-12-31 苏州三六零智能安全科技有限公司 Network traffic classification method, equipment, storage medium and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913900B1 (en) * 2005-05-04 2009-08-26 삼성전자주식회사 A method and apparatus for transmitting/receiving packet data using predefined length indicator in mobile communication system
US20120076148A1 (en) * 2010-09-28 2012-03-29 Hon Hai Precision Industry Co., Ltd. Modem and packet processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100913900B1 (en) * 2005-05-04 2009-08-26 삼성전자주식회사 A method and apparatus for transmitting/receiving packet data using predefined length indicator in mobile communication system
US20120076148A1 (en) * 2010-09-28 2012-03-29 Hon Hai Precision Industry Co., Ltd. Modem and packet processing method

Also Published As

Publication number Publication date
KR20180130196A (en) 2018-12-07

Similar Documents

Publication Publication Date Title
US10375086B2 (en) System and method for detection of malicious data encryption programs
CN110475124B (en) Video jamming detection method and device
US20160277547A1 (en) Packet monitoring device and packet monitoring method for communication packet
CN104901971A (en) Method and device for carrying out safety analysis on network behaviors
WO2015018314A1 (en) Method, device and system for detecting whether account is stolen
JP3957712B2 (en) Communication monitoring system
CN112134893B (en) Internet of things safety protection method and device, electronic equipment and storage medium
CN109040140B (en) Slow attack detection method and device
CN111988309B (en) ICMP hidden tunnel detection method and system
CN107209834B (en) Malicious communication pattern extraction device, system and method thereof, and recording medium
CN115632878A (en) Data transmission method, device and equipment based on network isolation and storage medium
US10296746B2 (en) Information processing device, filtering system, and filtering method
CN102111400B (en) Trojan horse detection method, device and system
US11405411B2 (en) Extraction apparatus, extraction method, computer readable medium
KR101993648B1 (en) Method and apparatus for security in network device
CN105939328A (en) Method and device for updating network attack feature library
CN116055214A (en) Attack detection method, device, equipment and readable storage medium
CN111343206B (en) Active defense method and device for data flow attack
CN113162885B (en) Safety protection method and device for industrial control system
CN113704569A (en) Information processing method and device and electronic equipment
CN110574348B (en) Data processing apparatus and method
EP3562149B1 (en) Software upgrade method and device
KR101606090B1 (en) Apparatus and method for protecting network
US9811660B2 (en) Securing a shared serial bus
CN114006733A (en) Method and system for verifying data transmission integrity

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