KR20190003112A - Method and System for detecting bypass hacking attacks based on the CAN protocol - Google Patents

Method and System for detecting bypass hacking attacks based on the CAN protocol Download PDF

Info

Publication number
KR20190003112A
KR20190003112A KR1020170083610A KR20170083610A KR20190003112A KR 20190003112 A KR20190003112 A KR 20190003112A KR 1020170083610 A KR1020170083610 A KR 1020170083610A KR 20170083610 A KR20170083610 A KR 20170083610A KR 20190003112 A KR20190003112 A KR 20190003112A
Authority
KR
South Korea
Prior art keywords
message
ecu
detection
state
communication
Prior art date
Application number
KR1020170083610A
Other languages
Korean (ko)
Other versions
KR101966345B1 (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 KR1020170083610A priority Critical patent/KR101966345B1/en
Priority to PCT/KR2018/006756 priority patent/WO2018230988A1/en
Publication of KR20190003112A publication Critical patent/KR20190003112A/en
Application granted granted Critical
Publication of KR101966345B1 publication Critical patent/KR101966345B1/en
Priority to US16/715,437 priority patent/US11522878B2/en

Links

Images

Classifications

    • 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
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

According to an embodiment of the present invention, a method for detecting a controller area network (CAN) communication-based bypass attack comprises: a CAN ID obtaining step of generating a CAN ID list by obtaining a CAN ID from one or more CAN messages received from a CAN bus; a diagnosis communication ID extracting step of extracting a diagnosis communication CAN ID corresponding to a diagnosis communication related request or response from the CAN ID; a matching step of matching a detection object electronic control unit (ECU) corresponding to the diagnosis communication CAN ID; an ECU state monitoring step of determining whether or not a state of the detection object ECU is a message transmission abled state or a message transmission disabled state; and an abnormal message determining step of determining a CAN message corresponding to the detection object ECU as an abnormal message in the case in which the CAN messages corresponding to the detection object ECU are periodically received when the state of the detection object ECU is the message transmission disabled state. The present invention can monitor an ECU having an idle state in real time.

Description

CAN 통신 기반 우회 공격 탐지 방법 및 시스템{Method and System for detecting bypass hacking attacks based on the CAN protocol}[0001] The present invention relates to a method and system for detecting a bypass of a CAN communication based on a CAN attack,

본 발명은 CAN 통신 기반 우회 공격 탐지 방법 및 시스템에 관한 것으로, 보다 상세하게는 해킹 공격에 의해 탐지 대상 ECU가 메시지 전송 불능 상태가 되는 것을 모니터링하여, 메시지 전송 불능 상태임에도 불구하고 탐지 대상 ECU에 대응하는 CAN 메시지가 수신되는 경우, 해당 CAN 메시지를 비정상 CAN 메시지로 판별하는 CAN 기반 우회 공격 탐지 방법 및 시스템에 관한 것이다.More particularly, the present invention relates to a CAN communication based bypass attack detection method and system, and more particularly, to a CAN communication based bypass attack detection method and system, Based bypass detec- tion detection method and system for discriminating a corresponding CAN message as an abnormal CAN message when the received CAN message is received.

일반적으로, 전자제어기술의 비약적인 발전에 따라 자동차에서도 기계적인 방법에 의해 동작하던 각종 장치들이 운전자의 편리성 및 운행의 안전성 등의 이유로 전기적인 방법에 의해 구동되고 있으며, 자동차의 시스템은 점차 고도화되고 최첨단화되어 가고 있다. 특히, 차량의 시스템이 전자동화됨에 따라, 차량 내부 ECU들 간의 통신 또한 빈번하게 이뤄지고 있다. 차량 내부 통신을 위해서 CAN(Controller Area Network) 통신이 일반적으로 이용된다.In general, according to the remarkable development of electronic control technology, various devices which are operated by a mechanical method in an automobile are driven by an electric method for convenience of driver and safety of operation, and automobile systems are gradually advanced It is becoming more advanced. Particularly, as the system of the vehicle becomes electronic, communication between ECUs in the vehicle is also frequently performed. CAN (Controller Area Network) communication is generally used for intra-vehicle communication.

즉, 자동차 내부의 전자제어시스템은 엔진ECU, 변속기ECU, 브레이크ECU, 에어백ECU 등 수십여개의 전자식 ECU(Electronic Control Unit)들로 구성되어 있다. 또한, 각 전자식 ECU들은 CAN 통신을 위한 CAN 컨트롤러를 구비하고, 이러한 전자식 ECU들 간의 통신은 CAN 통신을 사용한다.In other words, the electronic control system in the automobile is composed of dozens of electronic ECUs (electronic control units) such as an engine ECU, a transmission ECU, a brake ECU, and an airbag ECU. In addition, each electronic ECU has a CAN controller for CAN communication, and the communication between these electronic ECUs uses CAN communication.

기본적으로, CAN(Controller Area Network) 프로토콜 방식의 메시지 통신에 따르면, 네트워크는 다수의 노드(또는 CAN 컨트롤러)와 공통의 CAN 버스로 구성되고, 각 노드는 브로드캐스팅 방식으로 메시지를 전송하고, 각 노드가 필요한 메시지를 선택하여 수신한다. 즉, 모든 CAN 컨트롤러(또는 노드)는 CAN 버스(Bus)를 공통으로 사용하여 메시지를 송수신한다. 또한, 각 CAN 컨트롤러(또는 노드)는 전송할 메시지들을 네트워크 상 모든 노드들에게 브로드캐스트 방식으로 전송한다. 그리고 메시지 식별자에 의한 자체적인 중재 기능을 제공한다. 구체적으로, 각 노드 또는 CAN 컨트롤러는 메시지의 식별자를 인식하여, 브로드캐스트된 메시지들 중에서 필요한 메시지만 걸러서 수신한다. 즉, CAN 통신에는, 메시지의 데이터 프레임 내에 메시지의 송신 대상(destination)을 인증할 수 있는 필드가 없다.Basically, according to a CAN (Controller Area Network) protocol-based message communication, a network is composed of a plurality of nodes (or a CAN controller) and a common CAN bus, each node transmits a message in a broadcast manner, Selects and receives a necessary message. That is, all CAN controllers (or nodes) send and receive messages using a common CAN bus. In addition, each CAN controller (or node) broadcasts messages to be transmitted to all nodes on the network in a broadcast manner. And provides its own arbitration function based on the message identifier. Specifically, each node or the CAN controller recognizes the identifier of the message, and receives only necessary messages among the broadcasted messages. That is, in the CAN communication, there is no field for authenticating the transmission destination of the message in the data frame of the message.

그런데, 앞서 본 바와 같이, CAN(Controller Area Network) 통신은 브로드캐스팅 방식과 메시지 식별자만을 이용하여 송수신함으로써, CAN 프로토콜에 내재된 보안위험성이 존재한다.However, as described above, there is a security risk inherent in the CAN protocol by transmitting and receiving CAN (Controller Area Network) communication using only the broadcasting method and message identifier.

예를 들어, CAN 통신이 브로드캐스트 방식으로 메시지를 전송하기 때문에, CAN 통신 네트워크에 악의적인 노드를 추가하면, 악의적인 노드는 다른 노드들이 전송하는 모든 메시지를 수집할 수 있다. 그리고 악의적인 노드는 수집된 정보를 이용하여, 가짜 메시지를 생성하여 CAN통신 네트워크에 전송할 수 있다. CAN 통신 메시지의 데이터 프레임 내에는 송신하는 대상을 인증하는 별도의 필드가 존재하지 않기 때문에, 상기와 같은 스푸핑 공격이 쉽게 가능하다.For example, because a CAN communication sends messages in a broadcast fashion, adding a malicious node to a CAN communication network can allow a malicious node to collect all messages sent by other nodes. The malicious node can then use the collected information to generate a fake message and send it to the CAN communication network. In the data frame of the CAN communication message, there is no separate field for authenticating the transmission object, so that the spoofing attack as described above is easily possible.

또한, CAN 메시지 식별자에 의한 중재기능을 악용하면, 서비스거부 공격도 쉽게 가능하다. 식별자에 의한 중재기능은 각 식별자에 우선순위가 부여되어, 우선순위가 부여된 메시지를 우선적으로 전송해주는 기능을 말한다. 일단 공격자(또는 악의적인 노드)가 CAN통신 네트워크상 메시지를 수집하여 가장 높은 우선순위를 가진 식별자(ID)를 알아낸다. 그리고 공격자는 상기 식별자를 이용하여 가짜 메시지를 만들고, 이 메시지를 네트워크 상에 지속적으로 전송한다. 공격자에 의한 가짜 메시지가 높은 우선순위를 가지고 있기 때문에, 다른 정상적인 메시지는 CAN 메시지 식별자에 의한 중재기능에 의해 전송되지 못한다. 이러한 상태가 지속되면 CAN 통신 네트워크에는 공격자의 메시지만이 남게 되어, 다른 정상적인 메시지들이 전달되지 못하게 되는 서비스 거부 상황이 발생된다.In addition, if the arbitration function based on the CAN message identifier is abused, a denial of service attack is also easily possible. An arbitration function based on an identifier is a function of assigning a priority to each identifier and preferentially transmitting a message to which a priority is assigned. Once an attacker (or malicious node) collects messages on the CAN communication network, it finds out the identifier with the highest priority (ID). Then, the attacker uses the identifier to create a fake message, and continuously transmits the message on the network. Since the fake message by the attacker has a high priority, other normal messages are not transmitted by the arbitration function by the CAN message identifier. If this state continues, only the attacker's message remains in the CAN communication network, resulting in a denial of service situation where other normal messages can not be delivered.

특히, 종래의 CAN 통신에 의한 차량 전자제어 시스템은 보안 취약성이 높은 장치들과 보안상 중요한 장치들이 동일한 CAN버스에 연결되어 있다. 따라서 외부망 연결성이 높아 보안 취약성이 높은 장치들(텔레매틱스, AVN시스템 등)이 해커들에게 장악되면, 보안상 중요한 장치들(엔진ECU, 브레이크ECU, 에어백ECU등)이 도용되어, 차량 시스템에 중대한 보안 위협이 될 수 있는 문제점이 존재한다.In particular, conventional vehicle electronic control systems based on CAN communication are connected to the same CAN bus with high security vulnerability devices and security critical devices. Therefore, if security devices (engine ECU, brake ECU, airbag ECU, etc.) are stolen when hackers gain control of highly vulnerable devices (telematics, AVN systems, etc.) due to high external network connectivity, There is a problem that can become a security threat.

상기와 같은 문제점을 해결하기 위해, 암호화키를 서로 교환하고 상호 공유되는 타임 윈도우 내에서만 암호화하여 메시지를 송수신하는 기술이 제시되고 있 다[특허문헌 1]. 또한, 비밀키 스트림을 생성하여 대칭키 방식으로 암호화하여 메시지를 송수신하는 기술도 제시되고 있다[특허문헌 2,3]. 또한, 암호키를 생성하기 위한 OTP(원타임 패스워드) ROM을 구비하는 기술도 제시되고 있다[특허문헌 4].CAN 통신에서 메시지의 주기성을 이용하여 해킹 메시지 여부를 판단하는 기술이 제시되고 있다[특허문헌 5].In order to solve the above problems, there is proposed a technique of transmitting and receiving a message by exchanging encryption keys and encrypting only within a mutually-shared time window [Patent Document 1]. Also, there is proposed a technique of generating a secret key stream and encrypting it with a symmetric key method to transmit and receive a message [Patent Literatures 2 and 3]. In addition, a technique of providing an OTP (one-time password) ROM for generating an encryption key is also proposed (Patent Document 4). A technique for determining whether a hacking message is used by using the periodicity of a message in CAN communication has been proposed Literature 5].

그러나 상기 선행기술들은 메시지를 암호화하여 송수신하기 때문에, 암호화 또는 복호화하기 위한 연산을 수행해야 하고, 또한, 암호화 통신을 위하여 암호화키 또는 비밀키를 생성하거나 교환해야 한다는 문제점이 있다. 이와 같은 암호화 연산을 위하여 연산 시간이 소요되기 때문에, 메시지의 송수신 시간이 지연될 수 있는 문제점이 있다.However, since the above-mentioned prior art encrypts and transmits a message, an operation for encrypting or decrypting the message must be performed, and an encryption key or a secret key must be generated or exchanged for encryption communication. Since a computation time is required for such an encryption operation, there is a problem that the transmission and reception time of a message may be delayed.

한국등록특허 제10-1651648호(2016.08.29.공고)Korean Registered Patent No. 10-1651648 (Announced 2016.08.29) 한국공개특허 제10-2011-0057348호(2011.06.01.공개)Korean Patent Laid-Open No. 10-2011-0057348 (published on June 1, 2011) 한국등록특허 제10-1413427호(2014.07.01.공고)Korean Registered Patent No. 10-1413427 (Announced 2014.07.01) 한국공개특허 제10-2016-0093764호(2016.08.09.공개)Korean Patent Publication No. 10-2016-0093764 (published on Aug. 20, 2016) 한국등록특허 제10-1472896호(2014.12.16.공고)Korean Registered Patent No. 10-1472896 (issued October 16, 2014)

본 발명은 해킹 공격에 의해 아이들(idle) 상태, 즉 메시지 전송 불능 상태가 된 ECU를 실시간으로 모니터링하는 것을 일 목적으로 한다.An object of the present invention is to monitor an ECU in an idle state, that is, an ECU which can not transmit a message due to a hacking attack, in real time.

본 발명은 해킹 공격에 의해 메시지 전송 불능 상태가 된 ECU에 대응하는 CAN 메시지가 수신되는 경우, 해당 CAN 메시지를 비정상 CAN 메시지로 판별하는 것을 다른 목적으로 한다.Another object of the present invention is to discriminate a corresponding CAN message as an abnormal CAN message when a CAN message corresponding to an ECU which has been unable to transmit a message due to a hacking attack is received.

본 발명은 진단 통신 관련 국제 표준을 이용하여 우회 공격의 대상이 된 ECU를 모니터링하는 것을 다른 목적으로 한다.The present invention seeks to monitor an ECU that has been subject to a bypass attack using international standards for diagnostic communication.

{특허청구범위 확정 후 기재}{Describe after determining patent claim scope}

본 발명에 의하면, 해킹 공격에 의해 아이들 상태가 된 ECU를 실시간으로 모니터링할 수 있다.According to the present invention, it is possible to monitor an ECU in an idle state by a hacking attack in real time.

본 발명은 해킹 공격에 의해 메시지 전송 불능 상태가 된 ECU에 대응하는 CAN 메시지가 수신되는 경우, 해당 CAN 메시지를 비정상 CAN 메시지로 판별할 수 있다.The present invention can discriminate a corresponding CAN message as an abnormal CAN message when a CAN message corresponding to an ECU whose message transmission disabled state is caused by a hacking attack is received.

본 발명은 진단 통신 관련 국제 표준을 이용함으로써, 별도로 복잡한 보안 알고리즘을 사용하지 않고도 해커의 공격에 의해 메시지 전송 불능 상태가 된 ECU를 탐지할 수 있다.By using the international standard for diagnostic communication, the present invention can detect an ECU that has been unable to transmit a message due to an attack by a hacker without using a complicated security algorithm separately.

도 1 은 본 발명의 일 실시예에 따른 CAN 통신의 구성을 블록도로 나타낸 것이다.
도 2 는 본 발명의 일 실시예에 따른 CAN 컨트롤러의 내부 구성을 블록도로 나타낸 것이다.
도 3 은 본 발명의 일 실시예에 따른 우회 공격 탐지부의 내부 구성을 블록도로 나타낸 것이다.
도 4 는 본 발명의 일 실시예에 따른 전송 데이터의 구조를 설명하기 위한 것이다.
도 5a 및 도 5b 는 해커의 공격으로 인해 타겟 ECU에 비정상 메시지가 수신되는 과정을 설명하기 위한 도면이다.
도 6 은 본 발명의 일 실시예에 따른 탐지 대상 ECU의 상태 변화를 설명하기 위한 도면이다.
도 7 은 본 발명의 일 실시예에 따른 CAN 통신 기반 우회 공격 탐지 방법을 시계열적으로 나타낸 순서도이다.
도 8 은 본 발명의 일 실시예에 따라 우회 공격 탐지부가 CAN 컨트롤러 외부에 존재하는 경우를 도시한 도면이다.
1 is a block diagram illustrating a configuration of a CAN communication according to an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of a CAN controller according to an embodiment of the present invention.
3 is a block diagram illustrating an internal configuration of a detour detection unit according to an embodiment of the present invention.
FIG. 4 illustrates a structure of transmission data according to an embodiment of the present invention. Referring to FIG.
5A and 5B are diagrams illustrating a process of receiving an abnormal message in a target ECU due to an attack by a hacker.
6 is a diagram for explaining a change in state of a detection target ECU according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a method of detecting a detour attack based on CAN communication according to an embodiment of the present invention in a time-series manner.
FIG. 8 is a diagram illustrating a case where a detour detection unit exists outside a CAN controller according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, the specific shapes, structures, and characteristics described herein may be implemented by changing from one embodiment to another without departing from the spirit and scope of the invention. It should also be understood that the location or arrangement of individual components within each embodiment may be varied without departing from the spirit and scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention should be construed as encompassing the scope of the appended claims and all equivalents thereof. In the drawings, like reference numbers designate the same or similar components throughout the several views.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to facilitate a person skilled in the art to which the present invention pertains.

도 1 은 본 발명의 일 실시예에 따른 CAN 통신의 구성을 블록도로 나타낸 것이다.1 is a block diagram illustrating a configuration of a CAN communication according to an embodiment of the present invention.

도 1 을 참조하면, 본 발명의 CAN 통신은 데이터 송수신을 위한 CAN 버스(50), CAN 버스(50)에 연결된 다수의 ECU(10)로 구성된다.Referring to FIG. 1, the CAN communication of the present invention comprises a CAN bus 50 for data transmission and reception, and a plurality of ECUs 10 connected to a CAN bus 50.

CAN 버스(50)는 데이터 전송을 위한 통신 라인으로서, 바람직하게는, 연선(Twisted pair wire)으로 구성된다. 이때, 연선을 구성하는 2개의 선은 서로 다른 신호(CAN_H, CAN_L)에 의해 구동된다. CAN 버스(50)상의 전송 속도는 버스의 길이에 따라 달라질 수 있다.The CAN bus 50 is a communication line for data transmission, and is preferably composed of a twisted pair wire. At this time, the two lines constituting the twisted pair are driven by different signals (CAN_H, CAN_L). The transmission speed on the CAN bus 50 may vary depending on the length of the bus.

또한, CAN 버스(50)는 송신 라인(Tx)과 수신 라인(Rx)으로 구분되고, 각 ECU(10)는 송신 라인(Tx)으로 메시지를 전송하고 수신 라인(Rx)으로부터 메시지를 수신한다. 특히, 모든 ECU(10)는 CAN 버스(50)의 공통 송수신 라인(Tx, Rx)에 연결되어, 메시지를 송수신한다.Further, the CAN bus 50 is divided into a transmission line Tx and a reception line Rx, and each ECU 10 transmits a message to the transmission line Tx and receives the message from the reception line Rx. In particular, all the ECUs 10 are connected to the common transmission and reception lines Tx and Rx of the CAN bus 50 to transmit and receive messages.

다수의 ECU(Electronic Control Unit)(10) 또는 제1 내지 제N ECU(10)는 CAN 버스(50)에 소정의 CAN 커넥터를 통해 연결될 수 있으며, 이론적으로 하나의 CAN 통신에 연결될 수 있는 최대 ECU의 개수는 2032이다.A plurality of ECUs (Electronic Control Unit) 10 or first to Nth ECUs 10 may be connected to the CAN bus 50 through a predetermined CAN connector, and theoretically, a maximum ECU Is 2032.

ECU(10)는 스마트폰, 인터넷, 교통정보시스템 등의 외부 통신망과 연결되어 보안 위험성에 직접적으로 노출된 ECU들과, 외부 통신망과 직접적인 연결이 없어 상대적으로 안전한 ECU들로 구분될 수 있다.The ECU 10 can be classified into ECUs that are directly exposed to security risks connected to external communication networks such as a smart phone, the Internet, and a traffic information system, and ECUs that are relatively safe because there is no direct connection with an external communication network.

전자의 ECU(10)들은 멀티미디어 캔(CAN)으로서, 텔레매틱스나 네비게이션 등에 관련된 ECU들이다. 이들 ECU들은 스마트폰, 인터넷, 교통정보시스템 등의 외부 통신망과 연결되어, 데이터 통신을 수행한다. 따라서 이들 ECU(10)들은 외부 단말 또는 시스템에서 접근이 가능한 ECU이다.The former ECUs 10 are multimedia can (CAN), ECUs related to telematics, navigation, and the like. These ECUs are connected to an external communication network such as a smart phone, the Internet, and a traffic information system to perform data communication. Accordingly, these ECUs 10 are ECUs accessible from an external terminal or system.

반면, 후자의 ECU들은 주로 종래 전형적인 ECU로서, 차량 내부 시스템을 제어하기 위한 ECU들이다. 예를 들어, 엔진, 트랜스미션 등 파워트레인에 관련된 ECU들; 제동장치, 조향장치, 에어백 등 샤시에 관련된 ECU들; 클러스터, 도어, 윈도우 등 바디에 관련된 ECU들이다. 통상 이들을 각각 P-CAN, C-CAN, B-CAN 등으로 부르기도 한다.On the other hand, the latter ECUs are mainly conventional conventional ECUs, and are ECUs for controlling an in-vehicle system. ECUs associated with powertrain such as engine, transmission, etc., for example; ECUs related to the chassis such as a braking device, a steering device, and an airbag; Clusters, doors, windows, and so on. These are usually referred to as P-CAN, C-CAN, and B-CAN, respectively.

한편, 각 ECU(10)는 CAN 트랜시버(transceiver)(20), CAN 컨트롤러(30) 및 마이크로컨트롤러(CPU)(40)로 구성된다. CAN 트랜시버(20)는 소정 CAN 커넥터를 통해 CAN 버스(50)와 연결되며, ECU의 물리 계층을 구성한다. CAN 트랜시버(20)는 CAN 버스(50)의 장애를 감지하고 이를 관리하는 기능 및 메시지의 송수신 기능을 제공할 수 있다.On the other hand, each ECU 10 is composed of a CAN transceiver 20, a CAN controller 30 and a microcontroller (CPU) The CAN transceiver 20 is connected to the CAN bus 50 via a predetermined CAN connector and constitutes the physical layer of the ECU. The CAN transceiver 20 can provide functions of detecting and managing the failure of the CAN bus 50 and transmitting and receiving a message.

CAN 컨트롤러(controller)(30)는 CAN 프로토콜 메시지를 송수신하고 수신된 메시지에 대한 메시지 필터링 기능을 수행한다. 또한, CAN 컨트롤러(30)는 재전송 제어를 위한 메시지 버퍼 및 마이크로컨트롤러(40)와의 인터페이스 기능을 제공한다.The CAN controller 30 transmits and receives a CAN protocol message and performs a message filtering function on the received message. In addition, the CAN controller 30 provides a message buffer for retransmission control and an interface function with the microcontroller 40.

마이크로컨트롤러(40)는 CPU가 탑재될 수 있으며, 상위 계층 프로토콜을 제공하고 다양한 응용들을 제공할 수 있다.The microcontroller 40 can be equipped with a CPU, can provide an upper layer protocol and can provide various applications.

한편, 본 발명의 CAN 통신은 단순히 일반적인 CAN 통신에서 더 나아가, 확장형 CAN(Extended CAN) 및 CAN-FD(CAN with Flexible Data-Rate)에까지 확장 적용될 수 있다. 또한, 본 발명의 CAN 통신은 차량, 건설 중장비, 트랙터 등에 탑재될 수 있다. CAN 통신은 차량 통신(Vehicle-CAN)과 진단 통신(Diagnostic-CAN)으로 구분될 수 있다. 차량 통신은 주행 중 ECU들 간의 통신 과정에서 사용되는 통신이고, 진단 통신은 정비, 고장 부품 및 원인, 고장코드(DTC), 펌웨어 업데이트, 진단 등의 특수목적을 위해 사용되는 통신이다. 진단 통신은 차량 통신에 영향을 줄 수 있다. 특히, 펌웨어 업데이트를 위한 리프로그래밍 서비스, 통신 제어 관련 서비스는 차량 통신을 일시적으로 혹은 특정 조건에서 영구적으로 중지하는 기능을 할 수 있다. 진단 통신은 국제표준으로서 UDS (Unified Diagnostic Services) 표준을 사용하고 있다. UDS 는 표준 ISO 14229 및 ISO 15765-3 에 정의되어 있다. 본 발명은 이러한 진단 통신을 이용하여 해커의 우회 공격을 탐지하는 것을 구성상 특징으로 하며, 이에 대해서는 후술하기로 한다.On the other hand, the CAN communication of the present invention can be extended not only to general CAN communication but also to extended CAN (Extended CAN) and CAN-Flexible Data-Rate (CAN). In addition, the CAN communication of the present invention can be mounted on vehicles, construction heavy equipment, tractors, and the like. CAN communication can be classified into Vehicle-CAN and Diagnostic-CAN. Vehicle communication is communication used during communication between ECUs and diagnostic communication is communication used for special purposes such as maintenance, faulty parts and cause, trouble code (DTC), firmware update, diagnosis and so on. Diagnostic communications can affect vehicle communications. In particular, reprogramming services and communication control related services for updating firmware can function to permanently stop vehicle communication temporarily or under certain conditions. Diagnostic communications use the Unified Diagnostic Services (UDS) standard as an international standard. UDS is defined in the standard ISO 14229 and ISO 15765-3. The present invention is characterized in that a detour attack of a hacker is detected using the diagnostic communication, which will be described later.

또한, 이하의 본 명세서에서는 설명의 편의를 위하여, CAN 버스(50)에 연결된 복수개의 ECU(10) 중 해커의 공격 대상이 되는(즉 해킹 공격에 의한 비정상 메시지를 수신하는 대상이 되는) ECU를 타겟 ECU라 할 수 있으며, 타겟 ECU는 대표적으로 차량의 자율 주행 관련 ECU일 수 있다. 또한, 해킹 공격에 의해 아이들(idle) 상태가 되는지 여부에 대한 모니터링 대상이 되는 ECU를 탐지 대상 ECU(탐지 대상 ECU는 해커의 공격에 의해 아이들 상태가 되기 전에는 정상 ECU 이다)라 할 수 있다. 또한, 그리고 해커에 의해 정상 CAN 메시지를 모사하는 비정상 CAN 메시지를 송신하는 ECU를 비정상 ECU라고 칭하기로 한다.In the following description, for convenience of explanation, ECUs 10 to be attacked by a hacker (that is, an object to receive an abnormal message due to a hacking attack) among a plurality of ECUs 10 connected to the CAN bus 50 Target ECU, and the target ECU may be typically an autonomous-travel-related ECU of the vehicle. Further, an ECU to be monitored as to whether or not an idle state is caused by a hacking attack may be referred to as a detection target ECU (the detection target ECU is a normal ECU before the detection of an idle state by attack of a hacker). Also, an ECU that transmits an abnormal CAN message that simulates a normal CAN message by a hacker is referred to as an abnormal ECU.

본 발명의 일 실시예에 따르면, 타겟 ECU는 다른 ECU(ECUN)들이 보내는 CAN ID를 가진 메시지들이 정상 ECU들이 송신한 정상 CAN 메시지인지 혹은 비정상 ECU가 모사하여 송신한 비정상 CAN 메시지인지 여부를 판단할 수 있다. 특히, 본 발명의 일 실시예에 따르면 해킹 공격에 의해 정상 ECU가 메시지 전송 불능 상태가 되었는지 여부와, 수신된 CAN 메시지가 해커의 의해 모사된 비정상 CAN 메시지인지 여부를 판별할 수 있다. 이를 위해, 본 발명에 따르면 타겟 ECU는 진단 통신용 요청 또는 응답에 할당된 CAN ID 를 갖는 CAN 메시지들을 수신하여, 대응하는 탐지 대상 ECU가 현재 메시지 정상 전송 상태인지 혹은 메시지 전송 불능 상태인지 여부를 실시간으로 모니터링하여 탐지할 수 있다. 즉, 타겟 ECU는 진단 통신용 요청 혹은 응답에 해당하는 CAN ID를 갖는 CAN 메시지들을 수신할 때 CAN ID에 대응하는 ECU의 상태 정보를 함께 모니터링하고, 모니터링 결과에 따라 추후 수신되는 CAN 메시지의 정상 여부를 판별할 수 있다.According to an embodiment of the present invention, the target ECU determines whether the messages having CAN IDs sent by the other ECUs (ECUNs) are normal CAN messages transmitted by normal ECUs or abnormal CAN messages transmitted by the abnormal ECUs . Particularly, according to an embodiment of the present invention, it is possible to determine whether a normal ECU can not transmit a message due to a hacking attack and whether the received CAN message is an abnormal CAN message simulated by a hacker. To this end, according to the present invention, the target ECU receives the CAN messages having the CAN ID assigned to the diagnostic communication request or response, and determines whether the corresponding detection target ECU is the current message normal transmission state or the message transmission disabled state, Can be monitored and detected. That is, the target ECU monitors the status information of the ECU corresponding to the CAN ID when receiving the CAN messages having the CAN ID corresponding to the request or response for the diagnosis communication together, and determines whether the CAN message received subsequently is normal Can be distinguished.

상술한 바와 같이 타겟 ECU가 탐지 대상 ECU의 상태가 메시지 정상 전송 상태인지 혹은 메시지 전송 불능 상태인지를 모니터링 가능한 이유는, 진단 통신이 국제 표준에 의한 것이기 때문에, 메시지 전송 불능 상태를 유발하는 시퀀스에 식별 가능한 패턴이 존재하기 때문이다.As described above, the reason why the target ECU can monitor whether the state of the detection target ECU is the message normal transmission state or the message transmission disabled state is that since the diagnosis communication is based on the international standard, the sequence causing the message transmission disabled state There is a possible pattern.

이하에서는, 타켓 ECU의 CAN 컨트롤러(30)의 내부 구성을 설명하며 본 발명에 대해 보다 상세히 살펴보기로 한다.Hereinafter, the internal configuration of the CAN controller 30 of the target ECU will be described and the present invention will be described in more detail.

도 2 는 본 발명의 일 실시예에 따른 CAN 컨트롤러의 내부 구성을 블록도로 나타낸 것이다.2 is a block diagram illustrating an internal configuration of a CAN controller according to an embodiment of the present invention.

도 2 를 참조하면, 본 발명에 따른 CAN 컨트롤러(30)는 전송할 데이터를 임시로 저장하는 전송버퍼부(31), 수신 메시지와 관련하여 해커의 우회 공격이 존재하는지 여부를 탐지하는 우회 공격 탐지부(100), 수신 메시지를 임시로 저장하는 수신버퍼부(36)로 구성된다. 또한, 추가적으로 필터값을 저장하는 보호메모리(38)를 더 포함하여 구성된다.Referring to FIG. 2, the CAN controller 30 according to the present invention includes a transmission buffer unit 31 for temporarily storing data to be transmitted, a detour detection unit 31 for detecting whether a detour attack of a hacker exists, (100), and a reception buffer unit (36) for temporarily storing a reception message. It further comprises a protection memory 38 for additionally storing filter values.

전송버퍼부(31)는 버퍼를 구비하여 전송할 데이터를 버퍼에 임시로 저장한다. 특히, 마이크로컨트롤러(40)는 전송할 데이터(또는 전송 데이터)를 전송버퍼부(31)의 버퍼에 저장한다.The transmission buffer unit 31 has a buffer and temporarily stores data to be transmitted in the buffer. In particular, the microcontroller 40 stores the data (or transmission data) to be transmitted in the buffer of the transmission buffer unit 31. [

전송버퍼부(31)는 전송데이터를 순차적으로 버퍼에 저장하고, 마이크로컨트롤러(40)에 의해 수신된 순서로 저장하였다가 수신된 순서대로 CAN 트랜시버(20)를 통해 전송한다. 즉, 전송버퍼부(31)는 도 4 에서 후술하는 헤더(210)와 페이로드(220)로 구성된 전송데이터를 순차적으로 버퍼에 저장하고, 마이크로컨트롤러(40)에 의해 수신된 순서로 저장하였다가 수신된 순서대로 CAN 트랜시버(20)를 통해 전송한다.The transmission buffer unit 31 sequentially stores transmission data in a buffer, stores the data in the order received by the microcontroller 40, and transmits the data through the CAN transceiver 20 in the order received. That is, the transmission buffer unit 31 sequentially stores the transmission data composed of the header 210 and the payload 220, which will be described later with reference to FIG. 4, in the buffer and stores them in the order received by the microcontroller 40 Via the CAN transceiver 20 in the order received.

다음으로, 수신버퍼부(36)는 수신 CAN 메시지를 수신 버퍼에 저장한다. 본 발명의 일 실시예에 따르면, 수신버퍼부(36)는 우회 공격 탐지부(100)에 의해 정상 CAN 메시지로 판별된 메시지만을 수신 버퍼에 저장할 수 있다. 수신버퍼부(36)에 저장된 수신 CAN 메시지는 마이크로컨트롤러(40)로 전달된다.Next, the reception buffer unit 36 stores the reception CAN message in the reception buffer. According to an embodiment of the present invention, the reception buffer unit 36 may store only the message determined as the normal CAN message by the detour detection unit 100 in the reception buffer. The received CAN message stored in the reception buffer unit 36 is transmitted to the microcontroller 40. [

또한, 우회 공격 탐지부(100)는 수신 CAN 메시지를 수신 버퍼부(36)에 전달하기 전에, 해당 수신 CAN 메시지가 정상 CAN 메시지인지 혹은 해커의 우회 공격에 의한 비정상 CAN 메시지인지 여부를 판별한다. 본 발명의 일 실시예에 따르면, 우회 공격 탐지부(100)는 비정상 CAN 메시지 여부를 판별하기 위해, 비정상 CAN 메시지에 대응하는 탐지 대상 ECU가 메시지 전송 불능 상태인지 여부를 판별한다. 이에 대해서는 도 3 이하에서 보다 상세히 설명하기로 한다.The detour attack detecting unit 100 determines whether the received CAN message is a normal CAN message or an abnormal CAN message due to a detour attack of a hacker before delivering the receiving CAN message to the receiving buffer unit 36. [ According to an embodiment of the present invention, the detour attack detecting unit 100 determines whether or not the detection target ECU corresponding to the abnormal CAN message is in a message transmission disabled state in order to discriminate whether or not it is an abnormal CAN message. This will be described later in more detail with reference to FIG.

다음으로, 보호메모리(38)는 ROM(Read Only Memory), 플래시메모리 등 비휘발성 메모리로서, 필터값 또는 메시지ID 리스트를 저장한다.Next, the protection memory 38 is a non-volatile memory such as a ROM (Read Only Memory) or a flash memory, and stores a filter value or a message ID list.

바람직하게는, 보호메모리(38)는 통상의 비휘발성 메모리로 구성되며, 그 일부의 메모리 공간을 보호영역으로 구분하여 지정될 수 있다. 이 경우, 보호 영역의 메모리에 저장된 데이터만 읽기 기능이 허용되고, 보호 영역 외의 다른 영역에는 데이터를 변경하거나 삭제가 가능하다. 보호 메모리(38) 또는, 보호된 메모리 영역(보호영역)은 일반적인 비휘발성 메모리(e.g. 플래시 메모리)처럼 메모리 주소값으로 접근이 불가능하며, 보호된 메모리 영역에 대한 읽기/쓰기 접근을 하려면 특수한 접근방법과 패스워드가 필요하다.Preferably, the protection memory 38 is constituted by a normal nonvolatile memory, and a part of the memory space can be designated as a protection area. In this case, only the data stored in the memory of the protection area is allowed to be read, and data in the area other than the protection area can be changed or deleted. The protection memory 38 or the protected memory area (protection area) can not be accessed by a memory address value like a general non-volatile memory (e.g. flash memory), and a special approach And a password are required.

본 발명의 일 실시예에 따르면 보호 메모리(38)에는 탐지 대상 ECU들의 상태가 저장되어, 타겟 ECU가 비정상적으로 종료되는 경우에도 탐지 대상 ECU들의 상태 정보를 학습하여 기억할 수 있다. 또한, 바람직하게는, 보호 메모리(38)에는 탐지 대상 ECU들의 학습된 탐지 점수가 저장될 수 있다.According to an embodiment of the present invention, the state of the detection target ECUs is stored in the protection memory 38, so that the state information of the detection target ECUs can be learned and stored even when the target ECU abnormally terminates. Further, preferably, the learned detection score of the detection target ECUs can be stored in the protection memory 38. [

본 발명의 일 실시예에 따르면, 도 2 와 같이 우회 공격 탐지부(100)를 포함하는 ECU는 타겟 ECU일 수 있다. 본 발명의 일 실시예에 따르면, 타겟 ECU는 자율 주행 관련 ECU로서 다른 ECU로부터 CAN 메시지를 수신하여 차량의 상태를 파악하고, 차량의 자율 주행과 관련하여 차량 시스템을 제어하기 위한 CAN 메시지를 송출하는 ECU일 수 있다. 이에, 해커는 타겟 ECU가 파악하는 차량의 상태를 오인하도록 하기 위해 비정상 메시지를 송출할 수 있으며, 비정상 메시지를 CAN 버스(50)로부터 수신한 타겟 ECU는 해커의 의도대로 차량의 시스템을 제어하기 위한 CAN 메시지를 송출할 위험성이 존재한다. 이와 같은 위험을 방지하기 위해, 본 발명의 일 실시예에 따른 타겟 ECU의 우회 공격 탐지부(100)는 수신한 메시지가 비정상 메시지인지 여부를 탐지할 수 있다. 이하의 도 3 에서는, 우회 공격 탐지부(100)의 구성을 중심으로 본 발명에 따른 해커의 우회 공격 탐지 방법에 대해 살펴보기로 한다.According to an embodiment of the present invention, the ECU including the detour detection unit 100 as shown in FIG. 2 may be a target ECU. According to an embodiment of the present invention, the target ECU receives an CAN message from another ECU as an autonomic-travel-related ECU, grasps the state of the vehicle, and transmits a CAN message for controlling the vehicle system in relation to autonomous travel of the vehicle ECU. Accordingly, the hacker can send an abnormal message to misunderstand the state of the vehicle that the target ECU grasps, and the target ECU, receiving the abnormal message from the CAN bus 50, There is a risk of sending CAN messages. In order to prevent such a danger, the bypass detec- tion detection unit 100 of the target ECU according to an embodiment of the present invention can detect whether or not the received message is an abnormal message. 3, a detour detection method of a hacker according to the present invention will be described focusing on the configuration of the detour attack detecting unit 100. FIG.

도 3 은 본 발명의 일 실시예에 따른 우회 공격 탐지부의 내부 구성을 블록도로 나타낸 것이다.3 is a block diagram illustrating an internal configuration of a detour detection unit according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 우회 공격 탐지부(100)는 CAN ID 획득부(110), 진단 통신 ID 추출부(120), ID-ECU 매칭부(130), 리프로그래밍 감지부(140) 및 일시적 불능 감지부(150)를 포함하는 ECU 상태 모니터링부(101), 비정상 메시지 판별부(160) 및 탐지 점수 학습부(170)를 포함한다.The detour attack detection unit 100 according to an embodiment of the present invention includes a CAN ID acquisition unit 110, a diagnostic communication ID extraction unit 120, an ID-ECU matching unit 130, a reprogram detection unit 140, An abnormality message discrimination unit 160 and a detection score learning unit 170 including a temporary disablement sensing unit 150. [

먼저, CAN ID 획득부(110)는 기설정된 CAN ID 들을 획득하여 CAN ID 리스트(CAN_ID_LIST)를 생성할 수 있다. CAN ID란 CAN 통신의 전송 데이터의 구조 내에서 각각의 전송 데이터에 대한 식별자를 뜻한다. 타겟 ECU가 다른 탐지 대상 ECU들로부터 수신받는 CAN ID 는 사전에 정의될 수 있으며, CAN ID들은 탐지 대상 ECU들 각각에 사전에 할당된 값일 수 있다.First, the CAN ID acquisition unit 110 can acquire the preset CAN IDs and generate the CAN ID list (CAN ID LIST). CAN ID is an identifier for each transmission data in the structure of transmission data of CAN communication. The CAN IDs received by the target ECU from the other ECUs to be detected may be defined in advance, and the CAN IDs may be values pre-assigned to each of the ECUs to be detected.

도 4 는 본 발명의 일 실시예에 따른 전송 데이터의 구조를 설명하기 위한 것이다.FIG. 4 illustrates a structure of transmission data according to an embodiment of the present invention. Referring to FIG.

도 4 에서 보는 바와 같이, 전송데이터는 CAN 헤더(210) 부분과, 데이터 프레임 부분인 CAN 페이로드(220)로 구성된다. CAN 페이로드(220)에는 전송하고자 하는 정보가 기록된다. 예를 들어, 엔진 ECU인 경우, 엔진의 현재 상태에 대한 데이터 등이 CAN 페이로드(220) 필드에 기록된다. 상기와 같은 메시지의 규격은 CAN 프로토콜에 의해 정의된 규격을 따른다.As shown in FIG. 4, the transmission data is composed of a CAN header 210 part and a CAN payload part 220 which is a data frame part. The CAN payload 220 records information to be transmitted. For example, in the case of an engine ECU, data on the current state of the engine and the like are recorded in the CAN payload 220 field. The standard of the message conforms to the standard defined by the CAN protocol.

또한, 전송데이터의 CAN 헤더(210) 부분에는 메시지 ID(211) 필드가 있고, 해당 필드에는 해당 메시지의 ID가 기록된다. 메시지 ID(ID)는 메시지의 식별자로서, 메시지의 종류를 나타낸다. 예를 들어, 엔진의 RPM을 전송하는 메시지는 주기적으로 전송되는데, 이때, RPM 전송 메시지는 동일한 메시지 ID(ID)를 갖는다. 즉, 메시지를 수신하는 ECU(10)는 메시지 ID(ID)를 통해 해당 메시지가 어떤 데이터를 가지고 있는지를 확인한다.In the CAN header 210 of the transmission data, there is a message ID field 211, and the ID of the message is recorded in the corresponding field. The message ID (ID) is an identifier of the message, and indicates the type of the message. For example, a message that transmits an RPM of an engine is periodically transmitted, wherein the RPM transmission message has the same message ID (ID). That is, the ECU 10 receiving the message confirms what data the corresponding message has via the message ID (ID).

도 5a 및 도 5b 는 해커의 공격으로 인해 타겟 ECU에 비정상 메시지가 수신되는 과정을 설명하기 위한 도면이다.5A and 5B are diagrams illustrating a process of receiving an abnormal message in a target ECU due to an attack by a hacker.

도 5a 를 참조하면, 타겟 ECU(51)는 CAN ID 리스트(CAN_ID_LIST)를 생성하며, CAN_ID_LIST 리스트에는 0x11, 0x22, 0x33, 0x44 의 CAN ID가 포함될 수 있다. 또한, 탐지 대상 ECU 인 ECU1(52), ECU2(53), ECU3(54)가 존재하며, ECU1(52)은 정상 ECU 상태, 즉 메시지 정상 전송 상태일 때 0x11 및 0x22 의 CAN ID를 갖는 메시지를 CAN 버스(50)에 브로드캐스팅할 수 있다. 예를 들어, 정상 CAN 메시지(52m)는 0x11 의 CAN ID를 가질 수 있다. 한편, 도 5a 의 예시에서, 해커에 의해 조종되어 비정상 CAN 메시지(55m)를 브로드캐스팅하는 비정상 ECU로서 ECUk 가 존재할 수 있으며, 비정상 CAN 메시지(55m)는 정상 CAN 메시지(52m)을 모사한 메시지일 수 있다. 이때, 정상 CAN 메시지(52m)와 비정상 CAN 메시지(55m)가 모두 CAN 버스(50)상에 브로드캐스팅되는 경우, 정상 CAN 메시지(52m)와 비정상 CAN 메시지(55m)가 충돌하여 해커는 공격 목적을 달성할 수 없다. 이에, 해커는 도 5b 에 도시된 바와 같이 ECU1(52) 을 메시지 전송 불능 상태로 만드는 우회 공격을 사용함으로써 정상 CAN 메시지(52m)가 브로드캐스팅되지 않게 할 수 있다. 또한, 해커는 비정상 ECU(ECUk)를 이용하여 0x11 CAN ID를 갖는 비정상 CAN 메시지(55m)를 브로드캐스팅할 수 있다. 이 경우 타겟 ECU(51)는 비정상 CAN 메시지(55m)만을 수신하여 해커의 의도대로 차량의 상태로 오판할 위험성이 존재한다. 이를 방지하기 위해 본 발명의 일 실시예에 따르면 타겟 ECU는 진단 통신 서비스를 이용하여 탐지 대상 ECU가 메시지 전송 불능 상태인지 여부를 모니터링하고, 모니터링 결과에 따라 CAN 메시지의 정상 여부를 판별할 수 있다.Referring to FIG. 5A, the target ECU 51 generates a CAN ID list (CAN_ID_LIST), and the CAN ID list includes 0x11, 0x22, 0x33, and 0x44 CAN IDs. There are ECUs 1 52, ECU 2 53 and ECU 3 54 serving as detection target ECUs and the ECU 1 52 sends a message having a CAN ID of 0x11 and 0x22 when it is in a normal ECU state, Can be broadcast to the CAN bus (50). For example, the normal CAN message 52m may have a CAN ID of 0x11. On the other hand, in the example of FIG. 5A, ECU k may exist as an abnormal ECU that is controlled by a hacker and broadcasts an abnormal CAN message 55m, and the abnormal CAN message 55m may be a message . At this time, when both the normal CAN message 52m and the abnormal CAN message 55m are broadcast on the CAN bus 50, the normal CAN message 52m and the abnormal CAN message 55m collide with each other, It can not be achieved. Thus, the hacker can prevent the normal CAN message 52m from being broadcasted by using the detour attack which makes the ECU1 52 disable the message transmission as shown in Fig. 5B. In addition, the hacker can broadcast an abnormal CAN message (55m) having a 0x11 CAN ID using the abnormal ECU (ECUk). In this case, the target ECU 51 receives only the abnormal CAN message 55m and there is a risk that the target ECU 51 will misjudge the vehicle as the intention of the hacker. In order to prevent this, according to an embodiment of the present invention, the target ECU monitors whether or not the detection target ECU can not transmit a message using the diagnosis communication service, and can determine whether the CAN message is normal according to the monitoring result.

진단 통신 ID 추출부(120)는 CAN ID 리스트에 존재하는 CAN ID 중 진단 통신 관련 요청(Request) 또는 응답(Response)에 해당하는 진단 통신 CAN ID 를 추출할 수 있다. 즉, 진단 통신 ID 추출부(120)는 수신된 CAN 메시지의 CAN ID가 진단 통신용 요청 또는 응답에 할당된 CAN 아이디 중 적어도 하나를 사용하는 CAN 메시지인지 여부를 판단할 수 있다.The diagnostic communication ID extracting unit 120 may extract a diagnostic communication CAN ID corresponding to a request or a response related to the diagnosis communication among the CAN IDs present in the CAN ID list. That is, the diagnostic communication ID extracting unit 120 can determine whether the CAN ID of the received CAN message is a CAN message using at least one of the CAN IDs assigned to the request for diagnostic communication or the response.

보다 상세히, 상술한 바와 같이 차량의 CAN 통신은 차량 통신과 진단 통신을 포함할 수 있다. 이때, 차량 통신에 사용되는 각 ECU에 대응하는 CAN ID들은 완성차 제조사에 따라 달라질 수 있다. 또한, 진단 통신에 사용되는 각 ECU의 요청(Request)과 응답(Response)에 해당하는 CAN ID 역시 완성차 제조사에 달라질 수 있다. 즉, 차량 통신 및 진단 통신에서 각 ECU에 해당하는 CAN ID는 완성차 제조사에 따라 달라질 수 있다. 그러나, CAN 통신에 연결된 각각의 ECU에 대한 진단 통신은 요청(Request)과 응답(Response)에 해당하는 사전에 정의 및 할당된 CAN ID가 2 개 존재할 수 있다. 예를 들어, 진단 통신의 요청에 해당하는 CAN ID는 0x7E 이고, 응답에 해당하는 CAN ID는 0x7E8 일 수 있으나, 구체적인 요청 및 응답 CAN ID는 상술한 바와 같이 제조사에 따라 달라질 수 있다. 즉, 진단 통신에서 사용되는 서비스 ID들은 제조사에 관계없이 동일한 국제 표준을 따르며, 본 발명은 이러한 특징을 갖는 진단 통신의 서비스 ID를 이용하여 탐지 대상 ECU의 상태를 판별할 수 있다.More specifically, as described above, the CAN communication of the vehicle may include vehicle communication and diagnostic communication. At this time, the CAN IDs corresponding to the respective ECUs used in the vehicle communication may vary depending on the manufacturer of the finished car. Also, the CAN ID corresponding to the request and the response of each ECU used in the diagnosis communication may be different for the vehicle maker. That is, in the vehicle communication and diagnosis communication, the CAN ID corresponding to each ECU can be changed depending on the vehicle maker. However, the diagnostic communication for each ECU connected to the CAN communication may have two predefined and assigned CAN IDs corresponding to the request and the response. For example, the CAN ID corresponding to the request for diagnostic communication may be 0x7E and the CAN ID corresponding to the response may be 0x7E8, but the specific request and response CAN ID may vary depending on the manufacturer as described above. That is, the service IDs used in the diagnostic communication follow the same international standard regardless of the manufacturer, and the present invention can determine the state of the detection target ECU by using the service ID of the diagnostic communication having such characteristics.

다음으로, ID-ECU 매칭부(130)는 진단 통신 CAN ID에 대응하는 탐지 대상 ECU를 매칭할 수 있다. 즉, 추출된 진단 통신 ID에 대응하는 탐지 대상 ECU를 매칭할 수 있으며, 매칭된 탐지 대상 ECU는 진단 통신 관련 요청을 수신하였거나 혹은 응답을 송신한 것으로 추정될 수 있다. 따라서, 타겟 ECU는 진단 통신 관련 메시지를 수신 또는 송신한 ECU의 상태가 메시지 정상 전송 가능 상태인지, 혹은 메시지 전송 불능 상태인지 여부를 모니터링할 수 있으며, 이때 모니터링 대상이 되는 탐지 대상 ECU를 선정하는 것은 상술한 바와 같이 진단 통신 CAN ID 의 추출 및 ECU 매칭에 기초할 수 있다.Next, the ID-ECU matching unit 130 may match the detection target ECU corresponding to the diagnostic communication CAN ID. That is, it is possible to match the detection target ECU corresponding to the extracted diagnostic communication ID, and the matching detection target ECU can be assumed to have received the diagnostic communication related request or transmitted the response. Therefore, the target ECU can monitor whether the status of the ECU that has received or transmitted the diagnostic communication related message is in the message normal transmission possible state or in the message transmission disabled state. In this case, the target ECU selects the detection target ECU It can be based on the extraction of the diagnostic communication CAN ID and the ECU matching as described above.

다음으로, ECU 상태 모니터링부(101)는 리프로그래밍 감지부(140) 및 일시적 불능 감지부(150) 를 포함하며, 탐지 대상 ECU가 정상 메시지 전송 상태인지 혹은 메시지 전송 불능 상태인지 여부를 판별하는 역할을 한다.Next, the ECU state monitoring unit 101 includes a reprogram sensing unit 140 and a temporary disablement sensing unit 150. The ECU state monitoring unit 101 determines whether the detection target ECU is in a normal message transmission state or a message transmission disabled state .

차량 등에 사용되는 CAN 통신은 브로드캐스트 방식으로 CAN 메시지를 전송하며, 따라서 CAN 버스(50)에 연결된 하나의 노드(ECU)가 특정 CAN 메시지를 정상적으로 수신한다고 해도 해당 CAN 메시지가 사라지지 않는다. 즉, CAN 통신의 특성상 CAN 버스(50)에 연결된 모든 ECU는 CAN 버스 상에 브로드캐스팅된 CAN 메시지를 수신할 수 있다.A CAN communication used in a vehicle or the like transmits a CAN message in a broadcast manner so that even if one node (ECU) connected to the CAN bus 50 normally receives a specific CAN message, the corresponding CAN message does not disappear. That is, due to the nature of the CAN communication, all ECUs connected to the CAN bus 50 can receive the CAN message broadcast on the CAN bus.

이와 같은 CAN 통신의 특성으로 인해, 상술한 바와 같이, CAN 통신 기반 해킹 공격 시, 해킹 공격에 의한 비정상 ECU로부터의 비정상 CAN 메시지와, 정상 ECU로부터의 정상 CAN 메시지가 모두 CAN 버스로 브로드캐스팅 되어 충돌이 발생할 수 있다. 이 경우 해커는 원하는 목적을 달성할 수 없기 때문에, 해커는 정상 ECU가 정상 CAN 메시지를 전송하지 않도록 하여 충돌이 발생하는 경우를 차단하는 우회 공격 방법을 사용할 수 있다. 이때, 해커는 정상 CAN 메시지를 발송하지 않도록 하기 위해 진단 통신의 국제 표준 서비스를 사용할 수 있으며, 따라서 본 발명의 일 실시예에 따른 ECU 상태 모니터링부(101)는 수신된 CAN ID 리스트에 탐지 대상 ECU를 메시지 전송 불능 상태로 만드는 진단 통신 서비스의 요청/응답 CAN ID가 있는지를 탐지하여 탐지 대상 ECU의 상태를 모니터링하고, 탐지 대상 ECU가 메시지 전송 불능 상태에 있다고 판단하는 경우 해당 탐지 대상 ECU로부터 수신된 주기적 CAN 메시지는 해킹 공격에 의해 모사된 비정상 메시지라고 판단할 수 있다.Due to the characteristics of the CAN communication, as described above, during the CAN communication-based hacking attack, both the abnormal CAN message from the abnormal ECU due to the hacking attack and the normal CAN message from the normal ECU are broadcast to the CAN bus, Can occur. In this case, the hacker can not achieve the desired purpose, so the hacker can use the bypass attack method to block the occurrence of the collision by preventing the normal ECU from transmitting the normal CAN message. At this time, the hacker can use the international standard service of diagnostic communication so as not to send the normal CAN message. Therefore, the ECU status monitoring unit 101 according to the embodiment of the present invention detects the CAN ID In response to the detection of the request / response CAN ID of the diagnostic communication service that makes the message transmission impossible state, monitors the status of the detection target ECU, and when it is determined that the detection target ECU is in the message transmission disabled state, The periodic CAN message can be judged to be an abnormal message simulated by a hacking attack.

본 발명의 일 실시예에 따르면, ECU 상태 모니터링부(101)는 우선 순위가 높은 하나 이상의 N 개 ECU에 대해서, 2N 개의 필터 ID (진단 통신의 요청/응답에 대한 ID) 를 수신 필터(Rx 필터)로 설정하고, 해당 필터 ID 에 대응하는 CAN ID를 갖는 CAN 메시지가 감지되며 해당 ECU가 메시지 전송 불능 상태가 되었다고 판단할 수 있는 패턴이 감지되었을 때, 대응하는 탐지 대상 ECU가 아이들 모드(메시지 전송 불능 상태)라고 판단할 수 있다. ECU 상태 모니터링부(101)가 판단한 탐지 대상 ECU의 상태 정보는 비 휘발성 메모리(예를 들어, 보호 메모리(38))에 저장되어, 우회 공격 탐지부(100)가 비정상적으로 종료되는 경우에도 탐지 대상 ECU의 상태 정보를 잃지 않을 수 있다.According to an embodiment of the present invention, the ECU state monitoring unit 101 may acquire 2N filter IDs (IDs for request / response of diagnostic communication) for one or more N priority ECUs having a high priority, ), A CAN message having a CAN ID corresponding to the filter ID is detected, and when a pattern that can be determined that the corresponding ECU has become unable to transmit a message is detected, the corresponding detected ECU transmits an idle mode It can be judged that it is in a disabled state). The state information of the detection target ECU determined by the ECU state monitoring unit 101 is stored in the nonvolatile memory (for example, the protection memory 38), and even when the detour detection unit 100 abnormally terminates, The ECU status information may not be lost.

ECU 상태 모니터링부(101)가 탐지 대상 ECU를 메시지 전송 불능 상태라고 판단하는 트리거링 컨디션은, 탐지 대상 ECU에 대한 1) UDS 스펙에 명시된 ecuReset 서비스에 서브로 Reprogramming 0x03 요청 중 하나를 감지하는 것, 그리고 2) UDS 스펙에 명시된 disableNormalMessageTransmission 서비스 요청일 수 있으며, 2 가지의 트리거링 컨디션은 각각 리프로그래밍 감지부(140) 및 일시적 불능 감지부(150)에 의해 탐지될 수 있다.The triggering condition for determining that the ECU status monitoring unit 101 determines that the detection target ECU is in a message transmission disabled state is one of 1) requesting reprogramming 0x03 to the ecuReset service specified in the UDS specification for the detection target ECU, and 2) a disableNormalMessageTransmission service request specified in the UDS specification, and two triggering conditions may be detected by the reprogramming detection unit 140 and the temporal disablement unit 150, respectively.

한편, ECU 상태 모니터링부(101)는 일시적 불능 감지부(150) 및 리프로그래밍 감지부(140)에 의한 탐지 대상 ECU의 메시지 전송 불능 상태를 감지할 때, 진단 서비스 ID로 된 서브 함수값을 참조할 수 있다. 예를 들어, 리프로그래밍 감지부(140)는 EcuReset $11 의 서브 함수가 리프로그래밍 관련 함수인지 여부를 참조하여 메시지 전송 불능 상태를 감지할 수 있다.On the other hand, when detecting the message transmission disabled state of the detection target ECU by the temporary disablement sensing unit 150 and the reprogramming sensing unit 140, the ECU state monitoring unit 101 refers to the subfunction value of the diagnosis service ID can do. For example, the reprogramming sensing unit 140 may detect a message transmission failure state by referring to whether or not a subfunction of EcuReset $ 11 is a reprogramming related function.

먼저, 리프로그래밍 감지부(140)는 탐지 대상 ECU가 리프로그래밍 모드로 진입하도록 하는 요청을 감지하며, 보다 상세히는 펌웨어 리프로그래밍 목적의 EcuReset 관련 기능을 수행하는 진단 서비스가 트리거링 된 경우를 감지한다. 펌웨어 리프로그래밍 목적의 EcuReset 관련 기능이란, UDS 에서 서비스 ID $11로 정의된 서비스이다.First, the reprogramming detection unit 140 detects a request to cause the detection target ECU to enter the reprogramming mode, and more particularly, when the diagnostic service that performs the EcuReset-related function for firmware reprogramming purposes is triggered. An EcuReset related function for firmware reprogramming is a service defined in UDS with service ID $ 11.

본 발명의 일 실시예에 따르면 리프로그래밍 감지부(140)는 탐지 대상 ECU 상태를 실시간으로 모니터링하여 탐지 대상 ECU가 메시지 전송 불능 상태가 되는지 여부를 탐지한다.According to an embodiment of the present invention, the reprogramming detection unit 140 monitors whether or not the detection target ECU is in a message transmission disabled state by monitoring the detection target ECU state in real time.

도 6 은 본 발명의 일 실시예에 따른 탐지 대상 ECU의 상태 변화를 설명하기 위한 도면이다.6 is a diagram for explaining a change in state of a detection target ECU according to an embodiment of the present invention.

도 6 을 참조하면, 먼저 탐지 대상 ECU가 노멀 상태일 때, EcuReset 요청(EcuReset $11)이 수신될 수 있다. 이 경우, 탐지 대상 ECU 는 먼저 부정 응답(Negative Response)을 하고, 리셋(Reset) 이후 긍정 응답(Positive Response)을 한다. EcuReset $11 의 서브 함수가 리프로그래밍 관련 함수(Reprogramming 0x03)이며 ECU가 리셋 이후 긍정 응답을 한다는 2 가지 조건이 만족되면, 탐지 대상 ECU는 리프로그래밍 모드로 진입한다.Referring to FIG. 6, when the detection target ECU is in a normal state, an EcuReset request (EcuReset $ 11) may be received. In this case, the detection target ECU first issues a negative response and then performs a positive response after the reset. EcuReset If the two sub-functions of $ 11 are reprogramming related functions (Reprogramming 0x03) and the ECU satisfies two conditions that the ECU responds positively after reset, the target ECU enters the reprogramming mode.

탐지 대상 ECU는 리프로그래밍 모드 진입 시 메시지 전송 불능 상태가 된다. 즉, 본 발명의 일 실시예에 따르면 리프로그래밍 감지부(140)는 1) EcuReset $11 의 서브 함수가 리프로그래밍 관련 함수일 것, 및 2) 탐지 대상 ECU가 리셋 이후의 긍정 응답을 한 것의 2 가지 조건이 만족되면 탐지 대상 ECU가 메시지 전송 불능 상태라고 판단할 수 있다. 혹은, 본 발명의 다른 실시예에 따르면, 리프로그래밍 감지부(140)는 최소 트리거링 컨디션으로서 EcuReset $11 의 서브 함수가 리프로그래밍 관련 함수일 경우 탐지 대상 ECU가 메시지 전송 불능 상태라고 판단하고, 추가적으로 탐지 대상 ECU의 제조사에 따라 리셋 이후의 긍정 응답/부정 응답 여부에 따라 메시지 전송 불능 상태를 확정할 수 있다.The ECU to be detected enters the reprogramming mode and the message transmission is disabled. That is, according to one embodiment of the present invention, the reprogramming sensing unit 140 determines that the sub-function of EcuReset $ 11 is a reprogramming related function, and 2) the two conditions of the affirmative response Is satisfied, the ECU to be detected can determine that the message can not be transmitted. Alternatively, according to another embodiment of the present invention, the reprogramming sensing unit 140 determines that the detection target ECU is in a message transmission disabled state when the subfunction of EcuReset $ 11 is a reprogramming related function as the minimum triggering condition, It is possible to determine the message transmission disabled state depending on whether an affirmative response or a negative response has occurred since the reset.

또한, 탐지 대상 ECU는 리프로그래밍 모드에서 Request Transfer Exit $37 요청이 수신되는 경우 노멀 상태로 전이할 수 있으며, 다시 메시지 정상 전송 상태가 된다. 따라서, 리프로그래밍 감지부(140)는 Request Transfer Exit $37 요청을 감지하는 경우, 탐지 대상 ECU의 상태를 메시지 전송 불능 상태에서 메시지 정상 전송 상태로 전이시킬 수 있다. 이 경우 타겟 ECU가 감지하는 탐지 대상 ECU에 대응하는 CAN 메시지들은 정상 CAN 메시지라 판단될 수 있다.In addition, the detection target ECU can transition to the normal state when a Request Transfer Exit $ 37 request is received in the reprogramming mode, and again the message is transmitted normally. Accordingly, when the reprogramming sensing unit 140 detects the request transfer request 37, it can transfer the state of the detection target ECU from the message transmission failure state to the message normal transmission state. In this case, the CAN messages corresponding to the detection target ECU detected by the target ECU can be judged as normal CAN messages.

한편, 탐지 대상 ECU의 리프로그래밍 모드 도중에 탐지 대상 ECU만 전원이 탈거되는 경우가 존재할 수 있다. 이 경우에는 탐지 대상 ECU의 리셋 이후에 탐지 대상 ECU가 정상 CAN 메시지를 송출할 수 있으므로(즉, 메시지 정상 전송 상태이므로) ECU 상태 모니터링부(101)는 정상 CAN 메시지와 비정상 CAN 메시지를 모두 수신할 수 있다. 즉, 정상 CAN 메시지와 비정상 CAN 메시지가 충돌하기 때문에, 해커의 공격을 감지할 수 있다.On the other hand, there may be a case where only the detection target ECU is detached from the power source during the reprogramming mode of the detection target ECU. In this case, since the detection object ECU can send out the normal CAN message after the reset of the detection object ECU (that is, since the message is normally transmitted), the ECU state monitoring unit 101 receives both the normal CAN message and the abnormal CAN message . That is, since the normal CAN message and the abnormal CAN message conflict, it is possible to detect a hacker's attack.

다음으로, 일시적 불능 감지부(150)는 탐지 대상 ECU를 일시적인 메시지 전송 불능 상태로 만드는 진단 서비스 요청을 감지하며, 진단 서비스 목적의 메시지 전송 비활성(disableNormalMessageTransmission) 관련 기능을 수행하는 서비스가 트리거링 된 경우를 감지한다. 즉, 일시적 불능 감지부(150)는 UDS 스펙에 명시된 disableNormalMessageTransmission 관련 기능을 수행하는 진단 서비스 요청을 감지할 수 있다.Next, the temporary disablement detecting unit 150 detects a diagnostic service request for temporarily disabling the message transmission of the detection target ECU, and when a service for performing a message related to disableNormalMessageTransmission for diagnostic service purposes is triggered Detection. That is, the temporary disablement detecting unit 150 can detect a diagnostic service request that performs the disableNormalMessageTransmission related function specified in the UDS specification.

disableNormalMessageTransmission 서비스는 UDS 에서 Communication Control $28 의 하위 함수로서, 확장 모드(Extended Mode)에서만 동작 가능하며, 지속 시간이 제한적이다. 대표적으로, disableNormalMessageTransmission 서비스는 약 3 초 정도 지속 가능하며, 따라서 disableNormalMessageTransmission 상태를 지속하기 위해서는 disableNormalMessageTransmission $28 을 지속적으로 송신해야 한다. 따라서, 일시적 불능 감지부(150)는 disableNormalMessageTransmission $28 요청이 기설정된 시간 간격 이하로 지속적으로(예를 들어, 3초에 한번씩) 존재하는 경우 탐지 대상 ECU가 일시적인 메시지 전송 불능 상태라고 판단할 수 있다.The disableNormalMessageTransmission service is a subordinate function of Communication Control $ 28 in UDS. It can only operate in Extended Mode and has a limited duration. Typically, the disableNormalMessageTransmission service is persistent for about 3 seconds, so you must send disableNormalMessageTransmission $ 28 continuously to maintain the disableNormalMessageTransmission state. Therefore, the temporary disablement sensing unit 150 can determine that the detection target ECU is temporarily unable to transmit a message when the disableNormalMessageTransmission $ 28 request is continuously (for example, every 3 seconds) below the predetermined time interval.

다음으로, 비정상 메시지 판별부(160)는 상술한 바와 같이 리프로그래밍 감지부(140) 혹은 일시적 불능 감지부(150)가 탐지 대상 ECU를 메시지 전송 불능 상태라 판단했음에도 불구하고, 탐지 대상 ECU에 대응하는 CAN 아이디를 갖는 CAN 메시지가 주기적으로 수신되는 경우, 상기 CAN 메시지를 비정상 CAN 메시지라 판별할 수 있다. 즉, 탐지 대상 ECU가 메시지 전송 불능 상태여서 정상적으로 CAN 메시지를 송신할 수 없는 상태임에도 불구하고, 탐지 대상 ECU에 대응하는 CAN 메시지가 수신된다면 해당 CAN 메시지는 해킹 공격에 의해 모사된, 비정상 ECU가 송신한 비정상 CAN 메시지라 판별할 수 있다.Next, the abnormal message determination unit 160 determines whether or not the reprogramming detection unit 140 or the temporary disablement detection unit 150 determines that the detection target ECU is a message transmission disabled state, as described above, If the CAN message having the CAN ID is received periodically, the CAN message can be determined as an abnormal CAN message. That is, if the CAN message corresponding to the detection object ECU is received despite the fact that the detection object ECU is unable to normally transmit the CAN message due to the message transmission disabled state, the corresponding CAN message is transmitted by the abnormal ECU, It can be determined that there is one abnormal CAN message.

다음으로, 탐지 점수 학습부(170)는 비정상 메시지 판별부(160)가 수신된 CAN 메시지를 정상인지 혹은 비정상인지 여부를 판별할 때 사용할 수 있는 탐지 학습 알고리즘을 제공할 수 있다.Next, the detection score learning unit 170 may provide a detection learning algorithm that can be used when the abnormal message determination unit 160 determines whether the received CAN message is normal or abnormal.

이와 관련하여, 상술한 바와 같은 비정상 메시지 판별부(160)가 탐지 대상 ECU에 대응하는 CAN 메시지들을 수신할 때마다 해당 CAN 메시지를 비정상 메시지로 판단하기에는 어려움이 존재한다. 임베디드 환경의 특성 상 정상적인 경우에도 노이즈 등으로 메시지들의 수신 주기가 잘못되거나, 메시지가 오류 전송될 수 있기 때문이다. 따라서, 본 발명에서는 보다 정확하게 비정상 메시지를 탐지할 수 있는 탐지 점수 학습 알고리즘을 사용할 수 있다.In this regard, whenever the abnormal message determiner 160 receives the CAN messages corresponding to the detection target ECU, it is difficult to determine the CAN message as an abnormal message. Because of the characteristics of the embedded environment, even in the normal case, the receiving period of the messages may be wrong due to noise or the like, and the message may be erroneously transmitted. Therefore, in the present invention, a detection point learning algorithm capable of detecting an abnormal message more accurately can be used.

보다 상세히, 탐지 점수 학습부(170)는 탐지 대상 ECU가 메시지 전송 불능 상태일 때, 탐지 대상 ECU에 대응하는 CAN 메시지가 수신되는 경우 탐지 점수를 기설정된 값만큼 증가시키고, 탐지 대상 ECU에 대응하는 CAN 메시지가 기설정된 시간 내에 수신되지 않는 경우 상기 탐지 점수를 기설정된 값만큼 감소시킬 수 있다. 산출된 탐지 점수를 이용하여, 비정상 메시지 판별부(160)는 탐지 점수가 기설정된 기준값 이상일 때 탐지 대상 ECU에 대응하는 CAN 메시지가 비정상 메시지라 판단할 수 있다.More specifically, the detection score learning unit 170 increases the detection score by a predetermined value when the CAN message corresponding to the detection subject ECU is received when the detection subject ECU is in a message transmission disabled state, If the CAN message is not received within a predetermined time, the detection score may be reduced by a predetermined value. Using the calculated detection score, the abnormal message determination unit 160 can determine that the CAN message corresponding to the detection target ECU is an abnormal message when the detection score is equal to or greater than a preset reference value.

이상에서는 CAN 컨트롤러(30) 내의 우회 공격 탐지부(100)를 중심으로 본 발명을 설명하였다. 한편, 본 발명의 다른 실시예에서는, 상술한 명세서에서 설명된 우회 공격 탐지부(100)는 CAN 컨트롤러(30) 외부에 존재하거나, 혹은 우회 공격 탐지부(100)의 동작과 관련된 방법이 일 실시예으로서 구현될 수 있다. 즉, 본 발명의 다른 실시예에 따르면, 본 명세서에서 설명된 우회 공격 탐지부(100)의 동작들은 시계열적 단계를 가지는 방법으로서 구현될 수 있으며, 이때 방법의 수행 주체는 반드시 CAN 컨트롤러(30)가 아닐 수도 있다. 예를 들어, 도 7 에서 설명된 각 단계들을 수행하는 방법이 본 발명의 일 실시예가 될 수 있고, 이때 각 단계들을 수행하는 방법은 CAN 컨트롤러(30)가 아닌 다른 장치에 의해서도 수행될 수 있다.The present invention has been described above with reference to the bypass attack detection unit 100 in the CAN controller 30. Meanwhile, in another embodiment of the present invention, the detour attack detector 100 described above may exist outside the CAN controller 30, or a method related to the operation of the detour attack detector 100 may be implemented May be implemented as an example. That is, according to another embodiment of the present invention, the operations of the detour detection unit 100 described herein may be implemented as a method having a time series step, . For example, a method of performing the steps described in FIG. 7 may be an embodiment of the present invention, and the method of performing the steps may be performed by a device other than the CAN controller 30. [

이때, 본 발명의 다른 실시예에 따른 방법을 수행하는 주체는 타겟 ECU에 내장된 프로세서일 수 있으며, 이때 프로세서에 저장된 명령들은 본 발명의 실시예에 따라 타겟 ECU 및 타겟 ECU의 CAN 컨트롤러(30)를 제어할 수 있으므로, 이 경우 자동차뿐만 아니라 건설 중장비, 농업 트랙터 등 CAN 통신을 사용하는 다양한 분야의 전자식 ECU에 적용 가능하다는 장점이 있다. 혹은 본 발명의 다른 실시예에 따른 방법을 수행하는 주체는 타겟 ECU에 H/W 형태의 커넥터 타입으로 연결되는 보조 제어기일 수 있으며, 이 경우 보조 제어기를 타겟 ECU에 연결하기만 하면 되므로 H/W 혹은 S/W 측면의 변경이 불필요하다는 장점이 존재한다. 혹은 본 발명의 다른 실시예에 따른 방법을 수행하는 주체는 타겟 ECU의 CAN 컨트롤러(30) 내부에 내장되는 반도체 장치이고, 반도체 장치의 S/W 가 본 발명의 방법을 수행하도록 설계될 수 있다. 혹은 본 발명의 다른 실시예에 따른 방법을 수행하는 주체는 CAN 버스에 연결되는 보안 게이트웨이(gateway)일 수 있으며, 이 경우 보안 게이트웨이는 개별 제어기에 연결되지 않고 연결된 CAN 버스 네트워크의 모든 CAN 메시지들의 비정상 여부를 판별할 수 있다.At this time, the subject performing the method according to another embodiment of the present invention may be a processor embedded in the target ECU, and the commands stored in the processor may be transmitted to the CAN controller 30 of the target ECU and the target ECU according to the embodiment of the present invention. It can be applied not only to automobiles, but also to electronic ECUs in various fields using CAN communication such as construction heavy equipment and agricultural tractors. Alternatively, the subject performing the method according to another embodiment of the present invention may be an auxiliary controller connected to the target ECU in a connector type of H / W type. In this case, since only the auxiliary controller is connected to the target ECU, Or there is no need to change the S / W aspect. Alternatively, the subject performing the method according to another embodiment of the present invention is a semiconductor device embedded in the CAN controller 30 of the target ECU, and the S / W of the semiconductor device can be designed to perform the method of the present invention. Alternatively, the subject performing the method according to another embodiment of the present invention may be a security gateway connected to the CAN bus, in which case the security gateway is not connected to the individual controller, Or not.

도 7 은 본 발명의 일 실시예에 따른 CAN 통신 기반 우회 공격 탐지 방법을 시계열적으로 나타낸 순서도이다. 본 발명의 일 실시예에 따른 도 7 의 각 단계는 우회 공격 탐지부(100)에 의해 수행될 수 있다.FIG. 7 is a flowchart illustrating a method of detecting a detour attack based on CAN communication according to an embodiment of the present invention in a time-series manner. Each step of FIG. 7 according to an embodiment of the present invention may be performed by the detour detection unit 100. FIG.

도 7 을 참조하면, 먼저 기설정된 CAN ID 리스트를 획득한다(S1).Referring to FIG. 7, first, a predetermined CAN ID list is acquired (S1).

다음으로, CAN 버스로부터 수신된 하나 이상의 CAN 메시지에 대응하는 CAN ID 중 진단 통신 관련 요청(Request) 또는 응답(Response)에 해당하는 진단 통신 CAN ID를 추출한다(S2).Next, a diagnosis communication CAN ID corresponding to a request or a response related to the diagnosis communication among the CAN IDs corresponding to one or more CAN messages received from the CAN bus is extracted (S2).

다음으로, 진단 통신 CAN ID에 대응하는 탐지 대상 ECU를 매칭한다(S3).Next, the detection target ECU corresponding to the diagnostic communication CAN ID is matched (S3).

다음으로, 탐지 대상 ECU의 상태가 메시지 전송 불능 상태인지 여부를 판단하고, 메시지 정상 전송 상태인 경우 S1 단계로 돌아가고, 메시지 전송 불능 상태인 경우 S5 단계를 수행한다(S4). Next, it is determined whether or not the state of the detection target ECU is the message transmission disabled state. If the message transmission state is normal, the process returns to step S1. If the message transmission is impossible, step S5 is performed (step S4).

다음으로, 탐지 대상 ECU가 메시지 전송 불능 상태일 때, 탐지 대상 ECU에 대응하는 CAN 메시지들이 주기적으로 수신되는는지 여부를 판단하고, 수신되지 않는 경우 S1 단계로 돌아가고, 수신되는 경우 S6 단계를 수행한다(S5).Next, when the detection target ECU is in a message transmission disabled state, it is determined whether or not the CAN messages corresponding to the detection target ECU are periodically received. If not, the process returns to step S1. If not, the process proceeds to step S6 (S5).

마지막으로, 탐지 대상 ECU에 대응하는 CAN 메시지를 비정상 메시지로 판별한다(S6).Finally, the CAN message corresponding to the ECU to be detected is determined to be an abnormal message (S6).

도 8 은 본 발명의 일 실시예에 따라 우회 공격 탐지부가 CAN 컨트롤러(30)외부에 존재하는 경우를 도시한 도면이다.8 is a diagram illustrating a case in which a detour detection unit exists outside the CAN controller 30 according to an embodiment of the present invention.

도 8 을 참조하면, 우회 공격 탐지부(100)가 CAN 컨트롤러(30)의 외부에 존재하며, 우회 공격 탐지부(100)는 CAN 트랜시버(20)로부터 수신 CAN 메시지를 획득하여 CAN 메시지가 비정상 메시지인지 여부를 판별한 후, 판별 결과를 수신 버퍼부(36)에 반환할 수 있다. 이때, 우회 공격 탐지부(100)는 타겟 ECU를 본 발명의 방법에 따라 제어하도록 하는 명령이 저장된 프로세서를 포함할 수 있다.8, the detour detection unit 100 exists outside the CAN controller 30 and the detour detection unit 100 acquires the receiving CAN message from the CAN transceiver 20 so that the CAN message is an abnormal message And then returns the determination result to the reception buffer unit 36. [0060] FIG. At this time, the bypass attack detection unit 100 may include a processor for storing a command for controlling the target ECU according to the method of the present invention.

본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific acts described in the present invention are, by way of example, not intended to limit the scope of the invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as " essential ", " importantly ", etc., it may not be a necessary component for application of the present invention.

본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The use of the terms " above " and similar indication words in the specification of the present invention (particularly in the claims) may refer to both singular and plural. In addition, in the present invention, when a range is described, it includes the invention to which the individual values belonging to the above range are applied (unless there is contradiction thereto), and each individual value constituting the above range is described in the detailed description of the invention The same. Finally, the steps may be performed in any suitable order, unless explicitly stated or contrary to the description of the steps constituting the method according to the invention. The present invention is not necessarily limited to the order of description of the above steps. The use of all examples or exemplary language (e.g., etc.) in this invention is for the purpose of describing the present invention only in detail and is not to be limited by the scope of the claims, It is not. It will also be appreciated by those skilled in the art that various modifications, combinations, and alterations may be made depending on design criteria and factors within the scope of the appended claims or equivalents thereof.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention or may be those known and used by those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, medium, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code, such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be modified into one or more software modules for performing the processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications and changes may be made thereto without departing from the scope of the present invention.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all ranges that are equivalent to or equivalent to the claims of the present invention as well as the claims .

Claims (8)

CAN 버스로부터 수신된 하나 이상의 CAN 메시지로부터 CAN ID를 획득하여 CAN ID 리스트를 생성하는 CAN ID 획득 단계;
상기 CAN ID 중 진단 통신 관련 요청(Request) 또는 응답(Response)에 해당하는 진단 통신 CAN ID를 추출하는 진단 통신 ID 추출 단계;
상기 진단 통신 CAN ID에 대응하는 탐지 대상 ECU를 매칭하는 매칭 단계;
상기 탐지 대상 ECU의 상태가 메시지 정상 전송 상태인지 혹은 메시지 전송 불능 상태인지 여부를 판별하는 ECU 상태 모니터링 단계;
상기 탐지 대상 ECU가 메시지 전송 불능 상태일 때 상기 탐지 대상 ECU에 대응하는 CAN 메시지들이 주기적으로 수신되는 경우, 상기 탐지 대상 ECU에 대응하는 CAN 메시지를 비정상 메시지로 판별하는 비정상 메시지 판별 단계;
를 포함하는 CAN 통신 기반 우회 공격 탐지 방법.
A CAN ID acquiring step of acquiring a CAN ID from at least one CAN message received from the CAN bus to generate a CAN ID list;
A diagnostic communication ID extracting step of extracting a diagnostic communication CAN ID corresponding to a request or response of a diagnostic communication related to the CAN ID;
A matching step of matching a detection target ECU corresponding to the diagnostic communication CAN ID;
An ECU state monitoring step of determining whether the state of the detection object ECU is a message normal transmission state or a message transmission disabled state;
An abnormal message discrimination step of discriminating the CAN message corresponding to the detection object ECU as an abnormal message when the CAN messages corresponding to the detection object ECU are periodically received when the detection object ECU is in a message transmission disabled state;
Based detour attack detection method.
제 1 항에 있어서,
상기 ECU 상태 모니터링 단계는,
상기 탐지 대상 ECU가 리프로그래밍 모드로 진입하여 메시지 전송 불능 상태가 된 것을 감지하는 리프로그래밍 감지 단계; 및
상기 탐지 대상 ECU가 일시적 전송 불능 상태가 된 것을 감지하는 일시적 불능 감지 단계; 를 포함하는, CAN 통신 기반 우회 공격 탐지 방법.
The method according to claim 1,
Wherein the ECU state monitoring step includes:
Detecting a reprogramming step of detecting that the detection target ECU enters a reprogramming mode and a message transmission disabled state is established; And
Detecting that the detection target ECU has become temporarily untransferred; Based CAN detection method.
제 2 항에 있어서,
상기 리프로그래밍 감지 단계는,
상기 탐지 대상 ECU에 대한 리프로그래밍 관련 ECU 리셋 요청을 감지하는 것에 기초하여, 상기 탐지 대상 ECU가 리프로그래밍 모드로 진입하여 메시지 전송 불능 상태가 되었다고 판단하는, CAN 통신 기반 우회 공격 탐지 방법.
3. The method of claim 2,
The method of claim 1,
Based on the detection of a reprogramming-related ECU reset request for the detection target ECU, determines that the detection target ECU has entered the reprogramming mode and has become unable to transmit a message.
제 2 항에 있어서,
상기 일시적 불능 감지 단계는,
상기 탐지 대상 ECU에 대한 메시지 전송 비활성 요청이 기설정된 시간 간격 이하로 존재하는 경우 상기 탐지 대상 ECU가 일시적인 메시지 전송 불능 상태가 되었다고 판단하는, CAN 통신 기반 우회 공격 탐지 방법.
3. The method of claim 2,
Wherein the temporarily disabled detection step comprises:
And if the message transmission inactivation request for the detection target ECU is less than or equal to a predetermined time interval, determines that the detection target ECU has become temporarily unable to transmit a message.
제 1 항에 있어서,
상기 탐지 대상 ECU가 메시지 전송 불능 상태일 때, 상기 탐지 대상 ECU에 대응하는 CAN 메시지가 수신되는 경우 탐지 점수를 기설정된 값만큼 증가시키고, 상기 탐지 대상 ECU에 대응하는 CAN 메시지가 기설정된 시간 내에 수신되지 않는 경우 상기 탐지 점수를 기설정된 값만큼 감소시키는 탐지 점수 학습 단계; 를 더 포함하고,
상기 비정상 메시지 판별 단계는, 상기 탐지 점수가 기준값 이상일 때 상기 탐지 대상 ECU에 대응하는 CAN 메시지를 비정상 메시지라 판단하는, CAN 통신 기반 우회 공격 탐지 방법.
The method according to claim 1,
When the CAN message corresponding to the detection object ECU is received when the detection object ECU is in a message transmission disabled state, the detection score is increased by a predetermined value, and the CAN message corresponding to the detection object ECU is received A detection score learning step of reducing the detection score by a preset value if the detection score is not satisfied; Further comprising:
Wherein the abnormal message distinguishing step determines that the CAN message corresponding to the detection target ECU is an abnormal message when the detection score is equal to or greater than a reference value.
제 1 항에 있어서,
상기 탐지 대상 ECU의 상태는 비휘발성 메모리에 저장되는, CAN 통신 기반 우회 공격 탐지 방법.
The method according to claim 1,
Wherein the state of the detection target ECU is stored in a nonvolatile memory.
CAN 버스로부터 수신된 하나 이상의 CAN 메시지로부터 CAN ID를 획득하여 CAN ID 리스트를 생성하는 CAN ID 획득부;
상기 CAN ID 중 진단 통신 관련 요청(Request) 또는 응답(Response)에 해당하는 진단 통신 CAN ID를 추출하는 진단 통신 ID 추출부;
상기 진단 통신 CAN ID에 대응하는 탐지 대상 ECU를 매칭하는 매칭부;
상기 탐지 대상 ECU의 상태가 메시지 정상 전송 상태인지 혹은 메시지 전송 불능 상태인지 여부를 판별하는 ECU 상태 모니터링부;
상기 탐지 대상 ECU가 메시지 전송 불능 상태일 때 상기 탐지 대상 ECU에 대응하는 CAN 메시지들이 주기적으로 수신되는 경우, 상기 탐지 대상 ECU에 대응하는 CAN 메시지를 비정상 메시지로 판별하는 비정상 메시지 판별부;
를 포함하는 CAN 통신 기반 우회 공격 탐지 시스템.
A CAN ID acquiring unit for acquiring a CAN ID from at least one CAN message received from the CAN bus and generating a CAN ID list;
A diagnostic communication ID extracting unit for extracting a diagnostic communication CAN ID corresponding to a request or a response related to a diagnosis communication among the CAN IDs;
A matching unit for matching a detection target ECU corresponding to the diagnostic communication CAN ID;
An ECU state monitoring unit for determining whether the state of the detection object ECU is a message normal transmission state or a message transmission disabled state;
An abnormal message discrimination unit for discriminating the CAN message corresponding to the detection target ECU as an abnormal message when the CAN messages corresponding to the detection subject ECU are periodically received when the detection subject ECU is in a message transmission disabled state;
CAN based detour attack detection system.
제1항 내지 제6항 중 어느 한 항에 따른 방법을 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable medium for carrying out the method according to any one of claims 1 to 6.
KR1020170083610A 2017-06-16 2017-06-30 Method and System for detecting bypass hacking attacks based on the CAN protocol KR101966345B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170083610A KR101966345B1 (en) 2017-06-30 2017-06-30 Method and System for detecting bypass hacking attacks based on the CAN protocol
PCT/KR2018/006756 WO2018230988A1 (en) 2017-06-16 2018-06-15 Can communication based hacking attack detection method and system
US16/715,437 US11522878B2 (en) 2017-06-16 2019-12-16 Can communication based hacking attack detection method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170083610A KR101966345B1 (en) 2017-06-30 2017-06-30 Method and System for detecting bypass hacking attacks based on the CAN protocol

Publications (2)

Publication Number Publication Date
KR20190003112A true KR20190003112A (en) 2019-01-09
KR101966345B1 KR101966345B1 (en) 2019-04-08

Family

ID=65017322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170083610A KR101966345B1 (en) 2017-06-16 2017-06-30 Method and System for detecting bypass hacking attacks based on the CAN protocol

Country Status (1)

Country Link
KR (1) KR101966345B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102201583B1 (en) 2019-12-18 2021-01-12 주식회사 이랜텍 Condenser microphone
WO2022085863A1 (en) * 2020-10-21 2022-04-28 숭실대학교 산학협력단 Method for handling hacked node on can bus physical layer, physical layer security method through automatic node id setting on can bus, recording medium for carrying out same, and system
KR20220079331A (en) 2020-12-04 2022-06-13 재단법인대구경북과학기술원 Malicious node detecting method in bus network system and node apparatus
WO2023121148A1 (en) * 2021-12-21 2023-06-29 숭실대학교 산학협력단 Apparatus and method for adversarial feature selection considering attack function of vehicle can

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2592924A (en) 2020-03-10 2021-09-15 Daimler Ag Method for detecting a fraud device in a communication network of a vehicle

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110057348A (en) 2009-11-24 2011-06-01 한국전자통신연구원 Can communication security apparatus and can communication security method
JP2013168865A (en) * 2012-02-16 2013-08-29 Hitachi Automotive Systems Ltd In-vehicle network system
KR101413427B1 (en) 2012-12-18 2014-07-01 주식회사 유라코퍼레이션 Apparatas and method for security message transmission and reception of vehicle network
JP5609363B2 (en) * 2010-07-21 2014-10-22 トヨタ自動車株式会社 Architecture for self-healing computer systems
KR101472896B1 (en) 2013-12-13 2014-12-16 현대자동차주식회사 Method and apparatus for enhancing security in in-vehicle communication network
US20150358351A1 (en) * 2013-01-28 2015-12-10 Hitachi Automotive Systems, Ltd. Network device, and data sending and receiving system
KR20160093764A (en) 2015-01-29 2016-08-09 주식회사 아나스타시스 Secure communication system of ecu utilizing otp rom
KR101651648B1 (en) 2016-04-28 2016-08-29 인포뱅크 주식회사 Data communication method for vehicle, Electronic Control Unit and system thereof
KR101714520B1 (en) * 2015-10-30 2017-03-09 현대자동차주식회사 In-Vehicle Network Attack Detection Method and Apparatus
JP2017114406A (en) * 2015-12-25 2017-06-29 トヨタ自動車株式会社 Network system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110057348A (en) 2009-11-24 2011-06-01 한국전자통신연구원 Can communication security apparatus and can communication security method
JP5609363B2 (en) * 2010-07-21 2014-10-22 トヨタ自動車株式会社 Architecture for self-healing computer systems
JP2013168865A (en) * 2012-02-16 2013-08-29 Hitachi Automotive Systems Ltd In-vehicle network system
KR101413427B1 (en) 2012-12-18 2014-07-01 주식회사 유라코퍼레이션 Apparatas and method for security message transmission and reception of vehicle network
US20150358351A1 (en) * 2013-01-28 2015-12-10 Hitachi Automotive Systems, Ltd. Network device, and data sending and receiving system
KR101472896B1 (en) 2013-12-13 2014-12-16 현대자동차주식회사 Method and apparatus for enhancing security in in-vehicle communication network
KR20160093764A (en) 2015-01-29 2016-08-09 주식회사 아나스타시스 Secure communication system of ecu utilizing otp rom
KR101714520B1 (en) * 2015-10-30 2017-03-09 현대자동차주식회사 In-Vehicle Network Attack Detection Method and Apparatus
JP2017114406A (en) * 2015-12-25 2017-06-29 トヨタ自動車株式会社 Network system
KR101651648B1 (en) 2016-04-28 2016-08-29 인포뱅크 주식회사 Data communication method for vehicle, Electronic Control Unit and system thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TECHNICAL COMMUNICATIONS. CAN, Automotive Diagnostic Command Set User Manual. NATIONAL INSTRUMENTS, 2009.12., 페이지 1-1 - 6-140. *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102201583B1 (en) 2019-12-18 2021-01-12 주식회사 이랜텍 Condenser microphone
WO2022085863A1 (en) * 2020-10-21 2022-04-28 숭실대학교 산학협력단 Method for handling hacked node on can bus physical layer, physical layer security method through automatic node id setting on can bus, recording medium for carrying out same, and system
KR20220079331A (en) 2020-12-04 2022-06-13 재단법인대구경북과학기술원 Malicious node detecting method in bus network system and node apparatus
US11876810B2 (en) 2020-12-04 2024-01-16 Daegu Gyeongbuk Institute Of Science And Technology Method of detecting malicious node in bus network system and node apparatus
WO2023121148A1 (en) * 2021-12-21 2023-06-29 숭실대학교 산학협력단 Apparatus and method for adversarial feature selection considering attack function of vehicle can

Also Published As

Publication number Publication date
KR101966345B1 (en) 2019-04-08

Similar Documents

Publication Publication Date Title
KR101966345B1 (en) Method and System for detecting bypass hacking attacks based on the CAN protocol
US11522878B2 (en) Can communication based hacking attack detection method and system
US11411917B2 (en) Method for detecting, blocking and reporting cyber-attacks against automotive electronic control units
JP7178346B2 (en) Vehicle monitoring device, fraud detection server, and control method
JP7410223B2 (en) Fraud detection server and method
US20180091525A1 (en) On-vehicle communication system
JP6201962B2 (en) In-vehicle communication system
US20210203682A1 (en) Cybersecurity on a controller area network in a vehicle
US20180278616A1 (en) In-vehicle communication system, communication management device, and vehicle control device
US20150066239A1 (en) Vehicle network monitoring method and apparatus
KR101972457B1 (en) Method and System for detecting hacking attack based on the CAN protocol
KR102524204B1 (en) Apparatus and method for intrusion response in vehicle network
US20190182267A1 (en) Vehicle security manager
CN107426285A (en) A kind of vehicle-mounted CAN bus safety means of defence and device
KR101754951B1 (en) A CAN controller secured from hacking attack based on the CAN protocol
KR20200103643A (en) Systems and methods for providing security to in-vehicle networks
US11938897B2 (en) On-vehicle device, management method, and management program
JP7178408B2 (en) Abnormality detection device, abnormality detection system and control method
JP7340537B2 (en) Unauthorized control prevention system, monitoring device, and unauthorized control prevention method
US20220182404A1 (en) Intrusion path analysis device and intrusion path analysis method
KR101995903B1 (en) Device for verifying status and detecting anomaly of vehicle and system having the same
KR102204655B1 (en) A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time
US20220157090A1 (en) On-vehicle security measure device, on-vehicle security measure method, and security measure system
CN111669352B (en) Method and device for preventing denial of service attack
KR101825711B1 (en) A CAN controller secured from hacking attack based on the CAN protocol

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant