KR20220054611A - 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법 및 장치 - Google Patents

제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220054611A
KR20220054611A KR1020227008080A KR20227008080A KR20220054611A KR 20220054611 A KR20220054611 A KR 20220054611A KR 1020227008080 A KR1020227008080 A KR 1020227008080A KR 20227008080 A KR20227008080 A KR 20227008080A KR 20220054611 A KR20220054611 A KR 20220054611A
Authority
KR
South Korea
Prior art keywords
vehicle
network bus
bus
electronic control
message
Prior art date
Application number
KR1020227008080A
Other languages
English (en)
Inventor
아담 슬론
아이브 로버트 보그트
Original Assignee
보요모티브 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 보요모티브 엘엘씨 filed Critical 보요모티브 엘엘씨
Publication of KR20220054611A publication Critical patent/KR20220054611A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)

Abstract

CAN 버스 또는 차량 네트워크 상의 침입을 검출하고 미인가된 침입들을 무력화시키기 위한 방법 및 시스템. 시스템은 CAN 버스 메시지들의 비트 타이밍 특성들을 모니터링하고, 신뢰되는 비트 타이밍 특성들을 확립하고, 미인가된 CAN 버스 메시지들을 식별한다. 디바이스는 적절한 시간에 CAN 버스 상에서 데이터를 주입함으로써 CAN 버스 상의 미인가된 메시지들을 무력화시켜서, 미인가된 메시지들이 수신되는 것을 방지하고, 침입들 중 하나 이상의 검출 시에 경고들을 제시한다. 이는 독립형 또는 하드-와이어드(hard-wired) 시스템으로서 사용될 수 있고, 차량 상의 ODB-II 포트, 중계 또는 퓨즈 포트에 액세스가능할 수 있고, 침입의 수신 시에 차량 상의 다른 전자 제어 유닛들을 안전 동작 모드로 전환시키고, 동일한 전자 제어 유닛 노드에 의해 전송된 모든 CAN 메시지 식별자들을 무력화시키거나 모든 CAN 메시지 식별자들에 대해 침입 검출 플래그를 참으로 설정할 수 있다.

Description

제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법 및 장치
본 출원은, 2019년 8월 12일에 출원되고 발명의 명칭이 "A Method and apparatus for Controller Area Network bus intrusion detection and neutralization"인 미국 가특허 출원 일련번호 제62/885,452호의 이익을 주장하며, 이는 참조로 본 명세서에 통합된다.
제어기 영역 네트워크(Controller Area Network, CAN) 버스는 자동차, 오프 하이웨이 차량들, 항공 우주 산업, 산업 자동화 및 상업용 건물 애플리케이션들에서 일반적으로 사용되는 데이터 버스이다. CAN 버스는 자동차 산업의 표준이며 대부분의 현대의 차량들에 사용된다. 현대의 차량들은 엔진, 변속기, 스티어링, 브레이크, 본체 등과 같은 모든 차량 시스템들을 제어하는 많은 전자 제어 유닛(Electronic Control Units, ECU) 노드들을 갖는다. 이러한 ECU 노드들은 메시지들의 형태로 차량의 CAN 버스 상에서 통신한다. 차량의 CAN 버스를 통해 전송된 메시지들은 가속, 제동, 스티어링, 차량 액세스 및 안전 시스템들을 포함하는 차량 동작의 모든 양상들에서 사용된다.
CAN 버스는, ECU 노드들이 호스트 컴퓨터 없이 메시지들의 형태로 서로 통신할 수 있게 한다. 그러나, CAN 버스는 CAN 버스 상에서 전송 및 수신되고 있는 메시지들이 신뢰되는 소스로부터 온 것인지를 검증하기 위한 고유한 방법을 갖지 않는다. 이는 CAN 버스를 사용하고 있는 애플리케이션들에 대한 보안 취약성을 생성한다.
자동차 및 다른 애플리케이션들에서 CAN 버스의 보안은 점점 더 중요해지고 초점이 되는 영역이다. 최근 몇 년 동안 다수의 차량 보안 위반들이 보고되었다. 현대의 차량들은 차량의 CAN 버스 상에서 전송 및 수신되는 메시지들이 신뢰되는 소스로부터 온 것인지를 거의 또는 전혀 검증하지 않는다.
현대의 차량의 보안은 차량의 CAN 버스 상에서 미인가된 메시지들을 전송함으로써 위반될 수 있다. 미인가된 메시지들은 차량의 CAN 버스에 추가된 미인가된 ECU 노드들에 의해 또는 손상된 기존의 ECU 노드들에 의해 전송될 수 있다. 차량의 CAN 버스 상의 미인가된 메시지들은 차량 동작의 모든 양상들에 영향을 미칠 수 있으며, 잠재적으로 큰 결과들을 초래할 수 있다.
CAN 버스의 보안을 유지하기 위해, 미인가된 메시지들 및 미인가된 ECU 노드들의 형태로 CAN 버스 침입을 검출할 필요가 있다. 추가적으로, 이러한 미인가된 메시지들이 애플리케이션에서 원치 않는 거동을 야기하는 것을 방지하기 위해 미인가된 메시지들의 형태로 임의의 미인가된 CAN 버스 침입을 무력화할 필요가 있다.
본 발명의 주요 이점은 차량 내의 CAN 버스를 통한 미인가된 통신들을 검출하기 위한 시스템을 제공하는 것이다.
본 발명의 다른 이점은 CAN 버스 상에서 부적절한 또는 미인가된 메시지들의 무력화를 위한 시스템을 제공하는 것이다.
본 발명의 또 다른 이점은 분석을 위해 CAN 버스를 통한 비트 타이밍 특성들을 사용하여 데이터 통신들을 검출 및 추적하기 위한 소프트웨어 시스템을 제공하는 것이다.
본 발명은 CAN 버스 상의 침입을 검출하고 미인가된 침입들을 무력화시키기 위한 디바이스이다. 디바이스는 CAN 버스 메시지들의 비트 타이밍 특성들을 모니터링하고, 신뢰되는 비트 타이밍 특성들을 확립하고, 미인가된 CAN 버스 메시지들을 식별한다. 디바이스는 적절한 시간에 CAN 버스 상에서 데이터를 주입함으로써 CAN 버스 상의 미인가된 메시지들을 무력화시켜서, 미인가된 메시지들이 수신되는 것을 방지한다.
본 발명의 바람직한 실시예에 따르면, 차량 네트워크 버스 및 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 또는 차량 네트워크 버스를 위한 방법이 제시되며, 방법은, 차량에 미리 결정된 전자 제어 유닛을 제공하는 단계 - 미리 결정된 전자 제어 유닛은, 프로세서; 메모리; 및 CAN(Controller Area Network) 또는 다른 네트워크 표준에 기초한 차량 네트워크 버스에 대한 인터페이스를 포함함 -, CAN 또는 네트워크 버스 상의 메시지들을 모니터링하도록 전자 제어 유닛을 동작시키는 단계, 메시지에 대한 신뢰되는 비트 타이밍 특성들을 확립하기 위해 각각의 착신 메시지의 고유한 비트 타이밍 특성들을 모니터링하고 신뢰되는 플래그를 거짓의 디폴트로부터 참으로 변경하는 단계, 가장 최근의 메시지의 비트 타이밍 특성들을 미리 결정된 임계 한계에 대해 메시지 식별자에 대한 신뢰되는 비트 타이밍 특성들과 비교하고, 임계치 내에 있지 않다면 검출 카운터를 1만큼 증가시키고, 임계 한계 내에 있다면 검출 카운터를 1만큼 감소시키는 단계, 검출 카운터가 임계 한계에 도달하면, 침입 검출 플래그를 참으로 설정하는 단계, 및 침입들 중 하나 이상의 검출 시에 경고를 생성하도록 미리 결정된 전자 제어 유닛을 동작시키는 단계를 포함한다.
본 발명의 바람직한 실시예에 따르면, 차량 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템이 제시되고, 시스템은, 미리 결정된 전자 제어 유닛 - 미리 결정된 전자 제어 유닛은, 프로세서; 메모리; 및 네트워크 표준에 기초한 차량 네트워크 버스에 대한 인터페이스를 포함하고, 전자 제어 유닛은, 메시지에 대한 신뢰되는 비트 타이밍 특성들을 확립하기 위해 각각의 착신 메시지의 고유한 비트 타이밍 특성들에 대한 버스 상의 메시지들을 모니터링하고, 메모리 내의 신뢰되는 플래그를 거짓의 디폴트로부터 참으로 변경함 -, 가장 최근의 메시지가 미리 결정된 임계치를 충족하지 않으면 1만큼 증가하고, 메시지 식별자가 미리 결정된 임계치 내에 있으면 1만큼 감소하는 검출 카운터를 갖고, 검출 카운터가 임계 한계에 도달하면, 검출 카운터는 검출 플래그를 참으로 설정하고, 전자 제어 유닛은 침입 검출 플래그의 상태에 기초하여 하나 이상의 침입들의 검출 시에 경고를 생성한다.
본 발명의 다른 목적들 및 이점들은, 예시 및 예로서, 본 발명의 실시예가 개시되는 첨부 도면들과 관련하여 취해진 다음의 설명들로부터 명백해질 것이다.
도면들은 본 명세서의 일부를 구성하며, 다양한 형태들로 구현될 수 있는 본 발명에 대한 예시적인 실시예들을 포함한다. 일부 경우들에서, 본 발명의 다양한 양상들은 본 발명의 이해를 용이하게 하기 위해 과장되거나 확대되어 도시될 수 있다는 것이 이해되어야 한다.
도 1a 및 도 1b는 데이터 통신들을 위한 비트 필드들의 그룹 및 데이터 시퀀스의 하나의 비트에 대한 샘플링 포인트의 개략도를 도시한다.
도 2는 본 발명의 바람직한 실시예에 따른 방법의 흐름도를 도시한다.
도 3은 본 발명의 바람직한 실시예에 따른 방법의 흐름도를 도시한다.
도 4는 본 발명의 바람직한 실시예에 따른 방법의 다른 흐름도를 도시한다.
바람직한 실시예의 상세한 설명이 본 명세서에서 제공된다. 그러나, 본 발명은 다양한 형태들로 구현될 수 있다는 것이 이해되어야 한다. 따라서, 본 명세서에 개시된 특정 세부사항들은 제한적인 것으로 해석되는 것이 아니라, 오히려 나중에 출원되는 청구항들에 대한 기초로서 그리고 실질적으로 임의의 적절하게 상세한 시스템, 구조 또는 방식으로 본 발명을 이용하도록 당업자에게 교시하기 위한 대표적인 기초로서 해석되어야 한다.
침입 검출 및 무력화 디바이스는 컴퓨터 프로세서 및 온 보드 메모리를 갖는다. 디바이스는 입력 비교 블록과 같은 하드웨어를 사용하여 개별 비트들의 상대적 타이밍과 같은 정밀한 시간 양들을 측정하는 능력을 갖는다. 디바이스는 CAN 제어기 및 CAN 트랜시버를 갖고 있어서, 메시지들을 수신 및 송신할 수 있게 한다. 디바이스가 기존 CAN 버스에 연결될 때, 디바이스는 그 CAN 버스 상에서 모든 CAN 버스 메시지들을 수신하는 능력을 갖고, 그 CAN 버스 상에서 CAN 버스 메시지들을 송신하는 능력을 갖는다. 디바이스는 선택적으로, 침입을 검출하고 다수의 CAN 버스들 상에서 미인가된 침입들을 무력화시킬 수 있다. 디바이스는 독립형 ECU일 수 있거나, 또는 기존의 ECU의 일부 또는 ECU들의 조합일 수 있다. 디바이스는 제조 시에 CAN 버스 상에 설치될 수 있거나, 또는 제조 이후에 설치되는 애프터 마켓 컴포넌트일 수 있다. 시스템 및 방법은 다양한 네트워크 및 버스 구성들 중 임의의 것에 대해 이용될 수 있다는 것이 이해되어야 한다.
디바이스가 차량 CAN 버스 상에 설치되면, 디바이스는 제조 시에 차량에 포함된 OEM(original equipment manufacturer) ECU(electronic control unit)일 수 있거나, 차량이 제조된 후에 차량 상에 설치된 애프터 마켓 ECU일 수 있다. 디바이스는 차량 상의 기존의 ECU의 하드웨어 상에서 실행될 수 있다. 기존의 ECU는 본 발명을 실행하도록 재프로그래밍될 수 있다. 디바이스는 OBD-II 포트, 중계 소켓 또는 퓨즈 포트와 같은 적절한 표준 차량 연결 출구에 연결된 애프터 마켓 제품일 수 있다. 디바이스는, 요구될 때 이들 컴포넌트들에 스플라이싱하는 것을 포함하여, 차량 내의 기존의 와이어들 및 하니스(harness)들에 연결함으로써 맞춤 설치될 수 있다.
CAN 버스는, ECU 노드들이 메시지들의 형태로 서로 통신할 수 있게 한다. 도 1a는 모두 1 비트(302)를 형성하는 동기화 세그먼트 "싱크"(304), 전파 세그먼트, "전파-세그(Prop-seg)"(306), 위상 세그먼트 1, "위상 1P"(307) 및 위상 세그먼트 2, "위상 2"(309)를 갖는 전형적인 CAN 비트 시간 세그먼트를 도시한다. 싱크(304)는 제1세그먼트이고, 버스 상의 노드들을 동기화시키는 데 사용된다. 전파-세그(306)는 노드들 사이의 물리적 지연들을 보상하기 위해 존재한다. 2개의 위상 세그먼트 위상 1P(307) 및 위상 2(309)는 버스 상의 에지 위상 에러들을 보상하기 위해 사용된다.
도 1b에 도시된 바와 같이, 각각의 CAN 메시지는 프레임의 시작(310), 식별자(312), 원격 송신 요청 "RTR"(315), 제어 필드(316), 데이터 필드(318), 순환 리던던시 체크 "CRC" 디리미터(322), 확인응답 "ACK" 슬롯(324), ACK 디리미터(326) 및 프레임의 끝(328)을 포함하는 상이한 부분들을 갖는다. 중재 필드(314)는 2개의 착신 메시지들이 도착할 때 우선순위의 표시를 메시지의 일부로서 갖는 식별자(312)에 기초하여 우선순위를 결정한다.
CAN 메시지의 각각의 부분은 다양한 수의 비트들을 포함한다. CAN 버스 상의 각각의 ECU는 전형적으로 적어도 하나의 메시지를 송신하고, 전형적으로 하나 초과의 메시지를 송신한다. CAN 버스 상의 각각의 ECU는 전형적으로, 그 ECU에 의해서만 송신되는 고유의 식별자들을 갖는 메시지(들)를 송신한다.
하나의 ECU 노드에 의해 송신된 비트 타이밍 특성들은, ECU 노드들 사이의 물리적 변동 및 구성 차이들로 인해 다른 ECU 노드에 의해 송신된 비트 타이밍 특성들로부터 변할 것이다. 하나의 ECU 노드에 의해 송신된 메시지(들) 내의 비트 타이밍 특성들은 다른 ECU 노드에 의해 송신된 메시지들 내의 비트 타이밍 특성들로부터 변할 것이다. ECU 노드들 사이에서 변할 고유한 비트 타이밍 특성들은 다음을 포함한다:
1 시간 퀀텀의 길이(108)
1 비트의 길이(100)
동기화 점프 폭(SJW)의 길이(110).
이러한 고유한 비트-타이밍 특성들은 침입 검출 및 무력화 디바이스에 의해 모니터링된다.
CAN 버스 메시지를 생성하기 위해, CAN 버스 상의 각각의 ECU 노드는 CAN 제어기 및 CAN 트랜시버를 포함한다. CAN 제어기는 비트 타이밍 레지스터(BTR)들을 사용하여 그 ECU 노드에 대한 비트 타이밍의 구성을 가능하게 한다. 전형적인 BTR들은 다음의 구성을 허용한다:
클록 프리스케일러.
샘플링 포인트 전의 시간 퀀텀(quanta).
샘플링 포인트 후의 시간 퀀텀(quanta).
SJW의 길이.
각각의 비트에서 취할 샘플들의 수.
클록 프리스케일러(BTR)는 각각의 ECU 노드에 대한 비트 타이밍에서 사용되는 유한 퀀텀 시간, 즉 1 시간 퀀텀의 길이를 구성하는 데 사용된다. CAN 제어기는 클록 기준으로서 사용되는 발진기 신호 입력을 요구한다. 발진기 신호는 비트 레이트보다 높은 주파수, 예를 들어, 16 MHz에 있다. 1 시간 퀀텀은 발진기 신호의 1 주기에 클록 프리스케일러 BTR을 곱한 것이다. 특정 ECU 노드에 대한 1 시간 퀀텀의 길이는 그 ECU 노드에 대한 클록 프리스케일러 BTR의 구성 차이들에 기초하여 변할 것이다.
각각의 ECU 노드에 대해 CAN 제어기에 입력되는 발진기 신호에는 물리적 변동이 존재한다. 발진기 신호 입력은 특정된 기준 주파수, 예를 들어, 20 MHz에서 변할 것이다. 발진기 신호 입력은 발진기에 대해 특정된 주파수 허용 오차, 예를 들어, 100 ppm(parts per million)에서 변할 것이다. 발진기 신호 입력은 발진기로의 전압 입력 및 발진기의 온도에 기초하여 변할 것이다. 특정 ECU 노드에 대한 1 시간 퀀텀의 길이는 그 ECU 노드에 입력되는 발진기 신호의 물리적 변동에 기초하여 변할 것이다.
샘플링 포인트 BTR 이전의 시간 퀀텀 및 샘플링 포인트 BTR 이후의 시간 퀀텀은 각각의 ECU 노드에 대해 1 비트의 길이를 구성하는 데 사용된다. 샘플링 포인트 이전의 유한한 수의 시간 퀀텀 및 샘플링 포인트 이후의 유한한 수의 시간 퀀텀이 존재한다. 샘플링 포인트 이후의 시간 퀀텀의 수에 추가되는 샘플링 포인트 이전의 시간 퀀텀의 수는 특정 ECU 노드에 대한 1 비트의 길이를 구성한다. 샘플링 포인트(308)에서의 샘플링 전 및 후의 1 비트(302) 및 시간 퀀텀을 도시하는 도 1a 및 도 1b를 참조한다. 특정 ECU 노드에 대한 1 비트의 길이는, 그 ECU 노드에 대한 샘플링 포인트 전의 시간 퀀텀 및 샘플링 포인트 BTR들 후의 시간 퀀텀의 구성 차이들 뿐만 아니라 그 ECU 노드에 대한 1 시간 퀀텀의 길이에 기초하여 변할 것이다.
각각의 ECU 노드가 동기화할 수 있는 CAN 버스상 에는 중앙 클록이 없다. 서로 동기화된 상태를 유지하기 위해, 각각의 ECU 노드는 CAN 버스 상에서 송신 및 수신하고 있는 다른 ECU 노드들과 적절하게 동기화한다. 각각의 ECU 노드에 대한 CAN 제어기는, CAN 버스 상의 다른 ECU 노드들과 동기화된 상태를 유지하기 위해, 필요한 경우, 정수개의 시간 퀀텀만큼 개별 비트의 길이를 단축시키거나 연장시킬 것이다. 동기화 상태를 유지하기 위해 단축 또는 연장될 수 있는 시간 퀀텀의 최대 수는 SJW의 길이이다. SJW의 길이는 SJW BTR의 길이를 사용하여 구성된다. 특정 ECU 노드에 대한 SJW의 길이는 그 ECU 노드에 대한 SJW BTR의 길이에서의 구성 차이들에 기초하여 변할 것이다.
디바이스는 메시지의 특정 부분들 동안 개별 비트들을 측정함으로써 개별 CAN 메시지에서 1 비트의 길이를 모니터링한다. 디바이스는 CAN 메시지의 제어 필드(316), 데이터 필드(318) 및 CRC 필드(320) 부분들 동안 1 비트의 길이를 측정한다. CAN 메시지의 이러한 부분들 동안, 중재에서 승리한 ECU 노드 만이 CAN 버스 상에서 송신하고 있다. 디바이스는 개별 CAN 메시지 당 1비트의 길이의 하나의 측정을 취할 수 있다. 디바이스는 개별 CAN 메시지마다 다수의 측정들을 취하고 이들을 평균화하여 그 CAN 메시지에 대한 1 비트의 길이를 결정할 수 있다.
디바이스는 동기화를 위해 개별 CAN 메시지를 모니터링하고 동기화가 발생할 때 개별 비트들을 측정함으로써 개별 CAN 메시지에서 1시간 퀀텀의 길이를 모니터링한다. CAN 메시지의 중재 필드 동안, 중재에서 승리하고 CAN 메시지를 송신할 ECU 노드는 초기 송신기가 아닐 수 있다. 이 경우, CAN 메시지를 송신할 ECU 노드는 시간 정수개의 퀀텀만큼 개별 비트의 길이를 단축시키거나 연장시킴으로써 초기 송신기에 동기화할 필요가 있을 수 있다. 이러한 동기화가 발생할 때, 디바이스는 이것이 발생하는 개별 비트를 측정하고, 그 비트를 메시지의 나중 부분들의 비트들과 비교함으로써 단축 또는 연장의 양을 결정한다.
CAN 메시지의 확인응답 필드 동안, 확인응답을 송신하는 ECU 노드는 CAN 메시지를 송신한 ECU 노드와 상이하다. CAN 메시지를 송신한 ECU 노드는 정수개의 시간 퀀텀만큼 개별 비트의 길이를 단축시키거나 연장시킴으로써 확인응답을 송신한 ECU 노드에 동기화할 필요가 있을 수 있다. 이러한 동기화가 발생할 때, 디바이스는 개별 비트를 측정하고, 그 비트를 메시지의 이전 부분들의 비트들과 비교함으로써 단축 또는 연장의 양을 결정한다.
동기화가 발생할 때마다, 단축 또는 연장의 양이 디바이스에 의해 결정된다. 단축 또는 연장의 최소량은 그 CAN 메시지에 대한 1 시간 퀀텀의 길이인 것으로 결정된다. 동기화가 발생할 때, 단축 또는 연장의 양이 1 시간 퀀텀의 이전 길이보다 작으면, 이는 그 CAN 메시지에 대한 1 시간 퀀텀의 길이인 것으로 결정된다. 단축 또는 연장의 최대량은 그 CAN 메시지에 대한 동기화 점프 폭(SJW)의 길이인 것으로 결정된다. 동기화가 발생할 때, 단축 또는 연장의 양이 1 시간 퀀텀의 이전 길이보다 크면, 이는 그 CAN 메시지에 대한 동기화 점프 폭(SJW)의 길이인 것으로 결정된다.
CAN 버스 상의 동기화들의 주파수는 CAN 버스의 물리적 특성들 및 ECU 노드들의 수에 기초하여 변할 것이다. 선택적으로, 디바이스는 CAN 버스 상으로 비트들을 송신하여 동기화가 그렇지 않으면 발생하는 것보다 더 빈번하게 발생하도록 할 수 있다. 디바이스는 타이밍 허용 오차의 에지에 있는 확인응답 필드들 및 중재 필드들 동안 비트들을 송신할 수 있다. 이는 개별 CAN 메시지를 송신하는 ECU 노드가 중단 없이 개별 CAN 메시지를 계속 송신할 수 있게 할 것이지만, ECU 노드가 이 조정된 타이밍에 동기화하기 위해 개별 CAN 메시지를 송신하도록 요구할 것이다. 이는 디바이스가 1 시간 퀀텀의 길이 및 개별 CAN 메시지의 동기화 점프 폭(SJW)의 길이를 더 신속하게 결정할 수 있게 한다.
도 2는 1 비트의 길이를 결정하는 이러한 초기 프로세스를 도시하는 흐름도이다. 단계(100)에서, 단계(102)에서 CAN 메시지를 수신함으로써 1 비트의 길이의 결정이 도시된다. 단계(104)에서 동기화가 발생했다면, 이는 예로 진행하고, 단계(108)에서 1 시간 퀀텀의 길이를 결정하고, 단계(110)에서 동기화 점프 폭을 동시에 결정한다. 단계(104)에서 동기화가 발생하지 않으면, 이는 아니오로 진행하고, 선택적으로, 단계(106)에서 동기화를 강제하고, 단계(108)로 진행하여 1 시간 퀀텀의 길이를 결정하고 단계(110)에서 동기화 점프 폭을 결정할 수 있다.
디바이스는 각각의 착신 CAN 버스 메시지의 고유한 비트 타이밍 특성들을 반복적으로 모니터링하여 각각의 메시지에 대한 신뢰되는 비트 타이밍 특성들을 확립한다. 이어서, 디바이스는, 주어진 CAN 버스 메시지가 신뢰되면 메시지 식별자 신뢰 플래그 및 신뢰되는 비트 타이밍 특성들을 사용한다.
디바이스가 이전에 수신한 메시지 식별자를 갖는 개별 CAN 버스 메시지를 수신할 때, 디바이스는 그 메시지에 대한 비트 타이밍 특성들을 결정한다. 이 메시지 식별자가 수신된 전체 횟수는 1만큼 증가된다. 이어서, 디바이스는 이 가장 최근 메시지의 비트 타이밍 특성들을 이 메시지 식별자와 함께 수신된 이전의 이력 메시지들의 비트 타이밍 특성들의 평균과 비교한다. 가장 최근의 메시지의 비트 타이밍 특성들이 이 메시지 식별자와 함께 수신된 이전의 이력 메시지들의 평균의 임계 한계 내에 있는 경우, 비트 타이밍 특성들은 일치인 것으로 결정된다. 비트 타이밍 특성들이 일치인 것으로 결정되면, 이 메시지 식별자가 이 비트 타이밍 특성들과 함께 수신된 수신된 횟수는 1만큼 증가된다.
도 3은 이 프로세스의 흐름도를 도시한다. 각각의 착신 CAN 버스 메시지가 단계(120)에서 수신될 때, 디바이스는 자신의 메모리 메시지 식별자에 저장하고; 메시지 비트 타이밍 특성들은 단계(122)에서 결정되고, 단계(126)에서 특성들이 한계들 내에 있는 경우, 이는 단계(132)에서 그 증분 일치된 특성들; 이 메시지 식별자가 단계(124)에서 수신된 전체 횟수; 및 이 메시지 식별자가 단계(126)에서 이러한 비트 타이밍 특성들과 함께 수신된 횟수를 저장한다. 수신된 전체 메시지들이 미리 결정된 임계치를 초과하고(단계(130)에서 예) 일치된 것 대 전체의 비가 단계(134)에서 미리 결정된 임계치를 초과하면, 메시지 식별자 신뢰 플래그는 단계(136)에서 참으로 설정되고 신뢰되는 비트 타이밍 특성은 단계(138)에서 확립된다. 수신된 전체 메시지가 미리 결정된 임계치에 도달하지 않았다면(단계(130)에서 아니오), 더 많은 메시지들이 수신된다.
이 메시지 식별자가 수신된 전체 횟수가 미리 결정된 수, 예를 들어, 1000에 도달할 때, 이는 이러한 비트 타이밍 특성들과 함께 이 메시지 식별자가 수신된 횟수와 비교된다. 이 시점에서, 이 메시지 식별자가 수신된 전체 횟수가, 이 메시지 식별자가 이 비트 타이밍 특성들과 함께 수신된 횟수와 관련된 임계 비, 예를 들어, 950/1000 내에 있다면, 메시지 식별자 신뢰 플래그는 참으로 설정된다. 그렇지 않으면, 메시지 식별자 신뢰 플래그는 거짓으로 설정된다. 메시지 식별자 신뢰 플래그는 초기에 거짓으로 설정된다. 착신 CAN 버스 메시지들은 상이한 레이트들로 수신되므로, 일부 메시지들에 대한 메시지 식별자 신뢰 플래그는 참으로 설정되기 위해 더 오래 걸릴 것이다. 메시지 식별자 신뢰 플래그가 참으로 설정될 때, 신뢰되는 비트 타이밍 특성들이 또한 확립된다. 메시지 식별자에 대한 신뢰되는 비트 타이밍 특성들은 이 메시지 식별자와 함께 수신된 이전의 이력 메시지들의 비트 타이밍 특성들의 평균으로 설정된다.
주어진 메시지 식별자에 대해 메시지 식별자 신뢰 플래그가 참으로 설정된 후, 디바이스는 신뢰되는 비트 타이밍 특성들로부터의 편차들에 대해 모니터링한다. 디바이스가 이전에 수신한 메시지 식별자를 갖는 개별 CAN 버스 메시지를 수신할 때, 디바이스는 그 메시지에 대한 비트 타이밍 특성들을 계속해서 결정한다. 이어서, 디바이스는 이 가장 최근 메시지의 비트 타이밍 특성들을 이 메시지 식별자에 대한 신뢰되는 비트 타이밍 특성들과 비교한다. 가장 최근 메시지의 비트 타이밍 특성들이 신뢰되는 비트 타이밍 특성들의 임계 한계 내에 있지 않다면, 침입 검출 카운터는 1만큼 증가된다. 가장 최근 메시지의 비트 타이밍 특성들이 신뢰되는 비트 타이밍 특성들의 임계 한계 내에 있으면, 침입 검출 카운터는 1만큼 감소된다. 침입 검출 카운터가 임계 한계, 예를 들어, 5에 도달하면, 침입 검출 플래그는 이 메시지 식별자에 대해 참으로 설정된다. 침입 검출 플래그는 초기에 거짓으로 설정된다.. 침입 검출 카운터가 최대 값, 예를 들어, 20에 도달할 때, 침입 검출 카운터는 최대 값을 초과하여 증분되지 않는다.
침입 검출 플래그가 참으로 설정될 때, 디바이스는 선택적으로 CAN 메시지를 무력화시킬 수 있다. 디바이스가 메시지를 무력화시킬 때, 그것은 CAN 버스 상의 어떠한 ECU에 의해서도 수신되지 않으며, 이는 메시지가 CAN 버스 상의 ECU들의 거동에 악영향을 미치는 것을 방지한다. 디바이스는 비트 스터핑 에러(Bit Stuffing Error)를 야기함으로써 CAN 메시지를 무력화시킬 수 있다. 디바이스는 CAN 메시지가 송신되고 있는 동안 CAN 버스 상에서 지배적 상태를 어서트함으로써 비트 스터핑 에러를 야기할 수 있다. CAN 버스 상의 각각의 ECU는 CAN 버스 상의 지배적 상태를 어서트하는 능력을 갖는다. CAN 버스 상에서 지배적인 상태를 어서트하는 것은 CAN 버스 상의 다른 ECU들에 의해 열성(recessive) 상태가 관찰되는 것을 방지한다. CAN 버스 상의 다른 ECU들이 행에서 6개의 지배적 비트들을 수신하면, 비트 스터핑 에러가 다른 ECU들에 의해 등록될 것이다. 이는, 다른 ECU들로 하여금 이 메시지를 수락하지 않게 할 것이고, 공격적인 침입 메시지는 무력화될 것이다.
디바이스는 프레임 체크 에러를 야기함으로써 CAN 메시지를 무력화시킬 수 있다. 디바이스는, CAN 버스가 열성 상태일 것으로 예상되는 CAN 버스 메시지의 CRC 디리미터(322), ACK 디리미터(326), 및/또는 프레임의 끝(328) 부분들 동안 도 1b에 도시된 바와 같이 CAN 버스 상에서 지배적 상태를 어서트함으로써 프레임 체크 에러를 야기할 수 있다. CAN 버스 메시지의 CRC 디리미터(322), ACK 디리미터(326), 또는 프레임의 끝(328) 부분들 동안 CAN 버스가 열성 상태일 것으로 예상될 때 CAN 버스 상의 다른 ECU들이 지배적 상태를 수신하면, 다른 ECU들에 의해 프레임 체크 에러가 등록될 것이다. 이는, 다른 ECU들로 하여금 이 메시지를 수락하지 않게 할 것이고, 공격적인 침입 메시지는 무력화될 것이다.
디바이스는 CRC 에러를 야기함으로써 CAN 메시지를 무력화시킬 수 있다. 디바이스는 CAN 버스 메시지의 CRC 필드 부분의 일부 동안 CAN 버스 상에서 지배적 상태를 어서트함으로써 CRC 에러를 야기할 수 있다. 이는 CRC 필드가 그렇지 않은 경우와는 상이한 값이 되게 할 것이다. 차량 상의 다른 ECU들은 이 CRC 필드를 수신하고, CAN 메시지에 대한 CRC를 계산하려고 시도하고, CRC 에러가 존재한다고 결정할 것이다. 이는, 다른 ECU들로 하여금 이 메시지를 수락하지 않게 할 것이고, 공격적인 침입 메시지는 무력화될 것이다.
침입 검출 플래그가 주어진 CAN 메시지 식별자에 대해 참으로 설정될 때, 침입 검출 플래그는 종종 어느 정도의 시간 동안 임계 한계를 초과하여 유지될 수 있으며, 이는 이러한 식별자를 갖는 새로운 CAN 메시지들이 수신되는 즉시 무력화되게 할 것이다. 침입 검출 플래그가 주어진 메시지 식별자에 대해 참으로 설정되고 침입 검출 카운터가 임계 한계를 초과하면, 다음에 이 메시지 식별자를 갖는 CAN 메시지가 수신될 때, 디바이스는 이 가장 최근의 메시지의 비트 타이밍 특성들을 신뢰되는 비트 타이밍 특성들과 계속 비교할 것이다. 침입 검출 카운터는 여전히 적절하게 1만큼 증가 또는 감소될 것이지만, 침입 검출 카운터가 임계 한계를 초과하기 때문에 여전히 CAN 메시지가 무효화될 것이다. 미인가된 ECU 노드가 추가되거나 기존의 ECU 노드가 손상되었다면, 송신된 CAN 메시지들은 신뢰되는 비트 타이밍 특성들의 임계 한계 내에 계속해서 있지 않을 것이며, CAN 메시지들은 계속해서 무력화될 것이다.
침입 검출 플래그가 참으로 설정될 때, 디바이스는 선택적으로 침입의 외부 통지를 제공할 수 있다. 디바이스는 플래싱 LED 또는 사이렌과 같은 외부 표시자들을 제어함으로써 차량 사용자에게 침입을 통신할 수 있다. 디바이스는 CAN 버스를 통해 차량 상의 다른 ECU들에 침입을 통신할 수 있다. 디바이스는 기구 패널을 제어하고 있는 차량 ECU에 침입을 통신할 수 있으며, 이는 기구 패널 상에서 사용자에게 디스플레이되는 메시지를 초래할 수 있다. 디바이스는 OEM 텔레매틱스 서버와 통신하는 텔레매틱스 시스템에 연결된 차량 ECU에 침입을 통신할 수 있으며, 이는 침입 검출이 OEM 텔레매틱스 서버에 전송될 수 있게 할 것이다. 차량 상의 다른 ECU들은 침입의 수신 시에 선택적으로 안전 동작 모드에 진입할 수 있다.
주어진 메시지 식별자에 대해 메시지 식별자 신뢰 플래그가 참으로 설정된 후에, 그 메시지 식별자에 대한 신뢰되는 비트 타이밍 특성들은 다른 메시지 식별자들의 신뢰되는 비트 타이밍 특성들과 비교될 수 있다. 이는 디바이스가 다수의 메시지 식별자들이 동일한 ECU 노드에 의해 전송되고 있는지를 결정할 수 있게 한다. 하나의 ECU 노드에 의해 송신된 비트 타이밍 특성들은 다른 ECU 노드에 의해 송신된 비트 타이밍 특성들로부터 변할 것이며, CAN 버스 상의 각각의 ECU 노드는 전형적으로 하나 초과의 메시지를 송신한다. 주어진 메시지 식별자에 대한 신뢰되는 비트 특성들이 하나 이상의 다른 메시지 식별자들의 신뢰되는 비트 타이밍 특성들의 임계 범위 내에 있다면, 이러한 메시지 식별자들은 동일한 ECU 노드에 의해 전송되는 것으로 결정된다. 하나의 ECU 노드에 의해 전송된 메시지 식별자들의 그룹화는 이 방법을 사용하여 결정될 수 있다.
주어진 메시지 식별자에 대해 침입 검출 플래그가 참으로 설정되고, 그 메시지 식별자가 하나의 ECU 노드에 의해 전송된 메시지 식별자들의 그룹인 경우, 디바이스는 선택적으로, 그 ECU에 의해 전송된 다른 메시지 식별자들에 대해 침입 검출 플래그를 참으로 설정할 수 있다. 이 경우, 침입 검출 플래그가 후속하여 초기 메시지 식별자에 대해 거짓으로 설정될 때, 침입 검출 플래그는 또한 그 ECU에 의해 전송된 다른 모든 메시지 식별자들에 대해 거짓으로 설정될 것이다. 이는, 디바이스가 주어진 ECU에 의해 전송되는 모든 CAN 메시지들을 선택적으로 무력화시킬 수 있게 한다. 이는, 디바이스가 주어진 ECU에 의해 전송되는 모든 CAN 메시지들에 대한 침입의 외부 통지를 선택적으로 제공할 수 있게 한다. 이는, 차량의 CAN 버스에 미인가된 ECU 노드들이 추가되는 ECU 노드 레벨에서 CAN 버스가 종종 손상되거나 기존의 ECU 노드들이 손상될 때 유용하다.
도 4는 본 발명의 바람직한 실시예의 프로세스를 추가로 도시하는 흐름도이다. 프로세스는 단계(199)에서 참으로 설정된 메시지 식별자 신뢰 플래그로 시작하고, 이어서 단계(200)에서 CAN 메시지의 수신이 이어지고, 그리고 단계(202)에서 비트 타이밍 특성의 결정이 이어진다. 단계(204)는 특성이 한계들 내에 있는지 여부를 질의한다. 예이면, 단계(214)로 진행하여 침입 검출 카운터를 감소시킨다. 아니오이면, 침입 검출 카운터는 단계(206)에서 증가된다. 질의 단계(208)는 침입 검출이 미리 결정된 한계를 초과했는지 여부를 묻는다. 아니오이면, 프로세스는 단계(206)로 돌아가서 침입 검출 카운터를 증가시킨다. 예이면, 침입 검출 플래그는 단계(210)에서 참으로 설정된다. 선택적으로, 단계(212)에서, 시스템은 CAN 메시지를 무력화시킬 수 있다.
본 발명이 바람직한 실시예와 관련하여 설명되었지만, 본 발명의 범위를 제시된 특정 형태로 제한하려는 것이 아니라, 반대로, 그러한 대안들, 수정들, 및 등가물들을 커버하도록 의도되는데, 이는 이들이 후술하는 청구항들에 의해 정의되는 바와 같은 본 발명의 사상 및 범위 내에 포함될 수 있기 때문이다.

Claims (19)

  1. 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법으로서,
    상기 차량에 미리 결정된 전자 제어 유닛을 제공하는 단계 - 상기 미리 결정된 전자 제어 유닛은, 프로세서; 메모리; 및 제어기 영역 네트워크(Controller Area Network, CAN) 표준에 기초한 상기 차량 네트워크 버스에 대한 인터페이스를 포함함 -;
    상기 CAN 버스 상의 메시지들을 모니터링하도록 상기 전자 제어 유닛을 동작시키는 단계;
    상기 메시지에 대한 신뢰되는 비트 타이밍 특성들을 확립하기 위해 각각의 착신 메시지의 고유한 비트 타이밍 특성들을 모니터링하고 신뢰되는 플래그를 거짓(FALSE)의 디폴트로부터 참(TRUE)으로 변경하는 단계;
    가장 최근의 메시지의 비트 타이밍 특성들을 미리 결정된 임계 한계에 대해 메시지 식별자에 대한 신뢰되는 비트 타이밍 특성들과 비교하고, 임계치 내에 있지 않다면 검출 카운터를 1만큼 증가시키고, 임계 한계 내에 있다면 상기 검출 카운터를 1만큼 감소시키는 단계;
    상기 검출 카운터가 임계 한계에 도달하면, 상기 침입 검출 플래그를 참으로 설정하는 단계; 및
    침입들 중 하나 이상의 검출 시에 경고를 생성하도록 상기 미리 결정된 전자 제어 유닛을 동작시키는 단계를 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  2. 제1항에 있어서,
    CAN 제어기 및 CAN 수신기를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  3. 제1항에 있어서,
    침입이 검출된 후에 메시지를 무력화시키는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  4. 제1항에 있어서,
    상기 CAN 버스를 통해 상기 차량 상의 제2 전자 제어 유닛에 침입을 통신하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  5. 제1항에 있어서,
    OBD-II 포트를 사용하여 상기 차량과 통신하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  6. 제1항에 있어서,
    상기 침입의 수신 시에 상기 차량 상의 다른 전자 제어 유닛들을 안전 동작 모드로 설정하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  7. 제1항에 있어서,
    동기화를 강제하기 위해 상기 CAN 버스 상에 비트들을 송신하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  8. 제1항에 있어서,
    상기 메시지에 대한 동기화 점프 폭(Synchronization Jump Width, SJW)의 길이를 결정하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법.
  9. 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 버스 침입 검출 및 무력화를 위한 방법으로서,
    상기 차량에 미리 결정된 전자 제어 유닛을 제공하는 단계 - 상기 미리 결정된 전자 제어 유닛은, 프로세서; 메모리; 및 상기 차량 네트워크 버스에 대한 인터페이스를 포함함 -;
    상기 차량 네트워크 버스 상의 메시지들을 모니터링하도록 상기 전자 제어 유닛을 동작시키는 단계;
    상기 메시지에 대한 신뢰되는 비트 타이밍 특성들을 확립하기 위해 각각의 착신 메시지의 고유한 비트 타이밍 특성들을 모니터링하고 신뢰되는 플래그를 거짓의 디폴트로부터 참으로 변경하는 단계;
    가장 최근의 메시지의 비트 타이밍 특성들을 미리 결정된 임계 한계에 대해 메시지 식별자에 대한 신뢰되는 비트 타이밍 특성들과 비교하고, 임계치 내에 있지 않다면 검출 카운터를 1만큼 증가시키고, 임계 한계 내에 있다면 상기 검출 카운터를 1만큼 감소시키는 단계;
    상기 검출 카운터가 임계 한계에 도달하면, 상기 침입 검출 플래그를 참으로 설정하는 단계; 및
    침입들 중 하나 이상의 침입의 검출 시에 경고를 생성하는 단계를 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 버스 침입 검출 및 무력화를 위한 방법.
  10. 제9항에 있어서,
    OBD-II 포트, 중계 소켓 또는 퓨즈 포트를 사용하여 상기 차량과 통신하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 버스 침입 검출 및 무력화를 위한 방법.
  11. 제9항에 있어서,
    상기 메시지에 대한 동기화 점프 폭(Synchronization Jump Width, SJW)의 길이를 결정하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 버스 침입 검출 및 무력화를 위한 방법.
  12. 제9항에 있어서,
    동기화를 강제하기 위해 CAN 버스 상에 비트들을 송신하는 단계를 더 포함하는, 차량 네트워크 버스 및 상기 차량 네트워크 버스에 결합된 전자 제어 유닛들을 포함하는 차량에 대한 버스 침입 검출 및 무력화를 위한 방법.
  13. 차량 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템으로서,
    미리 결정된 전자 제어 유닛 - 상기 미리 결정된 전자 제어 유닛은, 프로세서; 메모리; 및 네트워크 표준에 기초한 상기 차량 네트워크 버스에 대한 인터페이스를 포함함 -; 및
    가장 최근의 메시지가 미리 결정된 임계치를 충족하지 않으면 1만큼 증가시키고, 메시지 식별자가 미리 결정된 임계치 내에 있으면 1만큼 감소시키는 검출 카운터를 포함하고,
    상기 전자 제어 유닛은, 메시지에 대한 신뢰되는 비트 타이밍 특성들을 확립하기 위해 각각의 착신 메시지의 고유한 비트 타이밍 특성들에 대한 상기 버스 상의 메시지들을 모니터링하고, 상기 메모리 내의 신뢰되는 플래그를 거짓의 디폴트로부터 참으로 변경하고,
    상기 검출 카운터가 임계 한계에 도달하면, 상기 검출 카운터는 상기 검출 플래그를 참으로 설정하고,
    상기 전자 제어 유닛은 상기 침입 검출 플래그의 상태에 기초하여 하나 이상의 침입들의 검출 시에 경고를 생성하는 것인, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
  14. 제13항에 있어서,
    동일한 전자 제어 유닛 노드에 의해 전송된 메시지 식별자들을 결정하는 것을 더 포함하는, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
  15. 제13항에 있어서,
    입력 비교 클록을 더 포함하는, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
  16. 제14항에 있어서,
    상기 동일한 전자 제어 유닛 노드에 의해 전송된 모든 네트워크 메시지 식별자들에 대해 상기 침입 검출 플래그를 참으로 설정하는 것을 더 포함하는, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
  17. 제13항에 있어서,
    OBD-II 포트에 대한 연결부를 더 포함하는, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
  18. 제14항에 있어서,
    상기 동일한 전자 제어 유닛 노드에 의해 전송된 모든 네트워크 메시지 식별자들을 무력화시키는 것을 더 포함하는, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
  19. 제14항에 있어서,
    상기 차량에서 중계 소켓 또는 퓨즈 포트에 대한 연결부를 더 포함하는, 네트워크 버스 상에서 차량에 대한 침입 검출 및 무력화를 위한 시스템.
KR1020227008080A 2019-08-12 2020-08-06 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법 및 장치 KR20220054611A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962885452P 2019-08-12 2019-08-12
US62/885,452 2019-08-12
PCT/US2020/045091 WO2021030123A1 (en) 2019-08-12 2020-08-06 A method and apparatus for controller area network bus intrusion detection and neutralization

Publications (1)

Publication Number Publication Date
KR20220054611A true KR20220054611A (ko) 2022-05-03

Family

ID=74571194

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227008080A KR20220054611A (ko) 2019-08-12 2020-08-06 제어기 영역 네트워크 버스 침입 검출 및 무력화를 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US11641367B2 (ko)
EP (1) EP4014052A4 (ko)
JP (1) JP2022545639A (ko)
KR (1) KR20220054611A (ko)
WO (1) WO2021030123A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12019490B2 (en) * 2020-12-28 2024-06-25 Robert Bosch Gmbh System and method to detect malicious can controller behavior from adversarial clock control
US11996954B2 (en) * 2021-04-13 2024-05-28 Robert Bosch Gmbh Method and device for evaluating a signal
DE102021112328A1 (de) * 2021-05-11 2022-11-17 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erkennen einer Manipulation einer Nachricht eines Bussystems eines Fahrzeugs durch ein Steuergerät eines Fahrzeugs, computerlesbares Medium, System, und Fahrzeug
EP4304135A1 (en) * 2022-07-08 2024-01-10 Nxp B.V. Controller area network (can) transceiver, can node, can system and method for the can transceiver

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2194476B1 (en) 2005-03-22 2014-12-03 Hewlett-Packard Development Company, L.P. Method and apparatus for creating a record of a software-verification attestation
US9787694B2 (en) 2006-05-16 2017-10-10 Lear Corporation Method for vehicle electronic system intrusion detection
US8213321B2 (en) * 2007-02-01 2012-07-03 Deere & Company Controller area network condition monitoring and bus health on in-vehicle communications networks
US20090076911A1 (en) * 2007-06-20 2009-03-19 Dang Minh Vo Mobile coupons utilizing peer to peer ranging
US8925083B2 (en) * 2011-10-25 2014-12-30 GM Global Technology Operations LLC Cyber security in an automotive network
US9288048B2 (en) 2013-09-24 2016-03-15 The Regents Of The University Of Michigan Real-time frame authentication using ID anonymization in automotive networks
US9401923B2 (en) 2013-10-23 2016-07-26 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems
US10369942B2 (en) 2014-01-06 2019-08-06 Argus Cyber Security Ltd. Hosted watchman
US8955130B1 (en) 2014-04-10 2015-02-10 Zephyr Technology Co., Limited Method for protecting vehicle data transmission system from intrusions
US9843597B2 (en) * 2015-01-05 2017-12-12 International Business Machines Corporation Controller area network bus monitor
US9380070B1 (en) 2015-01-20 2016-06-28 Cisco Technology, Inc. Intrusion detection mechanism
EP3326312A4 (en) * 2015-07-22 2019-01-09 Arilou Information Security Technologies Ltd. DATA SECURITY FOR VEHICLE COMMUNICATION BUS
US9954892B2 (en) 2015-09-28 2018-04-24 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US10992705B2 (en) * 2016-01-20 2021-04-27 The Regents Of The University Of Michigan Exploiting safe mode of in-vehicle networks to make them unsafe
US10599840B2 (en) * 2016-07-21 2020-03-24 Ramot At Tel Aviv University Ltd. Anti-spoofing defense system for a can bus
EP3772840B1 (en) * 2019-08-06 2023-03-15 Nxp B.V. A security module for a can node

Also Published As

Publication number Publication date
EP4014052A1 (en) 2022-06-22
WO2021030123A1 (en) 2021-02-18
EP4014052A4 (en) 2023-08-23
US20220303287A1 (en) 2022-09-22
JP2022545639A (ja) 2022-10-28
US11641367B2 (en) 2023-05-02

Similar Documents

Publication Publication Date Title
US11641367B2 (en) Method and apparatus for controller area network bus intrusion detection and neutralization
EP2797263B1 (en) Communication system and communication method
CN107005447B (zh) 通信控制装置及通信系统
US8391318B2 (en) Communication system including a data bus and multiple user nodes connected thereto, and method for operating such a communication system
US10713106B2 (en) Communication device, communication method and non-transitory storage medium
WO2016080421A1 (ja) 通信システム及び通信装置
US10666630B2 (en) Communication apparatus, communication method, and communication program product that authenticate communication data
US11838303B2 (en) Log generation method, log generation device, and recording medium
WO2016094703A1 (en) Apparatuses and methods for security in broadcast serial buses
CN110865626A (zh) 用于检测消息注入异常的方法和系统
US11394726B2 (en) Method and apparatus for transmitting a message sequence over a data bus and method and apparatus for detecting an attack on a message sequence thus transmitted
US20180287922A1 (en) Communication system, bus load monitoring device, and bus load monitoring method
JP2018523390A (ja) デバイス認証のためのシステム
US11218501B2 (en) Detector, detection method, and detection program
KR20140004954A (ko) 캔 통신의 에러 진단 방법
US20190232969A1 (en) Data communication method for a vehicle
US10541830B2 (en) Serial communication system
JP6931094B2 (ja) 通信の異常をチェックすることによって、車両の通信システムにおける途絶を検出するための方法
Kneib et al. On the fingerprinting of electronic control units using physical characteristics in controller area networks
CN108632242B (zh) 通信装置及接收装置
JP6379925B2 (ja) 通信波形生成装置
US10627853B2 (en) Clock tuning
KR20230028948A (ko) 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치
KR20230088416A (ko) 시간 동기화 프로토콜에 의해 제어 장치 온도를 결정하기 위한 방법
JP2014027509A (ja) 通信制御装置