KR20180015791A - Device for detecting anomaly of vehicle based on sequence mining - Google Patents

Device for detecting anomaly of vehicle based on sequence mining Download PDF

Info

Publication number
KR20180015791A
KR20180015791A KR1020160099162A KR20160099162A KR20180015791A KR 20180015791 A KR20180015791 A KR 20180015791A KR 1020160099162 A KR1020160099162 A KR 1020160099162A KR 20160099162 A KR20160099162 A KR 20160099162A KR 20180015791 A KR20180015791 A KR 20180015791A
Authority
KR
South Korea
Prior art keywords
sequence
pattern
detector
messages
communication system
Prior art date
Application number
KR1020160099162A
Other languages
Korean (ko)
Other versions
KR101843930B1 (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 KR1020160099162A priority Critical patent/KR101843930B1/en
Publication of KR20180015791A publication Critical patent/KR20180015791A/en
Application granted granted Critical
Publication of KR101843930B1 publication Critical patent/KR101843930B1/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

The present invention discloses a device for detecting a defect symptom of a vehicle based on a sequence mining which generates a pattern from an ID sequence of a controller area network (CAN) message by using a sequence mining technique and can determine whether a vehicle is abnormal. The detecting device comprises a pattern generating part. The pattern generating part includes: a first message receiving part receiving a plurality of messages sequentially generated in a communication system; a first ID extracting part extracting a transmission ID from each of the plurality of messages, and outputting the ID sequence; and a normal pattern generating part generating the pattern of the ID from the ID sequence.

Description

시퀀스 마이닝 기반의 차량 이상 징후 탐지 장치{DEVICE FOR DETECTING ANOMALY OF VEHICLE BASED ON SEQUENCE MINING}TECHNICAL FIELD [0001] The present invention relates to a device for detecting a vehicle abnormality based on sequence mining,

본 발명의 개념에 따른 실시 예는 차량 이상 징후 탐지 장치에 관한 것으로, 특히 시퀀스 마이닝 기법을 이용하여 CAN 메시지의 ID 시퀀스로부터 패턴을 생성하고, 이를 통하여 차량의 이상 여부를 결정할 수 있는, 시퀀스 마이닝 기반의 차량 이상 징후 탐지 장치에 관한 것이다.An embodiment according to the concept of the present invention relates to a vehicle abnormality detection apparatus, and more particularly, to a system and method for generating a pattern from an ID sequence of a CAN message using a sequence mining technique, To a vehicle abnormality detection device.

IT(Information Technology)의 발전과 함께 차량 제어 시스템이 기계식에서 전자식으로 전환되는 비율이 증가하는 추세를 보이며, 전자식 제어로 인해 OBD-Ⅱ(On-Board Diagnostics) 단자를 통한 연결과 텔레매틱스 서비스를 통해 차량 내부 네트워크로의 접근이 용이해졌다.With the development of information technology (IT), there is a trend of increasing the rate of conversion of the vehicle control system from mechanical to electronic, and the electronic control allows connection via OBD-II (On-Board Diagnostics) Access to the internal network has become easier.

또한, 차량에 정보통신기술을 융합시키기 위해 ECU(Electronic Control Unit)의 사용이 필수적으로 요구된다. 차량 내부에는 복수의 ECU들이 탑재되며, ECU들 사이의 효율적인 통신을 위해 CAN(Controller Area Network), LIN(Local Interconnect Network), MOST(Media Oriented System Transport), FlexRay 등 다양한 통신 기법들이 차량 내부 네트워크에 적용되고 있다.In addition, the use of an ECU (Electronic Control Unit) is indispensable for fusing information and communication technology in a vehicle. A number of ECUs are installed inside the vehicle. Various communication techniques such as CAN (Controller Area Network), LIN (Local Interconnect Network), MOST (Media Oriented System Transport) and FlexRay are used for efficient communication between ECUs. .

CAN은 차량 네트워크에 사용하기 위해 개발된 네트워크 프로토콜로 복수의 ECU들이 서로 통신할 수 있도록 경제적이며 안정적인 네트워크를 제공하는 기술이다. 각각이 ECU는 CAN 버스에 브로드캐스팅되는 모든 메시지를 확인하여 자신과 관련된 메시지만을 필터링하여 제어를 수행하게 된다.CAN is a network protocol developed for use in vehicle networks, providing a cost-effective and reliable network for multiple ECUs to communicate with each other. Each ECU checks all messages broadcast on the CAN bus and performs control by filtering only the messages related to itself.

하지만, CAN은 모든 ECU에 메시지를 전달하는 브로드캐스팅 프로토콜임에도 불구하고 데이터 암호화나 인증 기능을 대부분 제공하지 않기 때문에 메시지 주입 등의 공격에 취약하다. 본 발명은 차량 내부 네트워크의 메시지, 특히 CAN 메시지의 시퀀스를 분석하여 차량의 이상 징후를 탐지하고자 한다.However, CAN is vulnerable to attacks such as message injection, because it does not provide most of the data encryption and authentication functions even though it is a broadcasting protocol that delivers messages to all ECUs. The present invention seeks to detect a vehicle anomaly by analyzing a message in a vehicle internal network, in particular a sequence of CAN messages.

대한민국 등록특허 제1446525호(2014.09.25. 등록)Korean Registered Patent No. 1446525 (Registered on September 25, 2014) 일본국 공개특허 제2013-048374호(2013.03.07. 공개)Japanese Laid-Open Patent Application No. 2013-048374 (published on Mar. 03, 2013) 미합중국 공개특허 제2008-0133955호(2008.06.05. 공개)United States Patent Publication No. 2008-0133955 (published on June 5, 2008)

본 발명이 이루고자 하는 기술적인 과제는 시퀀스 마이닝 기법을 이용하여 CAN 메시지의 ID 시퀀스로부터 패턴을 생성하고, 이를 통하여 차량의 이상 여부를 결정할 수 있는, 시퀀스 마이닝 기반의 차량 이상 징후 탐지 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention provides a device for detecting a vehicle abnormality based on sequence mining capable of generating a pattern from an ID sequence of a CAN message using a sequence mining technique and determining whether the vehicle is abnormal .

본 발명의 실시 예에 따른 차량 이상 징후 탐지 장치는, 패턴 생성부를 포함하고, 상기 패턴 생성부는 통신 시스템 내에서 순차적으로 발생하는 복수의 메시지들을 수신하는 제1 메시지 수신부, 상기 복수의 메시지들 각각으로부터 송신 아이디를 추출하여 아이디 시퀀스를 출력하는 제1 아이디 추출부, 및 상기 아이디 시퀀스로부터 아이디의 패턴을 생성하는 정상 패턴 생성부를 포함한다.The vehicle abnormality detection apparatus according to an embodiment of the present invention includes a pattern generation unit, wherein the pattern generation unit includes: a first message reception unit that receives a plurality of messages sequentially generated in the communication system; A first ID extracting unit for extracting a transmission ID and outputting an ID sequence, and a normal pattern generating unit for generating a pattern of IDs from the ID sequence.

또한, 본 발명의 다른 실시 예에 따른 차량 이상 징후 탐지 장치는, 이상 탐지부를 포함하고, 상기 이상 탐지부는 통신 시스템 내에서 순차적으로 발생하는 복수의 메시지들을 수신하는 메시지 수신부, 상기 복수의 메시지들 각각으로부터 송신 아이디를 추출하여 아이디 시퀀스를 출력하는 아이디 추출부, 및 상기 아이디 시퀀스와 미리 저장되어 있는 복수의 아이디 패턴들을 비교하여 차량의 이상 여부를 결정하는 유사도 계산부를 포함하고, 상기 유사도 계산부는 미리 정해진 길이를 갖는 상기 아이디 시퀀스와 상기 복수의 아이디 패턴들 각각의 편집 거리를 계산하고, 계산된 편집 거리 중 가장 작은 값을 갖는 편집 거리를 유사도로 결정한다.According to another aspect of the present invention, there is provided a vehicle abnormality detection apparatus including an abnormality detection unit, wherein the abnormality detection unit comprises: a message reception unit for receiving a plurality of messages sequentially occurring in the communication system; And a similarity calculation unit for determining whether the vehicle is abnormal by comparing the ID sequence with a plurality of ID patterns previously stored in the ID sequence, And the editing distance of each of the plurality of ID patterns is calculated, and the editing distance having the smallest value among the calculated editing distances is determined as the similarity.

본 발명의 실시 예에 따른 시퀀스 마이닝 기반의 차량 이상 징후 탐지 장치에 의할 경우, 주행 중인 차량을 대상으로 하는 메시지 주입 공격 등을 실시간으로 탐지할 수 있는 효과가 있다.In the case of the vehicle abnormality detection apparatus based on the sequence mining according to the embodiment of the present invention, a message injection attack targeting a vehicle under running can be detected in real time.

또한, 차량의 CAN 메시지 시퀀스를 통해 외부 공격 또는 내부 이상을 탐지하기 때문에 필요한 컴퓨팅 자원이 적고, 신속하게 차량의 이상 여부를 탐지할 수 있으며, 차량의 이상 징후를 운전자에게 신속히 알려 교통 사고를 예방할 수 있는 효과가 있다.In addition, since the CAN message sequence of the vehicle detects an external attack or an internal abnormality, it is possible to detect the abnormality of the vehicle in a short time without requiring a small amount of computing resources and to promptly inform the driver of the abnormality of the vehicle, There is an effect.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 의한 통신 시스템을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 CAN 프로토콜의 데이터 프레임의 일 예를 도시한다.
도 3은 도 1에 도시된 탐지 장치의 기능 블럭도이다.
도 4는 분할된 ID 시퀀스로부터 정상 패턴을 생성하는 과정의 일 예를 도시하는 도면으로, 도 4a는 분할된 ID 시퀀스의 일 예(좌)와 서열 정렬된 ID 시퀀스의 일 예(우)를, 도 4b는 서열 정렬된 ID 시퀀스의 일 예(좌)로부터 추출된 패턴의 일 예(우)를 도시한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 shows a communication system according to an embodiment of the present invention.
FIG. 2 shows an example of a data frame of the CAN protocol according to an embodiment of the present invention.
3 is a functional block diagram of the detection device shown in Fig.
FIG. 4A is a diagram showing an example of a process of generating a normal pattern from a divided ID sequence. FIG. 4A illustrates an example (right) of a sequence of ID sequences and an example (right) FIG. 4B shows an example (right) of a pattern extracted from an example (left) sequence of SEQ IDs.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional description of embodiments of the present invention disclosed herein is for illustrative purposes only and is not intended to limit the scope of the inventive concept But may be embodied in many different forms and is not limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.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 no other element exists in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like are used to specify that there are features, numbers, steps, operations, elements, parts or combinations thereof described herein, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, 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 meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings attached hereto.

도 1은 본 발명의 일 실시 예에 의한 통신 시스템을 도시한다. 통신 시스템(10)은 차량용 통신 시스템을 의미할 수 있으며, 구체적으로는 CAN(Controller Area Network) 통신 시스템일 수 있다. 그러나 본 발명이 통신 시스템(10)의 종류에 제한되는 것은 아니며, 실시 예에 따라 통신 시스템(10)은 CAN FD(CAN with Rlexible Data-Rate), FlexRay, LIN(Local Interconnect Network) 또는 MOST(Multimedia Oriented Systems Transport) 통신 시스템일 수도 있다.1 shows a communication system according to an embodiment of the present invention. The communication system 10 may refer to a vehicle communication system, specifically, a CAN (Controller Area Network) communication system. However, the present invention is not limited to the type of the communication system 10, and the communication system 10 may be a CAN (Flexible Data Rate), a FlexRay, a Local Interconnect Network (LIN) Oriented Systems Transport) communication system.

