WO2023101148A1 - Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치 - Google Patents

Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치 Download PDF

Info

Publication number
WO2023101148A1
WO2023101148A1 PCT/KR2022/012797 KR2022012797W WO2023101148A1 WO 2023101148 A1 WO2023101148 A1 WO 2023101148A1 KR 2022012797 W KR2022012797 W KR 2022012797W WO 2023101148 A1 WO2023101148 A1 WO 2023101148A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecu
attack
identifier
error
bus
Prior art date
Application number
PCT/KR2022/012797
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020220032961A external-priority patent/KR20230081562A/ko
Application filed by 숭실대학교 산학협력단 filed Critical 숭실대학교 산학협력단
Publication of WO2023101148A1 publication Critical patent/WO2023101148A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present disclosure relates to a CAN (Controller Area Network) traffic monitoring method, and more particularly, to a CAN traffic monitoring method, system, and device for detecting an attack ECU (Electronic Control Unit) by utilizing a CAN error handling mechanism. .
  • CAN Controller Area Network
  • ECU Electronic Control Unit
  • the present invention is a global leading technology development (R&D) for information protection by the Ministry of Science and ICT (Task identification number: 1711126297, detailed assignment number: 2021-0-00111-001, research title: cyber attack on self-driving cars using AI technology) and defense technology research). Meanwhile, there is no property interest of the Korean government in any aspect of the present invention.
  • CAN Controller Area Network
  • ISO International Standard
  • CAN uses a broadcast communication method, but there is a disadvantage that it is vulnerable to packet injection attacks because security techniques are not applied.
  • the present disclosure provides a CAN traffic monitoring method, system, and apparatus for detecting an attack ECU by utilizing a CAN error handling mechanism.
  • a method for detecting an attack ECU using CAN traffic monitoring performed by at least one processor includes a packet including an attack identifier transmitted to a CAN bus by an attack ECU among a plurality of ECUs associated with a processor. Converting the attack ECU into an error passive state by generating at least one collision with respect to the ECU, wherein the priority is the highest among at least one identifier assigned to any ECU among the plurality of ECUs while the attack ECU maintains the error passive state.
  • a packet including an identifier having a low priority may include a packet transmitted to the CAN bus by an ECU other than any ECU among a plurality of ECUs.
  • a packet including an identifier having a low priority may include background traffic.
  • a packet including an identifier having a lower priority than the highest priority identifier exists between each of a plurality of error frames transmitted to the CAN bus due to a plurality of collisions
  • the step of converting the attack ECU into an error passive state by generating at least one collision with respect to a packet including an attack identifier transmitted to the CAN bus by an attack ECU among a plurality of ECUs connected to the processor, Obtaining data associated with a plurality of identifiers assigned to a plurality of ECUs connected to, identifying an attack identifier based on the obtained data, and generating at least one collision for packets including the attack identifier to attack the ECU It may include converting to an error passive state.
  • a priority order among a plurality of assigned identifiers may be predetermined.
  • the step of converting the attacking ECU into an error passive state by generating at least one collision with respect to a packet including an attack identifier transmitted to the CAN bus by the attacking ECU among a plurality of ECUs connected to the processor, Generating at least one collision with respect to the packet including the identifier, converting the count value of the register included in the attack ECU whenever transmission of the packet including the attack identifier fails due to collision, and converted count value and converting the attack ECU into an error passive state based on a result of comparing the count value with the reference count value.
  • the attack ECU that has been switched to the error passive state continuously transmits random first packets and second packets
  • the attack ECU that has transmitted the first packet stops transmitting packets for a certain period of time and then It may be configured to transmit the second packet.
  • a packet including an identifier having a low priority may be determined as a packet to be transmitted to the CAN bus within a predetermined time when the attacking ECU stops transmission of the packet.
  • a computer program recorded on a computer-readable recording medium may be provided to execute an attack ECU detection method using CAN traffic monitoring.
  • an attack ECU detection apparatus using CAN traffic monitoring includes at least one processor, and at least one processor is transmitted to a CAN bus by an attack ECU among a plurality of ECUs connected to the processor. At least one identifier allocated to any ECU among the plurality of ECUs while the attack ECU is converted to an error passive state by generating at least one collision with respect to a packet including the attack identifier, and the attack ECU is in an error passive state.
  • a plurality of collisions are generated for a packet including the highest priority identifier among the plurality of collisions, and an identifier having a lower priority than the highest priority identifier is generated between each of a plurality of error frames transmitted to the CAN bus by the plurality of collisions. If the packet is present, it may be configured to execute instructions to determine that any ECU is an attacking ECU that has transitioned to an error passive state.
  • CAN Controller Area Network
  • FIG. 2 is an example for explaining a CAN bus occupation method according to an embodiment of the present disclosure.
  • FIG. 3 is an example illustrating an error handling mechanism of CAN according to an embodiment of the present disclosure.
  • FIG. 4 shows an example of a CAN system for detecting an attack ECU according to an embodiment of the present disclosure.
  • 5A and 5B show an example in which each of five consecutive collisions occurs in data transmitted by a plurality of nodes according to an embodiment of the present disclosure.
  • FIG. 6 shows an example of measuring the probability of occurrence of a priority reduction phenomenon when an error occurs (n*30) times in an ECU in a passive state in a laboratory environment according to an embodiment of the present disclosure.
  • FIG. 7 illustrates an example of measuring the probability of occurrence of a priority reduction phenomenon when an error occurs in an ECU in a passive state (n*30) times in an actual vehicle environment experiment according to an embodiment of the present disclosure.
  • FIG. 8 shows an example of an attack ECU detection method using CAN traffic monitoring according to an embodiment of the present disclosure.
  • 'module' or 'unit' used in the specification means a software or hardware component, and the 'module' or 'unit' performs certain roles.
  • 'module' or 'unit' is not meant to be limited to software or hardware.
  • a 'module' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors.
  • 'module' or 'unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, It may include at least one of procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables.
  • a 'module' or 'unit' may be implemented as a processor and a memory.
  • 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like.
  • 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like.
  • ASIC application specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable gate array
  • 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. You may. Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information.
  • 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like.
  • RAM random access memory
  • ROM read-only memory
  • NVRAM non-volatile random access memory
  • PROM programmable read-only memory
  • EPROM erasable-programmable read-only memory
  • a memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory.
  • Memory integrated with the processor is in electronic communication with the processor.
  • the CAN system 100 may refer to a network system designed to allow microcontrollers and/or devices (ie, Electronic Control Units (ECUs)) to communicate with each other in a vehicle without a host computing device.
  • the CAN system 100 may refer to a protocol composed of a network topology in the form of a bus established as an international standard (ISO 11898) due to advantages such as low wiring cost and light weight.
  • ISO 11898 an international standard
  • the CAN system 100 may include a CAN bus 110 and a plurality of ECUs 120 to 170.
  • the CAN system 100 may be implemented as a program and/or instruction(s) and performed by at least one processor.
  • the CAN bus 110 may be connected to each of the plurality of ECUs 120 to 170. Specifically, the CAN bus 110 may be connected to each of the plurality of ECUs 120 to 170 to provide a communication path between the plurality of ECUs 120 to 170 . For example, the CAN bus 110 may receive data (or packets) from the first ECU 120 . Accordingly, the received data may occupy the CAN bus 110. Then, the CAN bus 110 may transmit data occupying the CAN bus 110 to the destination.
  • At least one identifier may be assigned to each of the plurality of ECUs 120 to 170 .
  • the assigned identifier may be displayed on a part of data (or packet) transmitted by each of the plurality of ECUs 120 to 170 .
  • the attack CAN system 100 may obtain / infer data about identifiers (or identifier sets) assigned to each of the plurality of ECUs 120 to 170 . Accordingly, the attack CAN system 100 can identify an attack identifier that is not pre-assigned to the plurality of ECUs 120 to 170 (ie, an identifier used by the attack ECU) using data on the obtained/inferred identifiers. there is.
  • the CAN system 100 may use a CAN-bus mapper, but is not limited thereto, and all conventional techniques for identifying an attack identifier may be used.
  • the CAN system 100 may detect data (or packets) transmitted by an attacking ECU among a plurality of ECUs 120 to 170 .
  • the CAN system 100 may use IDS (Intrusion Detection System), which is a technology for detecting an attacking ECU based on characteristics such as the ECU's clock skew and/or CAN packet cycle, but is not limited thereto. Any conventional technique for detecting transmitted data may be used.
  • IDS Intrusion Detection System
  • each of the plurality of ECUs 120 to 170 may periodically transmit data (or packets) to the CAN bus 110 .
  • the first ECU 120 may transmit the first data to the CAN bus 110 at every first time interval.
  • the second ECU 130 may transmit the second data to the CAN bus 110 at every second time interval.
  • each of the plurality of ECUs 120 to 170 may continuously transmit data (or packets) to the CAN bus 110 .
  • the first ECU 120 may successively transmit 1-1 data, 1-2 data, and 1-3 data to the CAN bus 110 according to a predetermined order.
  • the plurality of ECUs 120 to 170 may transmit data to the CAN bus 110 in parallel.
  • the first ECU 120 and the second ECU 130 may transmit data to the CAN bus 110, respectively. That is, each of the plurality of ECUs 120 to 170 may attempt to transmit data to the CAN bus 110 at the same/similar time point.
  • the CAN system 100 may determine data to occupy the CAN bus 110 first based on a predetermined priority of one or more identifiers (IDs) assigned to each of the plurality of ECUs 120 to 170. there is.
  • IDs identifiers
  • the CAN bus 110 is occupied from the data having the identifier with the highest priority according to the algorithm inside the system 100 for determining the priority. do.
  • an algorithm for processing data transmission errors applied to the system 100 a priority reduction phenomenon in which data having a lower priority identifier occupies the CAN bus 110 before data having a higher priority identifier. this can happen
  • the present disclosure proposes a method of tracking the attack ECU 120 through the monitoring ECU 170 using such an error handling algorithm, and a description of this method will be described later in detail in FIGS. 2 to 8 .
  • the CAN bus occupation method may be performed through an arbitration field 210 of data (or packets) 200 transmitted by an ECU (eg, ECUs 120 to 170). For example, by performing a bitwise arbitration operation on the bits of the arbitration area 210 of the data (or packet) 200 and the bits of the arbitration area of other data (not shown), data (or packets) ) 200 (that is, the priority of the identifier of the corresponding data) may be determined.
  • each ECU may include a register.
  • the ECU includes a TEC (Transmission Error Counter) register for counting data (or packet) transmission failures of the corresponding ECU and/or a REC (Receive Error Counter) register for counting data reception failures of the corresponding ECU. can do.
  • TEC Transmission Error Counter
  • REC Receiveive Error Counter
  • the ECU when the ECU fails to transmit data, it may transmit an error frame indicating data transmission failure. For example, when a collision occurs in data transmitted by the ECU, the corresponding ECU may transmit an error frame indicating data transmission failure to the CAN bus (eg, the CAN bus 110). At the same time, the value of the TEC register of the corresponding ECU may increase by 8, and the value of the REC register of the ECU to receive data from the corresponding ECU may increase by 1. According to another embodiment, when the ECU successfully transmits data, values of the TEC register of the corresponding ECU and the REC register of the ECU receiving data from the corresponding ECU may be decreased by 1.
  • the error state of the corresponding ECU is an error active state 310 and an error passive state. 320 or a bus off state 330 may be determined.
  • the error state of the ECU can remain in the error active state 310 .
  • the error state of the ECU is the error active state 310
  • the corresponding ECU can transmit data periodically/continuously without a separate suspend transmission.
  • the error state of the ECU is the error passive state (320)
  • the ECU is configured to have a waiting time whenever it continuously transmits data, and when the ECU is in the bus off state (330), the data transmission is stopped and mandatory standby is performed. It may return to the error active state 310 with time or through a reset of the ECU hardware.
  • the CAN system 400 may include a CAN bus 410, a plurality of ECUs 420 to 460, and a monitoring ECU 470.
  • the monitoring ECU 470 may include an error module 472 and a monitoring module 474 .
  • Such a CAN system 400 may be driven to identify the attack ECU 430 when attack data (ie, data transmitted by the attack ECU 430) is detected.
  • the attack data may refer to data having identifiers not assigned to the plurality of ECUs 420 to 460 as described above with reference to FIG. 1 .
  • the CAN system 400 may be implemented as a program and/or instruction(s) and performed by at least one processor.
  • the CAN system 400 may intentionally fail transmission of the attack data by generating at least one collision with respect to the attack data. Accordingly, the attack ECU 430 may switch to an error passive state at a specific point in time according to an error handling mechanism (eg, the error handling mechanism 300).
  • an error handling mechanism eg, the error handling mechanism 300
  • the monitoring ECU 470 receives an identifier having the highest priority among identifier(s) assigned to each of the plurality of ECUs 420 to 460 while the attacking ECU 430 maintains an error passive state. You can choose. Then, the error module 472 may generate n (where n is a natural number of 2 or more) consecutive collisions to the data having the highest priority identifier of each of the plurality of ECUs 420 to 460 . For example, the error module 472 sends n times to the data having the highest identifier assigned to each of the first ECU 420, the second ECU 440, the third ECU 450, and the fourth ECU 460.
  • each of the plurality of ECUs 420 to 460 (maximum) n times of data transmission failures due to n consecutive collisions occur, and accordingly, each of the plurality of ECUs 420 to 460 has up to n consecutive errors.
  • the frame may be transmitted on the CAN bus 410.
  • the monitoring module 474 may monitor consecutive error frames generated according to n consecutive collisions.
  • the error state of the ECU described above in FIG. 2 may be considered. Specifically, when the error state of the ECU is in the error active state, the ECU transmits data periodically/continuously without a separate Suspend Transmission, and when the error state of the ECU is in the error passive state, the ECU continuously transmits data It can be considered that it is configured to have a waiting time whenever transmitting.
  • data ID HP , ID LP or Error Frame
  • FIG. 5A is an example of five consecutive collisions generated by a monitoring ECU (not shown) in the first target node 510 in an error active state.
  • a 'node' used in the present disclosure may be interpreted as a 'module' constituting a network such as an I/O device, a CAN interface, an embedded computer, and the like. Therefore, 'node' in the present disclosure may be replaced with 'ECU' and interpreted the same.
  • the first target node 510 in an error active state may initiate the first transmission 512 of the first data ID HP having the highest identifier.
  • the first transmission 512 of the first data (ID HP ) fails due to the first collision with the first data (ID HP ) of the monitoring ECU (not shown).
  • the first target node 510 performs the first transmission 532 of the error frame according to the failure of the first transmission 512 of the first data ID HP to the CAN bus 530.
  • the first target node 510 in an error active state having failed in the first transmission 512 of the first data ID HP will receive the first data ID HP after a predetermined time (ie, period) has elapsed.
  • HP may initiate a second transmission 514 .
  • the second transmission 514 of the first data (ID HP ) fails due to the second collision with respect to the first data (ID HP ) of the monitoring ECU.
  • the first target node 510 may start the third transmission 516 of the first data (ID HP ) again after a predetermined time has elapsed.
  • the other node 520 may initiate fourth transmission 522 of the second data (ID LP ) having a lower priority than the highest identifier of the first data (ID HP ). That is, the third transmission 516 of the first data ID HP and the fourth transmission 522 of the second data ID LP may be started at the same/similar time point.
  • the system (eg, CAN system 100, CAN system 400) transmits a plurality of data occurring in parallel at the same / similar time point, the identifier of each of the plurality of data It can be processed based on priority among them. Accordingly, the system selects data having a higher priority among the third transmission 516 of the first data (ID HP ) and the fourth transmission 522 of the second data (ID LP ) occurring at the same/similar time point.
  • the third transport 516 which is a transport, may be processed with priority.
  • the third transmission 516 of the first data (ID HP ) also fails due to the third collision of the monitoring ECU, and the first target node 510 in the error active state sends the first data (ID HP ) to the CAN bus 530.
  • the third transmission 516 of HP fails, the third transmission 534 of the error frame is performed.
  • the CAN bus 530 After the transmission of the first data (ID HP ) 5 times and the collision 5 times are completed through the above process, as shown, the CAN bus 530 generates 5 errors due to the 5 times of transmission failure of the 1st data (ID HP ). frame can be received. Then, the system may complete reception 562 of the second data ID LP by processing the fourth transmission 522 of the second data ID LP that has not yet been transmitted. Meanwhile, the second data (ID LP ) may refer to data transmitted by other nodes 520 different from the first target node 510 transmitting the first data (ID HP ). Also, the second data ID LP may refer to background traffic existing in a system (eg, the CAN system 100 or the CAN system 400).
  • 5B is an example in which five consecutive collisions are generated by a monitoring ECU (not shown) in a second target node 540 in an error passive state.
  • the second target node 540 in an error passive state may initiate transmission of third data (ID HP ) having a top priority identifier.
  • third data (ID HP ) 5 times fails due to 5 collisions of the monitoring ECU.
  • the second target node 540 since the second target node 540 is in an error-passive state, after transmitting the third data (ID HP ) and the error frame and having a waiting time (542 to 548), the third data (ID HP ) and the error frame will perform retransmission of . Therefore, another node 550 transmits 552 the fourth data (ID LP ) having a lower priority than the identifier of the third data (ID HP ) by reducing the second waiting time 544 of the ECU in the error passive state.
  • the system processes the transmission 552 of the fourth data ID LP , and as a result, the reception 562 of the fourth data ID LP of the CAN bus 560 may be performed. That is, in a situation where transmission of the third data (ID HP ) with a high priority is not completed, a priority reduction phenomenon in which transmission 552 of the fourth data (ID LP ) with a low priority is completed may occur.
  • the system detects a priority reduction phenomenon through a monitoring module (eg, the monitoring module 474), so that a node in an error passive state, which is a collision target of the error module (eg, the error module 472), attacks. It can be determined that it is a node (eg, the attack ECU 130 or the attack ECU 430).
  • the fourth data (ID LP ) like the second data (ID LP ), is transmitted by other nodes (550) different from the second target node 540 transmitting the third data (ID HP ). It can refer to data that In addition, the fourth data (ID LP ) may refer to background traffic existing in a system (eg, the CAN system 100 or the CAN system 400).
  • FIG. 6 shows an example of measuring the probability of occurrence of a priority reduction phenomenon when an error occurs (n*30) times in an ECU in a passive state in a laboratory environment according to an embodiment of the present disclosure.
  • the priority reduction phenomenon occurs with a probability of about 60%, 80%, and 100% at a bus load of 50%, 75%, and 100%. That is, through this experiment, it can be confirmed that the probability of occurrence of the priority reduction phenomenon increases in proportion to the number of consecutive collisions and the bus load.
  • FIG. 7 shows an example of measuring the probability of occurrence of a priority reduction phenomenon when an error occurs in an ECU in a passive state (n*30) times in an actual vehicle environment experiment according to an embodiment of the present disclosure.
  • a priority reduction phenomenon occurred with a probability of about 30%, 40%, and 50%.
  • the priority reduction phenomenon according to the method of the present disclosure also occurs in an actual vehicle.
  • the priority reduction phenomenon can be obtained with high probability, similar to the result in the laboratory environment of FIG. 7 .
  • Method 800 shows an example of an attack ECU detection method 800 using CAN traffic monitoring according to an embodiment of the present disclosure.
  • Method 800 may be performed by at least one processor executing a program and/or instruction(s) constituting an attack ECU detection system (eg, system 100, system 400).
  • an attack ECU detection system eg, system 100, system 400.
  • converting the attack ECU into an error passive state by generating at least one collision for a packet including an attack identifier transmitted to a CAN bus by an attack ECU among a plurality of ECUs associated with at least one processor.
  • the processor may acquire data associated with a plurality of identifiers assigned to a plurality of ECUs connected to the processor, and identify an attack identifier based on the obtained data.
  • the processor may generate at least one collision with respect to the packet including the attack identifier to convert the attack ECU into an error passive state.
  • the processor while the error passive state of the attacking ECU is maintained, the processor generates a plurality of collisions for a packet including a highest priority identifier among at least one identifier assigned to any ECU among a plurality of ECUs. may be generated (S820). For example, the processor generates at least one collision with respect to the packet including the attack identifier, and converts the count value of the register included in the attack ECU whenever transmission of the packet including the attack identifier fails due to the collision. can Then, the processor may convert the attack ECU into an error passive state based on a result of comparing the converted count value with the reference count value. In this case, priorities among the plurality of assigned identifiers may be predetermined.
  • a packet including an identifier having a lower priority than the highest priority identifier exists between a plurality of error frames transmitted to the CAN bus due to a plurality of collisions
  • the ECU is in an error passive state. It can be determined that it is an attack ECU converted to .
  • a packet including an identifier having a low priority may include a packet and/or background traffic transmitted to the CAN bus by an ECU other than any ECU among the plurality of ECUs.
  • the processor may detect a packet including an identifier having a low priority existing between each of a plurality of error frames. Then, based on the detected result, the processor may calculate a probability that a packet including an identifier having a lower priority than the highest priority identifier exists, and determine that an arbitrary ECU is an attack ECU based on the calculated probability.
  • the step of converting the attack ECU into an error passive state by generating at least one collision with respect to a packet including an attack identifier transmitted to the CAN bus by an attack ECU among a plurality of ECUs connected to the processor,
  • the attack ECU that has been switched to the error passive state continuously transmits random first packets and second packets
  • the attack ECU that has transmitted the first packet stops transmitting packets for a certain period of time and then It may be configured to transmit the second packet.
  • a packet including an identifier having a low priority may be determined as a packet to be transmitted to the CAN bus within a certain time period when the attacking ECU stops transmission of packets.
  • example implementations may refer to utilizing aspects of the presently disclosed subject matter in the context of one or more standalone computer systems, the subject matter is not so limited, but rather in conjunction with any computing environment, such as a network or distributed computing environment. may be implemented. Further, aspects of the presently-disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices. Such devices may include PCs, network servers, and handheld devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 개시의 일 실시예에 따른, 적어도 하나의 프로세서에 의해 수행되는 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법은, 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계, 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키는 단계 및 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정하는 단계를 포함할 수 있다.

Description

CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법 및 장치
본 개시는 CAN(Controller Area Network) 트래픽 모니터링 방법에 관한 것으로, 보다 상세하게는 CAN의 오류 처리 메커니즘을 활용하여 공격 ECU(Electronic Control Unit)를 탐지하기 위한 CAN 트래픽 모니터링 방법, 시스템 및 장치에 관한 것이다.
본 발명은 과학기술정보통신부의 정보보호글로벌선도 기술개발(R&D) (과제고유번호: 1711126297, 세부과제번호: 2021-0-00111-001, 연구과제명: AI 기술을 활용한 자율주행 자동차 사이버 공격 및 방어 기술 연구)의 일환으로 수행한 연구로부터 도출된 것이다. 한편, 본 발명의 모든 측면에서 한국 정부의 재산 이익은 없다.
CAN(Controller Area Network) 은 대표적인 차량용 네트워크이며, 버스 형태 네트워크 토폴로지로 구성된 프로토콜이다. CAN은 배선 비용이 적고 무게가 가볍다는 등의 장점으로 인해, 1993년에 ISO에서 국제 표준 규격(ISO 11898)으로 제정되었다.
CAN은 브로드 캐스트 통신 방식을 사용하는데 보안 기법이 적용되지 않아 패킷 삽입 공격에 취약하다는 단점이 존재한다. 최근 차량에서 제공하는 기술과 외부와의 통신이 증가함에 따라 차량 내부 네트워크에 대한 공격 사례가 많이 발생하고 있다. 최근 차량에서 제공하는 기술과 외부와의 통신이 증가하게 되어 차량 내부 네트워크에 대한 보안 위협이 증가하였다. 이에 따라 차량 공격에 대처하기 위해 많은 보안 솔루션들이 제안되고 있다.
상술한 바와 같은 과제를 해결하기 위해 본 개시에서는 CAN의 오류 처리 메커니즘을 활용하여 공격 ECU를 탐지하기 위한 CAN 트래픽 모니터링 방법, 시스템 및 장치가 제공된다.
본 개시의 일 실시예에 따른, 적어도 하나의 프로세서에 의해 수행되는 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법은, 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계, 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키는 단계 및 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 우선 순위가 낮은 식별자를 포함하는 패킷은 복수의 ECU 중 임의의 ECU가 아닌 다른 ECU에 의하여 CAN 버스로 전송된 패킷을 포함할 수 있다.
일 실시예에 따르면, 우선 순위가 낮은 식별자를 포함하는 패킷은 백그라운드 트래픽을 포함할 수 있다.
일 실시예에 따르면, 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 공격 ECU인 것으로 결정하는 단계는, 복수의 에러 프레임 각각의 사이에 존재하는 우선 순위가 낮은 식별자를 포함하는 패킷을 탐지하는 단계, 탐지한 결과를 기초로 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재할 확률을 산출하는 단계 및 산출된 확률을 기초로, 임의의 ECU가 공격 ECU인 것으로 결정하는 단계를 포함할 수 있다.
일 실시예에 따르면, 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계는, 프로세서와 연결된 복수의 ECU에 할당된 복수의 식별자와 연관된 데이터를 획득하는 단계, 획득된 데이터를 기초로 공격 식별자를 식별하는 단계 및 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계를 포함할 수 있다.
일 실시예에 따르면, 할당된 복수의 식별자 사이의 우선 순위는 사전 결정될 수 있다.
일 실시예에 따르면, 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계는, 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시키는 단계, 충돌에 의해 공격 식별자를 포함하는 패킷의 전송이 실패할 때 마다 공격 ECU에 포함된 레지스터의 카운트 값을 변환하는 단계 및 변환된 카운트 값과 기준 카운트 값을 비교한 결과를 기초로 공격 ECU를 에러 패시브 상태로 전환시키는 단계를 포함할 수 있다.
일 실시예에 따르면, 에러 패시브 상태로 전환된 공격 ECU가 연속적으로 임의의 제1 패킷 및 제2 패킷을 전송하는 경우, 제1 패킷을 전송한 공격 ECU는 일정 시간동안 패킷의 전송을 중단한 후 제2 패킷을 전송하도록 구성될 수 있다.
일 실시예에 따르면, 우선 순위가 낮은 식별자를 포함하는 패킷은 공격 ECU가 패킷의 전송을 중단하는 일정 시간 내에 CAN 버스로 전송될 패킷으로 결정될 수 있다.
본 개시의 다른 실시예에 따르면, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램이 제공될 수 있다.
본 개시의 또 다른 실시예에 따르면, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 장치는, 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번 이상의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키고, 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키고, 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정하기 위한 명령어들을 실행시키도록 구성될 수 있다.
본 개시의 일부 실시예에 따르면, CAN의 오류 처리 메커니즘을 활용하여 공격 ECU를 쉽게 탐지할 수 있다.
본 개시의 일부 실시예에 따르면, CAN의 오류 처리 메커니즘을 활용하여 공격 ECU를 탐지함으로써 보안 기법이 적용되지 않아 패킷 삽입 공격에 취약하다는 CAN의 단점을 보완할 수 있다.
본 개시의 일부 실시예에 따르면, 최근 차량에서 제공하는 기술과 외부와의 통신이 증가함에 따라 빈번하게 발생하는 차량 내부 네트워크에 대한 공격을 탐지함으로써, CAN의 보안성을 향상시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 CAN(Controller Area Network) 시스템의 예시를 나타낸다.
도 2는 본 개시의 일 실시예에 따른 CAN의 버스 점유 방식을 설명하기 위한 예시이다.
도 3은 본 개시의 일 실시예에 따른 CAN의 오류 처리 메커니즘을 나타내는 예시이다.
도 4는 본 개시의 일 실시예에 따른 공격 ECU를 탐지하기 위한 CAN 시스템의 예시를 나타낸다.
도 5a 및 5b는 본 개시의 일 실시예에 따른 복수의 노드가 전송하는 데이터에 각각 5회의 연속적인 충돌을 발생시킨 예시를 나타낸다.
도 6은 본 개시의 일 실시예에 따라 실험실 환경에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다.
도 7은 본 개시의 일 실시예에 따라 실제 차량 환경 실험에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다.
도 8은 본 개시의 일 실시예에 따른 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법의 예시를 나타낸다.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만 '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, '프로세서'는 주문형 반도체(ASIC), 프로그램 가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
도 1은 본 개시의 일 실시예에 따른 CAN(Controller Area Network) 시스템(100)의 예시를 나타낸다. 여기서, CAN 시스템(100)은 차량 내에서 호스트 컴퓨팅 장치 없이 마이크로 컨트롤러 및/또는 장치들(즉, ECU(Electronic Control Unit))이 서로 통신하기 위해 설계된 네트워크 시스템을 지칭할 수 있다. 또한, CAN 시스템(100)은 배선 비용이 적고 무게가 가볍다는 등의 장점으로 인해 국제 표준 규격(ISO 11898)으로 제정된, 버스(Bus) 형태의 네트워크 토폴로지로 구성된 프로토콜을 지칭할 수 있다. 도시된 바와 같이, CAN 시스템(100)은 CAN 버스(110) 및 복수의 ECU(120 내지 170)를 포함할 수 있다. 한편, CAN 시스템(100)은 프로그램 및/또는 명령어(들)로 구현되어 적어도 하나의 프로세서에 의해 수행될 수 있다.
일 실시예에 따르면, CAN 버스(110)는 복수의 ECU(120 내지 170) 각각에 연결될 수 있다. 구체적으로, CAN 버스(110)는 복수의 ECU(120 내지 170) 각각에 연결되어, 복수의 ECU(120 내지 170) 사이의 통신 경로를 제공할 수 있다. 예를 들어, CAN 버스(110)는 제1 ECU(120)로부터 데이터(또는, 패킷)를 수신할 수 있다. 이에 따라, 수신된 데이터는 CAN 버스(110)를 점유할 수 있다. 그리고 나서, CAN 버스(110)는 CAN 버스(110)를 점유중인 데이터를 도착지로 전송할 수 있다.
일 실시예에 따르면, 복수의 ECU(120 내지 170) 각각에는 적어도 하나의 식별자가 할당될 수 있다. 이 경우, 할당된 식별자는 복수의 ECU(120 내지 170) 각각이 전송하는 데이터(또는, 패킷)의 일부에 표시될 수 있다. 한편, 공격 CAN 시스템(100)은 복수의 ECU(120 내지 170) 각각에 할당된 식별자들(또는, 식별자 집합)에 대한 데이터를 획득/추론할 수 있다. 이에 따라, 공격 CAN 시스템(100)은 획득/추론된 식별자들에 대한 데이터를 이용하여 복수의 ECU(120 내지 170)에 사전 할당되지 않은 공격 식별자(즉, 공격 ECU가 이용하는 식별자)를 식별할 수 있다. 이를 위해, CAN 시스템(100)은 CAN-bus mapper를 이용할 수 있으나, 이에 한정되지 않고 공격 식별자를 식별하기 위한 모든 종래 기술이 이용될 수 있다.
일 실시예에 따르면, CAN 시스템(100)은 복수의 ECU(120 내지 170) 중 공격 ECU에 의해 전송된 데이터(또는, 패킷)을 탐지할 수 있다. 이를 위해, CAN 시스템(100)은 ECU의 Clock skew 및/또는 CAN packet 주기 등의 특성을 기초로 공격 ECU를 탐지하는 기술인 IDS(Intrusion Detection System)을 이용할 수 있으나, 이에 한정되지 않고 공격 ECU에 의해 전송된 데이터를 탐지하는 종래의 모든 기술이 이용될 수 있다.
일 실시예에 따르면, 복수의 ECU(120 내지 170) 각각은 주기적으로 CAN 버스(110)에 데이터(또는, 패킷)를 전송할 수 있다. 예를 들어, 제1 ECU(120)는 제1 데이터를 제1 시간 간격마다 CAN 버스(110)에 전송할 수 있다. 다른 예를 들어, 제2 ECU(130)는 제2 데이터를 제2 시간 간격마다 CAN 버스(110)에 전송할 수 있다. 추가적으로, 복수의 ECU(120 내지 170) 각각은 연속적으로 CAN 버스(110)에 데이터(또는, 패킷)를 전송할 수 있다. 예를 들어, 제1 ECU(120)는 사전에 결정된 순서에 따라 CAN 버스(110)에 제1-1 데이터, 제1-2 데이터 및 제1-3 데이터를 연이어 전송할 수 있다.
일 실시예에 따르면, 복수의 ECU(120 내지 170)는 병렬적으로 데이터를 CAN 버스(110)에 전송할 수 있다. 예를 들어, 제1 ECU(120) 및 제2 ECU(130)는 각각 데이터를 CAN 버스(110)에 전송할 수 있다. 즉, 복수의 ECU(120 내지 170) 각각은 동일/유사한 시점에 CAN 버스(110)에 데이터를 전송하는 것을 시도할 수 있다. 이 경우, CAN 시스템(100)은 복수의 ECU(120 내지 170) 각각에 할당된 하나 이상의 식별자(ID; Identification)의 사전 결정된 우선 순위를 기초로 CAN 버스(110)를 우선 점유할 데이터를 결정할 수 있다.
상술한 바와 같이 동시에 여러 ECU에서 CAN 버스(110)에 데이터를 전송하더라도, 우선 순위를 결정하는 시스템(100) 내부의 알고리즘에 따라 우선 순위가 높은 식별자를 갖는 데이터부터 CAN 버스(110)를 점유하게 된다. 다만, 시스템(100)에 적용되는 데이터 전송 오류를 처리하는 알고리즘에 의해, 우선 순위가 낮은 식별자를 갖는 데이터가 우선 순위가 높은 식별자를 갖는 데이터보다 먼저 CAN 버스(110)를 점유하는 우선 순위 감소 현상이 발생할 수 있다. 본 개시에서는 이러한 오류 처리 알고리즘을 이용하여 모니터링 ECU(170)를 통해 공격 ECU(120)를 추적하는 방법을 제안하며, 도 2 내지 8에서 이 방법에 대한 설명이 상세히 후술된다.
도 2는 본 개시의 일 실시예에 따른 CAN의 버스 점유 방식을 설명하기 위한 예시이다. CAN의 버스 점유 방식은 ECU(예: ECU(120 내지 170))가 전송하는 데이터(또는, 패킷)(200)의 중재 영역(Arbitration Field)(210)을 통해 이루어질 수 있다. 예를 들어, 데이터(또는, 패킷)(200)의 중재 영역(210)의 비트(bit)와 다른 데이터(미도시)의 중재 영역의 비트에 대하여 Bitwise Arbitration 연산을 수행함으로써, 데이터(또는, 패킷)(200)의 우선 순위(즉, 해당 데이터의 식별자의 우선 순위)가 결정될 수 있다.
도 3은 본 개시의 일 실시예에 따른 CAN의 오류 처리 메커니즘(300)을 나타내는 예시이다. 일 실시예에 따르면, ECU(예: ECU(120 내지 170)) 각각은 레지스터를 포함할 수 있다. 예를 들어, ECU는 해당 ECU의 데이터(또는, 패킷) 전송 실패를 카운트하기 위한 TEC(Transmission Error Counter) 레지스터 및/또는 해당 ECU의 데이터 수신 실패를 카운트하기 위한 REC(Receive Error Counter) 레지스터를 포함할 수 있다.
일 실시예에 따르면, ECU가 데이터 전송에 실패한 경우, 데이터 전송 실패를 나타내는 에러 프레임(Error Frame)을 전송할 수 있다. 예를 들어, ECU가 전송하는 데이터에 충돌(collision)이 발생하면, 해당 ECU는 데이터 전송 실패를 나타내는 에러 프레임을 CAN 버스(예: CAN 버스(110))에 전송할 수 있다. 이와 동시에, 해당 ECU의 TEC 레지스터의 값은 8만큼 증가하고, 해당 ECU로부터 데이터를 수신하려던 ECU의 REC 레지스터의 값은 1만큼 증가할 수 있다. 다른 실시예에 따르면, ECU가 데이터 전송에 성공한 경우, 해당 ECU의 TEC 레지스터 및 해당 ECU로부터 데이터를 수신한 ECU의 REC 레지스터의 값은 1만큼 감소할 수 있다. 이와 같이, ECU의 데이터 전송 또는 실패에 따라 변경되는 TEC 레지스터 및/또는 REC 레지스터의 값을 기초로, 해당 ECU의 에러 상태는 에러 액티브(Error Active) 상태(310), 에러 패시브(Error Passive)상태(320) 또는 버스 오프(Bus Off) 상태(330)로 결정될 수 있다. 일반적으로, ECU의 에러 상태는 에러 액티브 상태(310)로 유지될 수 있다. ECU의 에러 상태가 에러 액티브 상태(310)인 때, 해당 ECU는 별도의 대기 시간(Suspend Transmission) 없이 주기적/연속적으로 데이터를 전송할 수 있다. 반면, ECU의 에러 상태가 에러 패시브 상태(320)인 경우, ECU는 연속적으로 데이터를 전송할 때마다 대기 시간을 갖도록 구성되고, 버스 오프 상태(330)인 경우, 데이터를 전송을 중단하고 의무적인 대기 시간을 갖거나 ECU 하드웨어의 재설정을 통해 에러 액티브 상태(310)로 돌아갈 수 있다.
도 4는 본 개시의 일 실시예에 따른 공격 ECU를 탐지하기 위한 CAN 시스템(400)의 예시를 나타낸다. 도시된 바와 같이 CAN 시스템(400)은 CAN 버스(410), 복수의 ECU(420 내지 460) 및 모니터링 ECU(470)를 포함할 수 있다. 또한, 모니터링 ECU(470)는 에러 모듈(472) 및 모니터링 모듈(474)을 포함할 수 있다. 이와 같은 CAN 시스템(400)은 공격 데이터(즉, 공격 ECU(430)에 의해 전송되는 데이터)가 탐지되었을 때, 공격 ECU(430)를 식별하기 위하여 구동될 수 있다. 여기서, 공격 데이터는 도 1에서 상술한 바와 같이 복수의 ECU(420 내지 460)에 할당되지 않은 식별자를 갖는 데이터를 지칭할 수 있다. 한편, CAN 시스템(400)은 프로그램 및/또는 명령어(들)로 구현되어 적어도 하나의 프로세서에 의해 수행될 수 있다.
일 실시예에 따르면, CAN 시스템(400)은 공격 데이터(또는, 공격 패킷)이 탐지되었을 때, 공격 데이터에 대하여 적어도 한번의 충돌을 발생시켜 해당 공격 데이터의 전송을 의도적으로 실패시킬 수 있다. 이에 따라, 공격 ECU(430)는 오류 처리 메커니즘(예: 오류 처리 메커니즘(300))에 따라 특정 시점에서 에러 패시브 상태로 전환될 수 있다.
일 실시예에 따르면, 모니터링 ECU(470)는 공격 ECU(430)의 에러 패시브 상태가 유지되는 동안, 복수의 ECU(420 내지 460) 각각에 할당된 식별자(들) 중 우선 순위가 가장 높은 식별자를 선택할 수 있다. 그리고 나서, 에러 모듈(472)은 복수의 ECU(420 내지 460) 각각의 우선 순위가 가장 높은 최우선 식별자를 갖는 데이터에 n(여기서, n은 2 이상의 자연수)번의 연속적인 충돌을 발생시킬 수 있다. 예를 들어, 에러 모듈(472)은 제1 ECU(420), 제2 ECU(440), 제3 ECU(450) 및 제4 ECU(460) 각각에 할당된 최우선 식별자를 갖는 데이터에 각각 n번의 연속적인 충돌을 발생시키고, 공격 ECU(430)의 최우선 식별자를 갖는 데이터에 n번의 연속적인 충돌을 발생시킬 수 있다. 이에 따라, 복수의 ECU(420 내지 460) 각각에서는 n번의 연속적인 충돌에 의한 (최대) n번의 데이터 전송 실패가 발생하고, 이에 따라 복수의 ECU(420 내지 460) 각각은 최대 n개의 연속적인 에러 프레임을 CAN 버스(410)에 전송할 수 있다.
일 실시예에 따르면, 모니터링 모듈(474)은 n번의 연속적인 충돌에 따라 발생한 연속적인 에러 프레임을 모니터링할 수 있다. 이 과정에서, 도 2에서 상술한 ECU의 에러 상태가 고려될 수 있다. 구체적으로, ECU의 에러 상태가 에러 액티브 상태인 때, ECU는 별도의 대기 시간(Suspend Transmission) 없이 주기적/연속적으로 데이터를 전송하고, ECU의 에러 상태가 에러 패시브 상태인 때, ECU는 연속적으로 데이터를 전송할 때마다 대기 시간을 갖도록 구성되는 점이 고려될 수 있다.
도 5a 및 5b는 본 개시의 일 실시예에 따른 복수의 노드(510 내지 560)가 전송하는 데이터에 각각 5회(즉, n=5)의 연속적인 충돌을 발생시킨 예시를 나타낸다. 도 5a 및 5b에서 각 노드(510 내지 560)에는 시간의 경과에 따라 연속적으로 관측되는 데이터들(IDHP, IDLP 또는 Error Frame)이 표시되어 있다. 여기서, 도 5a는 에러 액티브 상태인 제1 타겟 노드(Target Node)(510)에서 모니터링 ECU(미도시)에 의한 5회의 연속적 충돌을 발생된 예시이다. 한편, 본 개시에서 사용되는 '노드(node)'는 I/O 디바이스, CAN 인터페이스, 임베디드 컴퓨터 등과 같이 네트워크를 구성하는 '모듈'로 해석될 수 있다. 따라서, 본 개시의 '노드'는 'ECU'로 대체되어 동일하게 해석될 수 있다.
일 실시예에 따르면, 에러 액티브 상태인 제1 타겟 노드(510)는 최우선 식별자를 갖는 제1 데이터(IDHP)의 제1 전송(512)을 개시할 수 있다. 이 경우, 모니터링 ECU(미도시)의 제1 데이터(IDHP)에 대한 첫번째 충돌로 인해, 제1 데이터(IDHP)의 제1 전송(512)은 실패하게 된다. 그리고 나서, 제1 타겟 노드(510)는 CAN 버스(530)에 제1 데이터(IDHP)의 제1 전송(512) 실패에 따른 에러 프레임(Error Frame)의 제1 전송(532)을 수행할 수 있다.
일 실시예에 따르면, 제1 데이터(IDHP)의 제1 전송(512)에 실패한 에러 액티브 상태의 제1 타겟 노드(510)는 일정한 시간(즉, 주기)가 경과한 후 제1 데이터(IDHP)의 제2 전송(514)을 개시할 수 있다. 이 경우에도, 모니터링 ECU의 제1 데이터(IDHP)에 대한 두번째 충돌로 인해, 제1 데이터(IDHP)의 제2 전송(514)은 실패하게 된다. 그리고 나서, 제1 타겟 노드(510)는 다시 일정한 시간이 경과한 후 제1 데이터(IDHP)의 제3 전송(516)을 개시할 수 있다. 이 때, 다른 노드(520)는 제1 데이터(IDHP)의 최우선 식별자보다 우선 순위가 낮은 제2 데이터(IDLP)의 제4 전송(522)을 개시할 수 있다. 즉, 제1 데이터(IDHP)의 제3 전송(516)과 제2 데이터(IDLP)의 제4 전송(522)이 동일/유사한 시점에 개시될 수 있다.
한편, 도 1에서 상술한 바와 같이, 시스템(예: CAN 시스템(100), CAN 시스템(400))은 동일/유사한 시점에 병렬적으로 발생하는 복수의 데이터의 전송을 해당 복수의 데이터 각각의 식별자들 사이의 우선 순위를 기초로 처리할 수 있다. 이에 따라, 시스템은 동일/유사한 시점에 발생한 제1 데이터(IDHP)의 제3 전송(516)과 제2 데이터(IDLP)의 제4 전송(522) 중 우선 순위가 높은 식별자를 갖는 데이터의 전송인 제3 전송(516)을 우선적으로 처리할 수 있다. 그러나, 모니터링 ECU의 세번째 충돌로 인해 제1 데이터(IDHP)의 제3 전송(516) 또한 실패하고, 에러 액티브 상태인 제1 타겟 노드(510)는 CAN 버스(530)에 제1 데이터(IDHP)의 제3 전송(516) 실패에 따른 에러 프레임(Error Frame)의 제3 전송(534)을 수행하게 된다.
상술한 과정을 거쳐 5회의 제1 데이터(IDHP)의 전송과 5회의 충돌이 종료되면, 도시된 바와 같이 CAN 버스(530)는 5회의 제1 데이터(IDHP) 전송 실패로 인한 5개의 에러 프레임을 수신할 수 있다. 그리고 나서, 시스템은 아직 전송되지 않은 제2 데이터(IDLP)의 제4 전송(522)을 처리함으로써, 제2 데이터(IDLP)의 수신(562)을 완료할 수 있다. 한편, 제2 데이터(IDLP)는 제1 데이터(IDHP)를 전송하는 제1 타겟 노드(510)와 상이한 다른 노드(Other Nodes)(520)가 전송하는 데이터를 지칭할 수 있다. 또한, 제2 데이터(IDLP)는 시스템(예: CAN 시스템(100), CAN 시스템(400)) 내에 존재하는 백그라운드 트래픽(background traffic)을 지칭할 수 있다.
도 5b는 에러 패시브 상태의 제2 타겟 노드(Target Node)(540)에서 모니터링 ECU(미도시)에 의한 5회의 연속적 충돌이 발생된 예시이다.
일 실시예에 따르면, 에러 패시브 상태의 제2 타겟 노드(540)는 최우선 식별자를 갖는 제3 데이터(IDHP)의 전송을 개시할 수 있다. 그러나, 5 회의 제3 데이터(IDHP) 전송은 모니터링 ECU의 5회의 충돌로 인해 실패하게 된다. 다만, 제2 타겟 노드(540)는 에러 패시브 상태이므로, 제3 데이터(IDHP) 및 에러 프레임을 전송한 후, 대기 시간(542 내지 548)을 가진 후 제3 데이터(IDHP) 및 에러 프레임의 재전송을 수행하게 된다. 따라서, 다른 노드(550)가 제3 데이터(IDHP)의 식별자보다 우선 순위가 낮은 식별자를 갖는 제4 데이터(IDLP)의 전송(552)을 에러 패시브 상태의 ECU의 두번째 대기 시간(544) 내에 개시하는 경우, 시스템이 제4 데이터(IDLP)의 전송(552)을 처리하게 됨으로써 결과적으로 CAN 버스(560)의 제4 데이터(IDLP) 수신(562)이 수행될 수 있다. 즉, 우선 순위가 높은 제3 데이터(IDHP)의 전송이 완료되지 않은 상황에서, 우선 순위가 낮은 제4 데이터(IDLP)의 전송(552)이 완료되는 우선 순위 감소 현상이 발생할 수 있다.
일 실시예에 따르면, 시스템은 모니터링 모듈(예: 모니터링 모듈(474))을 통해 우선 순위 감소 현상을 탐지함으로써, 에러 모듈(예: 에러 모듈(472))의 충돌 대상인 에러 패시브 상태의 노드가 공격 노드(예: 공격 ECU(130), 공격 ECU(430))인 것으로 결정할 수 있다. 한편, 제4 데이터(IDLP)는 제2 데이터(IDLP)와 같이, 제3 데이터(IDHP)를 전송하는 제2 타겟 노드(540)와 상이한 다른 노드(Other Nodes)(550)가 전송하는 데이터를 지칭할 수 있다. 또한, 제4 데이터(IDLP)는 시스템(예: CAN 시스템(100), CAN 시스템(400)) 내에 존재하는 백그라운드 트래픽(background traffic)을 지칭할 수 있다
도 6은 본 개시의 일 실시예에 따라 실험실 환경에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다. 도시된 바와 같이, Bus Load 50%, 75%, 100%에서 약 60%, 80%, 100%의 확률로 우선 순위 감소 현상이 발생되는 것을 확인할 수 있다. 즉, 이 실험을 통해 연속 충돌 횟수와 버스 로드(Bus Load)에 비례하여 우선 순위 감소현상의 발생 확률이 증가하는 것을 확인할 수 있다.
도 7은 본 개시의 일 실시예에 따른 실제 차량 환경 실험에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다. 도시된 바와 같이, Vehicle A의 Bus Load 45.4%에서 연속 충돌 횟수가 각 4, 5, 6일 때, 약 30%, 40%, 50%의 확률로 우선 순위 감소 현상이 발생하였다. 이 실험을 통해 본 개시의 방법에 따른 우선 순위 감소 현상이 실제 차량에서도 발생하는 것을 확인할 수 있다. 또한, 실험 장비를 통해 버스 로드(Bus Load)를 증가시킬 경우 도 7의 실험실 환경에서의 결과와 마찬가지로 높은 확률로 우선 순위 감소 현상을 얻을 수 있음을 예상할 수 있다.
도 8은 본 개시의 일 실시예에 따른 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법(800)의 예시를 나타낸다. 방법(800)은 공격 ECU 탐지 시스템(예: 시스템(100), 시스템(400)을 구성하는 프로그램 및/또는 명령어(들)를 실행하는 적어도 하나의 프로세서에 의해 수행될 수 있다. 도시된 바와 같이, 방법(800)은 적어도 하나의 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계(S810)로 개시될 수 있다. 예를 들어, 프로세서는 프로세서와 연결된 복수의 ECU에 할당된 복수의 식별자와 연관된 데이터를 획득하고, 획득된 데이터를 기초로 공격 식별자를 식별할 수 있다. 그리고 나서, 프로세서는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시킬 수 있다.
일 실시예에 따르면, 프로세서는 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시킬 수 있다(S820). 예를 들어, 프로세서는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시키고, 충돌에 의해 공격 식별자를 포함하는 패킷의 전송이 실패할 때 마다 공격 ECU에 포함된 레지스터의 카운트 값을 변환할 수 있다. 그리고 나서, 프로세서는 변환된 카운트 값과 기준 카운트 값을 비교한 결과를 기초로 공격 ECU를 에러 패시브 상태로 전환시킬 수 있다. 이 경우, 할당된 복수의 식별자 사이의 우선 순위는 사전 결정될 수 있다.
일 실시예에 따르면, 프로세서는 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정할 수 있다. 이 경우, 우선순위가 낮은 식별자를 포함하는 패킷은 복수의 ECU 중 임의의 ECU가 아닌 다른 ECU에 의하여 CAN 버스로 전송된 패킷 및/또는 백그라운드 트래픽을 포함할 수 있다.
일 실시예에 따르면, 프로세서는 복수의 에러 프레임 각각의 사이에 존재하는 우선순위가 낮은 식별자를 포함하는 패킷을 탐지할 수 있다. 그리고 나서, 프로세서는 탐지한 결과를 기초로 최우선 식별자보다 우선순위가 낮은 식별자를 포함하는 패킷이 존재할 확률을 산출하고, 산출된 확률을 기초로 임의의 ECU가 공격 ECU인 것으로 결정할 수 있다.
일 실시예에 따르면, 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계는,
일 실시예에 따르면, 에러 패시브 상태로 전환된 공격 ECU가 연속적으로 임의의 제1 패킷 및 제2 패킷을 전송하는 경우, 제1 패킷을 전송한 공격 ECU는 일정 시간동안 패킷의 전송을 중단한 후 제2 패킷을 전송하도록 구성될 수 있다. 추가적으로, 우선순위가 낮은 식별자를 포함하는 패킷은 공격 ECU가 패킷의 전송을 중단하는 일정 시간 내에 CAN 버스로 전송될 패킷으로 결정될 수 있다.
본 개시의 앞선 설명은 통상의 기술자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 통상의 기술자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다.
비록 예시적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에서 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.

Claims (11)

  1. 적어도 하나의 프로세서에 의해 수행되는 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법으로서,
    상기 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계;
    상기 공격 ECU의 에러 패시브 상태가 유지되는 동안, 상기 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키는 단계; 및
    상기 복수의 충돌에 의해 상기 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 상기 임의의 ECU가 에러 패시브 상태로 전환된 상기 공격 ECU인 것으로 결정하는 단계
    를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  2. 제1항에 있어서,
    상기 우선 순위가 낮은 식별자를 포함하는 패킷은 상기 복수의 ECU 중 상기 임의의 ECU가 아닌 다른 ECU에 의하여 상기 CAN 버스로 전송된 패킷을 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  3. 제1항에 있어서,
    상기 우선 순위가 낮은 식별자를 포함하는 패킷은 백그라운드 트래픽을 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  4. 제1항에 있어서,
    상기 복수의 충돌에 의해 상기 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 상기 임의의 ECU가 상기 공격 ECU인 것으로 결정하는 단계는,
    상기 복수의 에러 프레임 각각의 사이에 존재하는 상기 우선 순위가 낮은 식별자를 포함하는 패킷을 탐지하는 단계;
    상기 탐지한 결과를 기초로 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재할 확률을 산출하는 단계; 및
    상기 산출된 확률을 기초로, 상기 임의의 ECU가 상기 공격 ECU인 것으로 결정하는 단계
    를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  5. 제1항에 있어서,
    상기 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계는,
    상기 프로세서와 연결된 복수의 ECU에 할당된 복수의 식별자와 연관된 데이터를 획득하는 단계;
    상기 획득된 데이터를 기초로 상기 공격 식별자를 식별하는 단계; 및
    상기 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계
    를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  6. 제5항에 있어서,
    상기 할당된 복수의 식별자 사이의 우선 순위는 사전 결정된, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  7. 제1항에 있어서,
    상기 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계는,
    상기 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시키는 단계;
    상기 충돌에 의해 상기 공격 식별자를 포함하는 패킷의 전송이 실패할 때 마다 상기 공격 ECU에 포함된 레지스터의 카운트 값을 변환하는 단계; 및
    변환된 상기 카운트 값과 기준 카운트 값을 비교한 결과를 기초로 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계
    를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  8. 제1항에 있어서,
    에러 패시브 상태로 전환된 상기 공격 ECU가 연속적으로 임의의 제1 패킷 및 제2 패킷을 전송하는 경우, 상기 제1 패킷을 전송한 상기 공격 ECU는 일정 시간동안 패킷의 전송을 중단한 후 상기 제2 패킷을 전송하도록 구성되는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  9. 제8항에 있어서,
    상기 우선 순위가 낮은 식별자를 포함하는 패킷은 상기 공격 ECU가 패킷의 전송을 중단하는 상기 일정 시간 내에 상기 CAN 버스로 전송될 패킷으로 결정되는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
  10. 제1항에 기재된 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.
  11. CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 장치로서,
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는
    상기 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번 이상의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키고,
    상기 공격 ECU의 에러 패시브 상태가 유지되는 동안, 상기 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키고,
    상기 복수의 충돌에 의해 상기 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 상기 임의의 ECU가 에러 패시브 상태로 전환된 상기 공격 ECU인 것으로 결정하기 위한 명령어들을 실행시키도록 구성된, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 장치.
PCT/KR2022/012797 2021-11-30 2022-08-26 Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치 WO2023101148A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210169123 2021-11-30
KR10-2021-0169123 2021-11-30
KR10-2022-0032961 2022-03-16
KR1020220032961A KR20230081562A (ko) 2021-11-30 2022-03-16 Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2023101148A1 true WO2023101148A1 (ko) 2023-06-08

Family

ID=86612458

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/012797 WO2023101148A1 (ko) 2021-11-30 2022-08-26 Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2023101148A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101198724B1 (ko) * 2007-06-05 2012-11-12 현대자동차주식회사 캔통신 에러 검출 및 대처방법
KR101669946B1 (ko) * 2015-08-28 2016-10-28 고려대학교 산학협력단 전력 신호를 이용한 ecu 식별 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101198724B1 (ko) * 2007-06-05 2012-11-12 현대자동차주식회사 캔통신 에러 검출 및 대처방법
KR101669946B1 (ko) * 2015-08-28 2016-10-28 고려대학교 산학협력단 전력 신호를 이용한 ecu 식별 장치 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHO A-RAM, HYO JIN JO, SAMUEL WOO, YOUNG DONG SON, DONG HOON LEE: "A Message Authentication and Key Distribution Mechanism Secure Against CAN bus Attack", JOURNAL OF THE KOREA INSTITUTE OF INFORMATION SECURITY AND CRYPTOLOGY, vol. 22, no. 5, 1 October 2012 (2012-10-01), pages 1057 - 1068, XP093070529, ISSN: 1598-3986 *
KIM, HYUN-HEE ET AL.: "Development of CAN network intrusion detection algorithm to prevent external hacking", JOURNAL OF THE KOREAN SOCIETY OF INDUSTRY CONVERGENCE2, vol. 20, no. 2, 2017, pages 177 - 186, XP009546807 *
SHIN, JI-WOO ET AL.: "Identify Attacking ECU Using CAN Error Handling Mechanisms", CONFERENCE ON INFORMATION SECURITY AND CRYPTOGRAPHY-WINTER 2021, 27 November 2021 (2021-11-27) *

Similar Documents

Publication Publication Date Title
WO2019117349A1 (ko) LoRaWAN 기반 대규모 시설물 관리를 위한 사물인터넷 네트워크 관리방법 및 이를 적용한 사물인터넷 네트워크 서버 및 단말
US9794286B2 (en) Network device, and data sending and receiving system
US4692918A (en) Reliable local data network arrangement
US7602779B2 (en) Microprocessor, network system and communication method
WO2011053038A2 (ko) 교착 상태의 방지를 위한 데이터 처리 방법 및 시스템
US11863569B2 (en) Bus-off attack prevention circuit
JP2005004745A (ja) 集積回路間バスルータ
CN109891848B (zh) 借助检查can标识符识别can网络中的操纵方法及can控制器
CN108234267B (zh) 一种基于m-lvds实时多主高速总线的通信系统
CN1985473A (zh) 利用单个物理端口的在线入侵检测
US20220159018A1 (en) Apparatus for security of vehicle can communication and method thereof
US6385211B1 (en) Network controller
CN110832809B (zh) 检测装置、检测方法和非瞬态的计算机可读的存储介质
WO2023101148A1 (ko) Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치
WO2013022170A1 (ko) 영상 입력 기기의 접속 장애 판별 장치 및 접속 장애 판별 방법
WO2012015273A2 (en) Direct memory access device for multi-core system and operating method of the same
KR20230081562A (ko) Can 트래픽 모니터링을 이용한 공격 ecu 탐지 방법 및 장치
CN109151316A (zh) 一种基于fpga的多工业相机数据调度装置
JP3948330B2 (ja) 異種ネットワーク間の相互接続装置
CN102195746A (zh) 循环检测方法及应用其的网络装置
WO2019168212A1 (ko) 모듈형 센서 인터페이스 및 이를 적용한 IoT 센서 디바이스 패키지
WO2012091436A2 (ko) 차량제어장치의 통신오류탐지 방법
WO2016064031A1 (ko) 무선 링크 장애를 극복하기 위한 스테이션의 ap 이주 기법
JP4570753B2 (ja) エラーコード送出装置および方法
WO2023286908A1 (ko) 비트를 변조하는 방법 및 장치와, 메시지를 표현하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22901508

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE