KR20220041137A - 방송 네트워크 보안을 위한 다중 상태 메시징 이상증후 검출 - Google Patents

방송 네트워크 보안을 위한 다중 상태 메시징 이상증후 검출 Download PDF

Info

Publication number
KR20220041137A
KR20220041137A KR1020227005990A KR20227005990A KR20220041137A KR 20220041137 A KR20220041137 A KR 20220041137A KR 1020227005990 A KR1020227005990 A KR 1020227005990A KR 20227005990 A KR20227005990 A KR 20227005990A KR 20220041137 A KR20220041137 A KR 20220041137A
Authority
KR
South Korea
Prior art keywords
messages
state
message header
message
network
Prior art date
Application number
KR1020227005990A
Other languages
English (en)
Other versions
KR102680714B1 (ko
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 KR20220041137A publication Critical patent/KR20220041137A/ko
Application granted granted Critical
Publication of KR102680714B1 publication Critical patent/KR102680714B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/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
    • 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/40006Architecture of a communication node
    • 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/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/61Time-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

CAN 버스 또는 다른 방속 네트워크와 연결 가능한 전자 디바이스가 개시된다. 전자 디바이스는 서로 다른 메시지 헤더에 대한 메시지의 이력 누적에 대해 예상 기간 및 기간 변동성 메트릭을 계산하고, 상기 기간 변동성 메트릭에 기초하여 주기적 메시지 헤더를 식별하기 위해 프로그래밍되고, 주기적 메시지 헤더에 대한 예상 기간으로부터 주기적 메시지 헤더를 갖는, 가장 최근 세트의 2 개 이상의 메시지의 기간의 편차로서 시간적 이상증후를 검출하며, 상기 검출된 시간적 이상증후를 나타내는 경고를 발생시키기 위해 더욱 프로그래밍된다. 전자 디바이스는 CAN 버스를 포함하는 차량(또는 다른 플랫폼)에 대한 상태 머신을 유지하고 상태-인식 이상증후 검출을 수행하기 위해 더욱 프로그래밍될 수 있다.

Description

방송 네트워크 보안을 위한 다중 상태 메시징 이상증후 검출
관련 출원에 대한 상호 참조
본 출원은, 2019년 7월 25일자로 출원되고 발명이 명칭이 "MULTI-STATE MESSENGING ANOMALY DETECTION FOR SECURING A BROADCAST NETWORK"인 미국 가출원 제62/878,432호의 우선권 주장 출원이고, 상기 가출원은 전체적으로 참조로 여기에 병합된다.
다음은 방송 네트워크 보안 기술, CAN(Controller Area Network) 버스 보안 교체 기술, 전자 제어 유닛(ECU) 보안 기술, 지상 차량 전자 보안 기술, 수상 차량 전자 보안 기술, 우주선 전자 보안 기술, ECU 트러스트/보증 기술, 산업 제어 시스템 네트워크 등에 관한 것이다.
현대의 차량은 ABS(anti-brake system) 모듈, 엔진 제어 모듈 및 스티어링, 스로틀, 크루즈 컨트롤, 실내 온도 조절 시스템(climate control systems) 및 다양한 다른 차량 기능을 제어하기 위한 모듈과 같은 모듈화된 전자 구성요소를 사용한다. 이들 모듈은 CAN 버스를 통해 상호 통신한다. 차량 엔터테인먼트 시스템, 내비게이션 시스템 등과 같은 보조 시스템은 또한 때때로 CAN 버스에 연결된 ECU를 포함한다. 위의 예는 지상 차량이지만, 그러나 수상 차량, 우주선, 예를 들어, 위성, 및 산업 제어 시스템 모두는 그러한 모듈화를 사용하고 CAN 버스 아키텍처를 자주 사용한다. CAN 버스는 방송 네트워크의 한 타입으로, 즉 CAN 버스 상에서 전송된 모든 메시지가 CAN 버스 상의 모든 ECU에 의해 수신되는 네트워크이다. 보다 일반적으로, 방송 네트워크는 네트워크 상의 트래픽이 네트워크 상의 모든 전자 디바이스에 의해 수신되는 네트워크이다. 소정의 실시예에서, 방송 네트워크는 수신 디바이스가 메시지의 소스를 확인할 수 있는 인증 또는 전송자가 메시지를 해석할 수 있는 수신기를 제어할 수 있는 기밀성을 포함하지 않는다. CAN 버스 트래픽은 본질적으로 메시지 인증 또는 기밀성을 포함하지 않으며, 그러한 능력을 추가하는 것은 네트워크 데이터 소비, 신뢰성 및 효율성과 관련하여 종종 비실용적이다.
응용 계층에서 CAN 버스를 통한 통신은 중재 식별자(arbitration identifier, ARB ID) 및 최대 8개의 데이터 바이트로 구성된다. ARB ID는 메시지 내에 포함된 데이터의 의미를 나타낸다. 예를 들어, 휠 속도는 4개의 휠 각각에 대한 회전 속도를 나타내는 2 바이트 데이터와 함께 ARB ID 0x354에 포함될 수 있다. 휠 속도를 알아야 하는 차량 상의 모든 ECU는 ARB ID 0x354를 휠 속도와 연관시키도록 프로그래밍된다. 더욱이, ARB ID는 충돌, 즉 두 ECU가 동시에 CAN 버스 상에서 메시지 전송을 시도하는 상황을 해결하는 편리한 방법을 제공한다. 그러한 상황에서, 메시지의 ARB ID는 메시지의 우선 순위를 정의하고, 더 높은 우선 순위의 메시지가 전송되며, 더 낮은 우선 순위의 메시지를 전송 시도하려는 ECU는 미리 정의된 시간 지연 이후에 자동으로 재전송한다. CAN 버스 네트워크의 방송 특성은 유리하게 새로운 전자 구성요소의 애드 혹 추가를 가능하게 한다. 이는 서로 다른 특징을 가진 다양한 모델의 차량을 판매하는 자동차 제조업체에 이상적일 뿐만 아니라 (예를 들어) 애프터-마켓 사운드 시스템을 공급하는 애프터-마켓 제조업체에도 이상적이다.
그러나, CAN 버스의 방송 특성으로 인해 보안 문제도 발생한다. 임의의 ECU(또는, 보다 일반적으로, CAN 버스 상의 임의의 전자 디바이스)는 CAN 버스와 연결될 수 있고(또는 이미 CAN 버스와 연결된 ECU는 손상될 수 있음), 그 후 CAN 버스 상에서 메시지를 전송할 수 있으며, 이들 메시지는 CAN 버스 네트워크 상의 모든 ECU 또는 다른 전자 디바이스에 의해 수신된다. 메시지는 안전한 방식으로 보낸 사람을 식별하기 위한 인증을 포함하지 않는다. 따라서, 합법적인 전송에 사용되는 것과 동일한 ARB ID 헤더 및 페이로드 포맷을 사용하여 합법적인 전송을 모방하도록 프로그래밍된 네트워크에 디바이스(또는 프로그래밍되도록 손상된 기존 디바이스)를 추가하는 데 장벽이 없고, 이로 인해, CAN 버스를 통해 무단 및 잠재적으로 악의적인 활동을 수행한다. 그러한 악의적인 활동은, 무단 데이터 수집으로부터 안전하지 않은 스로틀 또는 제동 조치를 유도하는 것과 같은 잠재적으로 생명을 위협하는 조치에 이르기까지 다양한다.
2017년 10월 17일자로 발행되고 발명의 명칭이 "Anomaly Detection for Vehicular Networks for Intrusion and Malfunction Detection"인 Harris 등의 미국 특허 제9,792,435호는 전체적으로 참조로 여기에 병합된다. 2018년 9월 25일자로 발행되고 발명의 명칭이 "Temporal Anomaly Detection on Automotive Networks"인 Sonalker 등의 미국 특허 제10,083,071호는 전체적으로 참조로 여기에 병합된다. 이들 특허는 CAN 버스 상에서 이상증후가 있는 메시지을 검출하여 CAN 버스 상에서 잠재적으로 악의적인 활동에 대한 경고를 제공하는 일부 접근 방식을 설명한다.
이에 따라서, CAN 아키텍처의 보안 및 응답성에 대한 소정의 개선 사항이 여기에 제공된다.
여기에 개시된 일부 예시적인 실시예에 따르면, 네트워크와 연결 가능한 전자 디바이스가 개시된다. 네트워크 상의 트래픽은 네트워크 상의 모든 전자 디바이스에 의해 수신되며, 그리고 네트워크는 메시지 인증을 제공하지 않는다. 전송된 메시지는 페이로드 및 상기 페이로드를 식별하는 메시지 헤더를 포함한다. 전자 디바이스는 서로 다른 메시지 헤더에 대한 메시지의 이력 누적(historical accumulations)에 대해 예상 기간 및 기간 변동성 메트릭을 계산하고, 상기 기간 변동성 메트릭에 기초하여 주기적 메시지 헤더를 식별하기 위해 프로그래밍되고, 주기적 메시지 헤더에 대한 예상 기간으로부터 주기적 메시지 헤더를 갖는, 가장 최근 세트의 2 개 이상의 메시지의 기간의 편차로서 시간적 이상증후(temporal anomaly)를 검출하며, 상기 검출된 시간적 이상증후를 나타내는 경고를 발생시키기 위해 더욱 프로그래밍된다.
여기에 개시된 일부 예시적인 실시예에 따르면, 네트워크와 연결 가능한 전자 디바이스가 개시되고, 네트워크 상의 트래픽은 네트워크 상의 모든 전자 디바이스에 의해 수신되며, 그리고 네트워크는 메시지 인증을 제공하지 않는다. 전송된 메시지는 페이로드 및 상기 페이로드를 식별하는 메시지 헤더를 포함한다. 전자 디바이스는 전자 프로세서, 및 상기 전자 프로세서가 시간적 이상증후 검출 방법을 수행하기 위한 판독 및 실행 가능한 시간적 이상증후 검출 명령어를 저장하는 비-일시적 저장 매체를 포함한다. 상기 시간적 이상증후 검출 명령어는: 상기 전자 프로세서가 서로 다른 메시지 헤더에 대한 메시지의 이력 누적에 대해 예상 기간 및 기간 변동성 메트릭을 계산하고, 상기 기간 변동성 메트릭에 기초하여 주기적 메시지 헤더를 식별하기 위한, 판독 및 실행 가능한 명령어; 상기 전자 프로세서가 상기 주기적 메시지 헤더에 대한 예상 기간으로부터 주기적 메시지 헤더를 갖는, 가장 최근 세트의 2 개 이상의 메시지의 기간의 편차로서 시간적 이상증후를 검출하기 위한, 판독 및 실행 가능한 명령어; 및 상기 전자 프로세서가 상기 검출된 시간적 이상증후를 나타내는 경고를 발생시키기 위한, 판독 및 실행 가능한 명령어;를 포함한다.
여기에 개시된 일부 예시적인 실시예에 따르면, 네트워크와 연결 가능한 전자 디바이스가 개시되고, 네트워크 상의 트래픽은 네트워크 상의 모든 전자 디바이스에 의해 수신되며, 그리고 네트워크는 메시지 인증을 제공하지 않는다. 전자 디바이스는: 상기 네트워크 상의 메시지 및/또는 플랫폼을 모니터링하는 하나 이상의 센서로부터 수신된 센서 데이터에 기초하여 차량에 대한 상태 머신을 유지하고; 이상 증후를 검출하는 것에 응답하여, 경고를 발생시키는 것을 포함하는 상태 머신의 현재 상태에 대한 적어도 하나의 파라미터 값을 사용하여 상기 네트워크 상의 메시지에 관해 이상증후 검출을 수행하며; 그리고 현재 상태로부터 새로운 상태로의 상태 머신의 전이에 응답하여, 새로운 상태에 대해 적어도 하나의 파라미터 값을 업데이트하기 위해 프로그래밍된다.
도면에 도시된 임의의 양적 치수는 비제한적인 예시적인 예로서 이해되어야 한다. 달리 표시되지 않는 한, 도면은 축척에 맞지 않는다; 도면의 임의의 관점이 축척으로 표시되는 경우, 예시된 축척은 비제한적인 예시적인 예로서 이해되어야 한다.
도 1은 여기에 개시된 바와 같이, CAN 버스를 가진 차량, 및 시간적 이상증후 검출의 실시예를 구현하는 CAN 버스 상의 하나의 ECU의 기능도의 도식적 표현을 나타낸다.
도 2 및 3은 도 1의 시간적 이상 검출의 2개의 예시적인 실시예의 도식적 표현을 나타낸다.
도 4는 도 1의 상태 머신의 일부의 예시적인 일 실시예의 도식적 표현을 나타낸다.
도 5는 훈련 CAN 버스 데이터로부터 도 1의 상태 머신을 자동으로 학습하기 위한 적합한 방법의 도식적 표현을 나타낸다.
도 6은 도 2 또는 도 3의 시간적 이상증후 검출에 대한 상태 인식을 제공하기 위해 상태 머신을 활용하는 예시적인 접근법의 도시적 표현을 나타낸다.
도 7 및 8은 도 6의 상태 전이 검출 블록의 2 개의 예시적인 실시예의 도시적 표현을 나타낸다.
사전에 말한 바와 같이, CAN 버스 상의 메시지의 ARB ID는 메시지 내에 포함된 데이터의 의미를 나타내고, 예를 들어, 휠 속도는 4개 휠 각각의 회전 속도를 나타내는 2 바이트 데이터와 함께, ARB ID 0x354 상에 포함될 수 있다. 휠 속도를 알아야 하는 차량의 모든 제어 모듈은 ARB ID 0x354를 휠 속도와 연관시키도록 프로그래밍된다. 통상적으로, ABS(antilock brake system) 모듈과 같은 하나의 모듈은 이들 메시지 전송을 단독으로 담당한다.
CAN 버스는 실시간 시스템에서 일반적으로 사용되며, 메시지는 주기적 및 비주기적 두 가지 유형으로 나눌 수 있다. 주기적 메시지는 다른 모듈이 실시간 제어 작업에서 사용하는 정보를 공유하기 위해 실시간 작업 스케줄러를 통해 전송되는 주어진 ARB ID의 메시지이다. 한 예는 엔진 제어 모듈에 의한 토크 변경을 요청하는 안정성 제어 모듈로부터 발생하는 토크 요청이다. 주기적인 메시지는 거의 고정된 시간 간격으로 전송된다. 시간 간격은, CAN 자체가 결정적이라고 보장할 수 없기 때문에 완전히 결정적이지 않은데, 예를 들어, 충돌 상황에서는 우선 순위가 낮은 메시지가 지연된다. 토크 수정이 없다는 요청 없이 엔진이 작동 중일 때, 연속 메시지의 페이로드(payload)는 동일하다; 페이로드는 예를 들어 차량 안정성을 유지하기 위해 토크 수정이 필요할 때 변경된다. 제2 유형의 메시지는 비주기적이다. 이들 메시지는 통상적으로 버튼 누르기 또는 도어 잠금 해제와 같은 사용자 작동에 대한 반응으로 전송된다.
주기적 메시지 스트림에서 메시지 타이밍의 이상증후를 검출하는 시간적 이상증후 검출(temporal anomaly detection)의 실시예가 여기에 개시된다. 개시된 시간적 이상증후 검출은 유리하게는 훈련 데이터 세트에 대한 훈련을 필요로 하지 않으며 평균 메시지 전송 빈도의 변화에 적응한다. 추가적으로, 시간적 이상증후 검출 기능이 메시지 데이터에 대한 액세스가 필요하지 않기 때문에, 이 기능은 CAN 버스 메시지가 응용 계층에서 암호화될 때 작동한다.
호스트 플랫폼(예를 들어, 지상 차량, 수상 차량, 우주선, 산업 자동화 및 프로세스 제어 시스템 등)에 대한 상태 머신이 유지되는 상태-인식 이상증후 검출의 실시예가 여기에 개시된다. 이들 실시예는 주어진 ARB ID의 메시지 패턴이 플랫폼의 상태에 의존할 수 있다는 인식을 여기에서 활용한다. 예를 들어, ABS 모듈은 정상적인 차량 동작 중에 주기적으로 휠 속도를 방송하는 메시지를 전송할 수 있다. 그러나, 크루즈 컨트롤이 플랫폼에서 작동하는 경우(따라서 플랫폼 상태가 변경되는 경우), ABS 모듈이 전송하는 휠 속도 메시지의 빈도가 증가하여 이 정보를 동작 중인 크루즈 제어 모듈에 더 높은 시간 분해능(temporal resolution)으로 제공할 수 있다. 또 다른 예로서, ABS 시스템은 비상 제동 이벤트 동안 ABS 시스템이 동작할 때 ABS-변조 브레이크 펄스 속도를 제공하는 메시지를 전송할 수 있지만 그렇지 않은 경우 이들 메시지를 전송하지 않을 수 있다. 상태 머신에 의해 플랫폼의 상태를 인식하여, 메시징 이상증후 검출은 플랫폼의 현재 상태에 대해 조정될 수 있다. 이 상태 인식은 이상증후를 식별하는 데 있어 개선된 정확도를 제공할 수 있다. 게다가, 상태 머신 자체는 이상증후 검출에 사용될 수 있고, 예를 들어, 상태 머신이 상태 머신의 허용된 상태 전이(state transition)가 아닌 상태 전이를 검출하는 경우, 이 위반은 플래그로 지정될 수 있다(flagged).
개시된 시간적 이상증후 검출 및 개시된 상태-인식 이상증후 검출이 유용하게 결합될 수 있음을 인식할 것이다. 예를 들어, 상태 인식이 없는 경우 플랫폼 상태가 변경될 때(예를 들어, 크루즈 컨트롤이 작동될 때) 특정 ARB ID의 메시지 빈도의 적절한 변경이 이상증후로서 부정확하게 플래그로 지정될 수 있다. 여기에 개시된 결합 실시예에서, 상태 인식은 그러한 오류가 발생하지 않는 것을 보장한다. 추가적으로, 여기에 개시된 바와 같이 적응적 시간적 이상증후 검출에서, 그 ARB ID에 대한 시간적 이상증후 검출을 적응적으로 조정하는데 사용되는 주어진 ARB ID에 대한 메시지의 이력 누적은 플랫폼이 현재(첫 번째) 상태에서 새로운 상태로 변경될 때 메모리에 저장될 수 있다; 그 후, 플랫폼이 첫 번째 상태로 돌아가면, 첫 번째 상태에 대해 저장된 이력 누적 메시지가 검색되어 사용된다(그러한 저장/검색이 없는 경우, 플랫폼이 첫 번째 상태로 돌아갈 때, ARB ID의 메시지의 충분한 이력 누적이 축적되는 동안 약간의 데드 타임이 있을 것이며, 이 데드 타임 동안 그 ARB ID와 관련된 임의의 이상증후는 검출되지 않을 것임).
개시된 시간적 이상증후 검출 및 개시된 상태-인식 이상증후 검출이 위에서 언급한 바와 같이 유용하게 결합될 수 있지만, 개시된 시간적 이상증후 검출이 추가적로 또는 대안적으로 Harris 등의 미국 특허 제9,792,435호에 기재된 메시지별 SVM 분류기-기반 이상증후 검출기와 같은, 다른 타입의 이상증후 검출과 함께 사용될 수 있음을 추가로 인식될 것이다. 이 예에서, SVM 초평면 곡률 파라미터(hyperplane curvature parameter)
Figure pct00001
의 서로 다른 값은 차량의 서로 다른 상태에 대해 훈련되고, 상태 머신에 의해 나타나는 바와 같이 플랫폼의 현재 상태에 대해 훈련된 파라미터
Figure pct00002
의 값이 사용된다. 이를 통하여, SVM 분류기는 상태를 인식하지 않는 훈련과 비교할 시에, 플랫폼의 현재 상태에 있는 CAN 버스 메시지 트래픽의 특정 패턴에 대해 더 정확하게 조정될 수 있다.
도 1을 참조하면, 플랫폼(10)은 여러 전자 제어 유닛(ECU)(14)이 연결되는 CAN(Controller Area Network) 버스(12)를 포함한다. 예시적인 플랫폼(10)은 자동차이다. 보다 일반적으로, 차량(10)은 지상 차량(예를 들어, 도시된 바와 같은 자동차(10), 또는 트럭, 오프로드 차량, 오토바이, 버스 등), 수상 차량(예를 들어, 원양 항해 선박, 잠수함 등), 또는 우주선(예를 들어, 궤도를 도는 위성, 행성간 탐사선 등)일 수 있거나, 또는 산업 제어 시스템, 예를 들어 CAN 버스 또는 다른 방송 네트워크를 사용하는 산업 자동화 및/또는 산업 프로세스 제어 시스템일 수 있다. 보다 일반적으로, ECU는 CAN 버스 또는 플랫폼(예를 들어, 차량, 산업 제어 시스템 등)의 다른 네트워크(12)와 연결된 임의의 전자 디바이스, 예컨대(통상적인 차량의 경우): 엔진 제어 모듈s, ABS 모듈s, 파워 스티어링 모듈s, 및/또는 다른 차량 동작-관련 전자 디바이스s; 카 스테레오 또는 다른 차량 내 엔터테인먼트 시스템; 차량 외 통신에 사용되는 무선 송수신기(예를 들어, 통신 위성 송수신기); 차량 온도 조절(climate) 제어 모듈; 및/또는 기타 등등일 수 있다. 산업 제어 시스템의 경우에, ECU는 예를 들어, 노 제어 모듈(furnace control modules), 가스 흐름 제어기 ECU, 로봇 제어기, 및/또는 기타 등등을 포함할 수 있다. 보다 일반적으로, CAN 버스(12)는 임의의 방송 네트워크, 즉 네트워크 상의 트래픽이 네트워크 상의 모든 전자 디바이스에 의해 수신되고 네트워크 상의 트래픽이 메시지 인증을 포함하지 않는 임의의 네트워크일 수 있다. 이 문맥에서 메시지 인증은 메시지 또는 네트워크 아키텍처에 포함된 정보이고, 상기 정보에 의해 수신 디바이스가 메시지 소스를 확인할 수 있다. CAN 버스는 기본적으로 메시지 인증을 제공하지 않는다. 네트워크가 메시지 인증을 제공하지 않는 동안 네트워크 상의 2개 이상의 ECU(14)의 주어진 세트는 이들 ECU들 사이에서 전송된 메시지에 인증을 통합할 수 있다는 점에 유의해야 한다. 예를 들어, 두 ECU는 CAN 버스를 통해 또는 일부 다른 통신 경로에 의해 공개 키를 교환하여 공개 키 암호 방식을 사용할 수 있으며, 그런 다음 이들 ECU들 간의 암호화된 메시지는 공개 키 암호화에 의해 인증될 수 있다. 그러나, 네트워크는 그 메시지 인증을 제공하지 않는다.
방송 네트워크 상의 메시지는 페이로드, 및 페이로드를 식별하는 메시지 헤더를 포함할 수 있다. CAN 버스의 경우, 페이로드를 식별하는 메시지 헤더는 ARB ID 헤더이다. 이와 관련하여, 주어진 플랫폼에서 단일 ECU가 특정 ARB ID 헤더가 있는 메시지를 단독으로 전송할 수 있지만, 이는 이 특정 ARB ID 헤더가, 수신 디바이스가 메시지 소스를 확인할 수 있는 메시지 인증 역할을 한다는 의미는 아니다. 이는, 네트워크 상의 임의의 ECU가 그 ARB ID로 메시지를 전송하도록 손상될 수 있고(또는 대안으로, 악성 새 디바이스가 CAN 버스에 연결되어 그 ARB ID로 메시지를 전송할 수 있음), 수신 디바이스가, 그 ARB ID로 메시지를 전송해야 하는 ECU가 아니라, 손상된 디바이스 또는 악성 새 디바이스로부터 메시지가 왔다는 것을 알 수 있는 방법이 없기 때문이다. 보다 일반적으로, 개시된 접근 방식은 네트워크 상의 트래픽이 네트워크 상의 모든 전자 디바이스(즉, 방송 네트워크)에 의해 수신되고, 네트워크 상의 트래픽이 메시지 인증을 포함하지 않고, 전송되는 메시지가 페이로드 및 페이로드를 식별하는 메시지 헤더를 포함하는 임의의 네트워크 상에서 사용될 수 있다. 예시적인 실시예는 네트워크로서 CAN 버스를 사용하고, 헤더는 완전한 ARB ID, SAE J-1939 표준에서와 같은 파라미터 그룹 번호(PGN)와 같은 ARB ID의 서브세트이거나, 또는 동일한 데이터 내용을 일관되게 나타내는 일부 다른 식별자이다.
도 1을 계속 참조하면, 적어도 하나의 보호 ECU(14prot)(또는 보다 일반적으로, 네트워크(12) 상의 전자 디바이스(14prot))는 도 1에 도식적으로 나타낸 바와 같은 이상증후 검출 능력을 포함한다. 보호 ECU(14prot)는 전자 프로세서(20) 및 전자 프로세서(20)에 의해 판독 및 실행 가능한 명령어(24)를 저장하는 비-일시적 저장 매체(22)를 포함한다. 하드웨어 구성요소(20, 22)는 다양하게 구현될 수 있다. 예를 들어, 일부 실시예에서, 전자 프로세서(20) 및 비-일시적 저장 매체(22)는 프로세서(20) 및 저장 매체(22)를 동작적으로 연결하는 PCB의 전도성 트레이스를 갖는 인쇄 회로 기판(PCB, 도시되지 않음) 상에 배치된 별도의 집적 회로(IC) 칩일 수 있다. 일부 예로서, 전자 프로세서(20)는 마이크로프로세서 또는 마이크로제어기 IC 칩을 포함할 수 있고, 비-일시적 저장 매체(22)는 플래시 메모리 칩, ROM(read-only memory) IC 칩, EPROM(electronically programmable read-only memory) IC 칩과 같은 메모리 IC 칩 또는 기타 등등을 포함할 수 있다. 다른 실시예에서, 전자 프로세서(20) 및 비-일시적 저장 매체(22)는 단일 IC 칩으로서 모놀리식으로 통합될 수 있다. 일부 예로서, ECU(14prot)는 ASIC(Application-Specific Integrated Circuit) 칩 또는 FPGA(Field Programmable Gate Array) 칩으로 구현되며, 여기서 저장부 및 디지털 프로세서 둘 다는 단일 ASIC 또는 FPGA 상에서 모놀리식으로 제작된다. 이미 언급된 바와 같이, ECU(14prot)는 CAN 버스(12)로부터 CAN 트래픽(26)을 수신한다.
도 1을 계속 참조하면, 명령어(24)는 전자 프로세서(20)에 의해 판독 가능하고 실행 가능하여 시간적 이상증후 검출을 구현하는 시간적 이상증후 검출 방법을 수행하는 시간적 이상증후 검출 명령어(30), 및 전자 프로세서(20)에 의해 판독 가능하고 실행 가능하여, CAN 버스 또는 다른 네트워크(12) 상의 메시지, 및/또는 관성 센서와 같은 플랫폼(12)을 모니터링하는 하나 이상의 센서로부터 수신된 센서 데이터에 기초한 플랫폼(10)에 대한 상태 머신을 유지하는 상태 머신 명령어(32)를 포함한다. 예를 들어, ECU(14prot)가 가속도계(33)로부터 센서 데이터를 수신하도록 연결되는 경우, 가속도계(33)로부터의 가속도 데이터는 플랫폼 상태(예컨대, 예시적인 차량 플랫폼(10)의 가속도 비율, 엔진 유발 차량 진동에 기초하여 엔진이 켜지거나 또는 꺼지는지 여부를 검출, 또는 기타 등등)를 측정하는데 사용될 수 있다. 예시적인 가속도계(33)(예를 들어, 자이로스코프, 자력계)에 추가하여 또는 대신에 다른 타입의 관성 센서가 사용될 수 있다. 또 다른 예시적인 예로서, 산업 제어 시스템의 경우, 적절한 센서는 온도 센서, 압력 센서, 가스 센서, 및/또는 다른 타입의 산업 공정 센서를 포함할 수 있다. 플랫폼(12)을 모니터링하는 센서(들)는 ECU(14prot)에 물리적으로 통합될 수 있거나, 또는 (도 1에 도시된 바와 같이) 배선, 케이블, 무선 통신 인터페이스 등에 의해 ECU(14prot)에 연결될 수 있음을 유의해야 한다. 또 다른 가능한 접근 방식인 CAN 버스(12)에 의해 연결이 이루어진 경우, 센서 데이터는 CAN 버스 네트워크 상에서 메시지 형식으로 될 것이다. 일부 실시예에서, ECU(14prot)는 이상증후 검출만을 수행하는 전용 전자 디바이스이다. 다른 실시예에서, ECU 14prot는 일부 다른 기능을 수행하는 ECU이다(예를 들어, ECU(14prot)는 잠금 방지 제동, 크루즈 제어 모듈 또는 기타 등등을 제어하는 ABS 모듈일 수 있음). 이들 후자의 실시예에서, 명령어(24)는 전자 디바이스(14prot)를 제어하기 위해(예를 들어, ABS를 구현하거나 크루즈 컨트롤 또는 기타 등등을 구현하기 위해) 전자 프로세서(20)에 의해 판독 가능하고 실행 가능한 제어 명령어(34)을 더 포함한다. 제어 명령어(34)를 포함하는 실시예에서, 명령어(24)는, 전자 프로세서(20)에 의해 판독 가능하고 실행 가능하여 제어 명령어(34)가 시간적 이상증후 검출 방법에 의해 이상증후로서 검출된 메시지를 처리하는 것을 방지하는 메시지 거부 명령어(36)를 옵션으로 더 포함할 수 있다. 이에 의해, 명령어(24)를 실행하는 ECU(14prot)는 (시간적 이상증후 검출 명령어(30)의 실행을 통해) 시간적 이상증후 검출(40)을 구현하고, CAN 버스 또는 다른 네트워크(12) 상의 메시지 및/또는 (상태 머신 명령어(32)의 실행을 통해) 플랫폼을 모니터링하는 하나 이상의 센서(33)로부터 수신된 센서 데이터에 기초하여 차량(10)에 대한 상태 머신(42)을 유지하며; 그리고 일부 실시예에서 또한 제어 명령어(34)의 실행을 통해 ECU 작업 프로세싱(44)을 수행하되, 옵션으로 메시지 거부 명령어(36)의 실행을 통해 메시지 거부 필터(46)를 포함하여 수행한다.
ECU 작업 프로세싱(44)은 옵션이며, ECU(14prot)가 개시된 네트워크 보호 이상증후 검출 서비스를 제공하는 것 외에 플랫폼(10)에 대한 기능(들)을 수행하는 경우에 포함된다. 예를 들어, 플랫폼(10)이 지상 차량이고 ECU(14prot)가 ABS(Antilock Brake System) 모듈인 경우, ECU 작업 프로세싱(44)는 휠 속도를 모니터링하는 것, 브레이크 페달로부터의 신호를 모니터링하는 것, 및 제동 이벤트 동안 도로와 맞물리지 않는 것으로 검출된 경우 휠에 적용된 제동을 변조하는 것(예를 들어 펄싱하는 것)과 같은 잠금 방지 제동에 관련된 기능을 적절하게 수행한다. 또 다른 예로서, 플랫폼(10)이 산업 제어 시스템이고 ECU(14prot)가 노 제어 모듈(furnace control module)인 경우, ECU 작업 프로세싱(44)은 하나 이상의 노 존의 온도를 모니터링하고 노 히터 코일(전기로(electrical furnace)의 경우)에 대한 전류를 조정하는 것, 또는 용광로 버너로의 연료 흐름을 조정하는 것(가연성 연료 용광로의 경우)을 포함할 수 있다. 다른 한편으로, ECU(14prot)가, 개시된 네트워크-보호 이상증후 검출 서비스를 (단지) 제공하기 위한 전용 디바이스인 것으로 대안적으로 고려되며, 이 경우 ECU 작업 프로세싱(44)은 생략된다.
여기에 추가로 설명되는 바와 같이, 시간적 이상증후 검출(40)은 이상증후에 대해 모니터링되는 각 ARB ID의 메시지의 이력 누적(50)을 유지하는 것을 포함하고, 그리고 옵션으로 이상증후 검출이 상태 머신(42)의 현재 상태(54)에 대재 조정되는 상태-특정 조정(상태-특정 조정, 52)를 포함한다. 도 1에 개략적으로 나타낸 바와 같이, 시간적 이상증후 검출(40)은 CAN 버스 트래픽(26)을 수신 및 프로세싱하고, 마찬가지로 차량(10)에 대한 상태 머신(42)은 CAN 버스 트래픽(26)에 대한 메시지에 기초하여 유지된다. ECU 작업 프로세싱(44)(수행되는 경우)은 CAN 버스 트래픽(26)도 수신하되, 시간적 이상증후 검출(40)에 의해 검출된 이상증후 메시지가 옵션의 메시지 거부 필터(46)에 의해 거부될 수 있는 정도를 제외하고, 수신한다. 수행되는 작업에 의존하여, ECU 작업 프로세싱(44)은 또한 메시지를 전송할 수 있고, 즉, ECU 작업 프로세싱(44)은 또한 메시지를 CAN 버스 트래픽(26)에 주입할 수 있다. 이들 발신 메시지는 통상적으로 시간적 이상증후 검출(40)에 의해 프로세싱되지 않지만(대안으로 시간적 이상증후 검출(40)에 의해 발신 메시지도 프로세싱하도록 고려됨), 상태 머신(42)이 유지되는 CAN 트래픽에 포함될 수 있다. 예를 들어, ECU(14prot)가 차량(10)의 크루즈 제어 모듈인 경우, ECU 작업 프로세싱(44)은 크루지 컨트롤이 작동 중임을 나타내는 메시지를 전송하는 것을 포함할 수 있고, 이는 상태 머신(42)에서 상태 전이를 유발할 수 있다.
예시적인 예에서, CAN 버스(12) 상의 단일 ECU(14prot)는 상태-인식 이상증후 검출(40, 42)을 수행한다. 이는 충분할 수 있는데, 그 이유는 네트워크 상의 트래픽이 네트워크 상의 모든 전자 디바이스에 의해 수신되고 이는 CAN 버스(12)에 연결된 단일 전자 디바이스가 모든 CAN 버스 트래픽을 모니터링할 수 있다는 결과를 따르기 때문이다. 그러나, 상태-인식 이상증후 검출(40, 42)이 제공된 ECU(14) 중 하나 초과 또는 심지어 전부를 갖는 것으로 고려된다. 예를 들어, 메시지 거부 필터(46)가 필요한 임의의 디바이스는 유리하게 상태-인식 이상증후 검출(40, 42)을 포함할 것이다.
더욱이, 상태 머신(42) 없이 시간적 이상증후 검출(40)을 구현하는 것이 고려되며, 이 경우에는 상태-특정 조정(52)이 없고 이력 누적(50)이 상태-특정되지 않을 것이다. 이와 달리, 예시적인 시간적 이상증후 검출(40) 이외의(또는 이에 추가하여), 이상증후 검출과 함께 상태 머신(42)을 구현하는 것이 고려된다. 예를 들어, 이전에 논의된 바와 같이, Harris 등의 미국 특허 제9,792,435호에 기술된 메시지별 SVM 분류기-기반 이상증후 검출기는 상태-인식으로부터 이익을 얻을 수 있다.
이제 도 2를 참조하여, 시간적 이상증후 검출(40)의 예시적인 실시예가 설명된다. CAN 버스 트래픽(26)의 각 메시지 헤더(60)에 대해, 이력 누적(50)이 유지된다. 메시지 헤더(60)는, 예시로서, 완전한 ARB ID, 또는 완전한 ARB ID의 서브세트, 예컨대 SAE J-1939 표준에서와 같은 파라미터 그룹 번호(PGN) 또는 기타 등등일 수 있다. 도면에 명시적으로 도시되어 있지는 않지만, 각 메시지에는 도 1에 설명된 전자 디바이스(14prot)에서 메시지가 수신되었을 때를 나타내는 타임스탬프가 할당된다는 것을 이해해야 한다. 이로써, 이력 누적(50)에 기록된 메시지는 타임스탬프된다. 타임스탬프를 발생시키는 시계는 전자 디바이스에 대해 국부적일 수 있으며, 네트워크에 걸쳐 동기화될 필요가 없다. 예상 기간 및 기간 변동성 메트릭을 포함하는 이력 누적에 대한 통계(62)는 메시지의 이력 누적(50)에 대해 계산된다. 한 접근 방식에서, 서브젝트 메시지 헤더(subject message header)가 있는 각 메시지는 수신된 시간(즉, 타임스탬프)과 연관된다. 이 시간은, 메시지가 수신되었던 가장 최근의 이전 시간과 비교되어, 이력 누적(50)에 추가되는 메시지 기간의 측정치를 초래한다. 일단 이력 누적(50)이 샘플의 일부 지정된 최소 수(상태-특정 조정(52)의 조정 가능한 파라미터일 수 있거나, 상태 인식이 없는 경우 조정 가능한 전역 파라미터일 수 있음)를 포함하는 경우, 평균 또는 평균 메시지 기간을 포함하는 통계(62)는 표준 편차, 분산 또는 선택된 다른 가변성 메트릭과 함께 결정된다. 가변성 메트릭은 메시지 헤더의 메시지 결정성의 측정치이다. 예를 들어, 작은 표준 편차 또는 분산은 메시지 헤더의 메시지가 매우 주기적으로 발생함을 나타낸다; 반면에 표준 편차 또는 분산에 대한 값이 크면, 다양한 범위의 서로 다른 메시지 기간 및 낮은 주기성을 나타낸다. 결정(64)에서, 서브젝트 메시지 헤더의 메시지가 결정론적인 것으로 간주될 만큼 충분히 주기적인지 여부가 결정된다. 예를 들어, 결정(64)은 표준 편차(또는 대안적으로 분산)에 대한 임계치를 사용할 수 있으며, 이에 의해 표준 편차(또는 분산)가 임계값 이하인 경우, 메시지 헤더는 주기적으로 간주되고, 그렇지 않으면 메시지 헤더는 비주기적인 것으로 간주된다. 메시지 헤더가 비주기적인 경우, 66에서 메시지 헤더는 이후에 무시된다. 이는 메시지 헤더가 이후에 축적되거나 추가 프로세싱되지 않아야 함을 나타내는 피드백 화살표(68)에 의해 도 2에 도식적으로 나타난다. CAN 버스에서 발생하는 각 메시지 헤더에 대해 별도의 이력 누적(50) 및 별도의 통계(62)가 있음에 유의한다.
지정된 최소 수의 샘플이 축적될 때까지 통계(62)를 계산하지 않는 것(또는 대안적으로 무시하는 것)에 더하여, 일부 실시예에서 통계(62)는 주어진 메시지 헤더에 대한 비활성 기간 후에 리셋된다. 이 리셋 기능은 또한 상태-특정 조정(52)의 조정 가능한 파라미터일 수 있거나, 또는 상태 인식이 없는 경우 조정 가능한 전역 파라미터일 수 있다. 비-제한적인 예시적인 예에서, 통계(62)의 리셋은 서브젝트 메시지 헤더가 있는 임의의 메시지 없이 30초 후에 적용된다. 이 메커니즘은 통계(62)가 누락된 메시지를 무시함으로써 플랫폼의 동작을 반영하도록 한다. 누락된 메시지는 오작동의 징후이거나 단순히 사용자가 시스템의 일부를 사용하지 않는 것(예를 들어, 크루즈 컨트롤을 사용하지 않음)일 수 있지만, 악의적인 공격의 증상일 가능성은 없다. 평균 및 분산 또는 표준 편차를 계산하기 위해 고속 푸리에 변환(FFT)을 적용하는 것과 같이, 예상 값 및 분산 메트릭을 포함하는 통계(62)를 계산하기 위한 다른 접근 방식을 사용하는 것이 고려된다는 점 또한 유의해야 한다.
도 2를 계속 참조하면, 주기적 메시지 헤더(즉, 결정(64)에 나타난 바와 같이 주기적인 메시지 헤더를 갖는 메시지)와 함께 전송된 비주기적 메시지의 검출은 다음과 같이 수행된다. 주기적 메시지 헤더(즉, CAN 버스의 경우 서브젝트 메시지 헤더)가 있는 가장 최근의 두 메시지의 기간(70)은 가장 최근의 두 메시지의 시간 간격으로 계산된다. 결정(72)에서, (이력 통계(62)로부터의) 주기적 메시지 헤더에 대한 예상 기간으로부터 가장 최근의 두 메시지의 시간 분리(70)의 편차가, 다시 상태-특정 조정(52)의 조정 가능한 파라미터, 또는 상태 인식이 없는 경우 조정 가능한 전역 파라미터일 수 있는 일부 임계치 X를 초과하는 경우에 이상증후가 검출된다. 일부 실시예에서 임계치 X는 메시지 헤더에 대한 예상 기간으로부터의 지정된 백분율 편차이다. 이상증후가 검출되는 경우, 동작(74)에서 서브젝트 메시지 헤더를 갖는 가장 최근의 메시지가 이상증후로서 플래그로 지정된다. 예를 들어, 도 1의 메시지 거부 필터(46)가 사용되는 경우, 이상증후 플래그 지정 동작(74)은 또한 가장 최근 메시지가 ECU 작업 프로세싱(44)에 의해 프로세싱되는 것을 차단하도록 필터(46)를 트리거할 수 있다. 추가적으로 또는 대안적으로, 이상증후 플래그 지정 동작(74)은 차량(10)의 온-보드 컴퓨터 디스플레이에 경고를 보낼 수 있고/있거나 경고가 중앙 위치(예를 들어, 펌웨어 업그레이드를 모니터링하기 위해 정보를 사용하는 자동차 제조업체의 모니터링 센터) 및/또는 기타 등등에 무선으로 전송될 수 있다.
도 2를 참조하여 설명된 시간적 이상증후 검출 접근 방식의 잠재적인 어려움 중 하나는, CAN 버스의 비-결정적 특성(예를 들어, 충돌으로 인한 메시지 전송 지연 가능성)이, 임계치 X가 감도를 감소시킬 수 있는 가긍정적 판단(false positives)을 제한하기 위해 상당히 높은 값으로 설정되어야 할 수 있음을 의미한다는 점이다. 이는 주기적 메시지 헤더가 있는 가장 최근 세트의 단 두 메시지 기간의 주기적 메시지 헤더에 대한 예상 기간으로부터(통계(50)로부터)의 편차로서 시간적 이상증후가 검출되기 때문이다.
도 3을 참조하면, 이력 평균(50)과 함께 슬라이딩 창(80)의 통계를 사용하는 시간적 이상증후 검출(40)의 또 다른 예시적인 실시예가 설명된다. 슬라이딩 창(80)을 사용하여, 주기적 메시지 헤더를 갖는 가장 최근 세트의 2개 이상의 메시지 기간의 예상 기간으로부터의 편차로서 시간적 이상증후가 검출된다. 슬라이딩 창의 창 크기 W는 상태-특정 조정(52)의 조정 가능한 파라미터, 또는 상태 인식이 없는 경우 조정 가능한 전역 파라미터일 수 있다. 도 3에 도시된 바와 같이, 프로세싱(62, 64, 66, 68)는 서브젝트 메시지 헤더가 시간적 이상증후 분석을 수행하기에 충분히 주기적임을 결정하기 위해 도 2를 참조하여 이미 설명된 바와 같이 적절하게 수행된다. 이와 같이 결정된 각각의 주기적 메시지 헤더에 대해, 슬라이딩 창 누적(80)은 결정(82)에서 창이 W 샘플로 채워진 것으로 검출될 때까지 수행된다. 일단 창이 채워지면, 동작(84)에서 주기적 메시지 헤더를 갖는 가장 최근 세트의 W 메시지의 기간이 계산된다. 이는 예를 들어, 다음과 같이 계산될 수 있다:
Figure pct00003
여기서 TSi는 인덱스 i에 의해 인덱싱된 샘플의 타임스탬프이고, T는 가장 최근 세트의 W 메시지의 계산된 기간을 나타낸다. 결정(86)에서, (이력 통계(62)로부터의) 주기적 메시지 헤더에 대한 예상 기간으로부터 동작(84)에서 계산된 기간의 편차가, 다시 상태-특정 조정(52)의 조정가능한 파라미터, 또는 상태 인식이 없는 경우 조정 가능한 전역 파라미터일 수 있는 일부 임계치 X를 초과하는 경우에, 이상증후가 검출된다. 일부 실시예에서, 임계치 X는 메시지 헤더에 대한 예상 기간으로부터 지정된 백분율 편차이다. 이상증후가 검출되는 경우, 도 2를 참조하여 이미 설명된 바와 같이, 동작(74)에서 서브젝트 메시지 헤더를 갖는 가장 최근의 메시지가 이상증후로서 플래그로 지정된다. 결정(86)은, 슬라이딩 창(80)의 콘텐츠가 적어도 하나의 이상증후 메시지, 즉 서브젝트 메시지 헤더를 갖는 메시지의 다른 방식의(otherwise) 주기적 스트림에 주입된 적어도 하나의 메시지를 포함할 가능성이 있음을 식별한다는 점에 유의할 수 있다. 이는 창(80)이 W 샘플을 포함하기 때문에 악의적으로 삽입되었을 수 있는 특정 메시지에 대한 약간의 불확실성을 나타낸다. 이로써, 추가적인 옵션 동작(88)에서, 주입될 가능성이 있는 메시지(들)는 쌍별 메시지 간격에 기초하여 (적어도 잠정적으로) 식별될 수 있다. 다시 말해, 옵션의 동작(88)에서, 슬라이딩 창(80)의 각 메시지
Figure pct00004
에 대한 시간 간격
Figure pct00005
이 계산되고, 이 시간 간격이 (통계(62)로부터의) 예상 기간로부터 일부 임계치 이상만큼 벗어나는 경우, 인덱스 i에 의해 인덱싱된 메시지는 주입 가능성이 있는 메시지로서 플래그로 지정된다.
슬라이딩 창(80)의 창 크기 W는 가긍정적 판단 공격 플래그의 가능성과 공격을 플래그로 지정하는데 걸리는 시간 사이의 트레이드오프를 나타낸다. 차량 상의 실시간 제어 통신이 20Hz보다 큰 주파수에서 동작하는 경우, 20개 샘플의 창 크기 W를 사용하여 1초 이하 내에 공격이 검출되고 경고될 수 있다.
유리하게는, 도 2를 참조하여 설명된 시간적 이상증후 검출 접근 방식 및 도 3을 참조하여 설명된 시간적 이상증후 검출 접근 방식 둘 다는 임의의 기계 학습(ML) 구성요소의 훈련을 수행할 필요가 없다. 게다가, 이력 누적(50)이 이전에 설명된 바와 같이 리셋되는 경우, 접근 방식이 적응적일 수 있다. 이력 누적(50)이 샘플 크기 BH의 FIFO(first-in, first-out) 버퍼로서 구현되는 경우 개선된 실시간 적응성이 달성될 수 있다. 예를 들어, BH가 5000개 샘플로 설정되고 서브젝트 메시지 헤더의 주기성이 500 Hz인 경우, 버퍼가 가장 오래된 샘플을 폐기하기 때문에 시간 경과에 따른 예상 기간의 느린 변화(10초 정도)가 수용될 수 있다.
또 다른 변형으로서, 악의적인 행위자는 통상적으로 추가 메시지를 주입하기 때문에 공격은 기간의 감소와 연관될 것으로 예상된다. 이로써, 일부 실시예에서, 이상증후로서, 플래그가 지정된, 가장 최근 세트의 2개(도 2) 또는 그 초과(도 3) 메시지의 서브젝트 메시지 헤더에 대한 예상 기간으로부터의 편차는 단지 가장 최근 세트의 메시지의 기간이 예상 기간보다 짧은 편차이고, 이러한 이유는 이것이 메시지가 주입되었음을 시사하기 때문이다. 이와 달리, 가장 최근 세트의 메시지의 기간이 예상 기간보다 긴 편차는 악의적인 공격을 나타낼 가능성이 적고 이상징후로서, 플래그가 지정되지 않는다.
도 2 및 3의 시간적 이상증후 검출 접근 방식과 관련된 한 가지 잠재적인 문제는, 차량(10)이 상태를 변경하는 경우, 이것이 일부 주기적 메시지 헤더의 기간을 변경시킬 수 있다는 것이다. 이전 예에서, ABS 모듈은 ARB ID가 0x354인 휠 속도를 방송하는 메시지를 전송한다. 이들 메시지는 크루즈 컨트롤이 작동하지 않을 때 덜 자주 전송되고 크루즈 컨트롤이 작동 될 때에는 더 자주 전송된다. 그러한 경우, 크루즈 컨트롤이 작동될 때 ARB ID가 0x354인 메시지의 빈도가 갑자기 증가할 것이므로, 시간적 이상증후로서 잘못 검출될 수 있다.
이 문제를 해결하기 위해, 다시 도 1을 참조하면, CAN 버스 또는 다른 네트워크(12) 상의 메시지 및/또는 플랫폼(12)을 모니터링하는 하나 이상의 센서(33)로부터 수신된 센서 데이터에 기초하여 차량(10)에 대한 상태 머신(42)을 유지하는 것이, 현재 상태(54)의 식별을 유지하는 것을 포함하여 여기에 더 개시된다. 휠 속도의 예에서, 상태 머신(42)에 의해 검출된 상태 전이는 이상증후 검출기(더 구체적으로는 이력 누적(50) 및 연관된 통계(62))의 리셋을 유도할 수 있다. 이로써, ARB ID 0x354의 메시지에 대한 빈도가 갑자기 증가하면 (오류) 이상증후로서 검출되지 않을 것이다.
도 4를 간략히 참조하면, 상태: "엔진 꺼짐"; "엔진 켜짐"; "차량 회전"; "브레이크 시스템 작동됨"; 및 "크루즈 컨트롤 작동됨"를 포함하는 차량(10)에 대한 가능한 상태 머신의 예시적인 부분이 도시된다. 도 4의 나타난 화살표는 허용된 상태 전이를 나타낸다. 차량(10)은 임의의 주어진 시간에서, 예를 들어 도 4에서 "크루즈 컨트롤이 작동됨" 상태에서 단 하나의 상태로 있다. 종래의 상태 머신 다이어그램 표현에 따라, 도 4에서, 상태 머신의 가능한 상태는 노드(도 4에서 타원으로 표시됨)로 나타되며, 초기 상태로부터 다음 상태로의 각 허용된 상태 전이는 초기 상태에서 다음 상태로 연결하는 방향 호로 나타난다. 상태 머신은 특정 플랫폼에 고유하다는 것을 이해해야 한다. 도 4는 예시적인 차량(10)에 대한 가능한 상태 모신의 일부를 도시한다. 또 다른 예(도시되지 않음)로서, 산업 공정은: "컨베이어 벨트 운송", "노 램프 업(furnace ramp-up)", "노 체류(furnace dwell)", "노 램프다운(furnace rampdown)", "냉각(quench)" 등과 같은 상태를, 적절한 해당 상태 전이 호와 함께(예를 들어, "컨베이어 벨트 이송"→"노 램프 업", "노 램프 업"→"노 체류", "노 체류"→"노 램프다운", "노 램프다운"→"컨베이어 벨트 이송", "컨베이어 벨트 이송"→"냉각" 등), 가질 수 있다.
차량(10) 상태의 결정은 인간 관찰자가 결정을 사용하는데 필요할 수 있는 임의의 필요한 선험 정보(priori information)를 제거하기 위해 기계 학습(ML)을 사용하여 달성될 수 있다. ML 알고리즘은 차량에 대한 서로 다른 상태를 학습하는 데 사용될 수 있으며, 상태-특정 조정 파라미터(52)는 주기적 메시지의 추적을 조정하거나, 심지어 시간적으로 추적되는 메시지를 조정하는데 사용할 수 있다. 예를 들어, 메시지 방송 휠 속도는 정상 동작 중에 주기적으로 전송될 수 있다. 차량에서 크루즈 컨트롤이 작동되면 이러한 주기가 증가할 수 있다. ML은 사람이 수동으로 파라미터를 설정함 없이 휠 속도 방송 메시지에 대해 더 빠른 주기와 "크루즈 컨트롤 작동" 상태를 상관관계시킨다. 또 다른 예는 상태 전이 동안 차량의 물리적 상태를 검사할 수 있다. 엔진 시동 중 차량의 전력 소모는 훈련된 자동차 엔지니어가 쉽게 검출할 수 있는 잘 알려진 패턴이다. ML 알고리즘은 CAN 메시지 내에 포함된 데이터로부터 물리적 특성을 추출할 수 있어, 훈련된 엔지니어가 알려진 모든 차량 특성을 매핑할 필요가 없으며 사람이 스스로 식별할 수 없는 패턴을 식별할 수 있다.
상태를 결정하기 위한 머신 러닝 접근 방식은 추적된 상태별로 이상증후 검출에 사용될 고유 모델의 생성을 수반할 수 있다. 그 후 상태 머신(42)은 상태 변경 트리거에 대해 플랫폼을 모니터링하는 하나 이상의 센서로부터 수신된 수신 메시지 및/또는 센서 데이터를 모니터링한다. 트리거가 관찰되면, 상태 결정 알고리즘은 현재 이상징후를 검출하는 데 사용되는 모델을 전환할 수 있다. 훈련 중에, 슬라이딩 창은 조사(investigation)를 위해 CAN 메시지를 수집하는데 사용될 수 있다. 이 슬라이딩 창은 가장 최근의 X 메시지를 추적할 것이며, 여기서 X는 조정 가능한 파라미터이다. 그 후 기계 학습 알고리즘은 고유 메시지, 메시지의 발생 횟수/주기성 또는 이 슬라이딩 창 내에 포함된 아직 결정되지 않은 다른 특성을 검사하여 플랫폼 상태를 결정할 수 있다.
추적된 상태의 수는 운영상의 요구 사항을 충족하도록 조정할 수도 있다. 예를 들어, 넓은 범위의 상태 결정은 움직이는 차량(vehicle in motion) 및 차량 공회전(vehicle idling)과 같은 두 가지 고유한 상태만 추적할 수 있다. 보다 정확한 상태 결정은 N이 조정 가능한 파라미터인 N개의 고유한 상태를 추적할 수 있다. 이들 상태는 주차된 차량, 크루즈 컨트롤 중인 차량, 차량 회전, 차량 가속/제동 등을 포함할 수 있다.
각 상태는 해당 상태와 연관된 고유한 모델을 가질 수 있다. 상태 전이가 검출될 때, 특정 메시지(들)이 검출되거나 최근 메시지의 버퍼 분석을 통해, 새 상태에 대한 모델은 이상증후 검출 능력을 개선하기 위해 전환된다.
상태 의식 이상증후 검출 알고리즘은 또한 시간적 이상증후 검출을 향상시키는데 사용될 수 있다. 주기적인 CAN 메시지는 정상 동작 중에 플랫폼 네트워크 상에서 거의 결론적으로(CAN 자체가 결론적이라고 보장할 수 없기 때문에 완전히 결론적이지 않음) 전송된다. 주기적 메시지는 실제 주기적 메시지와 이벤트 주기적 메시지의 두 가지 범주로 나눌 수 있다. 실제 주기적 메시지는 엔진이 실행 중일 때 거의 결정적인 비율을 가진다. 이벤트 주기적 메시지는 최신 차량에서 크루즈 컨트롤을 가능케는 것과 같이, 플랫폼을 고유한 상태로 만드는 이벤트가 발생할 때 거의 결정적인 주기를 가지거나 또는 상당히 상이한 주기를 가진다. 플랫폼이 이러한 새로운 상태에 들어갈 때, 플랫폼이 이 상태를 유지하는 기간 동안 거의 결론적으로 전송되는 고유한 이벤트 주기적 메시지가 있을 수 있다. 이 새로운 알고리즘이 추적하는 각 상태에 대해 고유한 모델을 사용하면 시간 알고리즘을 조정할 수 있으므로, 디바이스가 시간 이상증후에 대해 보다 효과적으로 모니터링할 수 있다.
상태 인식이 획득되면, 상태는 다른 보안 평가 또는 조건 평가에 사용될 수 있으므로, 조건 기반 유지 관리 또는 부적절한 시기에 진단의 검출을 가능케 할 수 있다. 이에 따라서, 소정의 메시지가 차량(10)이 적당한 상태에 있을 때에만 사이버-물리적 네트워크, 즉 CAN 네트워크(12)에서 적절할 수 있다는 것을 이해할 것이다. 예를 들어, 엔진 제어기(예를 들어, ECU(14))에 대한 진단 재프로그래밍 메시지는 엔진이 꺼져 있고 차량(10)이 움직이지 않고 이로써 '점화 켜짐, 엔진 꺼짐' 상태일 때에만 발생해야 한다. 유사하게, 차량(10)이 특정 상태에 있지 않고, 임의의 다른 상태에서 허용되는 경우에만 발생해야 하는 메시지가 있는데, 예를 들어, 도어 잠금 해제 메시지는 '엔진 켜짐, 차량 이동'을 제외한 모든 상태에서 적절할 것이다. 마지막으로, 메시지는 둘 이상의 상태에서 적절하고 나머지 상태에서는 부적절할 수 있고, 예를 들어, 라디오를 재프로그래밍하기 위한 진단 메시지는 '점화 켜짐, 엔진 꺼짐' 및 '엔진 켜짐, 움직이지 않음' 상태 둘다에서 허용되지만, '이동 상태' 또는 '점화 꺼짐' 상태는 아니다. 메시지의 존재 또는 허용되지 않는 상태의 특정 콘텐츠로 인해, 메시지가 관찰될 때마다, 해당 메시지는 이상증후적이며 보고되어야 한다.
상태 비호환 이상증후 메시지의 검출은 다음 예시적인 실시예에 따라서 ECU(14)에 의해 수행될 수 있다. 초기에, 메시지는 네트워크(12)로부터 입수되고 메시지 레벨에서 프로세싱되거나 신호로 세그먼트화된다. 본 발명의 예시적인 실시예에서, "메시지" 및 "신호"라는 용어는 상호교환적으로 사용된다. 그 후에, ECU(14) 또는 다른 적합한 구성요소는 신호를 테이블/데이터베이스의, 예를 들어, 비-일시적 저장 매체(22)에 저장된 그의 해당 데이터와 연관시킨다. 다양한 실시예에서, 데이터는 DBC 파일에 저장될 수 있지만, 그러나 데이터는 신호가 테이블에서 조회되고 해당 신호에 대한 추가 파라미터가 이용 가능한 임의의 표현에 있을 수 있음을 이해할 것이다. 해당 신호의 파라미터는 간단한 형태로 사용 가능한 상태의 열거일 수 있으며, 해당 신호를 나타내는 이진 값은 해당 상태 동안 허용(1) 또는 허용되지 않는다(0).
예시적인 룩업 테이블은, 해당 시스템이 0에서 3까지 열거된 상태를 가지는 경우, 상태(0)에서 허용되지 않고 상태 1, 2 및 3에서 허용되는 신호에 대한 파라미터 값(0,0; 1,1; 2,1; 3,1)을 포함할 수 있다. 향상된 실시예에서, 테이블은 신호가 이상증후였던 이유에 대한 원인을 제공하고/하거나 취해야 할 시정 조치를 나타내도록 확장될 수 있다. 예를 들어, (0,0,9;1,1,0;2,1,0;3,1,0)이고, 여기서 9는 취해야 할 시정 조치 또는 신호가 이상증후였던 이유 중 하나/또는 둘 다를 나타내는 테이블의 열거를 나타낼 수 있다. 테이블은 이유에 대한 정보를 테이블 내의 텍스트로서 저장할 수도 있다.
보다 복잡한 형태에 따르면, 테이블은 신호 내의 요소, 즉 메시지 및 그들 각각의 상태를 나타내도록 구현될 수 있다. 신호 내용을 허용/비허용 상태로 매칭하기 위한 일 구현에 따르면 비트 필드를 통한 것이다. 신호가 적은 수의 비트로 제한되는 경우 이 접근 방식이 가장 잘 적용될 수 있음을 이해할 수 있다. 예를 들어, 필드 세트(상태; 설정 또는 지우기; 비트 필드)에서, 상태는 필드가 활성 상태인 것을 나타내고, 설정 또는 지우기는 트리거가 발생하면 비트 필드가 설정해야 하는 비트를 나타내는지(1) 또는 지워야 하는 비트를 나타내는지(0)를 나타내며, 그리고 비트 필드는 신호 내에서 검사할 비트를 나타낸다. 일부 비트는 양수이고 일부는 음수여야 하는 경우, 이들 세그먼트 중 두 개는 "and" 조합을 통해 결합될 수 있다. 비-제한적인 예는 (3)으로 번호가 매겨진 상태에서 이상증후가 보고되고 제3 비트가 설정(Set)인 경우이다(이진 표기법으로 표현된 8-비트 숫자를 가정하면 테이블 항목은 (3,1,'0000 0001')일 수 있다). 동일한 정보를 표현하는 제2 구현은 통상적인 데이터베이스 표기법 및 단순 쿼리 언어(Simple Query Language, SQL) 방법의 사용을 포함하며, 이는 통상의 기술자가 이해할 수 있는 바와 같이, 데이터 요소의 특징을 추출 및 비교하는데 적합하다. 통상의 기술자는 그러한 구현이 시스템의 오버헤드, 예를 들어 리소스 사용 등을 반드시 증가시킬 것임을 이해할 것이다. 이에 따라서, 차량(10) 상태는 차량 상태에 기초한 메시지의 블랙리스트를 통해 신호/메시지가 이상증후를 나타내는지 여부를 결정하는 데 사용될 수 있고, 예를 들어, 차량(10)이 움직이고 있는 경우, 진단적 성격의 어떤 메시지도 금지될 수 있다. 이로써, 현재 상태에 대해 연관된 파라미터 값은 현재 상태로부터 새로운 상태로의 전이에 응답하여 변경될 수 있다. 위에서 나타난 바와 같이, 신호(메시지)가 상태에 기초하여 이상증후로 결정되는 경우, 위와 아래에서 개시되는 바와 같은 추가 프로세싱이 적용될 수 있다.
이제 도 5를 참조하면, 상태 머신(42)을 훈련하기 위한 하나의 예시적인 접근법이 설명된다. 훈련은 훈련 CAN 트래픽 데이터(100)(및 옵션으로, 훈련 CAN 트래픽 데이터(100)의 획득과 동시에 가속도계(33)에 의해 획득된 것과 같은 훈련 센서 데이터)를 이용한다. 지도 또는 반-지도 학습의 경우, 훈련 CAN 트래픽 데이터(100)는 상태 주석으로 적절하게 라벨링되며, 예를 들어 CAN 데이터(100)의 수집을 수행하는 엔지니어에 의해 주석이 추가된다. 한 예에서, 엔지니어는 서로 다른 상태(엔진 꺼짐, 엔진 켜짐/공회전, 운전, 선회, 크루즈 컨트롤 작동, 크루즈 컨트롤 해제 등)에서 차량을 동작하고 각 상태 변경이 발생하는 시간을 식별한다(이는 엔지니어가 다양한 상태-변경 플랫폼 동작을 개시할 때를 정확하게 나타내는 메시지를 식별하기 위해 CAN 데이터를 검토하는 것을 포함할 수 있다). 상태 변경 이벤트들 사이의 데이터 블록은 그 후에 올바른 상태로 라벨링된다. 예를 들어, 시간 tm에 엔진이 공회전으로부터 주행으로 전환되고 그 후 크루즈 컨트롤이 늦은 시간 tn 작동되고 더 늦은 시간 tp에 해제되면, 시간 간격
Figure pct00006
에 걸쳐 수집된 CAN 데이터는 플랫폼 상태 "주행"으로 라벨링되고, 시간 간격
Figure pct00007
에 걸쳐 획득된 CAN 데이터는 플랫폼 상태 "크루즈 컨트롤 작동"으로서 라벨링된다.
동작(102)에서, CAN 데이터(100)는 시간 간격 또는 창으로 분할된다. 이들은 옵션으로 시간에서 부분적으로 겹쳐질 수 있다. 동작(104)에서 창은 k-평균 클러스터링과 같은 클러스터링 기술을 사용하여 N개의 클러스터로 클러스터링된다. 각 클러스터는 상태 머신의 상태에 해당한다. 클러스터링 알고리즘의 선택에 따라, 클러스터의 수(N)는 고정될 수 있거나 클러스터링 동작(104)의 적합한 파라미터일 수 있다. 클러스터 수가 고정된 경우, 클러스터링은 N에 대해 서로 다른 값으로 여러 번 다시 실행하여 가장 구별되는 클러스터를 생성하는 N 값을 선택하여 클러스터 수를 최적화할 수 있다(차별성 메트릭이 옵션으로 합리적인 수의 상태를 가진 상태 머신으로 편향되도록 더 높은 값의 N에 대해 패널티를 통합함). 동작(106)에서, 클러스터는 CAN 데이터(100)의 상태 주석에 기초하여 상태 라벨로 라벨링된다. 예를 들어, 각 클러스터는 해당 클러스터에 속하는 대부분의 CAN 데이터가 라벨링되는 상태 라벨로 라벨링될 수 있다. 변형 실시예에서, 상태 라벨링 동작(106)은 생략되며, 이 경우 상태는 쉽게 사람이 식별할 수 있는 상태와 명시적으로 연관되지 않는다.
동작(108)에서, 허용된 상태 전이가 식별된다. 이는 세그멘테이션 동작(102)에서 정의된 각 창을, 가장 잘 맞는 상태(및 동작(106)이 수행되는 경우 상태 라벨)로 라벨링하여 수행될 수 있다. 이는 상태 시퀀스를 생성하고, 따라서 훈련 CAN 데이터 세트(100)에서 발생하는 상태 전이 세트를 생성한다. 이들은 허용된 상태 전이이다. 이에 달리, 훈련 데이터(100)에서 발생하지 않는 임의의 상태 전이는 허용된 상태가 아니다. 허용된 상태 전이의 식별(동작 108)도 옵션이다. 허용된 상태 전이(도 4의 예에서 호에 해당)가 결정되지 않은 경우, 임의의 상태 전이가 허용 가능한 것으로 고려된다.
더욱이, 동작(110)에서 상태-특정 조정(52)이 각각의 상태에 대해 결정된다. 각 상태에 대해, 그 상태에 할당된 (세그멘테이션(102)로부터의) 창에 속하는 CAN 버스 훈련 데이터(100)의 부분은 그 특정 상태에 대한 시간적 이상증후 검출(40)의 조정 파라미터를 최적화하는데 사용하기 위한 훈련 CAN 버스 데이터의 (서브)세트를 형성한다.
도 5의 접근 방식은 상태 머신(42)의 구성에 대한 하나의 예시적인 예일 뿐이다. 다른 실시예에서, 상태 머신(42)은 손으로 제작될 수 있다. 예를 들어, 상태는 예를 들어 도 4에 라벨링되는 상태를 포함하여(그러나 이에 제한되지 않음), 차량(10)의 알려진 동작 방식에 기초하여 정의될 수 있다. 상태 전이는 특정 CAN 버스 메시지에 의해 식별될 수 있다. 예를 들어, 설계 엔지니어는 크루즈 컨트롤이 초기에 작동될 때 소정의 메시지, 또는 메시지 세트가 CAN 버스를 통해; 그리고 마찬가지로 크루즈가 해제될 때, 선회가 수행될 때, 기타 등등을 통해 전달된다는 것을 알고 있을 수 있다. 이 접근 방식에서, 상태 주석이 달린 CAN 버스 데이터(100)는 상태-특정 조정을 수행하기 위해서만 사용되고, 예를 들어, 창 세그멘테이션(102)은 적합하게 수행되고, 각 창은 데이터(100)의 상태 라벨 주석에 기초하여 상태를 할당하고, 다양한 상태에 할당된 데이터의 서브-세트는 그 후에 동작(110)에서 사용된다.
이제 도 6을 참조하여, 시간적 이상증후 검출(40)에서 상태 인식의 구현을 위한 적합한 접근 방식이 설명된다. 상태 머신(42)은 자동 또는 반자동으로 구성되고 각 상태에 대해 유도된 상태 특정 조정 파라미터(52)를 가지는 것으로 가정된다. 차량 동작 동안, CAN 버스 트래픽(26)은 도 2 또는 도 3을 참조하여 설명된 바와 같이 시간적 이상증후 검출(40)에 입력되고 프로세싱된다. 동시에, CAN 버스 트래픽(26)(및 옵션으로, 이용 가능한 센서(들)(33)으로부터의 센서 데이터)은 상태 전이를 검출하는 상태 전이 검출 블록(120)에 입력되되, 예를 들어, 상태 전이를 나타내는 메시지(또는 메시지 세트) 및/또는 센서 데이터를 검출하거나(도 7 참조), CAN 데이터의 창을 도 5의 동작(104)에서 발생된 클러스터에 맞춤으로써(도 8 참조; 이는 상태 머신(42)이 클러스터링 알고리즘에 의해 생성되었다고 가정함), 입력된다. 상태 전이 검출 블록(120)이 상태 전이를 검출할 때, 동작(122)에서 상태 머신(42)의 현재 상태(54)가 그에 따라 업데이트된다. 추가적으로, 각각의 주기적 메시지 헤더에 대해, 시간적 이상증후 검출(40)의 상태-특정 조정(52)은 동작(124)에서 새로운 상태에 대한 값으로 업데이트된다.
일부 실시예에서, 기존 데이터가 이전 상태에 대한 것이고 새로운 상태를 나타내지 않을 수 있기 때문에, 상태 전이는 또한 이력 누적(50)의 리셋을 트리거한다. 그러나, 이는 새 상태에 대한 이력 누적이 누적됨에 따라 일부 데드 타임을 초래할 것이다.
이로써, 도 6에 도시된 또 다른 접근 방식에서, 상태 인식은 가능한 경우 이 데드 타임을 피하기 위해 활용된다. 이를 위해, 동작(126)은 이전 상태에 대한 이력 누적이 저장되고, 새로운 상태에 대한 이력 누적이 존재하는 경우 검색된다. 더 자세히 설명하기 위해 다음 예를 고려한다. 운전자는 초기에 크루즈 컨트롤 없이 운전하며, 이 시간 동안 "크루즈 컨트롤 해제" 상태에 대해 이력 누적(50)이 누적된다. 그후 운전자는 크루즈 컨트롤(상태 전이)을 작동한다. 이에 응답하여, 동작(126)은 "크루즈 컨트롤 해제" 상태에 대한 이력 누적을 저장하고, "크루즈 컨트롤 작동" 상태에 대한 이력 누적이 아직 이용 가능하지 않다고 가정하면 새로운 "크루즈 컨트롤 작동" 상태에 대한 이력 누적(50)을 리셋한다. 시간적 이상증후 검출이 시작될 수 있기 전에 새 상태에 대해 충분한 이력 누적이 축적되므로 이제 일부 데드 타임이 있을 것이다. 그 후, 운전자는 "크루즈 컨트롤 작동" 상태에 대한 이력 누적(50)이 계속 축적되는 동안 일정 시간 동안 크루즈로 운전한다. 그 후 운전자는 더 혼잡한 트래픽에 진입하고 크루즈 컨트롤을 해제한다(또 다른 상태 전이). 이에 응답하여, 동작(126)은 "크루즈 컨트롤 작동" 상태에 대한 이력 누적을 저장하고 "크루즈 컨트롤 해제" 상태에 대해 이전에 저장된 이력 누적을 검색한다. 이에 따라서, "크루즈 컨트롤 해제" 상태에 대해 시간적 이상증후 검출이 동작할 수 있기 전에는 데드 타임이 없다. 그 후, 운전자가 더 적은 트래픽에 진입하고 크루즈 컨트롤을 다시 작동하는 경우, 동작(126)은 "크루즈 컨트롤 해제" 상태에 대한 이력 누적을 저장하고 "크루즈 컨트롤 작동" 상태에 대해 이전에 저장된 이력 누적을 검색하여 시간적 이상증후 검출이 데드 타임 없이 다시 진행하도록 한다. 그리고 기타 등등.
도 6에서, 검출된 상태 전이는 예시적인 시간적 이상증후 검출(40)의 상태-특정 조정(52)을 업데이트하는데 사용된다. 그러나, 다른 타입의 이상증후 검출이 상태-특정 조정으로 유사하게 업데이트될 수 있다는 것을 이해할 것이다. 예를 들어, Harris 등의 미국 특허 제9,792,435호에 기재된 것과 같은 메시지별 SVM 분류기-기반 이상증후 검출은 상태-특정 값으로 업데이트된 하이퍼파라미터
Figure pct00008
를 가질 수 있다.
상태 머신(42)이 허용된 상태 전이에 대한 정보를 포함하는 경우(예를 들어 도 5의 훈련 프로세스의 동작(108)에서 결정된 바와 같이, 또는 차량(10)의 알려진 동작을 기초로 설계 엔지니어에 의해 수작업으로 이루어지는 바와 같이), 이 정보는 또한 이상증후 검출를 위한 독립적인 메커니즘을 제공할 수 있다. 예를 들어, 결정(130)에서 상태 전이가 허용된 전이인지 여부가 결정되고, 그렇지 않은 경우, 132에서 이상증후 상태 전이가 플래그로 지정된다. 유사하게, 결정(134)에서 상태 전이의 빈도 또는 다른 패턴이 (예를 들어, 도 5의 동작(108)에서 관찰된 상태 전이의 패턴에 기초하여) 불규칙한지 여부가 결정되고, 상태 전이의 이상증후 패턴이 유사하게 플래그로 지정될 수 있다.
이제 도 7 및 8을 참조하여, 도 6의 상태 전이 검출 블록(120)의 2개의 예시적인 실시예가 설명된다. 도 7은 상태 머신(42)이 도 5를 참조하여 설명된 바와 같이 CAN 버스 데이터 윈도우 클러스터링에 의해 발생되는 경우에 적합하게 사용되는 실시예를 도시한다. 슬라이딩 창(140)은 결정 블록(142)에서 창이 채워졌다고 결정될 때까지 CAN 버스 트래픽(26)으로부터 메시지를 축적한다. 도 5의 상태 머신 학습의 동작(102, 104)에 의해 발생된 클러스터와의 비교를 용이하게 하기 위해, 결정 블록(142)은 바람직하게 세그멘테이션 동작(102)에 의해 생성된 창과 동일한 수의 메시지를 가질 때 창이 채워진다는 것을 나타낸다. 창이 채워질 때, 이는 메시지 창에 가장 가까운 클러스터/상태를 식별하기 위해 도 5의 상태 머신 학습의 동작(102, 104)에 의해 발생된 클러스터/상태와 비교된다. 결정(146)에서, 이러한 가장 가까운 클러스터/상태가 현재 상태(54)와 동일한지 여부가 결정된다. 가장 가까운 클러스터/상태가 현재 상태(54)와 동일한 경우, 어떠한 상태 전이도 발생하지 않았다. 다른 한편으로, 가장 가까운 클러스터/상태가 현재 상태(54)와는 상이한 경우, 상태 전이, 즉 현재 상태(54)로부터, 메시지 창에 가장 가까운 클러스터/상태인 새로운 상태로의 상태 전이가 검출된다(148). 옵션으로, 결정(146)은 견고성을 개선하기 위해 일부 통계를 사용할 수 있고, 예를 들어, 검출(148)은, 슬라이딩 창(140)이 일부 수 M개의 메시지를 축적함에 따라 동일한 가장 가까운 클러스터/상태가 계속 검출되는 경우에만 이루어질 수 있다.
도 8을 참조하면, 상태 머신(42)이 상태 전이를 나타내는 메시지 세트 또는 특정 메시지의 식별을 포함하는 실시예에서 적합하게 사용되는 상태 전이 검출 블록(120)의 일 실시예가 설명된다. 예를 들어, 상태 머신(42)이 수작업으로 제작된 경우, 설계자는 각 상태 전이에 그 상태 전이의 일부로 발생하는 메시지 또는 메시지 세트를 라벨링할 수 있다. 이 실시예에서 버퍼(150)는 CAN 버스 트래픽(26)으로부터 수신된 마지막 N개의 메시지를 저장한다. 버퍼 크기(N)는 상태 전이를 나타내는 임의의 메시지 세트가 발생할 것으로 예상되는 최대 예상 시간 간격을 포함하기에 충분히 커야 한다. 블록(152)은 현재 상태로부터 각각의 가능한 상태 전이를 통해 순환하고, 결정 블록(152)은 CAN 버스 트래픽(26)을 모니터링하여 그러한 각각의 상태 전이를 나타내는 메시지 또는 메시지 세트가 발생했는지 여부를 검출하고 - 그러한 경우, 상태 전이는 검출된다(156). 프로세싱(152, 154)은 새로운 메시지가 버퍼(150)에 들어올 때마다 모든 가능한 상태 전이에 대해 반복된다(대안적인 접근 방식에서, 버퍼 크기 N이 상태 전이를 나타내는 메시지 세트를 누락할 가능성을 방지하기에 충분히 큰 한, 버퍼 프로세싱(152, 154)는 덜 자주 반복될 수 있다).
바람직한 실시예가 예시되고 설명되었다. 분명히, 이전의 상세한 설명을 읽고 이해하면 수정 및 변경이 다른 것에게 발생할 것이다. 본 발명은 첨부된 청구범위 또는 그 균등물의 범위 내에 있는 한 이러한 모든 수정 및 변경을 포함하는 것으로 해석되도록 의도된다.
전술한 변형 및 다른 특징 및 기능, 또는 그 대안이 많은 다른 시스템 또는 애플리케이션으로 결합될 수 있음을 이해할 것이다. 현재 예측되지 않거나 예상되지 않은 다양한 대안, 수정, 변형 또는 개선이 후속적으로 통상의 기술자에 의해 이루어질 수 있으며, 이는 또한 다음 청구범위에 포함되는 것으로 의도된다.
특허청과 이 출원의 독자와 여기에 첨부된 청구범위를 해석하는 임의의 결과적인 특허를 돕기 위해, "~을 위한 수단" 또는 "~을 위한 단계"라는 단어가 특정 청구범위에서 명시적으로 사용되지 않는 한, 35 U.S.C. § 112(f)을 적용하기 위해 첨부된 청구범위 또는 청구범위 중 어느 것도 의도하지 않는다.

Claims (18)

  1. 전자 디바이스에 있어서,
    상기 전자 디바이스는 한 플랫폼의 네트워크와 연결 가능하고,
    상기 네트워크 상의 트래픽은 상기 네트워크 상의 모든 전자 디바이스에 의해 수신되고, 상기 네트워크는 메시지 인증을 제공하지 않고, 전송된 메시지는 페이로드(payloads) 및 상기 페이로드를 식별하는 메지시 헤더를 포함하고,
    상기 전자 디바이스는:
    상기 네트워크 상의 메시지 및/또는 상기 플랫폼을 모니터링하는 하나 이상의 센서로부터 수신된 센서 데이터에 기초하여 상기 플랫폼에 대한 상태 머신(state machine)을 유지하고;
    서로 다른 메시지 헤더에 대한 메시지의 이력 누적(historical accumulations)에 대해 예상 기간 및 기간 변동성 메트릭을 계산하고, 상기 기간 변동성 메트릭에 기초하여 주기적 메시지 헤더를 식별하고;
    상기 주기적 메시지 헤더에 대한 예상 기간으로부터 주기적 메시지 헤더를 갖는, 가장 최근 세트의 2 개 이상의 메시지의 기간의 편차로서 시간적 이상증후(temporal anomaly)를 검출하며, 상기 검출된 시간적 이상증후를 나타내는 경고를 발생시키며; 그리고
    상기 상태 머신이 현재 상태로부터 새로운 상태로 전이(transition)된다는 응답으로:
    상기 현재 상태에 대해 상기 서로 다른 메시지 헤더에 대한 메시지의 이력 누적을 저장하며; 그리고
    상기 새로운 상태에 대해 상기 서로 다른 메시지 헤더에 대한 메시지의 이력 누적을 메모리부터 로딩하기 위해 프로그래밍되는, 전자 디바이스.
  2. 청구항 1에 있어서,
    상기 주기적 메시지 헤더를 갖는 가장 최근 세트의 2 개 이상의 메시지는 상기 주기적 메시지 헤더를 갖는 가장 최근의 2 개의 메시지로 구성되며, 그리고
    상기 시간적 이상증후는 상기 주기적 메시지 헤더에 대한 예상 기간으로부터 상기 가장 최근의 2 개의 메시지의 시간 분리의 편차로서 검출되는, 전자 디바이스.
  3. 청구항 2에 있어서,
    상기 경고는 상기 주기적 메시지 헤더를 갖는 가장 최근의 메시지의 표현을 포함하는, 전자 디바이스.
  4. 청구항 1에 있어서,
    상기 주기적 메시지 헤더를 갖는 가장 최근 세트의 2 개 이상의 메시지는, 상기 주기적 메시지 헤더를 갖는, 한 세트의 3 개 이상의 가장 최근의 메시지로 구성되며, 그리고
    상기 시간적 이상증후는 상기 주기적 메시지 헤더에 대한 예상 기간으로부터 상기 세트의 3 개 이상의 가장 최근의 메시지에 대해 측정된 기간의 편차로서 검출되는, 전자 디바이스.
  5. 청구항 1 내지 4 중 어느 한 항에 있어서,
    상기 전자 디바이스는:
    상기 네트워크를 통해 수신된 메시지에 기초하여 상기 전자 디바이스에 의해 수행된 작업을 제어하며; 그리고
    상기 시간적 이상증후를 검출하면, 상기 작업을 제어하는데 사용되는 가장 최근 세트의 2 개 이상의 메시지 중 하나 이상의 메시지를 거부하기 위해 더욱 프로그래밍되는, 전자 디바이스.
  6. 청구항 1 내지 5 중 어느 한 항에 있어서,
    상기 전자 디바이스는:
    상기 상태 머신이 새로운 상태로 전이된다는 응답으로:
    (i) 상기 새로운 상태의 파라미터 값에 대한 기간 변동성 메트릭에 기초하여 주기적 메시지 헤더의 식별의 파라미터; 및/또는
    (ii) 상기 새로운 상태의 파라미터 값에 대한 시간적 이상증후로서 검출되는 편차를 정의하는 파라미터;
    중 적어도 하나의 파라미터를 조정하기 위해 더욱 프로그래밍되는, 전자 디바이스.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서,
    상기 전자 디바이스는:
    상기 상태 머신이 현재 상태로부터 새로운 상태로 전이됨을 검출하며; 그리고
    상기 검출된 전이가 상기 상태 머신의 허용된 전이가 아닌 것에 응답하여 경고를 발생시키기 위해 더욱 프로그래밍되는, 전자 디바이스.
  8. 청구항 1 내지 7 중 어느 한 항에 있어서,
    상기 네트워크는 CAN(Controller Area Network) 버스를 포함하며,
    상기 메시지 헤더는 ARB ID 헤더를 포함하는, 전자 디바이스.
  9. 전자 디바이스에 있어서,
    상기 전자 디바이스는 한 플랫폼의 네트워크와 연결 가능하고,
    상기 네트워크 상의 트래픽은 상기 네트워크 상의 모든 전자 디바이스에 의해 수신되고, 상기 네트워크는 메시지 인증을 제공하지 않고, 전송된 메시지는 페이로드 및 상기 페이로드를 식별하는 메지시 헤더를 포함하고,
    상기 전자 디바이스는:
    전자 프로세서; 및
    상기 전자 프로세서가 시간적 이상증후 검출 방법을 수행하기 위해 판독 및 실행 가능한 시간적 이상증후 검출 명령어를 저장하는 비일시적 저장 매체;를 포함하며,
    상기 시간적 이상증후 검출 명령어는:
    상기 전자 프로세서가 서로 다른 메시지 헤더에 대한 메시지의 이력 누적에 대해 예상 기간 및 기간 변동성 메트릭을 계산하고, 상기 기간 변동성 메트릭에 기초하여 주기적 메시지 헤더를 식별하기 위한, 판독 및 실행 가능한 명령어;
    상기 전자 프로세서가 상기 주기적 메시지 헤더에 대한 예상 기간으로부터 주기적 메시지 헤더를 갖는, 가장 최근 세트의 2 개 이상의 메시지의 기간의 편차로서 시간적 이상증후를 검출하며, 그리고 상기 검출된 시간적 이상증후를 나타내는 경고를 발생시키기 위한, 판독 및 실행 가능한 명령어; 및
    상기 전자 프로세서가 상기 네트워크 상의 메시지 및/또는 상기 플랫폼을 모니터링하는 하나 이상의 센서로부터 수신된 센서 데이터에 기초하여 상기 플랫폼에 대한 상태 머신을 유지하기 위한, 판독 및 실행 가능한 상태 머신 명령어;를 포함하며,
    상기 시간적 이상증후 검출 명령어는, 상기 전자 프로세서가, 상기 상태 머신이 현재 상태로부터 새로운 상태로 전이된다는 응답으로:
    상기 현재 상태에 대해 상기 서로 다른 메시지 헤더에 대한 메시지의 이력 누적을 저장하며; 그리고
    상기 새로운 상태에 대해 상기 서로 다른 메시지 헤더에 대한 메시지의 이력 누적을 메모리부터 로딩하기 위한, 판독 및 실행 가능한 명령어를 더욱 포함하는, 전자 디바이스.
  10. 청구항 9에 있어서,
    상기 주기적 메시지 헤더를 갖는 가장 최근 세트의 2 개 이상의 메시지는 상기 주기적 메시지 헤더를 갖는 가장 최근의 2 개의 메시지로 구성되며, 그리고
    상기 시간적 이상증후는 상기 주기적 메시지 헤더에 대한 예상 기간으로부터 상기 가장 최근의 2 개의 메시지의 시간 분리의 편차로서 검출되는, 전자 디바이스.
  11. 청구항 10에 있어서,
    상기 경고는 상기 주기적 메시지 헤더를 갖는 가장 최근의 메시지의 표현을 포함하는, 전자 디바이스.
  12. 청구항 9에 있어서,
    상기 주기적 메시지 헤더를 갖는 가장 최근 세트의 2 개 이상의 메시지는, 상기 주기적 메시지 헤더를 갖는, 한 세트의 3 개 이상의 가장 최근의 메시지로 구성되며, 그리고
    상기 시간적 이상증후는 상기 주기적 메시지 헤더에 대한 예상 기간으로부터 상기 세트의 3 개 이상의 가장 최근의 메시지에 대해 측정된 기간의 편차로서 검출되는, 전자 디바이스.
  13. 청구항 9 내지 12 중 어느 한 항에 있어서,
    상기 비-일시적 저장 매체는:
    상기 전자 프로세서가 상기 네트워크를 통해 수신된 메시지에 기초하여 상기 전자 디바이스를 제어하기 위한, 판독 및 실행 가능한 제어 명령어; 및
    상기 전자 프로세서가 상기 제어 명령어로 하여금 가장 최근 세트의 2 개 이상의 메시지 중 하나 이상의 메시지를 프로세싱하는 것을 막기 위한, 판독 및 실행 가능한 메시지 거부 명령어;를 더욱 저장하는, 전자 디바이스.
  14. 청구항 9 내지 12 중 어느 한 항에 있어서,
    상기 시간적 이상증후 검출 명령어는, 상기 전자 프로세서가, 상기 상태 머신이 새로운 상태로 전이된다는 응답으로, 상기 시간적 이상증후 검출 방법의 적어도 하나의 파라미터를, 상기 새로운 상태의 파라미터 값으로 업데이트하기 위한, 판독 및 실행 가능한 명령어를 더욱 포함하는, 전자 디바이스.
  15. 청구항 9 내지 14 중 어느 한 항에 있어서,
    상기 비-일시적 저장 매체는, 상기 전자 프로세서가, 상기 상태 머신이 현재 상태로부터 새로운 상태로 전이됨을 검출하고, 상기 검출된 전이가 상기 상태 머신의 허용된 전이가 아닌 것에 응답하여 경고를 발생시키기 위한, 판독 및 실행 가능한 명령어를 더욱 저장하는, 전자 디바이스.
  16. 청구항 9 내지 15 중 어느 한 항에 있어서,
    상기 네트워크는 CAN(Controller Area Network) 버스를 포함하며,
    상기 메시지 헤더는 ARB ID 헤더를 포함하는, 전자 디바이스.
  17. 청구항 1 내지 8 중 어느 한 항에 있어서,
    상기 전자 프로세서는 상기 주기적 메시지 헤더에 대한 상기 예상 기간으로부터 상기 주기적 메시지 헤더보다 짧은, 가장 최근 세트의 2 개 이상의 메시지의 기간으로서 상기 시간적 이상증후를 검출하기 위해 프로그래밍되며; 그리고
    상기 전자 프로세서는 상기 주기적 메시지 헤더에 대한 상기 예상 기간으로부터 상기 주기적 메시지 헤더보다 긴, 가장 최근 세트의 2 개 이상의 메시지의 기간으로서 상기 시간적 이상증후를 검출하기 위해 프로그래밍되지 않는, 전자 디바이스.
  18. 청구항 1 내지 8 중 어느 한 항에 있어서,
    상기 전자 프로세서가 상기 시간적 이상증후를 검출하기 위한 판독 및 실행 가능한 명령어는:
    상기 전자 프로세서가 상기 주기적 메시지 헤더에 대한 상기 예상 기간으로부터 상기 주기적 메시지 헤더보다 짧은, 가장 최근 세트의 2 개 이상의 메시지의 기간으로서 상기 시간적 이상증후를 검출하기 위한, 판독 및 실행 가능한 명령어를 포함하며; 그리고
    상기 전자 프로세서가 상기 주기적 메시지 헤더에 대한 상기 예상 기간으로부터 상기 주기적 메시지 헤더보다 긴, 가장 최근 세트의 2 개 이상의 메시지의 기간으로서 상기 시간적 이상증후를 검출하기 위한, 판독 및 실행 가능한 명령어를 포함하지 않는, 전자 디바이스.
KR1020227005990A 2019-07-25 2020-07-22 방송 네트워크 보안을 위한 다중 상태 메시징 이상증후 검출 KR102680714B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962878432P 2019-07-25 2019-07-25
US62/878,432 2019-07-25
PCT/US2020/042963 WO2021016290A1 (en) 2019-07-25 2020-07-22 Multi-state messenging anomaly detection for securing a broadcast network

Publications (2)

Publication Number Publication Date
KR20220041137A true KR20220041137A (ko) 2022-03-31
KR102680714B1 KR102680714B1 (ko) 2024-07-02

Family

ID=71995161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227005990A KR102680714B1 (ko) 2019-07-25 2020-07-22 방송 네트워크 보안을 위한 다중 상태 메시징 이상증후 검출

Country Status (6)

Country Link
US (1) US11711386B2 (ko)
EP (1) EP4005255A1 (ko)
JP (1) JP2022542251A (ko)
KR (1) KR102680714B1 (ko)
CA (1) CA3146006A1 (ko)
WO (1) WO2021016290A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7443994B2 (ja) * 2020-09-02 2024-03-06 株式会社デンソー 駆動装置および駆動システム
US11403496B2 (en) 2020-11-04 2022-08-02 Silicon Laboratories Inc. Detecting anomalous events in a discriminator of an embedded device
US20230102929A1 (en) * 2021-09-24 2023-03-30 Embark Trucks, Inc. Autonomous vehicle automated scenario characterization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170013005A1 (en) * 2015-06-29 2017-01-12 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network
US10083071B2 (en) * 2014-12-30 2018-09-25 Battelle Memorial Institute Temporal anomaly detection on automotive networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792435B2 (en) 2014-12-30 2017-10-17 Battelle Memorial Institute Anomaly detection for vehicular networks for intrusion and malfunction detection
EP3113529B1 (en) * 2015-06-29 2020-09-16 Argus Cyber Security Ltd. System and method for time based anomaly detection in an in-vehicle communication network
US10361934B2 (en) 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US11688207B2 (en) * 2018-07-26 2023-06-27 Upstream Security, Ltd. System and method for contextually monitoring vehicle state

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10083071B2 (en) * 2014-12-30 2018-09-25 Battelle Memorial Institute Temporal anomaly detection on automotive networks
US20170013005A1 (en) * 2015-06-29 2017-01-12 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network

Also Published As

Publication number Publication date
JP2022542251A (ja) 2022-09-30
WO2021016290A4 (en) 2021-03-18
US20210029147A1 (en) 2021-01-28
CA3146006A1 (en) 2021-01-28
KR102680714B1 (ko) 2024-07-02
EP4005255A1 (en) 2022-06-01
WO2021016290A1 (en) 2021-01-28
US11711386B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
US11063970B2 (en) Attack detection method, attack detection device and bus system for a motor vehicle
US11748474B2 (en) Security system and methods for identification of in-vehicle attack originator
US20220279005A1 (en) Vehicle anomaly detection server, vehicle anomaly detection system, and vehicle anomaly detection method
EP3113529B1 (en) System and method for time based anomaly detection in an in-vehicle communication network
US11665178B2 (en) Methods and arrangements for message time series intrusion detection for in-vehicle network security
JP6807906B2 (ja) 車両へのコンピュータ攻撃を阻止するためのルールを生成するシステムおよび方法
KR102680714B1 (ko) 방송 네트워크 보안을 위한 다중 상태 메시징 이상증후 검출
Müter et al. A structured approach to anomaly detection for in-vehicle networks
US11595431B2 (en) Information processing apparatus, moving apparatus, and method
US20190182267A1 (en) Vehicle security manager
US20200014758A1 (en) On-board communication device, computer program, and message determination method
CN111448787A (zh) 用于提供安全的车载网络的系统及方法
US10666671B2 (en) Data security inspection mechanism for serial networks
Jichici et al. Control System Level Intrusion Detection on J1939 Heavy-Duty Vehicle Buses
Kneib et al. On the fingerprinting of electronic control units using physical characteristics in controller area networks
Mukherjee SAE J1939-specific cyber security for medium and heavy-duty vehicles
Sun et al. Intelligent networked vehicle can network security
US20230249698A1 (en) Control apparatus
da Bernarda et al. Automotive Controller Area Network Intrusion Detection Systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right