도 1을 참조하면, 통신 시스템(10)은 복수의 ECU(Electronic Control Unit)들, 탐지 장치(100), 및 버스(bus; 12)를 포함한다. 도 1에는 총 4개의 ECU들(ECUA 내지 ECUD)만이 도시되어 있으나, 통신 시스템(10)에 포함된 ECU의 개수는 n(n은 2 이상의 자연수)일 수 있다.Referring to FIG. 1, a communication system 10 includes a plurality of ECUs (Electronic Control Units), a detection device 100, and a bus 12. Although only four ECUs (ECU A to ECUD) are shown in FIG. 1, the number of ECUs included in the communication system 10 may be n (n is a natural number of 2 or more).

상기 복수의 ECU들은 제1 ECU(ECUA), 제2 ECU(ECUB), 제3 ECU(ECUC), 제4 ECU(ECUD)를 포함한다. 또한, 버스(12)는 두 개의 통신선, CAN-H(또는 CAN High) 및 CAN-L(또는 CAN Low)을 포함할 수 있다. 이때, 디지털 '0'(dominant state)의 값을 전송하는 경우 CAN-H에 약 3.5V, CAN-L에 약 1.5V의 전압이 흐를 수 있으며, 디지털 '1'(recessive)의 값을 전송하는 경우 CAN-H 및 CAN-L에 약 2.5V의 전압이 흐를 수 있다.The plurality of ECUs includes a first ECU (ECU A), a second ECU (ECUB), a third ECU (ECUC), and a fourth ECU (ECUD). The bus 12 may also include two communication lines, CAN-H (or CAN High) and CAN-L (or CAN Low). In this case, when a value of a digital '0' (dominant state) is transmitted, a voltage of about 3.5 V can be applied to the CAN-H and a voltage of about 1.5 V can be applied to the CAN- CAN-H and CAN-L can have a voltage of about 2.5V.

