KR102204655B1 - A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time - Google Patents

A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time Download PDF

Info

Publication number
KR102204655B1
KR102204655B1 KR1020180165100A KR20180165100A KR102204655B1 KR 102204655 B1 KR102204655 B1 KR 102204655B1 KR 1020180165100 A KR1020180165100 A KR 1020180165100A KR 20180165100 A KR20180165100 A KR 20180165100A KR 102204655 B1 KR102204655 B1 KR 102204655B1
Authority
KR
South Korea
Prior art keywords
message
attack
time
node
general
Prior art date
Application number
KR1020180165100A
Other languages
Korean (ko)
Other versions
KR20200076217A (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 KR1020180165100A priority Critical patent/KR102204655B1/en
Publication of KR20200076217A publication Critical patent/KR20200076217A/en
Application granted granted Critical
Publication of KR102204655B1 publication Critical patent/KR102204655B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • 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
    • 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/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • 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/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

컴퓨터에 의하여 수행되는 방법에 있어서, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별단계, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성단계 및 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측단계를 포함하는, CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법이 개시된다.In the method performed by a computer, based on the transmission schedule of general CAN messages, the attack message identification step of identifying the general CAN message and the CAN message used in the message flooding attack, the attacking node When transmitting an attack message including a CAN message, a dominant bit generation step in which a dominant bit is generated to induce the generation of a CAN error frame in the attacking node, and the attacking node fails to transmit an attack message due to the dominant bit. In this case, a method for mitigating a message flooding attack on a CAN network is disclosed, including a step of predicting an attack message retransmission time (T retrans ), which predicts a time until the attack message is retransmitted.

Description

공격 메시지 재전송 시간을 예측하는 CAN 네트워크에 대한 메시지플러딩 공격 완화방법 {A MITIGATION METHOD AGAINST MESSAGE FLOODING ATTACKS FOR SECURE CONTROLLER AREA NETWORK BY PREDICTING ATTACK MESSAGE RETRANSFER TIME}Message flooding attack mitigation method for CAN network that predicts attack message retransmission time {A MITIGATION METHOD AGAINST MESSAGE FLOODING ATTACKS FOR SECURE CONTROLLER AREA NETWORK BY PREDICTING ATTACK MESSAGE RETRANSFER TIME}

본 발명은 공격 메시지 재전송 시간을 예측하는 CAN 네트워크에 대한 메시지플러딩 공격 완화방법에 관한 것이다.The present invention relates to a message flooding attack mitigation method for a CAN network that predicts an attack message retransmission time.

최근에는 자동차의 전자식 제어를 넘어 오토파일럿 등의 기초적인 자율주행 지원 모듈들이 활발하게 개발되고 있다. 예를 들어, 완전한 자율주행 기술(Full Self-Driving Automation)을 위해 LiDAR (거리 측정/사물인지 센서)등의 센서 기술들과 외부 통신기술(V2X: Vehicle to Everything)을 지원하는 자동차 IT 융합 기술들이 개발되고 있다.In recent years, beyond the electronic control of automobiles, basic autonomous driving support modules such as autopilots have been actively developed. For example, for full self-driving automation, sensor technologies such as LiDAR (distance measurement/object recognition sensor) and automobile IT convergence technologies that support external communication technology (V2X: Vehicle to Everything) are used. Is being developed.

이를 위하여, 자동차 내부의 제어유닛(Electronic Control Unit, ECU)들은 자동차 내부 네트워크(Controller Area Network (CAN), 차량용 Ethernet)를 통해 정보를 공유하고, 자동차를 제어한다.To this end, the electronic control units (ECUs) inside the vehicle share information through the vehicle internal network (Controller Area Network (CAN), vehicle Ethernet) and control the vehicle.

이와 같이 자동차와 IT의 융합기술이 발전됨에 따라 자동차의 제어 네트워크에 접근할 수 있는 외부 접점들이 빠르게 증가하고 있다. 이러한 외부 접점들을 이용한 자동차 해킹가능성에 대한 연구들이 많이 수행되었고, 일 예로 Jeep에서는 텔레매틱스 시스템의 해킹 결과로 인해 140만대의 차를 리콜한 사례가 있다.As such, as the convergence technology of automobile and IT is developed, external contacts that can access the control network of automobiles are rapidly increasing. Many studies have been conducted on the possibility of car hacking using these external contacts. For example, Jeep recalled 1.4 million cars due to the hacking result of a telematics system.

일 예로, 자동차 내부 네트워크를 보호하기 위해 인증, 침임탐지 시스템, 그리고 차량용 방화벽 기술 등이 연구되고 있다. 하지만, 원격 자동차 진단, 원격 ECU 업데이트 및 외부와의 통신을 이용하는 자율주행자동차 기술 등의 발달은 자동차 제어네트워크와 외부 네트워크 간의 접점들을 증가시키고, 이에 따라 공격자가 자동차 제어 네트워크의 다양한 외부 접점들을 이용하여 기존의 자동차 보안 기술들을 우회할 수 있는 가능성이 존재한다.For example, authentication, intrusion detection systems, and vehicle firewall technologies are being studied to protect the internal network of a vehicle. However, the development of remote vehicle diagnosis, remote ECU update, and autonomous vehicle technology using communication with the outside increases the contact points between the car control network and the external network, so that the attacker can use various external contacts of the car control network. The possibility exists to bypass existing automotive security technologies.

특히, CAN 장애를 발생시킬 수 있는 메시지 플러딩 공격의 경우 내부 네트워크의 메시지 빈도수 변화나 네트워크 트래픽 증가를 통해 이를 쉽게 탐지할 수 있으나, 메시지플러딩 공격이 자동차 내부 네트워크의 장애(e.g., 전송지연) 를 일으키는 것은 막기가 어렵다. 따라서, 메시지플러딩 공격에 CAN에 발생했을 경우, 이를 완화하는 방법에 대한 연구가 필요하다.In particular, in the case of a message flooding attack that can cause CAN failure, it can be easily detected by changing the message frequency of the internal network or increasing network traffic, but the message flooding attack causes a failure (eg, transmission delay) of the vehicle's internal network. It is difficult to prevent. Therefore, when a message flooding attack occurs in CAN, it is necessary to study how to mitigate this.

등록특허공보 제10-1825711호, 2018.01.30 등록Registered Patent Publication No. 10-1825711, 2018.01.30

본 발명이 해결하고자 하는 과제는 공격 메시지 재전송 시간을 예측하는 CAN 네트워크에 대한 메시지플러딩 공격 완화방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a message flooding attack mitigation method for a CAN network that predicts the retransmission time of an attack message.

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

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법은, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별단계, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성단계 및 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측단계를 포함한다.A method for mitigating a message flooding attack on a CAN network according to an aspect of the present invention for solving the above-described problems is based on a transmission schedule of general CAN messages, and uses a general CAN message and a CAN message used for the message flooding attack. Identification, attack message identification step, when the attacking node transmits an attack message including a plurality of CAN messages for a message flooding attack, a dominant bit is generated to induce the generation of a CAN error frame to the attacking node. And an attack message retransmission time (T retrans ) prediction step of predicting a time until retransmission of the attack message when the attacking node fails to transmit the attack message due to the bit generating step and the dominant bit.

또한, 상기 공격 메시지 재전송 시간 예측단계는, CAN의 에러 관리 절차를 획득하는 단계 및 상기 획득된 에러 관리 절차에 기초하여 상기 공격 메시지의 재전송 시간을 예측하되, 상기 도미넌트 비트로 인해 상기 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC(Transmission Error Counter)에 기초하여 상기 공격 메시지의 재전송 시간을 예측하는, 단계를 포함할 수 있다.In addition, the attack message retransmission time prediction step includes: obtaining an error management procedure of CAN and predicting the retransmission time of the attack message based on the obtained error management procedure, but the attacking node receives an error frame due to the dominant bit. It may include the step of predicting the retransmission time of the attack message based on the transmission time and the TEC (Transmission Error Counter) of the attacking node.

또한, 공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측단계를 더 포함할 수 있다.In addition, it may further include a general CAN message transmission delay predicting step of predicting the transmission delay of the general CAN message when a transmission delay of the general CAN message occurs due to an attack message and an error frame.

또한, 상기 일반 CAN 메시지 전송지연 예측단계는, 상기 일반 CAN 메시지의 전송지연의 최악의 시간(WTdelay)을 예측하는 단계를 포함할 수 있다.In addition, the predicting a transmission delay of the general CAN message may include predicting a WT delay of the transmission delay of the general CAN message.

또한, 상기 최악의 시간을 예측하는 단계는, 아래 수학식에 기초하여 상기 최악의 시간을 예측하는 단계를 포함하고, In addition, the step of predicting the worst time includes predicting the worst time based on the following equation,

WTdelay = Tattack + Tretrans + Terror WT delay = T attack + T retrans + T error

상기 Tattack은 상기 공격 메시지로 인한 지연시간을 의미하고, 상기 Terror는 상기 에러 프레임으로 인한 지연시간을 의미할 수 있다.The T attack may mean a delay time due to the attack message, and the T error may mean a delay time due to the error frame.

또한, 상기 공격 노드로부터 발생하는 공격 메시지의 패턴을 획득하는 단계, 데이터베이스로부터 상기 패턴에 대응하는 공격수단에 대한 정보를 획득하는 단계, 상기 획득된 정보로부터 하나 이상의 파라미터를 추출하는 단계 및 상기 추출된 파라미터에 기반하여 상기 공격 메시지 재전송 시간 및 상기 일반 CAN 메시지 전송지연 예측결과를 조정하는 단계를 더 포함할 수 있다.In addition, obtaining a pattern of an attack message generated from the attacking node, obtaining information on an attacking means corresponding to the pattern from a database, extracting one or more parameters from the obtained information, and the extracted It may further include adjusting the attack message retransmission time and the normal CAN message transmission delay prediction result based on the parameter.

또한, 상기 공격 노드가 Bus off 되는 경우, 상기 공격 노드에 대응하는 예비 노드를 상기 CAN 네트워크에 연결하는 단계 및 상기 예비 노드가 상기 공격 노드의 역할을 수행하도록 제어하는 단계를 더 포함할 수 있다.In addition, when the attacking node is bus-off, it may further include connecting a spare node corresponding to the attacking node to the CAN network, and controlling the spare node to perform the role of the attacking node.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법은, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별단계, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성단계 및 공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측단계를 포함할 수 있다.A method for mitigating a message flooding attack on a CAN network according to an aspect of the present invention for solving the above-described problems is based on a transmission schedule of general CAN messages, and uses a general CAN message and a CAN message used for the message flooding attack. Identification, attack message identification step, when the attacking node transmits an attack message including a plurality of CAN messages for a message flooding attack, a dominant bit is generated to induce the generation of a CAN error frame to the attacking node. It may include a bit generation step and a general CAN message transmission delay prediction step of predicting a transmission delay of the general CAN message when a transmission delay of the general CAN message occurs due to an attack message and an error frame.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 장치는, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별단계, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성단계 및 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측단계를 포함하는 방법을 수행할 수 있다.An apparatus for mitigating a message flooding attack on a CAN network according to an aspect of the present invention for solving the above-described problem includes a memory storing one or more instructions and a processor executing the one or more instructions stored in the memory, , By executing the one or more instructions, the processor identifies the general CAN message and the CAN message used for the message flooding attack, based on the transmission schedule of the general CAN messages, the attack message identification step, the attacking node performs the message flooding attack. When transmitting an attack message including a plurality of CAN messages, the attacking node transmits the attack message due to the dominant bit generation step and the dominant bit to generate a dominant bit to induce the generation of a CAN error frame in the attacking node. In case of failure, a method including an attack message retransmission time (T retrans ) prediction step of predicting a time until retransmission of the attack message may be performed.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 프로그램은, 하드웨어인 컴퓨터와 결합되어, 개시된 실시 예에 따른 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된다.A program for mitigating a message flooding attack on a CAN network according to an aspect of the present invention for solving the above-described problems is combined with a computer as hardware, and a computer-readable record so that the method according to the disclosed embodiment can be performed. It is stored on the medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the present invention are included in the detailed description and drawings.

개시된 실시 예에 따르면, CAN 네트워크에 대한 메시지 플러딩 공격을 완화시킬 수 있으면서, 이에 따라 공격 노드가 아닌 다른 ECU들의 통신이 정상적으로 수행될 수 있도록 하는 효과가 있다.According to the disclosed embodiment, while it is possible to mitigate a message flooding attack on a CAN network, there is an effect of allowing communication between ECUs other than the attacking node to be normally performed.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 일 실시 예에 따른 ECU의 CAN 에러 관리 방법을 도시한 도면이다.
도 2는 일반적인 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.
도 3은 개시된 실시 예에 따른 프레임워크가 적용된 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.
도 4는 일 실시 예에 따라 CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법을 도시한 흐름도이다.
도 5는 다른 일 실시 예에 따른 메시지플러딩 공격 완화방법을 도시한 흐름도이다.
도 6은 일 실시 예에 따른 장치의 구성도이다.
1 is a diagram illustrating a CAN error management method of an ECU according to an embodiment.
2 is a diagram illustrating an example in which a message flooding attack occurs on a general CAN-bus.
3 is a diagram illustrating an example in which a message flooding attack occurs on a CAN-bus to which a framework according to the disclosed embodiment is applied.
4 is a flowchart illustrating a method of mitigating a message flooding attack on a CAN network according to an embodiment.
5 is a flowchart illustrating a method of mitigating a message flooding attack according to another embodiment.
6 is a block diagram of an apparatus according to an exemplary embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, only the present embodiments are intended to complete the disclosure of the present invention, It is provided to fully inform the technician of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification, “comprises” and/or “comprising” do not exclude the presence or addition of one or more other elements other than the mentioned elements. Throughout the specification, the same reference numerals refer to the same elements, and “and/or” includes each and all combinations of one or more of the mentioned elements. Although "first", "second", and the like are used to describe various elements, it goes without saying that these elements are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "unit" or "module" used in the specification refers to a hardware component such as software, FPGA or ASIC, and the "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. The "unit" or "module" may be configured to be in an addressable storage medium, or may be configured to reproduce one or more processors. Thus, as an example, "sub" or "module" refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, It includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. Components and functions provided within "sub" or "module" may be combined into a smaller number of components and "sub" or "modules" or into additional components and "sub" or "modules". Can be further separated.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In the present specification, a computer refers to all kinds of hardware devices including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to embodiments. For example, the computer may be understood as including all of a smartphone, a tablet PC, a desktop, a laptop, and a user client and an application running on each device, but is not limited thereto.

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

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each of the steps described herein is described as being performed by a computer, but the subject of each step is not limited thereto, and at least some of the steps may be performed by different devices according to embodiments.

일 예로, 본 명세서에서 언급되는 컴퓨터는 자동차에 설치되는, 적어도 하나의 프로세서를 포함하는 전장 시스템을 의미할 수 있으나, 이에 제한되는 것은 아니다.For example, the computer referred to in the present specification may mean an electronic system including at least one processor installed in a vehicle, but is not limited thereto.

도 1은 일 실시 예에 따른 ECU의 CAN 에러 관리 방법을 도시한 도면이다.1 is a diagram illustrating a CAN error management method of an ECU according to an embodiment.

도 1을 참조하면, CAN 표준의 에러관리 기법이 도시되어 있다. Referring to FIG. 1, an error management technique of the CAN standard is shown.

일 실시 예에서, CAN의 에러관리를 위해 ECU에는 TEC(Transmission Error Counter) 및 REC (Receive Error Counter)가 존재할 수 있다.In an embodiment, for error management of CAN, a Transmission Error Counter (TEC) and a Receive Error Counter (REC) may exist in the ECU.

일 실시 예에서, ECU는 세가지의 Error 상태가 존재할 수 있으며, 예를 들어 Error Active, Error Passive 및 Bus-Off를 포함할 수 있다.In one embodiment, the ECU may have three error states, for example, Error Active, Error Passive, and Bus-Off.

일 실시 예에서, 특정 ECU가 Bus-Off상태가 되면, 해당 ECU는 일정시간동안 CAN 통신에 참여할 수 없게 된다.In one embodiment, when a specific ECU is in a Bus-Off state, the ECU cannot participate in CAN communication for a certain period of time.

일 예로, 각 Error 상태 간의 이동(상태변환) 조건은 도 1에 도시된 바와 같을 수 있다.As an example, a condition for movement (state change) between each error state may be as shown in FIG. 1.

도 2는 일반적인 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.2 is a diagram illustrating an example in which a message flooding attack occurs on a general CAN-bus.

도 2를 참조하면, 차량 내부의 전장시스템 및 그 네트워크가 도시되어 있다. 시스템에는 복수의 ECU가 포함되며, 각각의 ECU를 연결하는 CAN 네트워크가 존재한다. Referring to FIG. 2, an electric field system inside a vehicle and a network thereof are shown. The system includes multiple ECUs, and there is a CAN network connecting each ECU.

일 실시 예에서, 복수의 ECU 중 하나를 통한 공격이 수행되는 경우(예를 들어, 메시지 플러딩 공격으로 대표되는 도스(DoS) 공격이 자동차 내부 네트워크에서 발생할 경우), 도 2에 도시된 바와 같이 해당 공격 노드로부터 발생하는 F(메시지 플러딩 공격에 활용되는 CAN 메시지)메시지에 의해 다른 노드들(일반 ECU들)의 통신 장애가 발생하게 된다.In one embodiment, when an attack is performed through one of a plurality of ECUs (e.g., when a DoS attack represented by a message flooding attack occurs in the vehicle internal network), as shown in FIG. Communication failure of other nodes (general ECUs) occurs due to the F (CAN message used in message flooding attack) message generated from the attacking node.

일 실시 예에서, 메시지 플러딩 공격이 탐지되는 경우 동시에 에러 메시지를 통해 공격메시지를 폐기할 수 있다. 하지만, 공격 메시지 폐기의 영향으로 내부 네트워크의 패킷 스케쥴이 변경되는 문제가 발생할 수 있다.In an embodiment, when a message flooding attack is detected, the attack message may be simultaneously discarded through an error message. However, there may be a problem in that the packet schedule of the internal network is changed due to the effect of discarding the attack message.

개시된 실시 예에 따르면, 차량 내부 네트워크에 메시지 플러딩 공격이 일어났을 경우, 공격 노드를 특정 시간동안 차량 내부 네트워크에서 배제시킬 수 있다.According to the disclosed embodiment, when a message flooding attack occurs on an in-vehicle network, the attacking node may be excluded from the in-vehicle network for a specific time.

이와 동시에, 개시된 실시 예에 따른 방법이 악용 혹은 오용되어 정상적인 노드들의 통신이 방해되는 현상이 없도록(e.g., 정상적인 ECU들이 CAN 네트워크에 배제되지 않도록) 하여야 하며, 이는 이하에서 도면을 참조하여 구체적으로 설명한다.At the same time, it is necessary to ensure that there is no phenomenon that communication between normal nodes is disturbed (eg, normal ECUs are not excluded from the CAN network) due to abuse or misuse of the method according to the disclosed embodiment, which will be described in detail below with reference to the drawings. do.

도 3은 개시된 실시 예에 따른 프레임워크가 적용된 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.3 is a diagram illustrating an example in which a message flooding attack occurs on a CAN-bus to which a framework according to the disclosed embodiment is applied.

도 3을 참조하면, 개시된 실시 예에 따른 프레임워크에 의하여 메시지 플러딩 공격을 발생시킨 공격 노드는 지속적으로 에러프레임(E)을 발생시키게 되며, 최종적으로 Bus-off상태가 된다.Referring to FIG. 3, an attack node that has generated a message flooding attack by the framework according to the disclosed embodiment continuously generates an error frame E, and finally enters a bus-off state.

Bus-off상태의 공격노드가 다시 CAN 통신에 참여하려면 일정시간이 지나야 하므로, 해당 시간동안 일반 ECU들은 메시지 플러딩 공격의 영향없이 CAN 메시지를 전송할 수 있다. 또한 에러프레임으로 인해 발생한 일반 메시지들의 지연시간을 예측함으로써, 개시된 실시 예에 따른 방법에 의해 일반 메시지가 잘못 폐기되는 것을 막을 수 있다.Since a certain time must pass before the attacking node in the bus-off state participates in CAN communication again, general ECUs can transmit CAN messages without the effect of message flooding during that time. In addition, by predicting the delay time of general messages generated due to the error frame, it is possible to prevent the general message from being erroneously discarded by the method according to the disclosed embodiment.

상술한 방법을 수행하는 구체적인 방법에 대해서는 도면을 참조하여 후술한다.A specific method of performing the above-described method will be described later with reference to the drawings.

도 4는 일 실시 예에 따라 CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법을 도시한 흐름도이다.4 is a flowchart illustrating a method of mitigating a message flooding attack on a CAN network according to an embodiment.

단계 S110에서, 컴퓨터는 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별단계를 수행한다.In step S110, the computer performs an attack message identification step of identifying a general CAN message and a CAN message used in a message flooding attack based on the transmission schedule of the general CAN messages.

단계 S120에서, 컴퓨터는 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성단계를 수행한다.In step S120, when the attacking node transmits an attack message including a plurality of CAN messages for a message flooding attack, the computer generates a dominant bit to induce the generation of a CAN error frame to the attacking node by generating a dominant bit. Follow the steps.

도미넌트 비트 전송은 Recessive 비트 전송에 비해 우선순위가 높으므로, 메시지 플러딩 공격 발생시 도미넌트 비트 생성 모듈이 지속적으로 도미넌트 비트들을 생성하게 되면, 공격 노드는 메시지 전송 과정에 에러가 발생하게 된다. 즉, 공격노드는 에러프레임을 발생시키면서 TEC를 증가시킨다. 공격노드의 TEC가 증가하여 255보다 커지면, 공격노드는 Bus-off 상태가 되어, 일정시간 CAN 통신에 참여할 수 없게 된다.Since the dominant bit transmission has a higher priority than the recessive bit transmission, if the dominant bit generation module continuously generates dominant bits when a message flooding attack occurs, the attacking node causes an error in the message transmission process. In other words, the attacking node increases the TEC while generating an error frame. If the TEC of the attacking node increases and becomes larger than 255, the attacking node becomes Bus-off and cannot participate in CAN communication for a certain period of time.

단계 S130에서, 컴퓨터는 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측단계를 수행한다.In step S130, when the attacking node fails to transmit the attack message due to the dominant bit, the computer performs an attack message retransmission time (T retrans ) prediction step of predicting a time until retransmission of the attack message.

상기 공격 메시지 재전송 시간 예측단계에서, 컴퓨터는 CAN의 에러 관리 절차를 획득하는 단계 및 상기 획득된 에러 관리 절차에 기초하여 상기 공격 메시지의 재전송 시간을 예측하되, 상기 도미넌트 비트로 인해 상기 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC(Transmission Error Counter)에 기초하여 상기 공격 메시지의 재전송 시간을 예측하는, 단계를 수행한다.In the attack message retransmission time prediction step, the computer predicts the retransmission time of the attack message based on the step of acquiring an error management procedure of CAN and the acquired error management procedure, but the attacking node receives an error frame due to the dominant bit. A step of estimating the retransmission time of the attack message based on the transmission time point and the transmission error counter (TEC) of the attacking node is performed.

예를 들어, CAN에서는 에러프레임으로 인해 CAN 메시지 전송 실패가 발생할 경우, 해당 메시지를 재전송하도록 규정하고 있다. 따라서 메시지 전송이 실패된 메시지는 에러 프레임 전송 후, Interframe space(3비트 전송시간) 후에 메시지 재전송을 시도한다. 하지만 공격노드의 TEC가 127을 넘게 되면, Suspend Transmission Time(8비트 전송시간)을 추가적으로 기다린 후, 메시지 재전송을 시도하게 된다.For example, in CAN, when a CAN message transmission failure occurs due to an error frame, the message is retransmitted. Therefore, the message in which the message transmission has failed is attempted to retransmit the message after the error frame is transmitted and after the interframe space (3 bit transmission time). However, if the TEC of the attacking node exceeds 127, it additionally waits for the Suspend Transmission Time (8-bit transmission time), and then attempts to retransmit the message.

따라서, 컴퓨터는 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC에 기초하여 상기 공격 메시지의 재전송 시간을 예측할 수 있게 된다.Accordingly, the computer can predict the retransmission time of the attack message based on the time point when the attacking node transmits the error frame and the TEC of the attacking node.

단계 S140에서, 컴퓨터는 공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측단계를 수행한다.In step S140, the computer performs a general CAN message transmission delay prediction step of predicting a transmission delay of the general CAN message when a transmission delay of the general CAN message occurs due to an attack message and an error frame.

단계 S130 및 단계 S140은 함께 수행될 수도 있으나, 둘 중 하나가 선택적으로 수행될 수도 있으며, 수행순서 및 선택방법은 제한되지 않는다.Step S130 and step S140 may be performed together, but one of the two may be selectively performed, and the execution order and selection method are not limited.

상기 일반 CAN 메시지 전송지연 예측단계에서, 컴퓨터는 상기 일반 CAN 메시지의 전송지연의 최악의 시간(WTdelay)을 예측할 수 있다.In the general CAN message transmission delay prediction step, the computer may predict the worst time (WT delay ) of the transmission delay of the general CAN message.

상기 최악의 시간을 예측하는 단계에서, 컴퓨터는 아래 수학식에 기초하여 상기 최악의 시간을 예측할 수 있다.In the step of predicting the worst time, the computer may predict the worst time based on the following equation.

WTdelay = Tattack + Tretrans + Terror WT delay = T attack + T retrans + T error

상기 수학식에서, Tattack은 상기 공격 메시지로 인한 지연시간을 의미하고, 상기 Terror는 상기 에러 프레임으로 인한 지연시간을 의미한다.In the above equation, T attack means a delay time due to the attack message, and the T error means a delay time due to the error frame.

일 실시 예에서, CAN 메시지의 전송지연시간의 최악의 경우를 고려하여, 일반 CAN 메시지의 발생 가능한 전송지연을 예측할 수 있다. 일반 CAN 메시지의 전송지연시간이 최악의 경우인 보다 작을 경우, 해당 정보를 일반메시지로 분류함으로써 메시지 식별 에러를 방지할 수 있다.In an embodiment, a possible transmission delay of a general CAN message may be predicted in consideration of the worst case of a transmission delay time of a CAN message. If the transmission delay time of a general CAN message is smaller than that of the worst case, it is possible to prevent a message identification error by classifying the information into a general message.

도 5는 다른 일 실시 예에 따른 메시지플러딩 공격 완화방법을 도시한 흐름도이다.5 is a flowchart illustrating a method of mitigating a message flooding attack according to another embodiment.

단계 S210에서, 컴퓨터는 상기 공격 노드로부터 발생하는 공격 메시지의 패턴을 획득할 수 있다.In step S210, the computer may acquire a pattern of an attack message generated from the attack node.

단계 S220에서, 컴퓨터는 데이터베이스로부터 상기 패턴에 대응하는 공격수단에 대한 정보를 획득할 수 있다.In step S220, the computer may obtain information on the attack means corresponding to the pattern from the database.

단계 S230에서, 컴퓨터는 상기 획득된 정보로부터 하나 이상의 파라미터를 추출할 수 있다.In step S230, the computer may extract one or more parameters from the obtained information.

단계 S240에서, 컴퓨터는 상기 추출된 파라미터에 기반하여 상기 공격 메시지 재전송 시간 및 상기 일반 CAN 메시지 전송지연 예측결과를 조정할 수 있다.In step S240, the computer may adjust the attack message retransmission time and the general CAN message transmission delay prediction result based on the extracted parameter.

또한, 다른 일 실시 예에서, 공격 노드가 Bus off 되는 경우, 컴퓨터는 상기 공격 노드에 대응하는 예비 노드를 상기 CAN 네트워크에 연결할 수 있다. 또한, 컴퓨터는 상기 예비 노드가 상기 공격 노드의 역할을 수행하도록 제어할 수 있다.In addition, in another embodiment, when the attacking node is bus-off, the computer may connect a spare node corresponding to the attacking node to the CAN network. In addition, the computer may control the spare node to perform the role of the attack node.

일 실시 예에서, 시스템은 하나 이상의 ECU 및 하나 이상의 ECU를 연결하는 CAN 네트워크를 포함할 수 있다.In one embodiment, the system may include one or more ECUs and a CAN network connecting one or more ECUs.

일 실시 예에서, 상기 하나 이상의 ECU중 하나인 제1 ECU에 대하여, 상기 시스템은, 상기 제1 ECU와 동일한 기능을 수행하는 제2 ECU를 더 포함할 수 있다.In an embodiment, for a first ECU that is one of the one or more ECUs, the system may further include a second ECU that performs the same function as the first ECU.

일 실시 예에서, 상기 제1 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제2 ECU가 상기 CAN에 연결되어 상기 제1 ECU의 역할을 수행할 수 있다.In an embodiment, when the first ECU becomes an attack node and is bus-off, the second ECU may be connected to the CAN to perform the role of the first ECU.

또한, 상기 하나 이상의 ECU중 하나인 제3 ECU에 대하여, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU는, 상기 제3 ECU가 수행하는 기능 각각에 대응하는 적어도 하나의 모듈을 포함할 수 있다.In addition, with respect to a third ECU that is one of the one or more ECUs, the one or more ECUs excluding the third ECU may include at least one module corresponding to each function performed by the third ECU.

일 예로, 제3 ECU에 포함된 모든 모듈들과 동일한 역할을 수행하는 모듈들이 각각 나머지 ECU들에 포함될 수 있다.For example, modules that perform the same role as all modules included in the third ECU may be included in each of the remaining ECUs.

일 실시 예에서, 상기 제3 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU 각각에 포함된 모듈들이 상기 제3 ECU의 기능을 수행하도록 할 수 있다.In an embodiment, when the third ECU becomes an attack node and is bus-off, modules included in each of the one or more ECUs excluding the third ECU may perform a function of the third ECU.

상술한 바와 같이, 중요한 역할을 수행하는 ECU가 공격으로 인해 Bus off되는 경우 전체 시스템의 구동에 문제가 생길 수 있으므로, 이에 대비하기 위한 예비수단이 마련될 수 있다.As described above, when an ECU that plays an important role is bus-off due to an attack, a problem may occur in driving the entire system, and thus a preliminary means for preparing for this may be provided.

이러한 예비수단은 각각의 ECU가 Bus off되었을 때 이용되며, 실시 예에 따라 각각의 ECU가 공격 노드가 되어 에러 프레임을 발생시켜 Bus off가 되는 경우, 시스템은 해당 공격 노드의 공격 메시지 재전송 시간을 예측할 수 있다. 이때, 시스템은 해당 재전송 시간까지의 간격 동안 해당 공격 노드의 Bus off 상태를 해제할 수 있다. 이 경우, 예비수단은 해당 공격 노드의 Bus off 상태가 해제되는 경우 Bus off 되고, 공격메시지 재전송 시간으로부터 소정의 범위 내의 시간에 해당 공격 노드가 다시 Bus off 되는 경우 다시 CAN에 연결될 수도 있다.These preliminary means are used when each ECU is bus off, and according to the embodiment, when each ECU becomes an attack node and generates an error frame and becomes bus off, the system can predict the attack message retransmission time of the attack node. I can. At this time, the system may release the bus off state of the attack node during the interval until the retransmission time. In this case, the preliminary means may be connected to the CAN again when the attack node is bused off again at a time within a predetermined range from the attack message retransmission time.

일 실시 예에서, 시스템은 예측된 공격 메시지 재전송 시간으로부터 소정의 범위 내의 시간이 되는 경우, 해당 공격 노드로부터 발생하는 공격 메시지를 탐지하되, 공격 메시지를 탐지하는 기준을 평소보다 낮출 수 있다. 즉, 공격 메시지인 것으로 판단하는 기준을 평소보다 낮춤으로써, 공격 메시지인 것으로 판단되는 요소가 평소보다 적어도 즉시 공격메시지를 발생하는 것으로 인식하여 해당 공격노드가 Bus off 되도록 할 수 있다.In an embodiment, when the time falls within a predetermined range from the predicted attack message retransmission time, the system detects an attack message generated from a corresponding attack node, but may lower a standard for detecting the attack message than usual. That is, by lowering the criterion for determining that the message is an attack message than usual, the element determined to be an attack message can be recognized as generating an attack message at least immediately, and the corresponding attacking node can be bused off.

일 실시 예에서, 시스템은 공격 노드로부터 발생되는 메시지의 패턴을 분석할 수 있다.In an embodiment, the system may analyze the pattern of messages generated from the attacking node.

예를 들어, 시스템은 공격 노드에서 발생되는 공격 메시지의 간격, 시간 및 이를 포함하는 패턴을 분석할 수 있고, 기 저장된 데이터베이스에 근거하여 패턴에 매칭되는 공격수단을 획득할 수 있다.For example, the system may analyze the interval, time, and pattern including the attack message generated in the attacking node, and acquire attack means matching the pattern based on a previously stored database.

예를 들어, 시스템은 패턴에 매칭되는 공격수단을 획득함으로써, 해당 공격수단에 대응하는 하나 이상의 파라미터를 획득할 수 있다.For example, the system may acquire one or more parameters corresponding to the attack means by obtaining the attack means matching the pattern.

시스템은 획득된 파라미터에 기반하여, 상술한 모듈들에 의하여 계산되는 공격 메시지 재전송 시간 및 일반 CAN 메시지 전송지연 예측결과를 조정할 수 있다.The system may adjust the attack message retransmission time and general CAN message transmission delay prediction result calculated by the above-described modules based on the acquired parameters.

도 6은 일 실시 예에 따른 장치의 구성도이다.6 is a block diagram of an apparatus according to an exemplary embodiment.

프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.The processor 102 may include one or more cores (not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus) for transmitting and receiving signals with other components. .

일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 5와 관련하여 설명된 방법을 수행한다.The processor 102 according to an exemplary embodiment executes one or more instructions stored in the memory 104 to perform the method described with respect to FIGS. 1 to 5.

예를 들어, 프로세서(102)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 개시된 실시 예에 따른 메시지플러딩 공격 완화방법을 수행할 수 있다.For example, the processor 102 may perform a message flooding attack mitigation method according to the disclosed embodiment by executing one or more instructions stored in a memory.

한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. Meanwhile, the processor 102 temporarily and/or permanently stores a signal (or data) processed inside the processor 102, a RAM (Random Access Memory, not shown) and a ROM (Read-Only Memory). , Not shown) may further include. In addition, the processor 102 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, RAM, and ROM.

메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 104 may store programs (one or more instructions) for processing and controlling the processor 102. Programs stored in the memory 104 may be divided into a plurality of modules according to functions.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. Software modules include Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.Components of the present invention may be implemented as a program (or application) and stored in a medium in order to be combined with a computer as hardware to be executed. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments include various algorithms implemented with a combination of data structures, processes, routines or other programming elements, including C, C++ , Java, assembler, or the like may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다. In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those of ordinary skill in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features. You can understand. Therefore, the embodiments described above are illustrative in all respects, and should be understood as non-limiting.

100 : 장치
102 : 프로세서
104 : 메모리
100: device
102: processor
104: memory

Claims (10)

컴퓨터에 의하여 수행되는 방법에 있어서,
일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별단계;
공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성단계;
상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측단계; 및,
공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측단계; 를 포함하고,
상기 일반 CAN 메시지 전송지연 예측단계는,
상기 일반 CAN 메시지의 전송지연의 최악의 시간(WTdelay)을 예측하는 단계; 를 포함하고,
상기 최악의 시간을 예측하는 단계는,
아래 수학식에 기초하여 상기 최악의 시간을 예측하는 단계; 를 포함하고,
WTdelay = Tattack + Tretrans + Terror
상기 Tattack은 상기 공격 메시지로 인한 지연시간을 의미하고, 상기 Terror는 상기 에러 프레임으로 인한 지연시간을 의미하는,
CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법.
In the method performed by a computer,
An attack message identification step of identifying a general CAN message and a CAN message used in a message flooding attack based on a transmission schedule of general CAN messages;
A dominant bit generation step of generating a dominant bit to induce the generation of a CAN error frame in the attacking node by generating a dominant bit when the attacking node transmits an attack message including a plurality of CAN messages for a message flooding attack;
An attack message retransmission time (T retrans ) prediction step of predicting a time until retransmission of the attack message when the attacking node fails to transmit the attack message due to the dominant bit; And,
A general CAN message transmission delay prediction step of predicting a transmission delay of the general CAN message when a transmission delay of the general CAN message occurs due to an attack message and an error frame; Including,
The general CAN message transmission delay prediction step,
Predicting a WT delay of the transmission delay of the general CAN message; Including,
The step of predicting the worst time,
Predicting the worst time based on the following equation; Including,
WT delay = T attack + T retrans + T error
The T attack means a delay time due to the attack message, and the T error means a delay time due to the error frame,
How to mitigate message flooding attacks on CAN networks.
제1 항에 있어서,
상기 공격 메시지 재전송 시간 예측단계는,
CAN의 에러 관리 절차를 획득하는 단계; 및
상기 획득된 에러 관리 절차에 기초하여 상기 공격 메시지의 재전송 시간을 예측하되, 상기 도미넌트 비트로 인해 상기 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC(Transmission Error Counter)에 기초하여 상기 공격 메시지의 재전송 시간을 예측하는, 단계; 를 포함하는,
CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법.
The method of claim 1,
The attack message retransmission time prediction step,
Obtaining a CAN error management procedure; And
Predict the retransmission time of the attack message based on the obtained error management procedure, but the attack message based on the time when the attacking node transmits the error frame due to the dominant bit and the transmission error counter (TEC) of the attacking node Estimating a retransmission time of; Containing,
How to mitigate message flooding attacks on CAN networks.
삭제delete 삭제delete 삭제delete 제1 항에 있어서,
상기 공격 노드로부터 발생하는 공격 메시지의 패턴을 획득하는 단계;
데이터베이스로부터 상기 패턴에 대응하는 공격수단에 대한 정보를 획득하는 단계;
상기 획득된 정보로부터 하나 이상의 파라미터를 추출하는 단계; 및
상기 추출된 파라미터에 기반하여 상기 공격 메시지 재전송 시간 및 상기 일반 CAN 메시지 전송지연 예측결과를 조정하는 단계; 를 더 포함하는,
CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법.
The method of claim 1,
Acquiring a pattern of an attack message generated from the attacking node;
Acquiring information on the attack means corresponding to the pattern from a database;
Extracting one or more parameters from the obtained information; And
Adjusting the attack message retransmission time and the normal CAN message transmission delay prediction result based on the extracted parameter; Further comprising,
How to mitigate message flooding attacks on CAN networks.
제1 항에 있어서,
상기 공격 노드가 Bus off 되는 경우, 상기 공격 노드에 대응하는 예비 노드를 상기 CAN 네트워크에 연결하는 단계; 및
상기 예비 노드가 상기 공격 노드의 역할을 수행하도록 제어하는 단계; 를 더 포함하는,
CAN 네트워크에 대한 메시지플러딩 공격을 완화하는 방법.
The method of claim 1,
Connecting a spare node corresponding to the attack node to the CAN network when the attack node is bus off; And
Controlling the spare node to perform the role of the attack node; Further comprising,
How to mitigate message flooding attacks on CAN networks.
삭제delete 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
제1 항의 방법을 수행하는, 장치.
A memory for storing one or more instructions; And
And a processor that executes the one or more instructions stored in the memory,
The processor executes the one or more instructions,
An apparatus for performing the method of claim 1.
하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.A computer program that is combined with a computer as hardware and stored in a recording medium readable by a computer to perform the method of claim 1.
KR1020180165100A 2018-12-19 2018-12-19 A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time KR102204655B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180165100A KR102204655B1 (en) 2018-12-19 2018-12-19 A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180165100A KR102204655B1 (en) 2018-12-19 2018-12-19 A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time

Publications (2)

Publication Number Publication Date
KR20200076217A KR20200076217A (en) 2020-06-29
KR102204655B1 true KR102204655B1 (en) 2021-01-18

Family

ID=71400873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180165100A KR102204655B1 (en) 2018-12-19 2018-12-19 A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time

Country Status (1)

Country Link
KR (1) KR102204655B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809561B2 (en) 2020-07-29 2023-11-07 Hyundai Motor Company System and method for identifying compromised electronic controller using intentionally induced error
KR102648651B1 (en) * 2021-11-25 2024-03-18 고려대학교 산학협력단 Method for detecting and responding for attack on can network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980038807A (en) * 1996-11-26 1998-08-17 배순훈 Air bag system with auxiliary ECU
KR101825711B1 (en) 2017-06-05 2018-02-06 주식회사 페스카로 A CAN controller secured from hacking attack based on the CAN protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. TINDELL 외 2인, ‘CALCULATING CONTROLLER AREA NETWORK (CAN) MESSAGE RESPONSE TIMES’,IFAC Proceedings Volumes Volume 27, Issue 15 (1994.09.)*
Kyong-Tak Cho 외 1인, ‘Error Handling of In-vehicle Networks Makes Them Vulnerable’, 2016 ACM SIGSAC Conference (2016.10.)*

Also Published As

Publication number Publication date
KR20200076217A (en) 2020-06-29

Similar Documents

Publication Publication Date Title
US11934520B2 (en) Detecting data anomalies on a data interface using machine learning
US20210034745A1 (en) Security system and methods for identification of in-vehicle attack originator
US10798114B2 (en) System and method for consistency based anomaly detection in an in-vehicle communication network
EP3113529B1 (en) System and method for time based anomaly detection in an in-vehicle communication network
US9380070B1 (en) Intrusion detection mechanism
JP6807906B2 (en) Systems and methods to generate rules to prevent computer attacks on vehicles
KR102524204B1 (en) Apparatus and method for intrusion response in vehicle network
US11938897B2 (en) On-vehicle device, management method, and management program
US20200183373A1 (en) Method for detecting anomalies in controller area network of vehicle and apparatus for the same
JP6846706B2 (en) Monitoring equipment, monitoring methods and computer programs
JP2018026791A (en) Frame transmission blocking device, frame transmission blocking method, and on-vehicle network system
US11522878B2 (en) Can communication based hacking attack detection method and system
KR101966345B1 (en) Method and System for detecting bypass hacking attacks based on the CAN protocol
JP7182559B2 (en) Log output method, log output device and program
JP7232832B2 (en) Fraud detection method and fraud detection device
US20200014758A1 (en) On-board communication device, computer program, and message determination method
JP7255710B2 (en) Attack monitoring center device and attack monitoring terminal device
KR101972457B1 (en) Method and System for detecting hacking attack based on the CAN protocol
KR102204655B1 (en) A mitigation method against message flooding attacks for secure controller area network by predicting attack message retransfer time
US11841942B2 (en) Anomaly detection device and anomaly detection method
KR20210075458A (en) Control method, device and program of intrusion detection system based on can id filtering
JP2019174426A (en) Abnormality detection device, abnormality detection method, and program
JP6497656B2 (en) COMMUNICATION METHOD AND COMMUNICATION DEVICE USING THE SAME
KR102204656B1 (en) A mitigation system against message flooding attacks for secure controller area network by predicting transfer delay of normal can message
JP7392586B2 (en) Log sending control device

Legal Events

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