KR20230081562A - Method and apparatus for detecting attacking ecu using can traffic monitoring - Google Patents
Method and apparatus for detecting attacking ecu using can traffic monitoring Download PDFInfo
- Publication number
- KR20230081562A KR20230081562A KR1020220032961A KR20220032961A KR20230081562A KR 20230081562 A KR20230081562 A KR 20230081562A KR 1020220032961 A KR1020220032961 A KR 1020220032961A KR 20220032961 A KR20220032961 A KR 20220032961A KR 20230081562 A KR20230081562 A KR 20230081562A
- Authority
- KR
- South Korea
- Prior art keywords
- ecu
- attack
- identifier
- error
- packet including
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
본 개시의 일 실시예에 따른, 적어도 하나의 프로세서에 의해 수행되는 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법은, 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계, 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키는 단계 및 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, 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. Generating a plurality of collisions for a packet including a high priority identifier and a packet including an identifier having a lower priority than the highest priority identifier between each of a plurality of error frames transmitted to the CAN bus by the plurality of collisions. case, determining that any ECU is an attack ECU switched to an error passive state.
Description
본 개시는 CAN(Controller Area Network) 트래픽 모니터링 방법에 관한 것으로, 보다 상세하게는 CAN의 오류 처리 메커니즘을 활용하여 공격 ECU(Electronic Control Unit)를 탐지하기 위한 CAN 트래픽 모니터링 방법, 시스템 및 장치에 관한 것이다.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) 은 대표적인 차량용 네트워크이며, 버스 형태 네트워크 토폴로지로 구성된 프로토콜이다. CAN은 배선 비용이 적고 무게가 가볍다는 등의 장점으로 인해, 1993년에 ISO에서 국제 표준 규격(ISO 11898)으로 제정되었다. CAN (Controller Area Network) is a representative vehicle network and is a protocol composed of a bus-type network topology. CAN was established as an international standard (ISO 11898) by ISO in 1993 due to advantages such as low wiring cost and light weight.
CAN은 브로드 캐스트 통신 방식을 사용하는데 보안 기법이 적용되지 않아 패킷 삽입 공격에 취약하다는 단점이 존재한다. 최근 차량에서 제공하는 기술과 외부와의 통신이 증가함에 따라 차량 내부 네트워크에 대한 공격 사례가 많이 발생하고 있다. 최근 차량에서 제공하는 기술과 외부와의 통신이 증가하게 되어 차량 내부 네트워크에 대한 보안 위협이 증가하였다. 이에 따라 차량 공격에 대처하기 위해 많은 보안 솔루션들이 제안되고 있다. 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. Recently, as the technology provided by the vehicle and the communication with the outside increase, many cases of attack on the internal network of the vehicle are occurring. Recently, as technology provided by vehicles and communication with the outside have increased, security threats to the internal network of vehicles have increased. Accordingly, many security solutions have been proposed to cope with vehicle attacks.
상술한 바와 같은 과제를 해결하기 위해 본 개시에서는 CAN의 오류 처리 메커니즘을 활용하여 공격 ECU를 탐지하기 위한 CAN 트래픽 모니터링 방법, 시스템 및 장치가 제공된다.In order to solve the above problems, the present disclosure provides a CAN traffic monitoring method, system, and apparatus for detecting an attack ECU by utilizing a CAN error handling mechanism.
본 개시의 일 실시예에 따른, 적어도 하나의 프로세서에 의해 수행되는 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법은, 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계, 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키는 단계 및 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, 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. Generating a plurality of collisions for a packet including a high priority identifier and a packet including an identifier having a lower priority than the highest priority identifier between each of a plurality of error frames transmitted to the CAN bus by the plurality of collisions. case, determining that any ECU is an attack ECU switched to an error passive state.
일 실시예에 따르면, 우선 순위가 낮은 식별자를 포함하는 패킷은 복수의 ECU 중 임의의 ECU가 아닌 다른 ECU에 의하여 CAN 버스로 전송된 패킷을 포함할 수 있다.According to an embodiment, 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.
일 실시예에 따르면, 우선 순위가 낮은 식별자를 포함하는 패킷은 백그라운드 트래픽을 포함할 수 있다.According to an embodiment, a packet including an identifier having a low priority may include background traffic.
일 실시예에 따르면, 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 공격 ECU인 것으로 결정하는 단계는, 복수의 에러 프레임 각각의 사이에 존재하는 우선 순위가 낮은 식별자를 포함하는 패킷을 탐지하는 단계, 탐지한 결과를 기초로 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재할 확률을 산출하는 단계 및 산출된 확률을 기초로, 임의의 ECU가 공격 ECU인 것으로 결정하는 단계를 포함할 수 있다.According to one embodiment, when 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, it is determined that an arbitrary ECU is an attacking ECU. The step of detecting a packet including an identifier having a low priority existing between each of a plurality of error frames, and determining a probability that a packet including an identifier having a priority lower than the highest priority identifier exists based on the detected result. Calculating and based on the calculated probability, determining that any ECU is an attacking ECU.
일 실시예에 따르면, 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계는, 프로세서와 연결된 복수의 ECU에 할당된 복수의 식별자와 연관된 데이터를 획득하는 단계, 획득된 데이터를 기초로 공격 식별자를 식별하는 단계 및 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계를 포함할 수 있다. According to one embodiment, 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.
일 실시예에 따르면, 할당된 복수의 식별자 사이의 우선 순위는 사전 결정될 수 있다.According to one embodiment, a priority order among a plurality of assigned identifiers may be predetermined.
일 실시예에 따르면, 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계는, 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시키는 단계, 충돌에 의해 공격 식별자를 포함하는 패킷의 전송이 실패할 때 마다 공격 ECU에 포함된 레지스터의 카운트 값을 변환하는 단계 및 변환된 카운트 값과 기준 카운트 값을 비교한 결과를 기초로 공격 ECU를 에러 패시브 상태로 전환시키는 단계를 포함할 수 있다. According to one embodiment, 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.
일 실시예에 따르면, 에러 패시브 상태로 전환된 공격 ECU가 연속적으로 임의의 제1 패킷 및 제2 패킷을 전송하는 경우, 제1 패킷을 전송한 공격 ECU는 일정 시간동안 패킷의 전송을 중단한 후 제2 패킷을 전송하도록 구성될 수 있다.According to one embodiment, when 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.
일 실시예에 따르면, 우선 순위가 낮은 식별자를 포함하는 패킷은 공격 ECU가 패킷의 전송을 중단하는 일정 시간 내에 CAN 버스로 전송될 패킷으로 결정될 수 있다.According to an embodiment, 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.
본 개시의 다른 실시예에 따르면, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램이 제공될 수 있다.According to another embodiment of the present disclosure, a computer program recorded on a computer-readable recording medium may be provided to execute an attack ECU detection method using CAN traffic monitoring.
본 개시의 또 다른 실시예에 따르면, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 장치는, 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번 이상의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키고, 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키고, 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정하기 위한 명령어들을 실행시키도록 구성될 수 있다.According to another embodiment of the present disclosure, 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의 오류 처리 메커니즘을 활용하여 공격 ECU를 쉽게 탐지할 수 있다.According to some embodiments of the present disclosure, it is possible to easily detect an attacking ECU by utilizing an error handling mechanism of CAN.
본 개시의 일부 실시예에 따르면, CAN의 오류 처리 메커니즘을 활용하여 공격 ECU를 탐지함으로써 보안 기법이 적용되지 않아 패킷 삽입 공격에 취약하다는 CAN의 단점을 보완할 수 있다.According to some embodiments of the present disclosure, by detecting an attacking ECU using an error processing mechanism of CAN, it is possible to compensate for the disadvantage of CAN that is vulnerable to packet injection attacks because no security technique is applied.
본 개시의 일부 실시예에 따르면, 최근 차량에서 제공하는 기술과 외부와의 통신이 증가함에 따라 빈번하게 발생하는 차량 내부 네트워크에 대한 공격을 탐지함으로써, CAN의 보안성을 향상시킬 수 있다.According to some embodiments of the present disclosure, it is possible to improve the security of CAN by detecting an attack on a vehicle's internal network that frequently occurs as communication with the outside and technology provided by a vehicle has recently increased.
도 1은 본 개시의 일 실시예에 따른 CAN(Controller Area Network) 시스템의 예시를 나타낸다.
도 2는 본 개시의 일 실시예에 따른 CAN의 버스 점유 방식을 설명하기 위한 예시이다.
도 3은 본 개시의 일 실시예에 따른 CAN의 오류 처리 메커니즘을 나타내는 예시이다.
도 4는 본 개시의 일 실시예에 따른 공격 ECU를 탐지하기 위한 CAN 시스템의 예시를 나타낸다.
도 5는 본 개시의 일 실시예에 따른 복수의 노드가 전송하는 데이터에 각각 5회의 연속적인 충돌을 발생시킨 예시를 나타낸다.
도 6은 본 개시의 일 실시예에 따라 실험실 환경에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다.
도 7은 본 개시의 일 실시예에 따라 실제 차량 환경 실험에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다.
도 8은 본 개시의 일 실시예에 따른 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법의 예시를 나타낸다.1 shows an example of a Controller Area Network (CAN) system according to an embodiment of the present disclosure.
2 is an example for explaining a CAN bus occupation method according to an embodiment of the present disclosure.
3 is an example illustrating an error handling mechanism of CAN according to an embodiment of the present disclosure.
4 shows an example of a CAN system for detecting an attack ECU according to an embodiment of the present disclosure.
FIG. 5 shows an example in which 5 consecutive collisions occur in data transmitted by a plurality of nodes, respectively, 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.
8 shows an example of an attack ECU detection method using CAN traffic monitoring according to an embodiment of the present disclosure.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for the implementation of the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding elements are given the same reference numerals. In addition, in the description of the following embodiments, overlapping descriptions of the same or corresponding components may be omitted. However, omission of a description of a component does not intend that such a component is not included in an embodiment.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the following embodiments in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms, only the present embodiments make the present disclosure complete, and the present disclosure fully covers the scope of the invention to those skilled in the art. It is provided only to inform you.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary according to the intention of a person skilled in the related field, a precedent, or the emergence of new technology. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, terms used in the present disclosure should be defined based on the meaning of the term and the general content of the present disclosure, not simply the name of the term.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. Expressions in the singular number in this specification include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part 'includes' a certain element in the entire specification, it means that other elements may be further included without excluding other elements unless otherwise stated.
또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만 '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.Also, the term 'module' or 'unit' used in the specification means a software or hardware component, and the 'module' or 'unit' performs certain roles. However, '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. Thus, as an example, '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. Functions provided within components and 'modules' or 'units' may be combined into a smaller number of components and 'modules' or 'units', or further components and 'modules' or 'units'. can be further separated.
본 개시의 일 실시예에 따르면 '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, '프로세서'는 주문형 반도체(ASIC), 프로그램 가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to an embodiment of the present disclosure, 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. In some circumstances, 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like. '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. 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.
도 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)은 프로그램 및/또는 명령어(들)로 구현되어 적어도 하나의 프로세서에 의해 수행될 수 있다.1 shows an example of a controller area network (CAN)
일 실시예에 따르면, CAN 버스(110)는 복수의 ECU(120 내지 170) 각각에 연결될 수 있다. 구체적으로, CAN 버스(110)는 복수의 ECU(120 내지 170) 각각에 연결되어, 복수의 ECU(120 내지 170) 사이의 통신 경로를 제공할 수 있다. 예를 들어, CAN 버스(110)는 제1 ECU(120)로부터 데이터(또는, 패킷)를 수신할 수 있다. 이에 따라, 수신된 데이터는 CAN 버스(110)를 점유할 수 있다. 그리고 나서, CAN 버스(110)는 CAN 버스(110)를 점유중인 데이터를 도착지로 전송할 수 있다.According to one embodiment, the
일 실시예에 따르면, 복수의 ECU(120 내지 170) 각각에는 적어도 하나의 식별자가 할당될 수 있다. 이 경우, 할당된 식별자는 복수의 ECU(120 내지 170) 각각이 전송하는 데이터(또는, 패킷)의 일부에 표시될 수 있다. 한편, 공격 CAN 시스템(100)은 복수의 ECU(120 내지 170) 각각에 할당된 식별자들(또는, 식별자 집합)에 대한 데이터를 획득/추론할 수 있다. 이에 따라, 공격 CAN 시스템(100)은 획득/추론된 식별자들에 대한 데이터를 이용하여 복수의 ECU(120 내지 170)에 사전 할당되지 않은 공격 식별자(즉, 공격 ECU가 이용하는 식별자)를 식별할 수 있다. 이를 위해, CAN 시스템(100)은 CAN-bus mapper를 이용할 수 있으나, 이에 한정되지 않고 공격 식별자를 식별하기 위한 모든 종래 기술이 이용될 수 있다.According to one embodiment, at least one identifier may be assigned to each of the plurality of
일 실시예에 따르면, CAN 시스템(100)은 복수의 ECU(120 내지 170) 중 공격 ECU에 의해 전송된 데이터(또는, 패킷)을 탐지할 수 있다. 이를 위해, CAN 시스템(100)은 ECU의 Clock skew 및/또는 CAN packet 주기 등의 특성을 기초로 공격 ECU를 탐지하는 기술인 IDS(Intrusion Detection System)을 이용할 수 있으나, 이에 한정되지 않고 공격 ECU에 의해 전송된 데이터를 탐지하는 종래의 모든 기술이 이용될 수 있다.According to one embodiment, the
일 실시예에 따르면, 복수의 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 데이터를 연이어 전송할 수 있다. According to one embodiment, each of the plurality of
일 실시예에 따르면, 복수의 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)를 우선 점유할 데이터를 결정할 수 있다.According to one embodiment, the plurality of
상술한 바와 같이 동시에 여러 ECU에서 CAN 버스(110)에 데이터를 전송하더라도, 우선 순위를 결정하는 시스템(100) 내부의 알고리즘에 따라 우선 순위가 높은 식별자를 갖는 데이터부터 CAN 버스(110)를 점유하게 된다. 다만, 시스템(100)에 적용되는 데이터 전송 오류를 처리하는 알고리즘에 의해, 우선 순위가 낮은 식별자를 갖는 데이터가 우선 순위가 높은 식별자를 갖는 데이터보다 먼저 CAN 버스(110)를 점유하는 우선 순위 감소 현상이 발생할 수 있다. 본 개시에서는 이러한 오류 처리 알고리즘을 이용하여 모니터링 ECU(170)를 통해 공격 ECU(120)를 추적하는 방법을 제안하며, 도 2 내지 8에서 이 방법에 대한 설명이 상세히 후술된다.As described above, even if data is transmitted to the
도 2는 본 개시의 일 실시예에 따른 CAN의 버스 점유 방식을 설명하기 위한 예시이다. CAN의 버스 점유 방식은 ECU(예: ECU(120 내지 170))가 전송하는 데이터(또는, 패킷)(200)의 중재 영역(Arbitration Field)(210)을 통해 이루어질 수 있다. 예를 들어, 데이터(또는, 패킷)(200)의 중재 영역(210)의 비트(bit)와 다른 데이터(미도시)의 중재 영역의 비트에 대하여 Bitwise Arbitration 연산을 수행함으로써, 데이터(또는, 패킷)(200)의 우선 순위(즉, 해당 데이터의 식별자의 우선 순위)가 결정될 수 있다.2 is an example for explaining a CAN bus occupation method according to an embodiment of the present disclosure. The CAN bus occupation method may be performed through an
도 3은 본 개시의 일 실시예에 따른 CAN의 오류 처리 메커니즘(300)을 나타내는 예시이다. 일 실시예에 따르면, ECU(예: ECU(120 내지 170)) 각각은 레지스터를 포함할 수 있다. 예를 들어, ECU는 해당 ECU의 데이터(또는, 패킷) 전송 실패를 카운트하기 위한 TEC(Transmission Error Counter) 레지스터 및/또는 해당 ECU의 데이터 수신 실패를 카운트하기 위한 REC(Receive Error Counter) 레지스터를 포함할 수 있다. 3 is an example illustrating an
일 실시예에 따르면, 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)로 돌아갈 수 있다.According to one embodiment, 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. In this way, based on the values of the TEC register and/or the REC register that change according to data transmission or failure of the ECU, the error state of the corresponding ECU is an error
도 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)은 프로그램 및/또는 명령어(들)로 구현되어 적어도 하나의 프로세서에 의해 수행될 수 있다.4 shows an example of a
일 실시예에 따르면, CAN 시스템(400)은 공격 데이터(또는, 공격 패킷)이 탐지되었을 때, 공격 데이터에 대하여 적어도 한번의 충돌을 발생시켜 해당 공격 데이터의 전송을 의도적으로 실패시킬 수 있다. 이에 따라, 공격 ECU(430)는 오류 처리 메커니즘(예: 오류 처리 메커니즘(300))에 따라 특정 시점에서 에러 패시브 상태로 전환될 수 있다.According to an embodiment, when attack data (or attack packets) is detected, the
일 실시예에 따르면, 모니터링 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)에 전송할 수 있다.According to one embodiment, the monitoring ECU 470 receives an identifier having the highest priority among identifier(s) assigned to each of the plurality of
일 실시예에 따르면, 모니터링 모듈(474)은 n번의 연속적인 충돌에 따라 발생한 연속적인 에러 프레임을 모니터링할 수 있다. 이 과정에서, 도 2에서 상술한 ECU의 에러 상태가 고려될 수 있다. 구체적으로, ECU의 에러 상태가 에러 액티브 상태인 때, ECU는 별도의 대기 시간(Suspend Transmission) 없이 주기적/연속적으로 데이터를 전송하고, ECU의 에러 상태가 에러 패시브 상태인 때, ECU는 연속적으로 데이터를 전송할 때마다 대기 시간을 갖도록 구성되는 점이 고려될 수 있다.According to an embodiment, the
도 5는 본 개시의 일 실시예에 따른 복수의 노드(510 내지 560)가 전송하는 데이터에 각각 5회(즉, n=5)의 연속적인 충돌을 발생시킨 예시를 나타낸다. 도 5에서 각 노드(510 내지 560)에는 시간의 경과에 따라 연속적으로 관측되는 데이터들(IDHP, IDLP 또는 Error Frame)이 표시되어 있다. 여기서, 도 5의 (a)는 에러 액티브 상태인 제1 타겟 노드(Target Node)(510)에서 모니터링 ECU(미도시)에 의한 5회의 연속적 충돌을 발생된 예시이다. 한편, 본 개시에서 사용되는 '노드(node)'는 I/O 디바이스, CAN 인터페이스, 임베디드 컴퓨터 등과 같이 네트워크를 구성하는 '모듈'로 해석될 수 있다. 따라서, 본 개시의 '노드'는 'ECU'로 대체되어 동일하게 해석될 수 있다.FIG. 5 shows an example in which each of the plurality of
일 실시예에 따르면, 에러 액티브 상태인 제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)을 수행할 수 있다.According to an embodiment, the
일 실시예에 따르면, 제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)이 동일/유사한 시점에 개시될 수 있다.According to an embodiment, the
한편, 도 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)을 수행하게 된다.On the other hand, as described above in FIG. 1, the system (eg,
상술한 과정을 거쳐 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)을 지칭할 수 있다.After the transmission of the first data (ID HP ) 5 times and the
도 5의 (b)는 에러 패시브 상태의 제2 타겟 노드(Target Node)(540)에서 모니터링 ECU(미도시)에 의한 5회의 연속적 충돌이 발생된 예시이다.5(b) is an example in which five consecutive collisions occurred by the monitoring ECU (not shown) in the
일 실시예에 따르면, 에러 패시브 상태의 제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)이 완료되는 우선 순위 감소 현상이 발생할 수 있다.According to an embodiment, the
일 실시예에 따르면, 시스템은 모니터링 모듈(예: 모니터링 모듈(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)을 지칭할 수 있다According to an embodiment, 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
도 6은 본 개시의 일 실시예에 따라 실험실 환경에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다. 도시된 바와 같이, Bus Load 50%, 75%, 100%에서 약 60%, 80%, 100%의 확률로 우선 순위 감소 현상이 발생되는 것을 확인할 수 있다. 즉, 이 실험을 통해 연속 충돌 횟수와 버스 로드(Bus Load)에 비례하여 우선 순위 감소현상의 발생 확률이 증가하는 것을 확인할 수 있다.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. As shown, it can be confirmed that 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.
도 7은 본 개시의 일 실시예에 따른 실제 차량 환경 실험에서 에러 패시브 상태의 ECU에 (n*30)회 발생시킨 경우 우선 순위 감소 현상의 발생 확률을 측정한 예시를 나타낸다. 도시된 바와 같이, Vehicle A의 Bus Load 45.4%에서 연속 충돌 횟수가 각 4, 5, 6일 때, 약 30%, 40%, 50%의 확률로 우선 순위 감소 현상이 발생하였다. 이 실험을 통해 본 개시의 방법에 따른 우선 순위 감소 현상이 실제 차량에서도 발생하는 것을 확인할 수 있다. 또한, 실험 장비를 통해 버스 로드(Bus Load)를 증가시킬 경우 도 7의 실험실 환경에서의 결과와 마찬가지로 높은 확률로 우선 순위 감소 현상을 얻을 수 있음을 예상할 수 있다.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. As shown, when the number of consecutive collisions was 4, 5, and 6 at a bus load of 45.4% of Vehicle A, a priority reduction phenomenon occurred with a probability of about 30%, 40%, and 50%. Through this experiment, it can be confirmed that the priority reduction phenomenon according to the method of the present disclosure also occurs in an actual vehicle. In addition, it can be expected that when the bus load is increased through the experimental equipment, the priority reduction phenomenon can be obtained with high probability, similar to the result in the laboratory environment of FIG. 7 .
도 8은 본 개시의 일 실시예에 따른 CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법(800)의 예시를 나타낸다. 방법(800)은 공격 ECU 탐지 시스템(예: 시스템(100), 시스템(400)을 구성하는 프로그램 및/또는 명령어(들)를 실행하는 적어도 하나의 프로세서에 의해 수행될 수 있다. 도시된 바와 같이, 방법(800)은 적어도 하나의 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계(S810)로 개시될 수 있다. 예를 들어, 프로세서는 프로세서와 연결된 복수의 ECU에 할당된 복수의 식별자와 연관된 데이터를 획득하고, 획득된 데이터를 기초로 공격 식별자를 식별할 수 있다. 그리고 나서, 프로세서는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시킬 수 있다.8 shows an example of an attack
일 실시예에 따르면, 프로세서는 공격 ECU의 에러 패시브 상태가 유지되는 동안, 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시킬 수 있다(S820). 예를 들어, 프로세서는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시키고, 충돌에 의해 공격 식별자를 포함하는 패킷의 전송이 실패할 때 마다 공격 ECU에 포함된 레지스터의 카운트 값을 변환할 수 있다. 그리고 나서, 프로세서는 변환된 카운트 값과 기준 카운트 값을 비교한 결과를 기초로 공격 ECU를 에러 패시브 상태로 전환시킬 수 있다. 이 경우, 할당된 복수의 식별자 사이의 우선 순위는 사전 결정될 수 있다.According to an embodiment, 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.
일 실시예에 따르면, 프로세서는 복수의 충돌에 의해 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 최우선 식별자보다 우선순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 임의의 ECU가 에러 패시브 상태로 전환된 공격 ECU인 것으로 결정할 수 있다. 이 경우, 우선순위가 낮은 식별자를 포함하는 패킷은 복수의 ECU 중 임의의 ECU가 아닌 다른 ECU에 의하여 CAN 버스로 전송된 패킷 및/또는 백그라운드 트래픽을 포함할 수 있다.According to one embodiment, the processor is in an error passive state when a packet including an identifier having a lower priority than the highest priority identifier exists among a plurality of error frames transmitted to the CAN bus due to a plurality of collisions. It can be determined that it is an attack ECU converted to . In this case, a packet including an identifier having a low priority may include packets and/or background traffic transmitted to the CAN bus by an ECU other than any ECU among the plurality of ECUs.
일 실시예에 따르면, 프로세서는 복수의 에러 프레임 각각의 사이에 존재하는 우선순위가 낮은 식별자를 포함하는 패킷을 탐지할 수 있다. 그리고 나서, 프로세서는 탐지한 결과를 기초로 최우선 식별자보다 우선순위가 낮은 식별자를 포함하는 패킷이 존재할 확률을 산출하고, 산출된 확률을 기초로 임의의 ECU가 공격 ECU인 것으로 결정할 수 있다.According to an embodiment, 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.
일 실시예에 따르면, 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 공격 ECU를 에러 패시브 상태로 전환시키는 단계는, According to one embodiment, 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,
일 실시예에 따르면, 에러 패시브 상태로 전환된 공격 ECU가 연속적으로 임의의 제1 패킷 및 제2 패킷을 전송하는 경우, 제1 패킷을 전송한 공격 ECU는 일정 시간동안 패킷의 전송을 중단한 후 제2 패킷을 전송하도록 구성될 수 있다. 추가적으로, 우선순위가 낮은 식별자를 포함하는 패킷은 공격 ECU가 패킷의 전송을 중단하는 일정 시간 내에 CAN 버스로 전송될 패킷으로 결정될 수 있다.According to one embodiment, when 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. Additionally, 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.
본 개시의 앞선 설명은 통상의 기술자들이 본 개시를 행하거나 이용하는 것을 가능하게 하기 위해 제공된다. 본 개시의 다양한 수정예들이 통상의 기술자들에게 쉽게 자명할 것이고, 본원에 정의된 일반적인 원리들은 본 개시의 취지 또는 범위를 벗어나지 않으면서 다양한 변형예들에 적용될 수도 있다. 따라서, 본 개시는 본원에 설명된 예들에 제한되도록 의도된 것이 아니고, 본원에 개시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위가 부여되도록 의도된다.The preceding description of the present disclosure is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications of this disclosure will be readily apparent to those skilled in the art, and the general principles defined herein may be applied in various modifications without departing from the spirit or scope of this disclosure. Thus, the present disclosure is not intended to be limited to the examples set forth herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
비록 예시적인 구현예들이 하나 이상의 독립형 컴퓨터 시스템의 맥락에서 현재 개시된 주제의 양태들을 활용하는 것을 언급할 수도 있으나, 본 주제는 그렇게 제한되지 않고, 오히려 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 현재 개시된 주제의 양상들은 복수의 프로세싱 칩들이나 디바이스들에서 또는 그들에 걸쳐 구현될 수도 있고, 스토리지는 복수의 디바이스들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 디바이스들은 PC들, 네트워크 서버들, 및 핸드헬드 디바이스들을 포함할 수도 있다.Although 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.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 변형 및 변경은 본 명세서에서 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in relation to some embodiments in this specification, it should be noted that various modifications and changes can be made without departing from the scope of the present disclosure that can be understood by those skilled in the art. something to do. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.
100: 공격 ECU 탐지 시스템
110: CAN 버스
120 내지 160: 복수의 ECU
170: 모니터링 ECU100: attack ECU detection system
110: CAN bus
120 to 160: a plurality of ECUs
170: monitoring ECU
Claims (11)
상기 프로세서와 연관된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계;
상기 공격 ECU의 에러 패시브 상태가 유지되는 동안, 상기 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키는 단계; 및
상기 복수의 충돌에 의해 상기 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 상기 임의의 ECU가 에러 패시브 상태로 전환된 상기 공격 ECU인 것으로 결정하는 단계
를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
An attack ECU detection method using CAN traffic monitoring performed by at least one processor,
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 a CAN bus by an attack ECU among a plurality of ECUs associated with the processor;
Generating a plurality of collisions with respect to packets including a highest priority identifier among at least one identifier assigned to a random ECU among the plurality of ECUs while the attack ECU maintains an error passive state; and
When 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 the plurality of collisions, the arbitrary ECU is switched to the error passive state. Steps to determine what is an attacking ECU
Including, attack ECU detection method using CAN traffic monitoring.
상기 우선 순위가 낮은 식별자를 포함하는 패킷은 상기 복수의 ECU 중 상기 임의의 ECU가 아닌 다른 ECU에 의하여 상기 CAN 버스로 전송된 패킷을 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 1,
The packet including the identifier with the lower priority includes a packet transmitted to the CAN bus by an ECU other than the arbitrary ECU among the plurality of ECUs, attack ECU detection method using CAN traffic monitoring.
상기 우선 순위가 낮은 식별자를 포함하는 패킷은 백그라운드 트래픽을 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 1,
The attack ECU detection method using CAN traffic monitoring, wherein the packet including the identifier with the lower priority includes background traffic.
상기 복수의 충돌에 의해 상기 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 상기 임의의 ECU가 상기 공격 ECU인 것으로 결정하는 단계는,
상기 복수의 에러 프레임 각각의 사이에 존재하는 상기 우선 순위가 낮은 식별자를 포함하는 패킷을 탐지하는 단계;
상기 탐지한 결과를 기초로 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재할 확률을 산출하는 단계; 및
상기 산출된 확률을 기초로, 상기 임의의 ECU가 상기 공격 ECU인 것으로 결정하는 단계
를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 1,
Determining that the arbitrary ECU is the attack ECU when a packet including an identifier having a lower priority than the first identifier exists between each of a plurality of error frames transmitted to the CAN bus by the plurality of collisions step is,
detecting a packet including the identifier with the low priority present between each of the plurality of error frames;
calculating a probability that a packet including an identifier having a lower priority than the first priority identifier exists based on the detection result; and
Based on the calculated probability, determining that the random ECU is the attack ECU.
Including, attack ECU detection method using CAN traffic monitoring.
상기 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계는,
상기 프로세서와 연결된 복수의 ECU에 할당된 복수의 식별자와 연관된 데이터를 획득하는 단계;
상기 획득된 데이터를 기초로 상기 공격 식별자를 식별하는 단계; 및
상기 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계
를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 1,
Converting the attack ECU to 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 the processor;
identifying the attack identifier based on the obtained data; and
Converting the attack ECU to an error passive state by generating at least one collision with respect to a packet including the attack identifier.
Including, attack ECU detection method using CAN traffic monitoring.
상기 할당된 복수의 식별자 사이의 우선 순위는 사전 결정된, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 5,
The priority among the plurality of assigned identifiers is predetermined, an attack ECU detection method using CAN traffic monitoring.
상기 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송된 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계는,
상기 공격 식별자를 포함하는 패킷에 대하여 적어도 한번의 충돌을 발생시키는 단계;
상기 충돌에 의해 상기 공격 식별자를 포함하는 패킷의 전송이 실패할 때 마다 상기 공격 ECU에 포함된 레지스터의 카운트 값을 변환하는 단계; 및
변환된 상기 카운트 값과 기준 카운트 값을 비교한 결과를 기초로 상기 공격 ECU를 에러 패시브 상태로 전환시키는 단계
를 포함하는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 1,
Converting the attack ECU to 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,
generating at least one collision with respect to a packet including the attack identifier;
converting a count value of a register included in the attack ECU whenever transmission of a packet including the attack identifier fails due to the collision; and
Converting the attack ECU to an error passive state based on a result of comparing the converted count value with a reference count value
Including, attack ECU detection method using CAN traffic monitoring.
에러 패시브 상태로 전환된 상기 공격 ECU가 연속적으로 임의의 제1 패킷 및 제2 패킷을 전송하는 경우, 상기 제1 패킷을 전송한 상기 공격 ECU는 일정 시간동안 패킷의 전송을 중단한 후 상기 제2 패킷을 전송하도록 구성되는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 1,
When the attack ECU, which has been switched to the error passive state, continuously transmits arbitrary first and second packets, the attack ECU that has transmitted the first packet stops transmission of packets for a certain period of time, and then transmits the second packet. An attack ECU detection method using CAN traffic monitoring configured to transmit packets.
상기 우선 순위가 낮은 식별자를 포함하는 패킷은 상기 공격 ECU가 패킷의 전송을 중단하는 상기 일정 시간 내에 상기 CAN 버스로 전송될 패킷으로 결정되는, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 방법.
According to claim 8,
The attack ECU detection method using CAN traffic monitoring, wherein the packet including the identifier with the lower priority is determined as a packet to be transmitted to the CAN bus within the predetermined time when the attack ECU stops transmitting packets.
A computer program recorded on a computer-readable recording medium to execute the attack ECU detection method using CAN traffic monitoring according to any one of claims 1 to 9.
적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는
상기 프로세서와 연결된 복수의 ECU 중 공격 ECU에 의해 CAN 버스로 전송되는 공격 식별자를 포함하는 패킷에 대하여 적어도 한번 이상의 충돌을 발생시켜 상기 공격 ECU를 에러 패시브 상태로 전환시키고,
상기 공격 ECU의 에러 패시브 상태가 유지되는 동안, 상기 복수의 ECU 중 임의의 ECU에 할당된 적어도 하나의 식별자 중 우선 순위가 가장 높은 최우선 식별자를 포함하는 패킷에 대하여 복수의 충돌을 발생시키고,
상기 복수의 충돌에 의해 상기 CAN 버스로 전송된 복수의 에러 프레임 각각의 사이에 상기 최우선 식별자보다 우선 순위가 낮은 식별자를 포함하는 패킷이 존재하는 경우, 상기 임의의 ECU가 에러 패시브 상태로 전환된 상기 공격 ECU인 것으로 결정하기 위한 명령어들을 실행시키도록 구성된, CAN 트래픽 모니터링을 이용한 공격 ECU 탐지 장치.As an attack ECU detection device using CAN traffic monitoring,
includes at least one processor;
the at least one processor
Converting the attack ECU to an error passive state by generating at least one collision with respect to a packet including an attack identifier transmitted to a CAN bus by an attack ECU among a plurality of ECUs connected to the processor;
While the error passive state of the attacking ECU is maintained, a plurality of collisions are generated for a packet including a highest priority identifier among at least one identifier assigned to any ECU among the plurality of ECUs,
When 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 the plurality of collisions, the arbitrary ECU is switched to the error passive state. An attack ECU detection device using CAN traffic monitoring, configured to execute commands to determine that it is an attack ECU.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2022/012797 WO2023101148A1 (en) | 2021-11-30 | 2022-08-26 | Attack ecu detection method and device using can traffic monitoring |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210169123 | 2021-11-30 | ||
KR20210169123 | 2021-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230081562A true KR20230081562A (en) | 2023-06-07 |
Family
ID=86761370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220032961A KR20230081562A (en) | 2021-11-30 | 2022-03-16 | Method and apparatus for detecting attacking ecu using can traffic monitoring |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230081562A (en) |
-
2022
- 2022-03-16 KR KR1020220032961A patent/KR20230081562A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10902109B2 (en) | Misuse detection method, misuse detection electronic control unit, and misuse detection system | |
JP5919205B2 (en) | Network device and data transmission / reception system | |
JP6891810B2 (en) | Communication devices, communication methods, programs, and communication systems | |
US20190173912A1 (en) | Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system | |
US20190052654A1 (en) | Systems And Methods For Neutralizing Masquerading Attacks In Vehicle Control Systems | |
US7602779B2 (en) | Microprocessor, network system and communication method | |
JP2017112590A (en) | Communication device, communication method and communication program | |
JP6525825B2 (en) | Communication device | |
JP5811140B2 (en) | Communications system | |
CN111147437B (en) | Attributing bus disconnect attacks based on erroneous frames | |
JP2006191338A (en) | Gateway apparatus for diagnosing fault of device in bus | |
JP2010521858A (en) | Node of distributed communication system, node coupled to distributed communication system, and monitoring apparatus | |
KR101972457B1 (en) | Method and System for detecting hacking attack based on the CAN protocol | |
CN111226417A (en) | Vehicle-mounted communication device, vehicle-mounted communication system, and vehicle-mounted communication method | |
JP6828632B2 (en) | Detection device, detection method and detection program | |
JP5578207B2 (en) | Communication load judgment device | |
US9596131B2 (en) | Method for transiting operation mode of routing processor | |
KR20230081562A (en) | Method and apparatus for detecting attacking ecu using can traffic monitoring | |
US20200177412A1 (en) | Monitoring device, monitoring system, and computer readable storage medium | |
WO2023101148A1 (en) | Attack ecu detection method and device using can traffic monitoring | |
EP3706026B1 (en) | Fraudulent transmission data detection device, fraudulent transmission data detection method, and storage medium | |
JP2011023983A (en) | Network node | |
US20240031404A1 (en) | Counterattack method against hacked node in can bus physical layer, physical layer security method with can bus node id auto-setting, and recording medium and system for performing the method | |
JP6528239B2 (en) | Communication device and program | |
CN102195746A (en) | Loop detection method and network device applying same |