차량의 이상징후 탐지 장치, 이상 탐지 장치 등으로 명명될 수도 있는 탐지 장치(100)는 ECU의 일종으로 구현될 수 있다. 탐지 장치(100)는 통신 시스템(10) 내에서 발생하는 또는 전송되는 메시지, 예컨대 CAN 메시지를 모니터링하여 차량의 이상 여부를 감지할 수 있다.The detection device 100, which may be called an abnormality detection device of a vehicle, an abnormality detection device, or the like, may be implemented as a kind of ECU. Detector 100 may monitor a message, e.g., a CAN message, that is generated or transmitted within communication system 10 to detect anomalies in the vehicle.

도 1에서, 탐지 장치(100)는 통신 시스템(10)의 일부 구성으로 도시되고 설명되었으나, 실시 예에 따라서는 탐지 장치(100)는 통신 시스템(10)과는 별도로 구현될 수도 있다. 구체적으로, 통신 시스템(10)이 CAN 통신 시스템일 때 탐지 장치(100)는 소정의 단자, 예컨대 OBD-2(On Board Diagnostics) 단자를 통하여 통신 시스템(10)으로부터 메시지를 수신할 수도 있다.1, the detection apparatus 100 is shown and described as being part of the configuration of the communication system 10. However, the detection apparatus 100 may be implemented separately from the communication system 10, depending on the embodiment. Specifically, when the communication system 10 is a CAN communication system, the detection device 100 may receive a message from the communication system 10 via a predetermined terminal, for example, an OBD-2 (On Board Diagnostics) terminal.

상기 복수의 ECU들 각각은 대응되는 전자 장치의 동작을 제어할 수 있으며, 버스(12)를 통하여 다른 ECU와 통신할 수 있다. 이때, 상기 복수의 ECU들 각각은 메시지를 송신하거나 수신하기 위한 송수신기를 포함할 수 있으며, 실시 예에 따라 상기 송수신기는 대응되는 ECU와 별도로 구현될 수도 있다.Each of the plurality of ECUs can control the operation of the corresponding electronic device and can communicate with other ECUs via the bus 12. [ At this time, each of the plurality of ECUs may include a transceiver for transmitting or receiving a message, and the transceiver may be implemented separately from the corresponding ECU according to an embodiment.

ECU들은 버스(12), 예컨대 CAN 통신 버스에 연결되어 있고 브로드캐스트(broadcast) 방식으로 통신할 수 있다. 데이터(또는 메시지)를 전송하고자 하는 ECU가 CAN 데이터 규격에 수신 ECU의 ID와 전송하고자 하는 정보를 포함하여 버스(12)에 브로드캐스트하면, 버스(12)에 연결된 모든 ECU가 수신하고 CAN 데이터 규격에 포함된 수신 ECU의 ID에 해당하는 ECU만이 CAN 데이터를 처리하는 방식이다.The ECUs are connected to the bus 12, for example a CAN communication bus, and can communicate in a broadcast manner. When an ECU that wants to transmit data (or a message) broadcasts to the bus 12 including the ID of the receiving ECU and the information to be transmitted in the CAN data standard, all the ECUs connected to the bus 12 receive it, Only the ECU corresponding to the ID of the receiving ECU included in the CAN data processing unit processes the CAN data.

도 2는 본 발명의 일 실시 예에 따른 CAN 프로토콜의 데이터 프레임의 일 예를 도시한다.FIG. 2 shows an example of a data frame of the CAN protocol according to an embodiment of the present invention.

도 2를 참조하면, 데이터 프레임(또는 CAN 메시지)은 SOF(Start of Frame) 필드, ID(arbitration) 필드, RTR 필드, Control 필드, Data 필드, CRC 필드, ACK 필드, 및 EOF(End of Frame) 필드로 구성될 수 있다.2, a data frame (or a CAN message) includes a Start of Frame (SOF) field, an ID (arbitration) field, an RTR field, a Control field, a Data field, a CRC field, an ACK field, and an End of Frame (EOF) Field.

SOF 필드는 데이터 프레임의 시작을 나타내는 필드로서 1 비트가 할당되며, ID 필드는 데이터 프레임의 송신자를 식별할 수 있는 ID 정보를 나타내며 11 비트가 할당될 수 있다. RTR 필드는 리모트 프레임과 데이터 프레임을 구별하는 필드로서 1 비트가 할당되며, 리모트 프레임일 경우의 신호 종류는 1, 데이터 프레임일 경우의 신호 종류는 0이다. 본 발명에서는 상기 ID 필드에 포함된 송신자의 ID를 이용하여 CAN 메시지를 송신한 ECU의 ID를 추출할 수 있으며, 본 명세서에서 ID라 함은 CAN 메시지를 송신한 ECU의 ID를 의미할 수 있다.The SOF field is a field indicating the start of a data frame and is assigned 1 bit, and the ID field indicates ID information capable of identifying the sender of the data frame and 11 bits can be allocated. The RTR field is a field that distinguishes between a remote frame and a data frame. One bit is assigned to the RTR field. The signal type for a remote frame is 1, and the signal type for a data frame is 0. In the present invention, the ID of the ECU that has transmitted the CAN message can be extracted using the ID of the sender included in the ID field. In the present specification, the ID can refer to the ID of the ECU that transmitted the CAN message.

Control 필드에는 총 6 비트가 할당되는데, 그 중에서 2 비트는 예약 비트로서 고정값 '00'을 출력하고, 나머지 4 비트는 다음에 연속되는 Data 필드의 데이터 길이(length)를 나타낼 수 있다.A total of 6 bits are assigned to the Control field. Of these bits, 2 bits output a fixed value '00' as a reserved bit, and the remaining 4 bits can indicate the data length of a subsequent Data field.

Data 필드에는 데이터 프레임의 데이터를 의미하며 최대 64 비트가 할당될 수 있다. CRC 필드에는 16 비트가 할당되며, 15 비트(CRC Sequence)는 데이터 프레임의 CRC 값을 의미하며, 1 비트(CRC delimiter)는 CRC 값의 끝을 의미하며 고정값 '1'을 출력할 수 있다.The Data field indicates data of a data frame, and a maximum of 64 bits can be allocated. 16 bits are assigned to the CRC field, 15 bits (CRC Sequence) means the CRC value of the data frame, 1 bit (CRC delimiter) means the end of the CRC value, and a fixed value '1' can be output.

ACK 필드에는 2 비트가 할당되며 데이터의 수신 여부를 알 수 있는 정보가 실린다. 즉, 임의의 데이터 송신자가 특정 데이터가 포함된 데이터 프레임을 CAN 버스(12)에 실어 주면, CAN 버스(12)에 연결된 모든 ECU는 현재 CAN 버스(12)에 실린 데이터가 자신에게 필요한 데이터인지를 확인하여, 필요한 데이터라고 판단되면 CAN 버스(12)에 실린 데이터를 수신한다. 이때, 데이터를 수신한 ECU는 데이터 송신자가 출력한 데이터 프레임의 ACK 필드에 자신이 데이터를 수신하였음을 알려주는 정보를 실어줌으로써, 데이터 송신자가 동일한 데이터를 계속해서 출력하지 않도록 한다. 즉, 임의의 데이터 송신자가 출력하는 데이터는 CAN 버스(12)에 실린 후 다시 자신에게 피드백(Feedback)될 수 있는데, 피드백되는 데이터 프레임의 ACK 필드에 실린 정보를 토대로 동일한 데이터를 재전송할 것인지의 여부를 결정하게 된다. 1 비트(ACK slot)는 ACK 비트이며, 나머지 1 비트(ACK delimiter)는 ACK 값의 끝을 의미하며 고정값 '1'을 출력한다.2 bits are allocated to the ACK field, and information indicating whether data is received is displayed. In other words, if an arbitrary data sender loads a data frame containing specific data on the CAN bus 12, all the ECUs connected to the CAN bus 12 determine whether the data currently stored on the CAN bus 12 is data necessary for itself And if it is determined that the necessary data is received, the data stored in the CAN bus 12 is received. At this time, the ECU that has received the data transmits to the ACK field of the data frame output by the data sender information indicating that it has received the data, so that the data sender does not continue to output the same data. That is, the data output by an arbitrary data sender can be fed back to itself after being loaded on the CAN bus 12, and it is determined whether to retransmit the same data based on the information in the ACK field of the data frame to be fed back . 1 bit (ACK slot) is the ACK bit, and the remaining 1 bit (ACK delimiter) means the end of the ACK value and outputs the fixed value '1'.

마지막으로, 프레임의 끝을 알리는 EOF(End of Frame) 필드에는 7 비트가 할당되며 고정값 '1111111'이 출력된다.Finally, 7 bits are allocated to the end of frame (EOF) field indicating the end of the frame, and the fixed value '1111111' is output.

상술된 예시적인 CAN 데이터 프레임은 실시 예에 따라 변화할 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.It will be apparent to those skilled in the art that the above-described exemplary CAN data frame may vary depending on the embodiment.

도 3은 도 1에 도시된 탐지 장치의 기능 블럭도이다. 도 4는 분할된 ID 시퀀스로부터 정상 패턴을 생성하는 과정의 일 예를 도시하는 도면으로, 도 4a는 분할된 ID 시퀀스의 일 예(좌)와 서열 정렬된 ID 시퀀스의 일 예(우)를, 도 4b는 서열 정렬된 ID 시퀀스의 일 예(좌)로부터 추출된 패턴의 일 예(우)를 도시한다.3 is a functional block diagram of the detection device shown in Fig. FIG. 4A is a diagram showing an example of a process of generating a normal pattern from a divided ID sequence. FIG. 4A illustrates an example (right) of a sequence of ID sequences and an example (right) FIG. 4B shows an example (right) of a pattern extracted from an example (left) sequence of SEQ IDs.

도 1 내지 도 4를 참조하면, 탐지 장치(100)는 패턴 생성부(110)와 이상 탐지부(130) 중 적어도 하나를 포함할 수 있고, 실시 예에 따라 탐지 장치(100)는 DB(database, 150)를 더 포함할 수 있다.1 to 4, the detection apparatus 100 may include at least one of the pattern generation unit 110 and the abnormality detection unit 130. According to an embodiment, the detection apparatus 100 includes a database , 150).

패턴 생성부(110)는 차량이 주행 중, 특히 정상적인 주행 중에 순차적으로 발생하는 메시지를 수신하여, 각각의 메시지로부터 송신 ECU의 ID를 추출하고, 추출된 ID로부터 소정의 패턴, 예컨대 정상 패턴(또는 정상 주행 패턴)을 생성할 수 있다. 또한, 생성된 패턴은 패턴 생성부(110)에 의해 DB(150)에 저장될 수 있다.The pattern generating unit 110 receives messages sequentially generated during running, particularly during normal running, extracts the IDs of the transmitting ECUs from the respective messages, and extracts a predetermined pattern, for example, a normal pattern Normal running pattern) can be generated. Also, the generated pattern may be stored in the DB 150 by the pattern generation unit 110.

이상 탐지부(130)는 차량의 주행(실제 주행) 중에 순차적으로 발생하는 메시지를 수신하여, 각각의 메시지로부터 송신 ECU의 ID를 추출하고, 추출된 ID의 시퀀스와 DB(150)에 저장되어 있는 패턴(또는 주행 패턴)을 비교하여 차량의 이상 여부를 감지할 수 있다.The abnormality detection unit 130 receives messages sequentially generated during the running (actual running) of the vehicle, extracts the IDs of the sending ECUs from the respective messages, and stores the extracted sequences of IDs and the IDs It is possible to detect the abnormality of the vehicle by comparing the pattern (or the traveling pattern).

DB(150)에는 발생되는 메시지의 송신 ID의 시퀀스에 관한 적어도 하나의 패턴이 저장되어 있을 수 있다. 상기 패턴은 패턴 생성부(110)에 의해 생성된 패턴이거나, 미리 저장된 패턴일 수 있다.The DB 150 may store at least one pattern related to a sequence of transmission IDs of generated messages. The pattern may be a pattern generated by the pattern generation unit 110 or a previously stored pattern.

구체적으로, 패턴 생성부(110)는 제1 메시지 수신부(111), 제1 ID 추출부(113), 및 정상 패턴 생성부(115)를 포함한다.Specifically, the pattern generating unit 110 includes a first message receiving unit 111, a first ID extracting unit 113, and a normal pattern generating unit 115.

제1 메시지 수신부(111)는 통신 시스템(10) 내에서 순차적으로 발생하는 CAN 메시지들을 수신할 수 있다. 제1 메시지 수신부(111)는 통신 시스템(10)의 버스(12)를 통하여 CAN 메시지들을 수신하거나 OBD-2 단자를 통하여 CAN 메시지들을 수신할 수 있다.The first message receiving unit 111 may receive CAN messages sequentially occurring in the communication system 10. [ The first message receiving unit 111 can receive CAN messages via the bus 12 of the communication system 10 or receive CAN messages via the OBD-2 terminal.

제1 ID 추출부(113)는 순차적으로 수신된 CAN 메시지들 각각을 송신한 ECU의 ID, 즉 송신 ID를 추출할 수 있다. 제1 ID 추출부(113)은 ID 시퀀스를 출력할 수 있다.The first ID extracting unit 113 can extract the ID of the ECU that has transmitted each of the sequentially received CAN messages, that is, the transmission ID. The first ID extracting unit 113 can output an ID sequence.

정상 패턴 생성부(115)는 제1 ID 추출부(113)로부터 출력된 ID 시퀀스로부터 소정의 패턴, 예컨대 정상 패턴(또는 정상 주행 패턴)을 생성할 수 있다. 생성된 정상 패턴은 DB(150)에 저장될 수 있다.The normal pattern generating unit 115 may generate a predetermined pattern, for example, a normal pattern (or normal traveling pattern) from the ID sequence output from the first ID extracting unit 113. [ The generated normal pattern can be stored in the DB 150.

정상 패턴 생성부(115)의 구체적인 동작은 다음과 같다.The specific operation of the normal pattern generating unit 115 is as follows.

우선, 정상 패턴 생성부(115)는 상기 ID 시퀀스를 미리 정해진 단위(예컨대, k(k는 2 이상의 자연수) 개의 ID를 포함하는 ID 시퀀스)로 분할 할 수 있다. 분할된 ID 시퀀스의 일 예는 도 4a(좌)에 도시되어 있다.First, the normal pattern generation unit 115 can divide the ID sequence into ID sequences (for example, ID sequences including k IDs (k is a natural number of 2 or more)) in a predetermined unit. One example of the divided ID sequence is shown in Fig. 4A (left).

다음으로, 정상 패턴 생성부(115)는 서열 정렬(Sequence Alignment) 기법, 구체적으로는 다중 서열 정렬(Multiple Sequence Alignment) 기법을 이용하여 분할된 ID 시퀀스들 각각을 재정렬할 수 있다. 서열 정렬된 ID 시퀀스들의 일 예는 도 4a(우)에 도시되어 있다.Next, the normal pattern generation unit 115 may rearrange each of the divided ID sequences using a sequence alignment technique, specifically, a multiple sequence alignment technique. One example of sequence sequences is shown in FIG. 4A (right).

마지막으로, 정상 패턴 생성부(115)는 서열 정렬된 ID 시퀀스들로부터 소정의 패턴을 생성할 수 있다. 정상 패턴 생성부(115)는 일정 길이 구간에 속하는 패턴만 정상 패턴으로 생성할 수 있다. 상기 일정 길이 구간이란 패턴의 포함되어야 하는 길이를 의미할 수 있다. 추출된 패턴의 일 예는 도 4b(우)에 도시되어 있다.Finally, the normal pattern generating unit 115 may generate a predetermined pattern from the sequence sequences. The normal pattern generating unit 115 can generate only a pattern belonging to a predetermined length section in a normal pattern. The predetermined length section may mean a length in which the pattern should be included. An example of the extracted pattern is shown in Fig. 4B (right).

이상과 같이, 정상 패턴 생성부(115)는 상기 과정을 반복 수행함으로써 복수개의 정상 패턴들을 생성할 수 있다.As described above, the normal pattern generation unit 115 can generate a plurality of normal patterns by repeating the above-described process.

이상 탐지부(130)는 제2 메시지 수신부(131), 제2 ID 추출부(133), 및 유사도 계산부(135)를 포함한다.The anomaly detection unit 130 includes a second message reception unit 131, a second ID extraction unit 133, and a similarity calculation unit 135.

제2 메시지 수신부(131)는 통신 시스템(10) 내에서 순차적으로 발생하는 CAN 메시지들을 수신할 수 있다. 제1 메시지 수신부(131)는 통신 시스템(10)의 버스(12)를 통하여 CAN 메시지들을 수신하거나 OBD-2 단자를 통하여 CAN 메시지들을 수신할 수 있다.The second message receiving unit 131 may receive CAN messages sequentially occurring in the communication system 10. [ The first message receiver 131 can receive CAN messages via the bus 12 of the communication system 10 or receive CAN messages via the OBD-2 terminal.

제2 ID 추출부(133)는 순차적으로 수신된 CAN 메시지들 각각을 송신한 ECU의 ID, 즉 송신 ID를 추출할 수 있다. 제2 ID 추출부(133)는 ID 시퀀스를 출력할 수 있다.The second ID extracting unit 133 can extract the ID of the ECU that has transmitted each of the sequentially received CAN messages, that is, the transmission ID. The second ID extracting unit 133 can output an ID sequence.

유사도 계산부(135)는 제2 ID 추출부(133)로부터 출력된 ID 시퀀스와 DB(150)에 저장되어 있는 적어도 하나의 정상 패턴 사이의 유사도를 계산하고, 계산된 유사도에 따라 차량의 이상 유무를 판단할 수 있다. 상기 유사도는 편집 거리(edit distance)를 의미할 수 있다. 상기 편집 거리는 입력 문자열과 비교 문자열이 동일해지기 위해서 필요한 연산(수정, 삽입 또는 삭제)의 횟수를 의미하며, 거리(distance)라고도 한다. 연산의 횟수가 적을수록(즉, 거리(distance)가 낮을수록) 유사하다(유사도가 높다)고 정의될 수 있다.The similarity calculation unit 135 calculates the similarity between the ID sequence output from the second ID extraction unit 133 and at least one normal pattern stored in the DB 150, Can be determined. The similarity may mean an edit distance. The editing distance means the number of operations (correction, insertion, or deletion) required to make the input character string and the comparison character string equal, and is also referred to as a distance. It can be defined that the smaller the number of operations (i.e., the lower the distance) is, the higher the similarity is.

유사도 계산부(135)의 구체적인 동작은 다음과 같다.The specific operation of the similarity calculation unit 135 is as follows.

우선, 유사도 계산부(135)는 미리 정해진 개수만큼의 ID를 포함하는 ID 시퀀스를 추출한다. 실시 예에 따라 유사도 계산부(135)는 제2 ID 추출부(133)로부터 출력되는 미리 정해진 개수만큼의 ID를 포함하는 ID 시퀀스를 수신할 수도 있다.First, the similarity calculation unit 135 extracts ID sequences including a predetermined number of IDs. The similarity calculation unit 135 may receive an ID sequence including a predetermined number of IDs outputted from the second ID extraction unit 133. [

다음으로, 유사도 계산부(135)는 추출된 ID 시퀀스와 DB(150)에 저장되어 있는 복수의 정상 패턴들 각각과의 편집 거리(edit distance)를 계산할 수 있다. 이때, 가장 작은 값을 갖는 편집 거리를 추출된 ID 시퀀스와 정상 패턴 사이의 유사도라 할 수 있다.Next, the similarity calculation unit 135 may calculate an edit distance between the extracted ID sequence and each of the plurality of normal patterns stored in the DB 150. At this time, the edit distance having the smallest value can be regarded as the similarity between the extracted ID sequence and the normal pattern.

다음의 표 1은 임의의 ID 시쿼스({27, 17})와 임의의 정상 패턴({31, 17, 52, 41}) 사이의 편집 거리를 계산하는 일 예를 보여준다.Table 1 below shows an example of calculating the edit distance between an arbitrary ID sequence ({27, 17}) and an arbitrary normal pattern ({31, 17, 52, 41}).

횟수Number of times 연산 유형Operation Type 변경 전Before change 변경 후after change 입력 시퀀스Input sequence 비교 시퀀스Comparison sequence 00 초기상태Initial state {27, 17}{27, 17} {31, 17, 52, 41}{31, 17, 52, 41} 1One 수정Modified 2727 3131 {31, 17}{31, 17} {31, 17, 52, 41}{31, 17, 52, 41} 22 삽입insertion 없음none 5252 {31, 17, 52}{31, 17, 52} {31, 17, 52, 41}{31, 17, 52, 41} 33 삽입insertion 없음none 4141 {31, 17, 52, 41}{31, 17, 52, 41} {31, 17, 52, 41}{31, 17, 52, 41}

우선, 입력 시퀀스 {27, 17}를 비교 시퀀스 {31, 17, 52, 41}와 동일하게 하기 위해서 입력 시퀀스 {27, 17}에 포함되어 있는 ID "27"을 "31"로 수정하는 연산이 필요하다. An operation of modifying the ID "27" included in the input sequence {27, 17} to "31" in order to make the input sequence {27, 17} equal to the comparison sequence {31, 17, 52, 41} need.

다음으로, 시퀀스 {31, 17}에 ID "52"와 ID "41"을 삽입하는 두 번의 삽입 연산을 수행함으로써, 입력 시퀀스 {27, 17}은 비교 대상 시퀀스인 {31, 17, 52, 41}과 동일해질 수 있다. 따라서, 입력 시퀀스 {27, 17}과 비교 대상 시퀀스 {31, 17, 52, 41} 사이의 편집 거리는 "3"이다.Next, by performing two insert operations for inserting the ID "52" and the ID "41" into the sequence {31, 17}, the input sequence {27, 17} }. ≪ / RTI > Therefore, the editing distance between the input sequence {27, 17} and the comparison target sequence {31, 17, 52, 41} is "3".

다음의 표 2는 임의의 ID 시쿼스 {27, 17, 33, 41}와 임의의 정상 패턴 {31} 사이의 편집 거리를 계산하는 일 예를 보여준다.Table 2 below shows an example of calculating the edit distance between an arbitrary ID sequence {27, 17, 33, 41} and an arbitrary normal pattern {31}.

횟수Number of times 연산 유형Operation Type 변경 전Before change 변경 후after change 입력 시퀀스Input sequence 비교 시퀀스Comparison sequence 00 초기상태Initial state {27, 17, 33, 41}{27, 17, 33, 41} {31}{31} 1One 삭제delete 4141 삭제delete {27, 17, 33}{27, 17, 33} {31}{31} 22 삭제delete 3333 삭제delete {27, 17}{27, 17} {31}{31} 33 삭제delete 1717 삭제delete {27}{27} {31}{31} 44 수정Modified 2727 3131 {31}{31} {31}{31}

입력 시퀀스 {27, 17, 33, 41}을 비교 시퀀스 {31}와 동일하게 하기 위해서 입력 시퀀스 {27, 17, 33, 41}에 포함되어 있는 ID "41", "33", 및 "17"을 삭제하는 연산을 수행한 후에 ID "27"을 "31"로 수정하는 연산이 필요하다. 따라서, 입력 시퀀스 {27, 17, 33, 41}과 비교 대상 시퀀스 {31} 사이의 편집 거리는 "4"이다.41, 33, and 17 included in the input sequence {27, 17, 33, 41} to make the input sequence {27, 17, 33, 41} equal to the comparison sequence { An operation of correcting ID "27" to "31 " Therefore, the editing distance between the input sequence {27, 17, 33, 41} and the comparison target sequence {31} is "4".

다음의 표 3은 임의의 ID 시쿼스 {27, 17, 33, 41}와 임의의 정상 패턴 {31, 17, 52, 41} 사이의 편집 거리를 계산하는 일 예를 보여준다.Table 3 below shows an example of calculating the edit distance between an arbitrary ID sequence {27, 17, 33, 41} and an arbitrary normal pattern {31, 17, 52, 41}.

횟수Number of times 연산 유형Operation Type 변경 전Before change 변경 후after change 입력 시퀀스Input sequence 비교 시퀀스Comparison sequence 00 초기상태Initial state {27, 17, 33, 41}{27, 17, 33, 41} {31, 17, 52, 41}{31, 17, 52, 41} 1One 수정Modified 2727 3131 {31, 17, 33, 41}{31, 17, 33, 41} {31, 17, 52, 41}{31, 17, 52, 41} 22 수정Modified 3333 5252 {31, 17, 52, 41}{31, 17, 52, 41} {31, 17, 52, 41}{31, 17, 52, 41}

입력 시퀀스 {27, 17, 33, 41}를 비교 시퀀스 {31, 17, 52, 41}과 동일하게 하기 위해서 입력 시퀀스 {27, 17, 33, 41}에 포함되어 있는 ID "27"과 "33"을 "31"과 "52"로 수정하는 연산을 수행하여야 한다. 따라서, 입력 시퀀스 {27, 17, 33, 41}과 비교 대상 시퀀스 {31, 17, 52, 41} 사이의 편집 거리는 "2"이다.27 and 33 included in the input sequence {27, 17, 33, 41} in order to make the input sequence {27, 17, 33, 41} equal to the comparison sequence {31, "To" 31 "and" 52 ". Therefore, the editing distance between the input sequence {27, 17, 33, 41} and the comparison target sequence {31, 17, 52, 41} is "2".

마지막으로, 유사도 계산부(135)는 추출된 ID 시퀀스와 DB(150)에 저장되어 있는 정상 패턴 사이의 유사도가 미리 정해진 유사도보다 작은 경우, 다시 말해 추출된 ID 시퀀스와 DB(150)에 저장되어 있는 정상 패턴 사이의 편집 거리가 미리 정해진 편집 거리보다 큰 경우, 차량의 상태를 "비정상 상태"로 결정할 수 있다. 또한, 실시 예에 따라, 유사도 계산부(135)는 차량의 상태를 운전자에게 알리기 위하여 도시되지 않았으나 탐지 장치(100)에 포함되거나 탐지 장치(100)와는 별도로 구비된 디스플레이 장치 또는 스피커를 통하여 알림 메시지를 출력하거나 알림음을 출력할 수 있다.Finally, if the similarity between the extracted ID sequence and the normal pattern stored in the DB 150 is smaller than a predetermined similarity, the similarity calculation unit 135 stores the extracted ID sequence in the DB 150 If the edit distance between the normal patterns is larger than the predetermined edit distance, the state of the vehicle can be determined as "abnormal state ". According to the embodiment, the similarity calculation unit 135 may display a notification message (not shown) to inform the driver of the state of the vehicle through a display device or a speaker included in the detection device 100 or separately from the detection device 100, Or output a notification sound.

도 3에 도시된 탐지 장치(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.Each of the configurations of the detection apparatus 100 shown in FIG. 3 indicates that it is functionally and logically separable, and does not necessarily mean that each configuration is divided into separate physical devices or written in separate codes The average expert in the field of the invention will readily be able to deduce.

또한, 본 명세서에서 "~부"라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 "~부"는 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.Also, in this specification, "part" may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the above-mentioned "part" may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and it does not necessarily mean a physically connected code or a kind of hardware .

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

10 : 통신 시스템
100 : 탐지 장치
110 : 패턴 생성부
111 : 제1 메시지 수신부
113 : 제1 ID 추출부
115 : 정상 패턴 생성부
130 : 이상 탐지부
131 : 제2 메시지 수신부
133 : 제2 ID 추출부
135 : 유사도 계산부
150 : DB
10: Communication system
100: Detector
110: pattern generator
111: first message receiver
113: First ID extracting unit
115: normal pattern generating unit
130: abnormality detection unit
131: second message receiver
133: Second ID extracting unit
135:
150: DB

Claims (9)

패턴 생성부를 포함하는 탐지 장치에 있어서,
상기 패턴 생성부는,
통신 시스템 내에서 순차적으로 발생하는 복수의 메시지들을 수신하는 제1 메시지 수신부;
상기 복수의 메시지들 각각으로부터 송신 아이디를 추출하여 아이디 시퀀스를 출력하는 제1 아이디 추출부; 및
상기 아이디 시퀀스로부터 아이디의 패턴을 생성하는 정상 패턴 생성부를 포함하는,
탐지 장치.
A detection device comprising a pattern generation section,
Wherein the pattern generator comprises:
A first message receiver for receiving a plurality of messages sequentially occurring in the communication system;
A first ID extractor for extracting a transmission ID from each of the plurality of messages and outputting an ID sequence; And
And a normal pattern generation unit for generating a pattern of IDs from the ID sequence,
Detector.
제1항에 있어서,
상기 통신 시스템은 차량 통신 시스템이고,
상기 복수의 메시지들 각각은 CAN(Controller Area Network) 메시지인,
탐지 장치.
The method according to claim 1,
Wherein the communication system is a vehicle communication system,
Each of the plurality of messages is a CAN (Controller Area Network) message,
Detector.
제1항에 있어서,
상기 정상 패턴 생성부는 서열 정렬(Sequence Alignment) 기법을 이용하여 상기 아이디의 패턴을 생성하는,
탐지 장치.
The method according to claim 1,
Wherein the normal pattern generator generates a pattern of the ID using a sequence alignment technique,
Detector.
제1항에 있어서,
상기 정상 패턴 생성부는,
상기 아이디 시퀀스를 미리 정해진 단위로 분할하여 복수의 분할된 아이디 시퀀스들을 생성하고, 상기 복수의 분할된 아이디 시퀀스들 각각을 재정렬하여 상기 아이디의 패턴을 생성하는,
탐지 장치.
The method according to claim 1,
Wherein the normal pattern generating unit comprises:
Generating a plurality of divided ID sequences by dividing the ID sequence into predetermined units and generating a pattern of the ID by rearranging each of the plurality of divided ID sequences;
Detector.
제1항에 있어서,
상기 탐지 장치는 이상 탐지부를 더 포함하고,
상기 이상 탐지부는,
상기 통신 시스템 내에서 순차적으로 발생하는 복수의 제2 메시지들을 수신하는 제2 메시지 수신부;
상기 복수의 제2 메시지들 각각으로부터 송신 아이디를 추출하여 제2 아이디 시퀀스를 출력하는 제2 아이디 추출부; 및
상기 제2 아이디 시퀀스와 미리 저장되어 있는 복수의 아이디 패턴들 각각과 비교하여 차량의 이상 여부를 결정하는 유사도 계산부를 포함하는,
탐지 장치.
The method according to claim 1,
The detection device further includes an abnormality detection unit,
Wherein the abnormality detecting unit comprises:
A second message receiver for receiving a plurality of second messages sequentially occurring in the communication system;
A second ID extractor for extracting a transmission ID from each of the plurality of second messages and outputting a second ID sequence; And
And a similarity calculating unit for comparing the second ID sequence with each of a plurality of ID patterns stored in advance,
Detector.
제5항에 있어서,
상기 유사도 계산부는 미리 정해진 길이를 갖는 상기 제2 아이디 시퀀스와 상기 복수의 아이디 패턴들 각각의 편집 거리(edit distance)를 계산하고, 계산된 편집 거리 중 가장 작은 값을 갖는 편집 거리를 유사도로 결정하는,
탐지 장치.
6. The method of claim 5,
The similarity calculation unit calculates an edit distance of each of the second ID sequence having a predetermined length and each of the plurality of ID patterns and determines an edit distance having the smallest value among the calculated edit distances as a degree of similarity ,
Detector.
제6항에 있어서,
상기 유사도 계산부는 상기 유사도의 값이 미리 정해진 값보다 큰 경우 상기 차량의 상태를 비정상 상태로 결정하는,
탐지 장치.
The method according to claim 6,
Wherein the similarity calculation unit determines the state of the vehicle as an abnormal state when the value of the similarity is greater than a predetermined value,
Detector.
이상 탐지부를 포함하는 탐지 장치에 있어서,
상기 이상 탐지부는,
통신 시스템 내에서 순차적으로 발생하는 복수의 메시지들을 수신하는 메시지 수신부;
상기 복수의 메시지들 각각으로부터 송신 아이디를 추출하여 아이디 시퀀스를 출력하는 아이디 추출부; 및
상기 아이디 시퀀스와 미리 저장되어 있는 복수의 아이디 패턴들을 비교하여 차량의 이상 여부를 결정하는 유사도 계산부를 포함하고,
상기 유사도 계산부는 미리 정해진 길이를 갖는 상기 아이디 시퀀스와 상기 복수의 아이디 패턴들 각각의 편집 거리를 계산하고, 계산된 편집 거리 중 가장 작은 값을 갖는 편집 거리를 유사도로 결정하는,
탐지 장치.
An abnormality detection device comprising:
Wherein the abnormality detecting unit comprises:
A message receiver for receiving a plurality of messages sequentially occurring in the communication system;
An ID extractor for extracting a transmission ID from each of the plurality of messages and outputting an ID sequence; And
And a similarity calculation unit for determining whether the vehicle is abnormal by comparing the ID sequence with a plurality of ID patterns stored in advance,
Wherein the similarity calculation unit calculates an editing distance of each of the ID sequence having a predetermined length and each of the plurality of ID patterns and determines an editing distance having the smallest value among the calculated editing distances as the similarity,
Detector.
제8항에 있어서,
상기 유사도 계산부는 상기 유사도의 값이 미리 정해진 값보다 큰 경우 상기 차량의 상태를 비정상 상태로 결정하는,
탐지 장치.
9. The method of claim 8,
Wherein the similarity calculation unit determines the state of the vehicle as an abnormal state when the value of the similarity is greater than a predetermined value,
Detector.
KR1020160099162A 2016-08-03 2016-08-03 Device for detecting anomaly of vehicle based on sequence mining KR101843930B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160099162A KR101843930B1 (en) 2016-08-03 2016-08-03 Device for detecting anomaly of vehicle based on sequence mining

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160099162A KR101843930B1 (en) 2016-08-03 2016-08-03 Device for detecting anomaly of vehicle based on sequence mining

Publications (2)

Publication Number Publication Date
KR20180015791A true KR20180015791A (en) 2018-02-14
KR101843930B1 KR101843930B1 (en) 2018-04-02

Family

ID=61229568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160099162A KR101843930B1 (en) 2016-08-03 2016-08-03 Device for detecting anomaly of vehicle based on sequence mining

Country Status (1)

Country Link
KR (1) KR101843930B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220046408A (en) * 2020-10-07 2022-04-14 고려대학교 산학협력단 Self-supervised learning based in-vehicle network anomaly detection system using pseudo normal data
WO2022075678A3 (en) * 2020-10-07 2022-10-27 고려대학교 산학협력단 Apparatus and method for detecting abnormal symptoms of vehicle based on self-supervised learning by using pseudo normal data

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210026246A (en) 2019-08-29 2021-03-10 현대자동차주식회사 Apparatus for detecting network intrusion of a vehicle, system having the same and method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090271066A1 (en) * 2008-04-23 2009-10-29 Underdal Olav M Diagnostic data mining

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220046408A (en) * 2020-10-07 2022-04-14 고려대학교 산학협력단 Self-supervised learning based in-vehicle network anomaly detection system using pseudo normal data
WO2022075678A3 (en) * 2020-10-07 2022-10-27 고려대학교 산학협력단 Apparatus and method for detecting abnormal symptoms of vehicle based on self-supervised learning by using pseudo normal data

Also Published As

Publication number Publication date
KR101843930B1 (en) 2018-04-02

Similar Documents

Publication Publication Date Title
US10691631B2 (en) Broadcast bus frame filter
CN103842981B (en) The method and apparatus of serial data transmission and the application of method are carried out in bus system
US10715333B2 (en) Network message authentication and verification
US10567109B2 (en) Method for serially transmitting a frame from a transmitter to at least one receiver by means of a bus system, and a subscriber station for a bus system
US7738461B2 (en) Communication apparatus and switching device
WO2016185514A1 (en) Attack detection device
US20170235698A1 (en) Controller area network (can) message filtering
KR101669946B1 (en) Appratus and method for identification of ecu using voltage signal
CN111147437B (en) Attributing bus disconnect attacks based on erroneous frames
KR20150100790A (en) Data transmission using a protocol exception state
KR101843930B1 (en) Device for detecting anomaly of vehicle based on sequence mining
US11463198B2 (en) Security module for a serial communications device
US11677779B2 (en) Security module for a can node
US11888866B2 (en) Security module for a CAN node
JP5365234B2 (en) Token error detection / recovery method between terminal devices
CN110832809B (en) Detection device, detection method, and non-transitory computer-readable storage medium
US9154285B2 (en) Communications apparatus, system and method with error mitigation
US7668204B2 (en) Port driven authentication in a network
JP2008118349A (en) Communication equipment
US20230231737A1 (en) Controller area network module and method for the module
CN108141357B (en) Circuit arrangement for generating a secret in a network
JP4932236B2 (en) Differential signal line misconnection detection method and system

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