KR20220052477A - Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method - Google Patents

Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method Download PDF

Info

Publication number
KR20220052477A
KR20220052477A KR1020200136473A KR20200136473A KR20220052477A KR 20220052477 A KR20220052477 A KR 20220052477A KR 1020200136473 A KR1020200136473 A KR 1020200136473A KR 20200136473 A KR20200136473 A KR 20200136473A KR 20220052477 A KR20220052477 A KR 20220052477A
Authority
KR
South Korea
Prior art keywords
node
bus
nid
hacked
physical layer
Prior art date
Application number
KR1020200136473A
Other languages
Korean (ko)
Other versions
KR102456506B1 (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 KR1020200136473A priority Critical patent/KR102456506B1/en
Priority to JP2023524176A priority patent/JP2023547833A/en
Priority to US18/032,473 priority patent/US20240031404A1/en
Priority to PCT/KR2020/019184 priority patent/WO2022085863A1/en
Priority to EP20958813.6A priority patent/EP4231596A1/en
Publication of KR20220052477A publication Critical patent/KR20220052477A/en
Application granted granted Critical
Publication of KR102456506B1 publication Critical patent/KR102456506B1/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

A counterattack method against a hacked node in a controller area network (CAN) bus physical layer comprises the steps of: setting node IDs (NIDs), which are different unique IDs, to a plurality of nodes connected to a CAN bus line, respectively; determining an error frame when at least one of a node using a forged NID, a node using another NID, and a node using a non-existent NID is found; increasing counts of a transmit error counter (TEC) and a receive error counter (REC) of a transmitting node and a receiving node whenever an error frame is generated; and placing, in a bus-off state, a node with a TEC or a REC greater than a set threshold, and blocking the same. Therefore, if a malicious data frame is detected on a CAN bus, an intrusion detection system can increase the counter of errors in an internal attacking node to separate the same from the CAN bus, thereby defending against a malicious attack.

Description

CAN 버스 물리 계층에서 해킹된 노드의 대처 방법, 이를 수행하기 위한 기록 매체 및 시스템{COUNTERATTACK METHOD AGAINST HACKED NODE IN CAN BUS PHYSICAL LAYER, RECORDING MEDIUM AND SYSTEM FOR PERFORMING THE METHOD}Coping method of node hacked in CAN bus physical layer, recording medium and system for performing it

본 발명은 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법, 이를 수행하기 위한 기록 매체 및 시스템에 관한 것으로서, 더욱 상세하게는 CAN 버스 상에서 악의적인 데이터 프레임이 감지되면 침입 감지 시스템이 내부 공격 노드의 에러 카운터를 증가시켜서 버스에서 분리시킴으로써 악의적인 공격을 방어하는 기술에 관한 것이다.The present invention relates to a method for coping with a node hacked in a CAN bus physical layer, a recording medium and a system for performing the same, and more particularly, when a malicious data frame is detected on the CAN bus, the intrusion detection system detects an error of an internal attack node It is about techniques to defend against malicious attacks by incrementing a counter and disconnecting it from the bus.

오늘날 대부분의 자동차는 CAN(Controller Area Network) 버스를 기반으로 차량 내부의 ECU(Electronic Control Unit)들을 연결하고 있다. CAN 버스의 특징 중 하나는 통신에 참여하는 노드들의 주소가 존재하지 않는다는 점이다. 이는 동시 전송, 다수 전송 등 많은 장점을 가지고 있지만 동시에 보안상 취약점을 제공한다. Most automobiles today are connecting ECUs (Electronic Control Units) inside the vehicle based on a CAN (Controller Area Network) bus. One of the characteristics of the CAN bus is that the addresses of nodes participating in communication do not exist. This has many advantages such as simultaneous transmission and multiple transmission, but at the same time provides security vulnerabilities.

통신에 참여하는 노드들 중 하나를 해킹하여 악의적인 데이터 프레임을 전송하는 경우, 어느 노드가 데이터 프레임을 송신하였는지 알 수 없기 때문에 해당 노드를 차단하는 것이 매우 어렵다. 이렇게 악의적인 데이터 프레임을 막지 못할 경우 CAN 버스를 과부하시켜서 정상적인 통신을 못하게 하거나 다른 노드를 공격하여 사용자에게 위험이 될 수 있는 동작을 하게 할 수 있다.If one of the nodes participating in the communication is hacked to transmit a malicious data frame, it is very difficult to block the node because it is not known which node transmitted the data frame. If such malicious data frames cannot be prevented, normal communication may be prevented by overloading the CAN bus, or other nodes may be attacked to perform actions that may be dangerous to users.

구체적으로, CAN 통신 프로토콜(Protocol)의 특징 중 하나로 CAN 버스에 연결되는 노드(Node)들은 어드레스(Address)가 존재하지 않아 통신에 참여하는 노드들 중 하나가 해커에 의해 해킹을 당하여 악의적인 데이터 프레임을 송신 하여도 어느 전자 제어 장치가 문제인지 식별의 어려움이 있다. Specifically, as one of the characteristics of the CAN communication protocol, the nodes connected to the CAN bus do not have addresses, so one of the nodes participating in the communication is hacked by a hacker and a malicious data frame There is a difficulty in identifying which electronic control device is the problem even if it is transmitted.

해킹 당한 노드는 악의적인 데이터 프레임을 송신하여 CAN 버스를 과부하 시키거나 다른 노드를 오동작 시킬 수 있고 또는 다른 정상 노드를 도용할 수 있는데, 이 경우 사용자의 안전에 큰 위험이 될 수 있다. 따라서, CAN 버스 상에서 발생하는 악의적인 노드를 식별하고 신속하게 대처하여 사고에 대비하여야 한다.A hacked node can overload the CAN bus by sending malicious data frames, malfunction other nodes, or steal other normal nodes, which can be a great risk to user safety. Therefore, it is necessary to prepare for an accident by identifying malicious nodes occurring on the CAN bus and responding quickly.

JP 4232603 B2JP 4232603 B2 KR 10-1332339 B1KR 10-1332339 B1 KR 10-2009-0065260 AKR 10-2009-0065260 A

J. Lee and S. Lee, "Design and Verification of Automotive CAN Controller," j.inst.Korean.electr. electron.eng, vol.21, no.2, 2017. DOI: 10.7471/ikeee.2017.21.2.162 J. Lee and S. Lee, "Design and Verification of Automotive CAN Controller," j.inst.Korean.electr. electron.eng, vol.21, no.2, 2017. DOI: 10.7471/ikeee.2017.21.2.162

이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 여러 가지 공격 시나리오에 대해 즉각적으로 대처할 수 있도록 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법을 제공하는 것이다.Accordingly, the technical task of the present invention was conceived in this regard, and an object of the present invention is to provide a coping method of a node hacked in the CAN bus physical layer so that it can respond immediately to various attack scenarios.

본 발명의 다른 목적은 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.Another object of the present invention is to provide a recording medium in which a computer program for performing a method of coping with a hacked node in the CAN bus physical layer is recorded.

본 발명의 또 다른 목적은 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법을 수행하기 위한 시스템을 제공하는 것이다.Another object of the present invention is to provide a system for performing a coping method of a hacked node in the CAN bus physical layer.

상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법은, CAN(Controller Area Network) 버스 라인에 연결된 다수의 노드들에 대해 각각 서로 다른 고유 ID인 NID(Node ID)를 설정하는 단계; 위조된 NID를 사용하는 노드, 다른 NID를 사용하는 노드 및 존재하지 않는 NID를 사용하는 노드 중 적어도 하나가 발견되는 경우 에러 프레임으로 판단하는 단계; 상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC(Transmit Error Counter)와 REC(Receive Error Counter)의 카운트를 증가시키는 단계; 및 TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단하는 단계;를 포함한다.A method for dealing with a node hacked in the CAN bus physical layer according to an embodiment for realizing the object of the present invention is a unique ID that is different for a plurality of nodes connected to a CAN (Controller Area Network) bus line. setting a Node ID (NID); determining an error frame when at least one of a node using a forged NID, a node using another NID, and a node using a non-existent NID is found; increasing counts of Transmit Error Counter (TEC) and Receive Error Counter (REC) of a transmitting node and a receiving node whenever the error frame is generated; and blocking a node having a TEC or REC greater than a set threshold by bus-off (off).

본 발명의 실시예에서, 상기 에러 프레임으로 판단하는 단계는, 위조된 NID를 사용하는 노드가 발견된 경우 사칭 당한 NID가 설정된 노드가 해킹을 감지할 수 있다.In an embodiment of the present invention, in the step of determining the error frame, when a node using a forged NID is found, a node with an impersonated NID may detect hacking.

본 발명의 실시예에서, 상기 에러 프레임으로 판단하는 단계는, 다른 NID를 사용하는 노드 또는 존재하지 않는 NID를 사용하는 노드가 발견된 경우 침입 감지 시스템인 IDS(Intrusion Detection System)가 해킹을 감지할 수 있다.In an embodiment of the present invention, in the step of determining the error frame, an Intrusion Detection System (IDS), an intrusion detection system, detects hacking when a node using another NID or a node using a non-existent NID is found. can

본 발명의 실시예에서, 상기 CAN 버스 라인에 연결된 다수의 노드들에 대해 각각 서로 다른 고유 ID인 NID를 설정하는 단계는, 데이터 프레임을 송신할 때 메시지 ID 영역 하위 4 비트를 NID 값으로 설정할 수 있다.In an embodiment of the present invention, the step of setting the NID, which is a different unique ID, for each of the plurality of nodes connected to the CAN bus line may include setting the lower 4 bits of the message ID area to the NID value when transmitting the data frame. there is.

본 발명의 실시예에서, 상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 증가시키는 단계는, 상기 에러 프레임이 발생되면, 송신 노드의 TEC는 8만큼 증가시키고, 수신 노드의 경우 가장 먼저 에러 프레임을 발생시킨 노드의 REC는 8만큼 증가시키고 다른 노드의 REC는 1만큼 증가시킬 수 있다.In an embodiment of the present invention, the step of increasing the counts of TECs and RECs of the transmitting node and the receiving node each time the error frame is generated includes: when the error frame is generated, the TEC of the transmitting node is incremented by 8; In the case of a node, the REC of the node that generated the first error frame can be increased by 8, and the REC of other nodes can be increased by 1.

본 발명의 실시예에서, 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법은, 메시지가 성공적으로 전송될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 감소시키는 단계;를 더 포함할 수 있다.In an embodiment of the present invention, the method of dealing with a node hacked in the CAN bus physical layer may further include: decrementing the counts of TECs and RECs of the transmitting node and the receiving node whenever a message is successfully transmitted. there is.

본 발명의 실시예에서, 상기 TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단하는 단계는, 노드의 TEC 또는 REC가 256 보다 커지는 경우 해당 노드를 분리할 수 있다.In an embodiment of the present invention, the step of blocking a node in which the TEC or REC becomes greater than a set threshold by bus-off may separate the node when the TEC or REC of the node becomes greater than 256.

상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다. In a computer-readable storage medium according to an embodiment for realizing another object of the present invention, a computer program for performing a method for coping with a hacked node in the CAN bus physical layer is recorded.

상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템은, CAN(Controller Area Network) 버스 라인에 연결되고 각각 서로 다른 고유 ID인 NID(Node ID)가 설정된 다수의 노드들; 상기 CAN 버스 라인에 로딩되는 데이터 프레임의 내용을 분석하여 해킹당한 노드인지 판단하는 IDS(Intrusion Detection System); 상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC(Transmit Error Counter)와 REC(Receive Error Counter)의 카운트를 증가시키고, 메시지가 성공적으로 전송될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 감소시키는 카운터; 및 상기 다수의 노드들 및 IDS에 각각 장착되어, TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단하는 NES(Node Expulsion System);를 포함한다.A system for coping with a hacked node in a CAN bus physical layer according to an embodiment for realizing another object of the present invention is connected to a CAN (Controller Area Network) bus line and NID (Node) which is a different unique ID, respectively. a plurality of nodes to which ID) is set; an Intrusion Detection System (IDS) that analyzes the contents of a data frame loaded on the CAN bus line to determine whether it is a hacked node; Each time the error frame is generated, the TEC (Transmit Error Counter) and REC (Receive Error Counter) counts of the sending node and the receiving node are incremented, and whenever a message is successfully transmitted, the TEC and REC of the sending node and the receiving node counter to decrement the count of; and a Node Expulsion System (NES) that is mounted on the plurality of nodes and the IDS, respectively, and blocks a node having a TEC or REC greater than a set threshold by bus-off.

본 발명의 실시예에서, 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템은, 위조된 NID를 사용하는 노드가 발견된 경우 사칭 당한 NID가 설정된 노드의 NES가 해킹을 감지할 수 있다.In an embodiment of the present invention, in the coping system of a node hacked in the CAN bus physical layer, when a node using a forged NID is found, the NES of the node to which the impersonated NID is set may detect hacking.

본 발명의 실시예에서, 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템은, 다른 NID를 사용하는 노드 또는 존재하지 않는 NID를 사용하는 노드가 발견된 경우 상기 IDS의 NES가 해킹을 감지할 수 있다.In an embodiment of the present invention, in the coping system of a node hacked in the CAN bus physical layer, when a node using another NID or a node using a non-existent NID is found, the NES of the IDS can detect hacking there is.

본 발명의 실시예에서, 각 노드의 NID는 데이터 프레임을 송신할 때 메시지 ID 영역 하위 4 비트에서 설정될 수 있다.In an embodiment of the present invention, the NID of each node may be set in the lower 4 bits of the message ID area when transmitting a data frame.

이와 같은 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법에 따르면, CAN 버스 상에서 악의적인 데이터 프레임이 감지되면 침입 감지 시스템이 내부 공격 노드의 에러 카운터를 증가시켜서 버스에서 분리시킴으로써 악의적인 공격을 방어한다. According to the coping method of the hacked node in the CAN bus physical layer, when a malicious data frame is detected on the CAN bus, the intrusion detection system increments the error counter of the internal attack node and separates it from the bus to prevent malicious attacks.

IDS(Intrusion Detection System)와 CAN(Controller Area Network) 컨트롤러의 NID(Node ID)를 설정해 두는 하드웨어적 방식으로 CAN 버스 상에서 발생할 수 있는 모든 네트워크 공격에 대해 즉각적으로 대처할 수 있다. 따라서, 사용자의 안전성을 높일 수 있고 보안 성능을 강화할 수 있다.By setting the NID (Node ID) of the IDS (Intrusion Detection System) and CAN (Controller Area Network) controller, it is possible to immediately respond to any network attack that may occur on the CAN bus. Accordingly, it is possible to increase user safety and enhance security performance.

도 1은 본 발명의 일 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템의 블록도이다.
도 2는 도 1에서 NID가 설정되어 있는 노드의 MID와 DLC에 따른 송신할 수 있는 데이터 범위를 보여주는 표이다.
도 3은 TEC와 REC에 따른 노드의 상태 변화를 보여주는 도면이다.
도 4는 본 발명에 따라 일반 공격에 대처하는 과정을 보여주는 도면이다.
도 5는 본 발명에 따라 스푸핑 공격에 대처하는 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법의 흐름도이다.
도 7은 본 발명에 따라 일반 공격에 대처하는 동작의 시뮬레이션 파형을 보여주는 도면이다.
도 8은 본 발명에 따라 스푸핑 공격에 대처하는 동작의 시뮬레이션 파형을 보여주는 도면이다.
1 is a block diagram of a system for coping with a hacked node in a CAN bus physical layer according to an embodiment of the present invention.
FIG. 2 is a table showing a data range that can be transmitted according to the MID and DLC of the node to which the NID is set in FIG. 1 .
3 is a diagram illustrating state changes of nodes according to TEC and REC.
4 is a view showing a process of coping with a general attack according to the present invention.
5 is a diagram showing a process of coping with a spoofing attack according to the present invention.
6 is a flowchart of a coping method of a node hacked in a CAN bus physical layer according to an embodiment of the present invention.
7 is a diagram showing a simulation waveform of an operation to cope with a general attack according to the present invention.
8 is a diagram showing a simulation waveform of an operation to cope with a spoofing attack according to the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be implemented in other embodiments with respect to one embodiment without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the following detailed description is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scope equivalents to those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템의 블록도이다. 도 2는 도 1에서 NID가 설정되어 있는 노드의 MID와 DLC에 따른 송신할 수 있는 데이터 범위를 보여주는 표이다.1 is a block diagram of a system for coping with a hacked node in a CAN bus physical layer according to an embodiment of the present invention. FIG. 2 is a table showing a data range that can be transmitted according to the MID and DLC of the node to which the NID is set in FIG. 1 .

본 발명에 따른 CAN(Controller Area Network) 버스 물리 계층에서 해킹된 노드의 대처 시스템(1, 이하 시스템)은 CAN 버스 상에서 악의적인 데이터 프레임이 감지되면 침입 감지 시스템이 내부 공격 노드의 에러 카운터를 증가시켜서 버스에서 분리시킴으로써 악의적인 공격을 방어하는 기법을 제안한다. 예를 들어, 본 발명에서 제안한 기법을 탑재한 CAN 컨트롤러를 Verilog HDL을 이용하여 구현할 수 있다.In the CAN (Controller Area Network) bus physical layer according to the present invention, when a malicious data frame is detected on the CAN bus, the intrusion detection system increases the error counter of the internal attack node. We propose a technique to prevent malicious attacks by separating them from the bus. For example, a CAN controller equipped with the technique proposed in the present invention can be implemented using Verilog HDL.

도 1을 참조하면, 본 발명에 따른 시스템(1)은 CAN 버스 라인에 연결된 다수의 노드들(Node A, B, C, D), IDS(Intrusion Detection System), 카운터(미도시) 및 NES(Node Expulsion System)를 포함한다.1, the system 1 according to the present invention includes a plurality of nodes (Node A, B, C, D) connected to a CAN bus line, an Intrusion Detection System (IDS), a counter (not shown) and an NES ( Node Expulsion System).

상기 다수의 노드들(Node A, B, C, D)은 CAN(Controller Area Network) 버스 라인에 연결되고 각각 서로 다른 고유 ID인 NID(Node ID)가 설정된다.The plurality of nodes (Nodes A, B, C, and D) are connected to a controller area network (CAN) bus line, and a unique ID (NID) that is different from each other is set.

본 발명에서는 모든 노드들이 통신을 시작하기 전에 도 1과 같이 서로 다른 본인의 고유 ID인 NID(Node ID)가 설정되어 있다. 데이터 프레임을 송신할 때 메시지 ID 영역 하위 4 비트를 NID 값으로 채워 송신하면, NID가 핑거프린트(Fingerprint) 역할을 하므로 어느 노드가 데이터 프레임을 송신하는지 알 수 있게 된다. In the present invention, NID (Node ID), which is a unique ID of a different person, is set before all nodes start communication as shown in FIG. 1 . When transmitting a data frame, if the lower 4 bits of the message ID area are filled with an NID value and transmitted, the NID acts as a fingerprint, so it is possible to know which node is transmitting the data frame.

본 발명에 따른 CAN 버스는 추가적으로 IDS(Intrusion Detection System)를 연결하였는데 IDS는 침입 감지 시스템으로 도 2와 같이 MID(Message ID)와 DLC(Data Length Code)에 따라 송신할 수 있는 데이터의 범위를 사전에 설정하여 IDS와 노드들에게 미리 업데이트 해둔다. The CAN bus according to the present invention additionally connects an Intrusion Detection System (IDS), which is an intrusion detection system. As shown in FIG. 2, the range of data that can be transmitted is pre-determined according to MID (Message ID) and DLC (Data Length Code). Set in , and update IDS and nodes in advance.

상기 IDS는 상기 CAN 버스 라인에 로딩되는 데이터 프레임의 내용을 분석하여 해킹당한 노드인지 판단한다.The IDS determines whether the node has been hacked by analyzing the contents of the data frame loaded on the CAN bus line.

상기 카운터는 상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC(Transmit Error Counter)와 REC(Receive Error Counter)의 카운트를 증가시키고, 메시지가 성공적으로 전송될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 감소시킨다.The counter increments the TEC (Transmit Error Counter) and REC (Receive Error Counter) counts of the sending node and the receiving node whenever the error frame is generated, and each time a message is successfully transmitted, the Decrease the count of TEC and REC.

상기 NES는 상기 다수의 노드들 및 IDS에 각각 장착되어, TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단한다.The NES is mounted on the plurality of nodes and the IDS, respectively, and blocks a node having a TEC or REC greater than a set threshold by bus-off.

CAN 버스의 모든 노드는 TEC(Transmit Error Counter)와 REC(Receive Error Counter)가 있으며, 이를 이용하여 에러가 자주 발생하는 노드가 다른 노드의 송수신을 방해하지 않도록 관리한다. All nodes of the CAN bus have TEC (Transmit Error Counter) and REC (Receive Error Counter), and by using these, a node with frequent errors does not interfere with transmission and reception of other nodes.

어느 노드든지 에러를 발견하면 에러 프레임을 발생시키는데, 이때 송신 노드의 TEC는 8만큼 증가하게 된다. 수신 노드의 경우 가장 먼저 에러 프레임을 발생시킨 노드의 REC는 8만큼 증가하고 다른 노드의 REC는 1만큼 증가한다. If any node finds an error, it generates an error frame, at which time the TEC of the transmitting node is increased by 8. In the case of the receiving node, the REC of the node that first generated the error frame increases by 8, and the REC of the other node increases by 1.

반면, 메시지가 성공 적으로 전송되면 송신 노드와 수신 노드의 TEC와 REC는 각각 1씩 감소한다. 도 3은 TEC와 REC에 따라 노드 상태 변화를 나타낸 것이다. 에러 액티브 상태는 정상적인 송수신을 수행하지만 TEC 또는 REC가 128 이상이 되면, 에러 패시브 상태가 되어 송수신에 다소 제약을 받는다. On the other hand, if the message is successfully transmitted, the TEC and REC of the sending node and the receiving node are each decreased by 1. 3 shows node state changes according to TEC and REC. In the error active state, normal transmission/reception is performed, but when TEC or REC is 128 or higher, the error passive state becomes error-passive, and transmission/reception is somewhat restricted.

특히, TEC가 256 이상이 되면 버스 오프 상태가 되어 버스에서 자동적으로 분리되며 송수신이 금지된다. 본 발명에서는 이를 이용하여 악의적인 데이터 프레임을 전송하는 노드를 버스 오프 상태로 만들어서 해당 노드가 버스를 과부하 시키거나 다른 노드를 공격하는 것을 막는 기법을 제안한다. In particular, when the TEC exceeds 256, the bus is turned off, automatically disconnected from the bus, and transmission and reception are prohibited. The present invention proposes a technique for preventing a node transmitting a malicious data frame from overloading the bus or attacking other nodes by making the node that transmits a malicious data frame in a bus-off state using this.

CAN 버스 공격 시나리오 CAN 버스에서는 크게 3가지의 공격 시나리오를 생각할 수 있는데 노드를 점령한 뒤 스니핑(Sniffing)을 통해 메시지 패턴을 파악할 수도 있고, 일반적인 공격(Attack)을 통해 악의적인 데이터 프레임을 송신하여 버스를 과부하 걸리게 만들거나 다른 노드를 오동작시킬 수 있다. CAN Bus Attack Scenarios There are three main attack scenarios in the CAN bus. After occupying a node, a message pattern can be identified through sniffing, and a malicious data frame can be transmitted through a general attack. may overload the node or cause other nodes to malfunction.

또한, 다른 노드인 척 가장하면서 악의적인 데이터 프레임을 송신하는 스푸핑(Spoofing) 공격을 할 수도 있다. 예를 들어, 공격 시나리오는 아래와 같다.In addition, a spoofing attack that transmits a malicious data frame while pretending to be another node may be performed. For example, the attack scenario is as follows.

시나리오 1로서 스니핑은 해킹을 통해 점령한 노드를 이용해서 버스 상에서 통신 중인 메시지들을 보고 패턴을 파악하는 것이다. 이 단계에서는 CAN 버스에 해를 가하지 않는다. As Scenario 1, sniffing is to identify patterns by looking at messages communicating on the bus using nodes occupied through hacking. No harm is done to the CAN bus at this stage.

시나리오 2로서 일반 공격은 스니핑을 통해 메시지 패턴을 파악한 후 점령한 노드를 이용하여 악의적인 데이터 프레임을 송신한다. 시나리오 3은 스푸핑 공격으로 일반적인 공격과 스푸핑 공격은 악의적인 데이터 프레임을 송신하는 점에서는 동일하나 스푸핑 공격에서는 점령한 노드가 다른 노드인 척 위장한다는 차이가 있다. As Scenario 2, a normal attack detects a message pattern through sniffing and then sends a malicious data frame using the occupied node. Scenario 3 is a spoofing attack. The general attack and the spoofing attack are the same in that they transmit a malicious data frame, but the spoofing attack differs in that the occupied node pretends to be another node.

에러 프레임을 보내서 해킹당한 노드를 추방하는 기능인 NES(Node Expulsion System)는 일반적인 CAN 버스에는 없는 본 발명에서 추가한 기능이다. The Node Expulsion System (NES), which is a function to expel a hacked node by sending an error frame, is a function added to the present invention that is not present in a general CAN bus.

일 실시예로서, NES는 특정 조건을 만족하면 에러 프레임을 내보내는 회로를 CAN 컨트롤러에 부가하여 구현할 수 있다. 본 발명에서는 NES를 각 노드와 IDS에 모두 장착하였다. As an embodiment, the NES may be implemented by adding a circuit for outputting an error frame to the CAN controller when a specific condition is satisfied. In the present invention, the NES is installed in both each node and the IDS.

본 발명에서 스니핑은 당장 버스에 악 영향을 끼치지 않기 때문에 특별한 조치를 취하지 않는다. 그러나, 일반 공격에서는 도 4와 같이 점령당한 노드가 악의적인 데이터 프레임을 송신할 경우 IDS에서 해당 데이터 프레임의 내용을 분석하고 해당 노드가 해킹되었음을 감지한다. In the present invention, since sniffing does not adversely affect the bus immediately, no special measures are taken. However, in a general attack, when an occupied node transmits a malicious data frame as shown in FIG. 4 , the IDS analyzes the contents of the data frame and detects that the node has been hacked.

이후로는 IDS에 장착된 NES가 해당 노드가 송신할 때마다 계속 에러 프레임을 송신하기 때문에 해당 노드는 송신을 봉쇄당하고 TEC가 증가하여 버스 오프 상태가 된다. After that, since the NES installed in the IDS continues to transmit error frames whenever the node transmits, the node is blocked from transmitting and the TEC increases and the bus goes off.

구체적으로, 해킹 당한 노드가 악의적인 데이터 프레임을 송신하여 CAN 버스를 과부하 시키거나 다른 노드를 오동작시키는 공격에 대처하는 과정이다. IDS는 CAN 버스를 지속적으로 모니터링 하고 있는데 ① Malicious 노드가 MID=0x102, DLC=4b0010, Data=0x2000을 송신하면, ② IDS는 사전에 업데이트 되어 있는 표와 다른 것을 보고 현재 데이터 프레임을 송신 중인 노드가 해킹 당한 노드로 판단한다. Specifically, it is a process of coping with an attack in which a hacked node sends a malicious data frame to overload the CAN bus or malfunctions other nodes. IDS continuously monitors the CAN bus. ① When the Malicious node transmits MID=0x102, DLC=4b0010, Data=0x2000, ② IDS sees something different from the previously updated table and the node currently transmitting the data frame It is judged as a hacked node.

③ 해킹 당한 노드를 감지한 IDS는 에러 프레임을 송신하고, ④ 데이터 프레임을 송신 중의 에러 프레임을 수신한 Malicious 노드는 TEC가 증가하게 된다. 또 다른 공격인 다른 정상 노드를 도용하는 공격은 발생할 수 없는데 그 이유는 모든 노드들이 고유 NID가 설정되어 있어 변경할 수 없기 때문이다.③ The IDS that detects the hacked node transmits an error frame, and ④ the Malicious node that receives the error frame while transmitting the data frame increases its TEC. Another attack, an attack that steals other normal nodes, cannot occur because all nodes have unique NIDs set and cannot be changed.

한편, 스푸핑 공격에서는 도 5와 같이 점령당한 노드가 NID를 위조하여 악의적인 데이터 프레임을 송신할 경우, 위조 당한 노드(즉, 위조된 NID를 원래 쓰고 있는 노드)에서 자신과 동일한 NID를 발견하였으므로 해당 노드가 해킹되었음을 감지한다. On the other hand, in the spoofing attack, when the occupied node forges the NID and transmits a malicious data frame as shown in FIG. 5, the same NID as itself was found in the forged node (that is, the node using the forged NID originally). It detects that the node has been hacked.

이후로는 위조 당한 노드에 달려있는 NES가 해당 노드가 송신할 때마다 계속 에러 프레임을 송신하기 때문에 해당 노드는 송신을 봉쇄당하고 TEC가 증가하여 버스 오프 상태가 된다. From then on, the NES attached to the forged node continues to transmit an error frame whenever the node transmits, so the node is blocked from transmitting and the TEC is increased, resulting in a bus-off state.

본 발명에서는 CAN 버스 상에서 악의적인 데이터 프레임이 감지되면 침입 감지 시스템이 내부 공격 노드의 에러 카운터를 증가시켜서 버스에서 분리시킴으로서 악의적인 공격을 방어할 수 있다.In the present invention, when a malicious data frame is detected on the CAN bus, the intrusion detection system increases the error counter of the internal attack node and separates it from the bus, thereby preventing malicious attacks.

도 6은 본 발명의 일 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법의 흐름도이다.6 is a flowchart of a coping method of a node hacked in a CAN bus physical layer according to an embodiment of the present invention.

본 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법은, 도 1의 시스템(1)과 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 시스템(1)과 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다. The coping method of a node hacked in the CAN bus physical layer according to the present embodiment may proceed in substantially the same configuration as the system 1 of FIG. 1 . Accordingly, the same components as those of the system 1 of FIG. 1 are given the same reference numerals, and repeated descriptions are omitted.

또한, 본 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법은 CAN 버스 물리 계층에서 해킹된 노드에 대처하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.In addition, the coping method of a node hacked in the CAN bus physical layer according to the present embodiment may be executed by software (application) for coping with a node hacked in the CAN bus physical layer.

본 발명은 CAN 버스 상에서 악의적인 데이터 프레임이 감지되면 침입 감지 시스템이 내부 공격 노드의 에러 카운터를 증가시켜서 버스에서 분리시킴으로써 악의적인 공격을 방어한다.In the present invention, when a malicious data frame is detected on the CAN bus, the intrusion detection system increments the error counter of the internal attack node and separates it from the bus to prevent malicious attacks.

도 6을 참조하면, 본 실시예에 따른 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법은, CAN(Controller Area Network) 버스 라인에 연결된 다수의 노드들에 대해 각각 서로 다른 고유 ID인 NID(Node ID)를 설정한다(단계 S10). 데이터 프레임을 송신할 때 메시지 ID 영역 하위 4 비트를 NID 값으로 설정할 수 있다.Referring to FIG. 6 , in the method of coping with a node hacked in the CAN bus physical layer according to the present embodiment, a Node ID (NID) which is a unique ID different from each other for a plurality of nodes connected to a controller area network (CAN) bus line. ) is set (step S10). When transmitting a data frame, the lower 4 bits of the message ID area can be set as the NID value.

위조된 NID를 사용하는 노드, 다른 NID를 사용하는 노드 및 존재하지 않는 NID를 사용하는 노드 중 적어도 하나가 발견되는 경우 에러 프레임으로 판단한다(단계 S20). When at least one of a node using a forged NID, a node using a different NID, and a node using a non-existent NID is found, it is determined as an error frame (step S20).

노드들은 각자 자신의 NID가 설정되어 있으므로, 위조된 NID를 사용하는 노드가 발견된 경우 사칭 당한 NID가 설정된 노드가 해킹을 감지할 수 있다.Since each node has its own NID set, when a node using a forged NID is found, the impersonated node with the NID set can detect hacking.

반면, 다른 NID를 사용하는 노드 또는 존재하지 않는 NID를 사용하는 노드가 발견된 경우 침입 감지 시스템인 IDS(Intrusion Detection System)가 해킹을 감지할 수 있다.On the other hand, if a node using a different NID or a node using a non-existent NID is found, the Intrusion Detection System (IDS), an intrusion detection system, can detect hacking.

상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC(Transmit Error Counter)와 REC(Receive Error Counter)의 카운트를 증가시킨다(단계 S30).Whenever the error frame is generated, the TEC (Transmit Error Counter) and REC (Receive Error Counter) counts of the transmitting node and the receiving node are incremented (step S30).

상기 에러 프레임이 발생되면, 송신 노드의 TEC는 8만큼 증가시키고, 수신 노드의 경우 가장 먼저 에러 프레임을 발생시킨 노드의 REC는 8만큼 증가시키고 다른 노드의 REC는 1만큼 증가시킬 수 있다.When the error frame is generated, the TEC of the transmitting node may be increased by 8, and in the case of the receiving node, the REC of the node that first generated the error frame may be increased by 8, and the REC of the other node may be increased by 1.

반면, 메시지가 성공적으로 전송될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 감소시킬 수 있다.On the other hand, each time a message is successfully transmitted, the counts of the TEC and REC of the sending node and the receiving node may be decremented.

TEC 또는 REC이 설정된 임계치 보다 커지는 경우(단계 S40), 노드를 버스 오프(off)시켜 차단한다(단계 S50). 예를 들어, 노드의 TEC 또는 REC가 256 보다 커지는 경우 해당 노드를 분리할 수 있다.When the TEC or REC becomes greater than the set threshold (step S40), the node is blocked by bus-off (step S50). For example, if a node's TEC or REC becomes greater than 256, that node can be detached.

이와 같은 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법에 따르면, CAN 버스 상에서 악의적인 데이터 프레임이 감지되면 침입 감지 시스템이 내부 공격 노드의 에러 카운터를 증가시켜서 버스에서 분리시킴으로써 악의적인 공격을 방어한다. According to the coping method of the hacked node in the CAN bus physical layer, when a malicious data frame is detected on the CAN bus, the intrusion detection system increments the error counter of the internal attack node and separates it from the bus to prevent malicious attacks.

IDS(Intrusion Detection System)와 CAN(Controller Area Network) 컨트롤러의 NID(Node ID)를 설정해 두는 하드웨어적 방식으로 CAN 버스 상에서 발생할 수 있는 모든 네트워크 공격에 대해 즉각적으로 대처할 수 있다. 따라서, 사용자의 안전성을 높일 수 있고 보안 성능을 강화할 수 있다.By setting the NID (Node ID) of the IDS (Intrusion Detection System) and CAN (Controller Area Network) controller, it is possible to immediately respond to any network attack that may occur on the CAN bus. Accordingly, it is possible to increase user safety and enhance security performance.

아래에서는 본 발명의 성능을 검증하기 위한 시뮬레이션 결과를 설명한다. 본 발명에서는 기존의 CAN 컨트롤러에 NES를 장착하여 Verilog HDL로 설계하고 ModelSim으로 시뮬레이션하였다. 4개 CAN 노드의 NID는 4, 8, 16, 32로 설정하였으며 스니핑은 당장 악영향을 끼치지 않기 때문에 일반 공격과 스푸핑 공격의 2가지에 대해서만 시뮬레이션을 수행하였다. Hereinafter, simulation results for verifying the performance of the present invention will be described. In the present invention, NES is installed in the existing CAN controller, designed with Verilog HDL, and simulated with ModelSim. The NIDs of the four CAN nodes were set to 4, 8, 16, and 32, and since sniffing does not have an immediate adverse effect, only two types of attacks, a normal attack and a spoofing attack, were simulated.

도 7은 일반 공격에 대처하는 경우로, 처음에는 정상 동작을 하다가 일정 시간이 지난 뒤 IDS에서 점령당한 4번 노드(NID=32)를 감지하고 4번 노드가 데이터 프레임을 송신할 때마다 IDS가 에러 프레임을 발생시켜 4번 노드의 TEC를 증가시킨다. 이후 4번 노드가 전송할 때마다 IDS가 TEC를 계속 증가시켜 버스 오프로 만든다. 7 is a case of dealing with a general attack. At first, it operates normally, but after a certain period of time, the IDS detects the occupied node 4 (NID=32), and whenever node 4 transmits a data frame, the IDS Increases the TEC of node 4 by generating an error frame. After that, every time node 4 transmits, the IDS continues to increment the TEC, making it bus off.

도 8은 스푸핑 공격에 대처하는 경우로, 점령 당한 4번 노드(NID=32)가 1번 노드(NID=4)를 도용하여 데이터 프레임을 송신한다. 그러나 1번 노드는 송신 중이 아닌데 자신의 NID를 감지하였으므로, 공격으로 인식하고 에러 프레임을 발생시켜 4번 노드의 TEC를 증가시킨다. 이후 4번 노드가 1번 노드(NID=4)를 도용할 때마다 1번 노드가 TEC를 계속 증가시켜 버스 오프로 만든다. 8 shows a case of coping with a spoofing attack, where an occupied node 4 (NID=32) steals node 1 (NID=4) and transmits a data frame. However, since node 1 has detected its own NID even though it is not transmitting, it recognizes it as an attack and generates an error frame to increase the TEC of node 4. After that, whenever node 4 steals node 1 (NID=4), node 1 keeps increasing the TEC to make the bus off.

CAN 버스에서는 노드들 중 하나가 해킹을 당하여 악의적인 데이터 프레임을 전송하여도 어느 노드가 문제인지 식별하기 어렵다. 본 발명에서는 기존의 CAN 컨트롤러를 수정하여 CAN 버스에서 발생할 수 있는 다양한 공격 시나리오에 대하여 대처가 가능한 방법을 제안하였다. In the CAN bus, even if one of the nodes is hacked and transmits a malicious data frame, it is difficult to identify which node is the problem. The present invention proposes a method capable of coping with various attack scenarios that may occur in the CAN bus by modifying the existing CAN controller.

이와 같은, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. Such a method of dealing with a node hacked in the CAN bus physical layer may be implemented as an application or implemented in the form of program instructions that may be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. The program instructions recorded in the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention described in the claims below you will understand

오늘날 대부분의 자동차의 경우 CAN(Controller Area Network) 통신 프로토콜을 사용하여 차량 내부 주요 전자 제어 장치(ECU: Electronic Control Unit)들을 버스 토폴로지(Bus Topology) 방식으로 연결된다. 본 발명은 CAN 버스 상에서 발생하는 악의적인 노드를 식별하고 신속하게 대처하여 사고에 대비하므로, CAN 통신을 사용하는 자동차의 ECU 및 기타 장치에 유용하게 활용 가능하다.Most automobiles today use a CAN (Controller Area Network) communication protocol to connect major electronic control units (ECUs) inside the vehicle in a bus topology manner. The present invention identifies malicious nodes occurring on the CAN bus and prepares for accidents by promptly responding, so it can be usefully used for ECUs and other devices of automobiles using CAN communication.

1: CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템1: Coping system of hacked node in CAN bus physical layer

Claims (12)

CAN(Controller Area Network) 버스 라인에 연결된 다수의 노드들에 대해 각각 서로 다른 고유 ID인 NID(Node ID)를 설정하는 단계;
위조된 NID를 사용하는 노드, 다른 NID를 사용하는 노드 및 존재하지 않는 NID를 사용하는 노드 중 적어도 하나가 발견되는 경우 에러 프레임으로 판단하는 단계;
상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC(Transmit Error Counter)와 REC(Receive Error Counter)의 카운트를 증가시키는 단계; 및
TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단하는 단계;를 포함하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
setting a Node ID (NID) which is a unique ID different from each other for a plurality of nodes connected to a controller area network (CAN) bus line;
determining an error frame when at least one of a node using a forged NID, a node using another NID, and a node using a non-existent NID is found;
increasing counts of Transmit Error Counter (TEC) and Receive Error Counter (REC) of the transmitting node and the receiving node whenever the error frame is generated; and
A method of coping with a node hacked in a CAN bus physical layer, including; blocking a node in which the TEC or REC becomes larger than a set threshold by bus-off (off).
제1항에 있어서, 상기 에러 프레임으로 판단하는 단계는,
위조된 NID를 사용하는 노드가 발견된 경우 사칭 당한 NID가 설정된 노드가 해킹을 감지하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
The method of claim 1, wherein the determining of the error frame comprises:
How to deal with a hacked node in the CAN bus physical layer, in which a node with an impersonated NID detects the hack when a node using a forged NID is found.
제1항에 있어서, 상기 에러 프레임으로 판단하는 단계는,
다른 NID를 사용하는 노드 또는 존재하지 않는 NID를 사용하는 노드가 발견된 경우 침입 감지 시스템인 IDS(Intrusion Detection System)가 해킹을 감지하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
The method of claim 1, wherein the determining of the error frame comprises:
How to deal with a hacked node in the CAN bus physical layer, in which the Intrusion Detection System (IDS), an intrusion detection system, detects a hack when a node using a different NID or a node using a non-existent NID is found.
제1항에 있어서, 상기 CAN 버스 라인에 연결된 다수의 노드들에 대해 각각 서로 다른 고유 ID인 NID를 설정하는 단계는,
데이터 프레임을 송신할 때 메시지 ID 영역 하위 4 비트를 NID 값으로 설정하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
The method of claim 1, wherein the step of setting NIDs, which are different unique IDs, for a plurality of nodes connected to the CAN bus line, respectively,
How to deal with a hacked node in the CAN bus physical layer by setting the lower 4 bits of the message ID area to the NID value when transmitting the data frame.
제1항에 있어서, 상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 증가시키는 단계는,
상기 에러 프레임이 발생되면, 송신 노드의 TEC는 8만큼 증가시키고, 수신 노드의 경우 가장 먼저 에러 프레임을 발생시킨 노드의 REC는 8만큼 증가시키고 다른 노드의 REC는 1만큼 증가시키는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
The method of claim 1, wherein each time the error frame is generated, incrementing counts of TECs and RECs of the transmitting node and the receiving node comprises:
When the error frame is generated, the TEC of the transmitting node is increased by 8, and in the case of the receiving node, the REC of the node that first generated the error frame is increased by 8 and the REC of the other node is increased by 1. How to deal with hacked nodes in .
제1항에 있어서,
메시지가 성공적으로 전송될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 감소시키는 단계;를 더 포함하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
The method of claim 1,
Each time a message is successfully transmitted, decrementing the counts of TECs and RECs of the transmitting node and the receiving node.
제1항에 있어서, 상기 TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단하는 단계는,
노드의 TEC 또는 REC가 256 보다 커지는 경우 해당 노드를 분리하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 방법.
According to claim 1, wherein the step of blocking by bus-off (off) the node in which the TEC or REC becomes larger than a set threshold,
How to deal with a hacked node in the CAN bus physical layer, which separates the node when the node's TEC or REC becomes greater than 256.
제1항에 따른 상기 CAN 버스 물리 계층에서 해킹된 노드의 대처 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
A computer-readable storage medium in which a computer program for performing the method of coping with a hacked node in the CAN bus physical layer according to claim 1 is recorded.
CAN(Controller Area Network) 버스 라인에 연결되고 각각 서로 다른 고유 ID인 NID(Node ID)가 설정된 다수의 노드들;
상기 CAN 버스 라인에 로딩되는 데이터 프레임의 내용을 분석하여 해킹당한 노드인지 판단하는 IDS(Intrusion Detection System);
상기 에러 프레임이 발생될 때마다 송신 노드와 수신 노드의 TEC(Transmit Error Counter)와 REC(Receive Error Counter)의 카운트를 증가시키고, 메시지가 성공적으로 전송될 때마다 송신 노드와 수신 노드의 TEC와 REC의 카운트를 감소시키는 카운터; 및
상기 다수의 노드들 및 IDS에 각각 장착되어, TEC 또는 REC이 설정된 임계치 보다 커지는 노드를 버스 오프(off)시켜 차단하는 NES(Node Expulsion System);를 포함하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템.
a plurality of nodes connected to a controller area network (CAN) bus line and each having a different unique ID (NID) set;
an Intrusion Detection System (IDS) that analyzes the contents of a data frame loaded on the CAN bus line to determine whether a node has been hacked;
Whenever the error frame is generated, the TEC (Transmit Error Counter) and REC (Receive Error Counter) counts of the sending node and the receiving node are incremented, and whenever a message is successfully transmitted, the TEC and REC of the sending node and the receiving node counter to decrement the count of; and
NES (Node Expulsion System) that is mounted on the plurality of nodes and IDS, respectively, and blocks a node in which TEC or REC becomes larger than a set threshold by bus-off (Node Expulsion System); coping system.
제9항에 있어서,
위조된 NID를 사용하는 노드가 발견된 경우 사칭 당한 NID가 설정된 노드의 NES가 해킹을 감지하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템.
10. The method of claim 9,
When a node using a forged NID is found, the NES of the node with the impersonated NID detects the hack. A system for responding to a hacked node in the CAN bus physical layer.
제9항에 있어서,
다른 NID를 사용하는 노드 또는 존재하지 않는 NID를 사용하는 노드가 발견된 경우 상기 IDS의 NES가 해킹을 감지하는, CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템.
10. The method of claim 9,
A system for coping with a hacked node in a CAN bus physical layer, wherein the NES of the IDS detects hacking when a node using another NID or a node using a non-existent NID is found.
제9항에 있어서,
각 노드의 NID는 데이터 프레임을 송신할 때 메시지 ID 영역 하위 4 비트에서 설정되는, CAN 버스 물리 계층에서 해킹된 노드의 대처 시스템.
10. The method of claim 9,
The NID of each node is set in the lower 4 bits of the message ID field when transmitting the data frame, the coping system of the hacked node in the CAN bus physical layer.
KR1020200136473A 2020-10-21 2020-10-21 Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method KR102456506B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200136473A KR102456506B1 (en) 2020-10-21 2020-10-21 Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method
JP2023524176A JP2023547833A (en) 2020-10-21 2020-12-28 How to deal with a hacked node on the CAN bus physical layer, a physical layer security method through automatic node ID setting on the CAN bus, and a recording medium and system to accomplish this
US18/032,473 US20240031404A1 (en) 2020-10-21 2020-12-28 Counterattack method against hacked node in can bus physical layer, physical layer security method with can bus node id auto-setting, and recording medium and system for performing the method
PCT/KR2020/019184 WO2022085863A1 (en) 2020-10-21 2020-12-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
EP20958813.6A EP4231596A1 (en) 2020-10-21 2020-12-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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200136473A KR102456506B1 (en) 2020-10-21 2020-10-21 Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method

Publications (2)

Publication Number Publication Date
KR20220052477A true KR20220052477A (en) 2022-04-28
KR102456506B1 KR102456506B1 (en) 2022-10-18

Family

ID=81446880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200136473A KR102456506B1 (en) 2020-10-21 2020-10-21 Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method

Country Status (1)

Country Link
KR (1) KR102456506B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4232603B2 (en) 2003-10-24 2009-03-04 富士ゼロックス株式会社 Communication system, control device, CAN bus connection node, CAN bus communication method, and program
KR20090065260A (en) 2007-12-17 2009-06-22 한국전자통신연구원 System and method for address translating by using unique identifier for internetworking between ip based system and wsn node
KR101332339B1 (en) 2012-11-08 2013-11-22 재단법인대구경북과학기술원 Data transmitting method in can system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4232603B2 (en) 2003-10-24 2009-03-04 富士ゼロックス株式会社 Communication system, control device, CAN bus connection node, CAN bus communication method, and program
KR20090065260A (en) 2007-12-17 2009-06-22 한국전자통신연구원 System and method for address translating by using unique identifier for internetworking between ip based system and wsn node
KR101332339B1 (en) 2012-11-08 2013-11-22 재단법인대구경북과학기술원 Data transmitting method in can system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Habeeb Olufowobi et al., "Controller Area Network Intrusion Prevention System Leveraging Fault Recovery", CPS-SPC ’19, pp. 63-73, 2019. 11.11. *
J. Lee and S. Lee, "Design and Verification of Automotive CAN Controller," j.inst.Korean.electr. electron.eng, vol.21, no.2, 2017. DOI: 10.7471/ikeee.2017.21.2.162
Masaru Takada et al., ‘counter attack against the Bus-Off Attack on CAN’, 2019 14tgh Asia Joint Conference on Information Security(AsiaJCIS), pp. 96-102, 2019. 8.1. *

Also Published As

Publication number Publication date
KR102456506B1 (en) 2022-10-18

Similar Documents

Publication Publication Date Title
EP3148154B1 (en) Controller area network (can) device and method for controlling can traffic
KR102524204B1 (en) Apparatus and method for intrusion response in vehicle network
US9363232B1 (en) Detecting and preventing session hijacking
CA3021285C (en) Methods and systems for network security
US11599640B2 (en) Security device and embedded device
KR101759535B1 (en) Method and apparatus for creating graph database corresponding incident
CN110855709A (en) Access control method, device, equipment and medium for security access gateway
US10721241B2 (en) Method for protecting a vehicle network against manipulated data transmission
WO2022088633A1 (en) Lateral penetration protection method and apparatus, device and storage medium
KR101972457B1 (en) Method and System for detecting hacking attack based on the CAN protocol
KR20180127222A (en) Method for protecting a network against a cyber attack
Longari et al. Copycan: An error-handling protocol based intrusion detection system for controller area network
Serag et al. Exposing new vulnerabilities of error handling mechanism in {CAN}
US20210014249A1 (en) Packet Transmission Method and Apparatus
US20230239693A1 (en) Association control method and related apparatus
Kwon et al. Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet
Souma et al. Counter attacks for bus-off attacks
CN107294991B (en) Network function defense system based on output judgment and safety protection method
US20240031404A1 (en) Counterattack method against hacked node in can bus physical layer, physical layer security method with can bus node id auto-setting, and recording medium and system for performing the method
KR102456506B1 (en) Counterattack method against hacked node in can bus physical layer, recording medium and system for performing the method
Kim et al. Shadowauth: Backward-compatible automatic can authentication for legacy ecus
CN112152972A (en) Method and device for detecting IOT equipment vulnerability and router
KR20200040876A (en) Method for detecting an attack on a vehicle control device
Park et al. Flooding attack mitigator for in-vehicle CAN using fault confinement in CAN protocol
KR102423504B1 (en) Physical layer security method with can bus node id auto-setting, recording medium and device for performing the method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant