KR20190032276A - 보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템 - Google Patents

보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템 Download PDF

Info

Publication number
KR20190032276A
KR20190032276A KR1020187032789A KR20187032789A KR20190032276A KR 20190032276 A KR20190032276 A KR 20190032276A KR 1020187032789 A KR1020187032789 A KR 1020187032789A KR 20187032789 A KR20187032789 A KR 20187032789A KR 20190032276 A KR20190032276 A KR 20190032276A
Authority
KR
South Korea
Prior art keywords
ecu
approved
component
message
network
Prior art date
Application number
KR1020187032789A
Other languages
English (en)
Other versions
KR102068228B1 (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 KR20190032276A publication Critical patent/KR20190032276A/ko
Application granted granted Critical
Publication of KR102068228B1 publication Critical patent/KR102068228B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L51/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Lock And Its Accessories (AREA)

Abstract

몇몇 실시형태에서, 본 발명은 적어도 다음의 컴포넌트를 포함하는 예시적인 독창적 디바이스를 제공한다: 적어도 하나의 네트워크의 적어도 하나의 전자 제어 유닛(ECU)과 동작적으로 관련되는 보안 록다운 컴포넌트; 보안 록다운 컴포넌트는, 디바이스가 다음 중 적어도 하나를 물리적으로 분리하도록 구성됨: i) 임의의 다른 네트워크로부터의 적어도 하나의 네트워크, ii) 적어도 하나의 네트워크로 지향되는 외부 입력으로부터의 적어도 하나의 네트워크, iii) 적어도 하나의 다른 ECU로부터의 적어도 하나의 ECU, iv) 적어도 하나의 ECU로 지향되는 외부 입력으로부터의 적어도 하나의 ECU, v) 적어도 하나의 ECU 내의 적어도 하나의 프로세싱 유닛으로부터의 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트, 및 vi) 이들의 임의의 조합.

Description

보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템
본 출원은 2016년 4월 12일자로 출원된 발명의 명칭이 "SPECIALLY PROGRAMMED COMPUTING SYSTEMS WITH ASSOCIATED DEVICES CONFIGURED TO FMPLEMENT SECURITY COMMUNICATION, CONFIGURATION, AND PHYSICAL SEPARATION LOCKDOWNS AND METHODS OF USE THEREOF"인 미국 가출원 제62/321,372호의 우선권을 주장하는데, 이 가출원은 모든 목적을 위해 참조에 의해 그 전체가 본원에 통합된다.
몇몇 실시형태에서, 본 발명은 일반적으로 보안 통신 및 구성 록다운(configuration lockdown)을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨팅 시스템에 관한 것이다.
예를 들면, 차량은 다수의 컴퓨터, 전자 제어 유닛(Electronic Control Unit; ECU)을 포함할 수도 있다. 통상적으로, ECU는 Bluetooth(TM), 3G, Wi-Fi, 및 기타와 같은 외부 통신 능력을 포함할 수도 있는 다양한 네트워크를 통해 상호 연결될 수도 있다. 몇몇 경우에, 이러한 예시적인 외부 통신 능력은 차량의 ECU 및/또는 동작 능력을 추적, 제어 및/또는 업데이트하기 위해 활용될 수도 있다.
몇몇 실시형태에서, 본 발명은 적어도 다음의 컴포넌트를 포함하는 예시적인 독창적(inventive) 디바이스를 제공한다: 적어도 하나의 네트워크의 적어도 하나의 전자 제어 유닛(electronic control unit; ECU)과 동작적으로(operationally) 관련되는 적어도 하나의 보안 록다운 컴포넌트; 적어도 하나의 보안 록다운 컴포넌트는, 디바이스가 다음 중 적어도 하나를 물리적으로 분리하도록 구성됨: i) 임의의 다른 네트워크로부터의 적어도 하나의 네트워크, ii) 적어도 하나의 네트워크로 지향되는 외부 입력으로부터의 적어도 하나의 네트워크, iii) 적어도 하나의 다른 ECU로부터의 적어도 하나의 ECU, iv) 적어도 하나의 ECU로 지향되는 외부 입력으로부터의 적어도 하나의 ECU, v) 적어도 하나의 ECU 내의 적어도 하나의 프로세싱 유닛으로부터의 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트, 및 vi) 이들의 임의의 조합; 적어도 하나의 보안 록다운 컴포넌트는, 적어도 하나의 보안 록다운 프로시져를 실행하도록 프로그래밍되는 적어도 하나의 프로세서 및 다음 중 적어도 하나를 저장하는 적어도 하나의 불휘발성 메모리 컴포넌트를 포함함: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마(schema)에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, iii) 적어도 하나의 미리 정의된 상태 머신, iv) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠, 및 vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 적어도 하나의 보안 록다운 컴포넌트의 적어도 하나의 프로세서는, 런타임시, 적어도 하나의 보안 록다운 프로시져를 실행하도록 구성되고, 적어도 하나의 보안 록다운 프로시져는 다음의 것을 하도록 구성됨: 다음 중 적어도 하나인 각각의 전자 메시지를 분석하는 것: i) 적어도 하나의 네트워크로 지향됨, ii) 적어도 하나의 네트워크 내에서 송신됨, iii) 적어도 하나의 네트워크로부터 적어도 하나의 외부 컴퓨팅 디바이스로 외부적으로 전송될 것임, iv) 적어도 ECU로 지향됨, 또는 v) 적어도 하나의 ECU로부터 송신될 것임; vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트로 송신될 것임; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 컴포넌트를 구성하도록 송신될 것임; 적어도 하나의 보안 록다운 컴포넌트는 다음 중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성됨: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, 및 iii) 적어도 하나의 미리 정의된 상태 머신; 각각의 전자 메시지의 분석에 기초하여, 다음 중 적어도 하나로의 적어도 하나의 인가되지 않은 변경을 야기할 또는 다음 중 적어도 하나를 위반할 적어도 하나의 승인되지 않은 전자 메시지를 식별하는 것: i) 적어도 하나의 네트워크의 적어도 하나의 ECU의 적어도 하나의 동작 구성, ii) 다음 중 적어도 하나와 통신하기 위해 적어도 하나의 ECU에 의해 활용되는 적어도 하나의 통신 스키마: 1) 적어도 하나의 다른 ECU 및 2) 적어도 하나의 네트워크 외부에 위치되는 적어도 하나의 외부 전자 컴퓨팅 디바이스, iii) 적어도 하나의 승인된 메시지 사전 데이터베이스, iv) 적어도 하나의 승인된 통신 스키마 데이터베이스, v) 적어도 하나의 미리 정의된 상태 머신, vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 및 적어도 하나의 인가되지 않은 전자 메시지가 적어도 하나의 보안 록다운 컴포넌트를 통과하는 것을 차단하는 것.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 프로시져는 적어도 하나의 통신 보안 록다운 프로시져이다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 프로시져는 적어도 하나의 구성 보안 록다운 프로시져이다.
몇몇 실시형태에서, 본 발명은 예시적인 독창적 디바이스를 차량에 통합하는 것을 적어도 포함하는 방법을 제공하는데, 예시적인 독창적 디바이스는 적어도 다음의 컴포넌트를 포함한다: 적어도 하나의 네트워크의 적어도 하나의 전자 제어 유닛(ECU)과 동작적으로 관련되는 적어도 하나의 보안 록다운 컴포넌트; 적어도 하나의 ECU는 차량 내에 존재함; 적어도 하나의 보안 록다운 컴포넌트는, 디바이스가 다음 중 적어도 하나를 물리적으로 분리하도록 구성됨: i) 임의의 다른 네트워크로부터의 적어도 하나의 네트워크, ii) 적어도 하나의 네트워크로 지향되는 외부 입력으로부터의 적어도 하나의 네트워크, iii) 적어도 하나의 다른 ECU로부터의 적어도 하나의 ECU, iv) 적어도 하나의 ECU로 지향되는 외부 입력으로부터의 적어도 하나의 ECU, v) 적어도 하나의 ECU 내의 적어도 하나의 프로세싱 유닛으로부터의 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트, 및 vi) 이들의 임의의 조합; 적어도 하나의 보안 록다운 컴포넌트는, 적어도 하나의 보안 록다운 프로시져를 실행하도록 프로그래밍되는 적어도 하나의 프로세서 및 다음 중 적어도 하나를 저장하는 적어도 하나의 불휘발성 메모리 컴포넌트를 포함함: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, iii) 적어도 하나의 미리 정의된 상태 머신, iv) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠, 및 vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 적어도 하나의 보안 록다운 컴포넌트의 적어도 하나의 프로세서는, 런타임시, 적어도 하나의 보안 록다운 프로시져를 실행하도록 구성되고, 적어도 하나의 보안 록다운 프로시져는 다음의 것을 하도록 구성됨: 다음 중 적어도 하나인 각각의 전자 메시지를 분석하는 것: i) 적어도 하나의 네트워크로 지향됨, ii) 적어도 하나의 네트워크 내에서 송신됨, iii) 적어도 하나의 네트워크로부터 적어도 하나의 외부 컴퓨팅 디바이스로 외부적으로 전송될 것임, iv) 적어도 ECU로 지향됨, 또는 v) 적어도 하나의 ECU로부터 송신될 것임; vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트로 송신될 것임; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 컴포넌트를 구성하도록 송신될 것임; 적어도 하나의 보안 록다운 컴포넌트는 다음 중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성됨: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, 및 iii) 적어도 하나의 미리 정의된 상태 머신; 각각의 전자 메시지의 분석에 기초하여, 다음 중 적어도 하나로의 적어도 하나의 인가되지 않은 변경을 야기할 또는 다음 중 적어도 하나를 위반할 적어도 하나의 승인되지 않은 전자 메시지를 식별하는 것: i) 적어도 하나의 네트워크의 적어도 하나의 ECU의 적어도 하나의 동작 구성, ii) 다음 중 적어도 하나와 통신하기 위해 적어도 하나의 ECU에 의해 활용되는 적어도 하나의 통신 스키마: 1) 적어도 하나의 다른 ECU 및 2) 적어도 하나의 네트워크 외부에 위치되는 적어도 하나의 외부 전자 컴퓨팅 디바이스, iii) 적어도 하나의 승인된 메시지 사전 데이터베이스, iv) 적어도 하나의 승인된 통신 스키마 데이터베이스, v) 적어도 하나의 미리 정의된 상태 머신, vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 및 적어도 하나의 인가되지 않은 전자 메시지가 적어도 하나의 보안 록다운 컴포넌트를 통과하는 것을 차단하는 것.
본 발명은 첨부된 도면을 참조하여 추가로 설명될 수 있는데, 첨부된 도면에서 동일한 구조는 여러 도면 전체에 걸쳐 동일한 참조 번호에 의해 참조된다. 도시되는 도면은 반드시 일정한 축척은 아니며, 대신, 일반적으로 본 발명의 원리를 예시하는 것에 중점을 두었다. 따라서, 본원에서 개시되는 특정한 구조 및 기능적 세부 사항은 제한하는 것으로서가 아니라, 단지, 본 발명을 다양하게 활용하도록 기술 분야에서 숙련된 자를 교시하기 위한 대표적인 기초로서만 해석되어야 한다.
도 1 내지 도 29는, 본 발명의 적어도 몇몇 실시형태의 적어도 일부 원리에 따라 묘사되는 본 발명의 몇몇 예시적인 양태를 도시한다.
개시되는 이들 이점 및 개선점 중에서, 본 발명의 다른 목적 및 이점은 첨부하는 도면과 연계하여 취해지는 다음의 설명으로부터 명백하게 될 수 있다. 본 발명의 상세한 실시형태가 본원에서 개시된다: 그러나, 개시된 실시형태는, 다양한 형태로 구현될 수도 있는 본 발명의 예시에 불과하다는 것이 이해되어야 한다. 또한, 본 발명의 다양한 실시형태와 관련하여 주어지는 예의 각각은, 제한적인 것으로서가 아니라 예시적인 것으로 의도된다.
예를 들면, 본원에서 상세히 설명되는 다양한 실시형태의 예시적인 예가 자동차 산업에서, 예컨대 다양한 타입의 이동하는 차량(예를 들면, 자동차, 트랙, 버스, 등등)에서 구현되는 것으로 설명되지만; 많은 다른 구현예가 기술 분야에서 통상의 지식을 가진 자에게 명백하게 될 수도 있고; 본 발명의 원리, 방법, 시스템 및 디바이스는 컴퓨팅 디바이스를 활용하는 다양한 다른 환경에서 유사하게 구현될 수 있다. 예를 들면, 본 발명의 원리, 방법, 시스템 및 디바이스는, 항공기, 산업 제어, 컴퓨터, 의료 디바이스, 금융 단말, 공공 시설 관리, 가정 보안, 주요 인프라 컴퓨팅 시스템(예를 들면, 교통 신호등, 전력망, 등등), 및 다른 유사하게 적절한 애플리케이션과 같은, 그러나 이들로 제한되지는 않는, 다양한 산업, 환경, 및 컴퓨팅 디바이스에서, 기술 분야에서 통상의 지식을 가진 자에게 명백하게 될 수도 있는 임의의 수정예(들)의 유무에 무관하게, 구현될 수 있다.
명세서 전반에 걸쳐, 다음의 용어는, 문맥 상 명확하게 달리 지시하지 않는 한, 본원에서 명시적으로 관련되는 의미를 취한다. 어구 "하나의 실시형태에서" 및 "몇몇 실시형태에서"는, 본원에서 사용될 때, 반드시 동일한 실시형태(들)를 가리키는 것은 아니지만, 그럴 수도 있다. 또한, 어구 "다른 실시형태에서" 및 "몇몇 다른 실시형태에서"는, 본원에서 사용될 때, 반드시 상이한 실시형태를 가리키는 것은 아니지만, 그럴 수도 있다. 따라서, 하기에서 설명되는 바와 같이, 본 발명의 다양한 실시형태는, 본 발명의 범위 또는 취지를 벗어나지 않으면서, 용이하게 결합될 수도 있다.
또한, 본원에서 사용될 때, 용어 "또는"은, 포괄적인 "또는" 연산자이며, 문맥 상 명확하게 달리 지시하지 않는 한, 용어 " 및/또는"과 등가이다. 용어 "~에 기초하는"은 배타적인 것이 아니며, 문맥 상 명확하게 달리 지시하지 않는 한, 설명되지 않은 추가적인 요인에 기초하는 것을 허용한다. 또한, 명세서 전반에 걸쳐, "a(한)", "an(한)" 및 "the(그)"의 의미는 복수 참조물을 포함한다. "in(내의)"의 의미는 "in(내의)" 및 "on(상의)"을 포함한다.
본원에서 설명되는 다양한 실시형태의 적어도 하나의 양태/기능성(functionality)이 실시간으로 및/또는 동적으로 수행될 수 있다는 것이 이해된다. 본원에서 사용될 때, 용어 "실시간"은, 다른 이벤트/액션이 발생했을 때 시간적으로 즉시 또는 거의 즉시 발생할 수 있는 이벤트/액션을 대상으로 한다. 몇몇 실시형태에서, 용어 "instantaneous(즉시의)", "instantaneously(즉시)", "instantly(즉각)", 및 "in real time(실시간으로)"는, 검색 요청이 송신되는 제1 시간과 그 요청에 대한 응답이 수신되는 제2 시간 사이의 시간 차이가 1초 이내인 상태를 가리킨다. 몇몇 실시형태에서, 요청과 응답 사이의 시간 차이는 1 초 미만과 수 초(예를 들면, 5 내지 10 초) 사이에 있다.
본원에서 사용될 때, 용어 "dynamic(ly)(동적(으로))"는, 이벤트 및/또는 액션이 어떠한 인간 개입도 없이 트리거될 수 및/또는 발생할 수 있다는 것을 의미한다. 몇몇 실시형태에서, 본 발명에 따른 이벤트 및/또는 액션은, 실시간일 수 있고 및/또는 다음 중 적어도 하나의 미리 결정된 주기성에 기초할 수 있다: 나노초, 수 나노초, 밀리초, 수 밀리초, 매초, 수 초, 매분, 수 분, 매시간, 수 시간, 매일, 며칠, 매주, 매달, 등등.
본원에서 사용될 때, 용어 "communication(통신)" 및 "message(메시지)"는 상호 교환적으로 사용될 수 있고, 통신은 단일의 메시지에 또는 복수의 메시지에 대응할 수 있다는 것이 가정될 것이다.
본원에서 사용될 때, 용어 "runtime(런타임)"은, 소프트웨어 애플리케이션 또는 소프트웨어 애플리케이션의 적어도 일부의 실행 동안 동적으로 결정되는 임의의 거동(behavior)에 대응한다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은 분산 네트워크 환경에서 동작하도록 구성되어, 적절한 데이터 통신 네트워크(예를 들면, 인터넷, 등등)를 통해 통신하고 적어도 하나의 적절한 데이터 통신 프로토콜(예를 들면, IPX/SPX, X.25, AX.25, AppleTalk(TM), TCP/IP(예를 들면, HTTP), 등등)을 활용한다. 몇몇 실시형태에서, 사이버 보안 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 적어도 10 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 10 내지 99 개, 그러나 이들로 제한되지는 않음), 적어도 100 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 100 내지 999 개, 그러나 이들로 제한되지는 않음), 적어도 1,000 개(예를 들면, 1,000 내지 9,999 개, 그러나 이들로 제한되지는 않음), 적어도 10,000 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 10,000 내지 99,999 개, 그러나 이들로 제한되지는 않음), 적어도 100,000 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 100,000 내지 999,999 개, 그러나 이들로 제한되지는 않음), 적어도 1,000,000 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 1,000,000 내지 9,999,999 개, 그러나 이들로 제한되지는 않음), 적어도 10,000,000 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 10,000,000 내지 99,999,999 개, 그러나 이들로 제한되지는 않음), 적어도 100,000,000 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 100,000,000 내지 999,999,999 개, 그러나 이들로 제한되지는 않음), 적어도 1,000,000,000 개의 다른 전자/컴퓨팅 디바이스(예를 들면, 1,000,000,000 내지 10,000,000,000 개, 그러나 이들로 제한되지는 않음)와 관련되는 상호 작용을 프로세싱/추적/관리하도록 구성된다.
본원에서 사용될 때, 용어 "cyber security lockdown(사이버 보안 록다운)", "security communication lockdown(보안 통신 록다운)", "cyber security communication lockdown(사이버 보안 통신 록다운)", "configuration lockdown(구성 록다운)" 및 유사한 것은, 신뢰할 수 있는/승인된 구성, 통신 스키마, 또는 둘 모두를 록다운하는; 그리고 변경 및/또는 수정의 원인의 임의의 시도에 대해 그들을 보호하는 예시적인 원리에 기초하는 본 발명의 몇몇 실시형태의 적어도 하나의 독창적인 방법론을 식별한다. 본 발명의 독창적인 록다운은 사이버 공격에 무관하며(agnostic), 상호 연결된 네트워크(예를 들면, 차량 내의 모든 네트워크, 발전소 내의 모든 네트워크, 등등)의 특정한 세트 내에서 발생하는 모든 통신에 대한 적어도 하나의 승인된 구성에만 집중한다.
몇몇 실시형태에서, 특정한 통신의 예시적인 독창적 록다운은, 컨텍스트에 맞는 통신 인식을 가지고(예를 들면, 통신 메시지의 특정한 시퀀스(예를 들면, 송신 및/또는 생성 순서) 및/또는 레이트만이 허용됨, 등등) 비트 레벨에서 구현될 수 있다(예를 들면, 메시지 및/또는 메시지의 세트 내의 모든 비트가 고려됨). 몇몇 실시형태에서, 독창적인 록다운의 원리는, 특정한 컴퓨팅 디바이스(들) 내의 어떤 것도 런타임 동안 변경되지 않도록, 특정한 컴퓨팅 디바이스(들)의 런타임 환경 및/또는 구성의 완전히 정적인 상태를 유지하는 것을 포함한다.
자동차 산업에서 동작하는 본 발명의 몇몇 실시형태의 예시적인 비제한적인
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 통상적으로 다수의(예를 들면, 10, 20, 30, 40, 50, 60 개의, 등등의), 전자 제어 유닛(Electronic Control Unit, ECU)으로 칭해지는 컴퓨팅 디바이스를 포함하는 차량 내에 존재하도록 구성된다. 차량의 예시적인 제어 시스템의 예시적인 ECU는, 유저 생성 신호 및/또는 센서 및/또는 액추에이터에 의해 생성되는 신호를 수신하고, 그 신호에 응답하여, 소정의 기능 수행에서 수반되는 차량 컴포넌트를 제어하도록 동작한다. 예시적인 제어 시스템의 예시적인 ECU는 또한, 다른 차량 제어 시스템에 의해 및/또는 다른 차량 제어 시스템 내의 컴포넌트에 의해 생성되는 기능의 수행에 관련이 있는 신호를 수신 및/또는 프로세싱할 수도 있다. 예를 들면, 가속 페달(accelerator pedal)과 엔진 스로틀 사이의 종래의 케이블을 대체하는 와이어 제어 시스템에 의한 차량 스로틀은, 전자 가속 페달, 엔진 제어 모듈(engine control module; ECM)로 또한 칭해지는 ECU, 및 엔진 안으로의 공기 흐름 및, 그에 의해, 엔진이 생성하는 동력을 제어하는 전자 스로틀 밸브를 포함할 수도 있다. 전자 가속 페달은, 운전자가 페달을 밟는 위치에 응답하여 전자 신호를 생성할 수도 있다. 예시적인 ECM은 가속 페달 신호, 및, 또한, 차량 내 통신 네트워크를 통해 엔진의 안전하고 효율적인 제어에 관련이 있는 정보를 제공하는, 차량 내의 다른 센서, 액추에이터 및 전자 제어 시스템에 의해 생성될 수도 있는 전자 신호를 수신할 수도 있다. 그 다음, 예시적인 ECM은, 드라이버 입력 신호 및 다른 관련 신호를 프로세싱하여, 스로틀을 제어하는 전자 제어 신호를 생성할 수도 있다. 다른 센서 중에서, 액추에이터, 및 차량 내 네트워크를 통해 관련 신호를 ECM으로 제공할 수도 있는 전자 제어 시스템은, 공기 유량 센서(air-flow sensor), 스로틀 위치 센서, 연료 주입 센서, 엔진 속도 센서, 차량 속도 센서, 와이어 시스템에 의해 브레이크 내에 포함되는 제동력(brake force) 및 다른 견인력(traction) 제어 센서, 및 크루즈 컨트롤 센서이다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 예컨대, 차량을 원격으로 추적, 제어, 및/또는 업데이트하는, 그러나 이들로 제한되지는 않는 다양한 목적을 위해, 제조 업자, 승객, 보험 대리점, 및 다양한 다른 제3자 엔티티에 의해 사용될 수도 있는 외부 통신(예를 들면, 블루투스™, 3G, Wi-Fi, 및 등등)을 수반할 수 있는 다양한 컴퓨팅 네트워크(예를 들면, 버스)를 통해 상호 연결될 수 있는 예시적인 ECU와 상호 작용하도록 구성된다. 예를 들면, 현대의 차량의 차량 내 통신 네트워크는, 통상적으로, 차량의 안전하고 효율적인 동작에 대해 다양한 정도의 중요도를 갖는 상대적으로 많은 그리고 점점 증가하는 수의 전자 제어 시스템에 대한 통신을 지원하도록 요구받는다. 예를 들면, 차량은, 서로 통신하는 70 개 이상만큼 많은 그러나 이들로 제한되지는 않는 제어 시스템 ECU 및 차량 내 네트워크를 통해 차량 기능을 모니터링 및 제어하는 센서 및 액추에이터를 포함할 수도 있다. ECU는, 예로서, 상기에서 설명되는 엔진 스로틀 외에, 파워 스티어링, 트랜스미션, 미끄럼 방지 장치(Antilock Braking; ABS), 에어백 전개, 크루즈 컨트롤, 파워 윈도우, 도어, 및 미러 조정을 제어하기 위해 사용될 수도 있다. 또한, 차량 내 네트워크는, 통상적으로, 온보드 진단(on board diagnostic; OBD) 시스템 및 통신 포트, 다양한 차량 상태 경고 시스템, 충돌 회피 시스템, 청각적 및 시각적 정보 및 엔터테인먼트(information and entertainment)(인포테인먼트(infotainment)) 시스템 및 온보드 카메라 시스템에 의해 획득되는 이미지의 프로세싱을 지원한다. 차량 내 네트워크는, 일반적으로 또한, 이동 통신 네트워크, Wi-Fi 및 블루투스(Bluetooth) 통신, 무선, TPMS(tire pressure monitor system; 타이어 공기압 모니터링 시스템) V2X(차량 대 차량 및 차량 대 인프라 통신), 키리스(keyless) 입력 시스템, 인터넷, 및 GPS(global positioning system; 전지구 위치 결정 시스템)에 대한 액세스를 제공한다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 사이버 위협(예를 들면, 제3 자에 의한 인가되지 않은 액세스, 컴퓨터 바이러스의 주입, 등등)을 방지하도록 구성된다. 몇몇 실시형태에서, 보안 구성 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 차량 내의 다양한 ECU의 구성 및 런타임 환경을, 그들 내에서 어떤 것도 런타임 동안 변하지 않도록 강제되는(enforced) 완전히 정적인 상태로 유지하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 보안 통신 록다운을 실행하기 위해, 적어도 하나의 "승인된 메시지 사전" 데이터베이스 및 적어도 하나의 "승인된 통신 스키마" 데이터베이스에 의존하도록 구성된다.
몇몇 실시형태에서, 승인된 메시지 사전 데이터베이스는, 제조사의 사양 및/또는 다른 지정된 기관으로부터의 입력에 기초하여 미리 정의되는 바와 같은 모든 유효한 메시지에 대한 정의를 저장한다. 예를 들면, 승인된 메시지 사전 데이터베이스는, 각각의 메시지 구조의 "승인된" 정의 및 각 개별 메시지의 각각의 파라미터와 관련되는 승인된 값(들)을 저장할 수 있다.
몇몇 실시형태에서, 승인된 통신 스키마 데이터베이스는, 제조사의 사양 및/또는 다른 지정된 기관으로부터의 입력에 기초하여 정의되는 바와 같은 모든 통신 스키마에 대한 정의를 저장한다. 예를 들면, 승인된 통신 스키마 데이터베이스는 다음 중 적어도 하나의 "승인된" 정의를 저장할 수 있다:
- 모든 승인된 메시지 시퀀스,
- 특정한 메시지에 대해 승인된 소스-목적지 쌍,
- 통신 속도(예를 들면, 각각의 특정한 메시지의 송신의 주기성),
- 차량의 내부 상태(예를 들면, 엔진 상태, 특정한 속도, 라이트 점등, 소등) 및/또는 외부 입력(예를 들면, 비, 미끄러운 도로, 차량에 연결되는 또는 차량에 연결하려고 시도하는 적어도 하나의 외부 시스템의 상태, 등등)에 따른 메시징 로직(프로토콜), 및
- 이들의 임의의 조합.
독창적인 상태 머신(들)을 활용하는 몇몇 실시형태에서, 예시적인 독창적 상태 머신은, 특정한 상태(예를 들면, 특정한 현재 상태)에서 어떤 메시지(들)가 허용되는지를 통제하도록 정의될 수 있다. 예를 들면, 예시적인 독창적 상태 머신은 각각의 특정한 상태에 대해 다음 중 적어도 하나를 통제하도록 정의될 수 있다:
- 모든 승인된 메시지 시퀀스,
- 특정한 메시지에 대해 승인된 소스-목적지 쌍,
- 통신 속도(예를 들면, 각각의 특정한 메시지의 송신의 주기성),
- 차량의 내부 상태(예를 들면, 엔진 상태, 특정한 속도, 라이트 점등, 소등) 및/또는 외부 입력(예를 들면, 비, 미끄러운 도로, 차량에 연결되는 또는 차량에 연결하려고 시도하는 적어도 하나의 외부 시스템의 상태, 등등)에 따른 메시징 로직, 및
- 이들의 임의의 조합.
몇몇 실시형태에서, 승인된 메시지 사전 및 승인된 통신 스키마는, 예를 들면, 다음의 논리 레이어를 포함할 수도 있는, 그러나 이들로 제한되지는 않는 세(3) 개의 논리 레이어 모델을 사용하여 표현될 수 있다:
1. 콘텐츠(데이터) 레이어 - 이것은 승인된 메시지 사전에 포함되는 모든 승인된/유효한(미리 정의된) 메시지를 나타냄;
2. 라우팅 레이어 - 이것은 특정한 메시지에 대한 승인된 모든 소스-목적지 쌍을 나타냄; 및
3. 컨텍스트(상태) 레이어 - 이것은 다음 중 적어도 하나를 나타냄:
- 모든 승인된 메시지 시퀀스,
- 통신 속도(예를 들면, 각각의 특정한 메시지의 송신의 주기성),
- 차량의 내부 상태(예를 들면, 엔진 상태, 특정한 속도, 라이트 점등, 소등) 및/또는 외부 입력(예를 들면, 비, 미끄러운 도로, 차량에 연결되는 또는 차량에 연결하려고 시도하는 적어도 하나의 외부 시스템의 상태, 등등)에 따른 메시징 로직, 및
- 이들의 임의의 조합.
몇몇 실시형태에서, 세 개의 레이어는 모두 함께, 본원에서 상술되는 바와 같이 예시적인 독창적 상태 머신을 사용하여 구현될 수 있다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 제조사 사양을 전자적으로 획득하도록 그리고 적어도 하나의 승인된 메시지 사전 데이터베이스 및/또는 적어도 하나의 승인된 통신 스키마 데이터베이스를 자동적으로 생성하도록 구성된다. 몇몇 실시형태에서, 승인된 메시지 사전과 관련되는 정의 및 승인된 통신 스키마와 관련되는 정의는 동일한 데이터베이스(들) 내에 존재할 수 있다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 도 1에서 식별되는 예시적인 컴포넌트를 포함하도록 구성된다. 예를 들면, 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 보안 통신 록다운을 구현하도록 구성되는 예시적인 독창적 디바이스(들)는 차량 네트워크 내부에 설치되는 하나 또는 여러 개의 ECU를 포함할 수 있고, 그 결과, 다양한 차량 네트워크 사이의 통신의 전체 또는 미리 결정된 부분은 보안 통신 록다운을 구현하도록 구성되는 독창적인 디바이스(들)을 통해 흐르고 그들을 우회할 수 없다. 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 독창적 디바이스(들)는, 보안 통신 록다운을 요구하는 차량 네트워크의 일부분만을 제어하도록 구성될 수 있다. 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 독창적 디바이스(들)는 특정한 네트워크에 대한 단일의 ECU 통신만을 제어하도록 구성될 수 있다. 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는, 독창적인 디바이스(들)의 능력 및/또는 기능을 전혀 인식할 필요 없이 자신의 통신이 통과할 수 있는 모든 다른 ECU에게 투명하도록 구성된다. 예를 들면, 다른 ECU는 마치 그곳에 본 발명의 디바이스(들)가 없었던 것처럼 계속 통신할 수 있다.
몇몇 실시형태에서, 도 2에서 예시되는 바와 같은 분산형 아키텍쳐에서 보안 통신 록다운을 강제하기 위해, 예시적이고 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 보안 통신 록다운을 구현하도록 구성되는 다수의 독창적인 디바이스를 포함할 수 있는데, 다수의 독창적인 디바이스는, 다음과 같이 되도록, 그러나 이들로 제한되지는 않도록, 배치된다:
- 보안 통신 록다운을 구현하도록 구성되는 적어도 하나의 독창적인 디바이스는 차량의 특정한 통신 네트워크에 전용되고 입구/출구 지점으로서 작용함,
- 보안 통신 록다운을 구현하도록 구성되는 적어도 하나의 독창적인 디바이스는 각각의 외부 통신 지점에 전용됨(예를 들면, 3G 모뎀, Wi-Fi 라우터, 등등 앞에 있음)(도 2), 및/또는
- 보안 통신 록다운을 구현하도록 구성되는 적어도 하나의 독창적인 디바이스는 네트워크(들) 내의 특정한 ECU(예를 들면, 텔레매틱스 ECU, 인포테인먼트 ECU, 엔진 관리 ECU)에 전용됨.
몇몇 실시형태에서, 도 3에서 예시되는 바와 같은 중앙 집중식 아키텍쳐(centralized architecture)에서 보안 통신 록다운을 강제하기 위해, 예시적이고 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 차량의 네트워크 모두를 상호 연결하는, 보안 통신 록다운을 구현하도록 구성되는 집중식의(central) 독창적인 디바이스를 포함할 수 있다. 예를 들면, 도 3에서 예시되는 바와 같이, 보안 통신 록다운 네트워크를 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 그것이 바이패스될 수 없도록 배치된다(네트워크(들) 내의/외부로의, 외부 인터페이스(들) 내의/외부로의, 그리고 네트워크 사이의 모든 통신은 예시적인 집중식의 독창적인 디바이스를 통과할 것이다).
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는, 모든 통신이 실제로 유효하다는 것을 보장하기 위해, 모든 통신을 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스에 대해 검증하도록 구성된다. 몇몇 실시형태에서, 도 4에서 예시되는 바와 같이, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는, 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스에 대한 유효성 확인(validation)이 임의의 이유 때문에 실패한 임의의 통신을 드롭(예를 들면, 삭제)하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는, 통신이 그 의도된 목적지(들)로 전송되는 것을 허용할지 또는 그것을 차단할지 그리고 그렇게 하는 것에 의해 공격을 방지할지의 여부를 결정하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는 차단된 각각의 통신을 로깅하도록(log) 구성된다. 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는, 각각의 실패한 통신을 매번 또는 미리 결정된 주기 기반으로 일괄적으로 보고하기 위한 표시(indication)(예를 들면, 경보, 리포트)를 생성하도록 구성된다. 몇몇 실시형태에서, 표시는 시각적 형태, 청각적 형태, 또는 둘 모두일 수도 있다.
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 디바이스(들)는, 승인된 통신(들)에 대한 록다운을 강제하는 것(즉, 미리 정의된 허용된 통신만이 통과하도록 허용된다)에 초점을 맞추는 것에 의해, 특정한 공격 또는 공격 전략에 완전히 무관하게 되도록 구성된다. 예를 들면, 예시적인 승인된 메시지 사전 데이터베이스 및/또는 예시적인 승인된 통신 스키마 데이터베이스는, 런타임 동안 어떠한 가능한 수정도 없이, 완전히 정적이고 결정론적이다(deterministic). 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, (예시적인 승인된 메시지 사전 데이터베이스 및/또는 예시적인 승인된 통신 스키마 데이터베이스 내의 각각의 승인된 메시지 통신 스키마가 동일하게 유지되는 한) 어떠한 업데이트도 요구하지 않도록 그리고 임의의 외부 엔티티(들)에 대한 어떠한 연결성도 요구하지 않도록 구성된다. 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 예시적인 승인된 메시지 사전 데이터베이스 및/또는 예시적인 승인된 메시지 통신 스키마 데이터베이스에 따라 정적인 결정 메커니즘에 의존하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 관련 디바이스를 갖는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 그들이 상호 연결하는 모든 네트워크 사이에서 물리적 분리를 제공하도록, 따라서 네트워크 사이에서 악의적인 또는 우발적인 인가되지 않은 누출(들)에 대해 보안성의 추가적인 레이어를 제공하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 독창적인 디바이스는, 설명된 독창적인 통신 록다운 능력을 제공하면서, 통상적으로 차량에 존재하는 게이트웨이 ECU(들) 대신 설치되도록, 따라서, 형태, 적합성 및 기능에서 게이트웨이 ECU(들)를 대체하도록 구성된다.
보안 통신 록다운을 구현하도록 구성되는 집중식의 독창적인 디바이스의 예시적인 예
하나의 경우에, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스(즉, 독창적인 ECU)는 차량의 다음의 세 개의 네트워크를 상호 연결할 수 있다: MOST(Media Oriented Systems Transport; 모스트) 프로토콜에 기초한 인포테인먼트 네트워크, CAN(control area network; 제어 영역 네트워크) 프로토콜에 기초한 파워트레인(Powertrain) 네트워크 및 이더넷 및/또는 FlexRay(ISO 17458-1 내지 17458-5) 통신 프로토콜에 기초한 안전(Safety) 네트워크. 몇몇 실시형태에서, 도 5에서 예시되는 바와 같이, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는 적어도 다음의 컴포넌트를 포함할 수 있다: 적어도 하나의 프로세서(예를 들면, 마이크로프로세서), 메모리 유닛(예를 들면, 플래시 저장 메모리, 런타임 메모리에 기초한 DDR RAM), 적어도 하나의 CAN 트랜스시버, 적어도 하나의 MOST 트랜스시버 및 적어도 하나의 FlexRay 트랜스시버.
몇몇 실시형태에서, 예시적인 마이크로프로세서는, 모두 세 개의 트랜스시버에 대한 드라이버 및 (프로세서 및 메모리와 호환 가능한) 특정 보드 상에서 동작하기 위한 드라이버 모두를 포함하는 리눅스(Linux)에 기초한 소프트웨어 패키지를 구비할 수 있다. 예를 들면, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스의 예시적인 리눅스 구현예에서, 병렬의 네(4) 개의 실행 프로세스가 존재할 수 있다: 각각의 네트워크 상에서의 특정한 통신을 각각 핸들링하는 세 개의 프로세스 및 보안 통신 록다운을 구현하는 독창적인 보안 코어를 실행하는 제4 프로세서. 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 모든 승인된 메시지의 목록을, 예를 들면 그러나 비제한적으로, XML 포맷으로, 및/또는 승인된 통신 스키마 데이터베이스에 포함할 수 있는 승인된 메시지 사전 데이터베이스를 저장하도록 구성된다. 예를 들면, 데이터베이스 내의 각각의 승인된 메시지 엔트리는 각각의 메시지가 가질 수 있는 모든 필드를, 예를 들면 그러나 비제한적으로, 비트 레벨(비트 레벨 표현)에서 정의할 수 있다.
몇몇 실시형태에서, 예를 들면, 각각의 메시지는 고유한 메시지 ID를 포함할 수 있다. 결국, 승인된 통신 스키마 데이터베이스는 각각의 통신 스키마에 대한 정의를, 예를 들면 그러나 비제한적으로, 서로 통신하도록 승인되는 소스 ECU-타겟 ECU 쌍의 형태로 포함할 수 있다. 예를 들면, 각각의 쌍에 대해, 승인된 통신 스키마 데이터베이스는, 그들 각 개별 소스 ECU-타겟 ECU 쌍 사이에서 전달될 수 있는 승인된 메시지에 대응하는 메시지 ID의 목록을 포함할 수 있다. 예를 들면, 각각의 쌍에 대해, 승인된 통신 스키마 데이터베이스는, 이들 메시지의 각각이 전송될 수 있는 승인된 속도(예를 들면, 초당 최대 2 회)를 또한 정의할 수 있다. 예를 들면, 각각의 쌍에 대해, 승인된 통신 스키마 데이터베이스는, 각각의 메시지가 전송될 수 있는 차량, 통신, 및/또는 네트워크(들)의 승인된 컨텍스트 또는 상태(들)를 또한 정의할 수 있다(예를 들면, 특정한 메시지가 전송되도록 인가되기 이전에 특정한 메시지에 선행할 수 있는 메시지의 모든 조합을 정의함).
몇몇 실시형태에서, 도 4에서 예시되는 바와 같이, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는 각각의 수신된 통신을 다음과 같이, 그러나 그에 제한되지 않게 핸들링하도록 구성된다. 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 메시지를 수신하도록 그리고 승인된 메시지 사전 데이터베이스에 대해 메시지를 비교하도록 구성된다. 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스가, 그 메시지를, 승인된 메시지 사전 데이터베이스 내의 허용된 메시지의 엔트리에 매치시키지 못하면, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는 그러한 메시지를 차단하도록 구성된다. 매치가 발견되면, 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 메시지의 메시지 ID를 로깅/저장하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 승인된 통신 스키마 데이터베이스에 적어도 부분적으로 기초하여, 소스 및 목적지 ECU 및/또는 네트워크가 서로 통신할 수 있다는 것을 검증하기 위한 다음 체크를 수행하도록 구성된다. 몇몇 실시형태에서, 메시지가 이 소스-목적지 쌍 및 메시지 ID에 대한 이 체크를 통과하면, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 승인된 컨텍스트를 검증하는 것에 의해 다음 체크를 추가로 수행하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 예시적인 집중식의 독창적인 디바이스가 턴 온된 이후 통과되는 메시지의 전체 이력을 자신의 메모리에 포함하도록 구성된다. 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 승인된 통신 스키마 데이터베이스에 기초하여, 메시지의 컨텍스트가 승인되는지(예를 들면, 이 메시지가 통과하는 데 필요한 전제 조건의 메시지가 기록되어 있었는지)의 여부를 결정하기 위해 이력에 대해 체크하는 것에 의해, 다음 체크를 추가로 수행하도록 구성된다. 상세한 체크 중 임의의 것이 실패하면, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는 메시지를 드롭하도록 구성된다. 모든 상세한 체크를 통과하면, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 목적지 ECU가 연결되는 자신의 타겟 네트워크로 메시지를 전송하도록 구성된다.
예를 들면, 안전 네트워크에 무선으로 연결될 수 있는 타이어 압력 모니터링 센서(TPMS)는, 인포테인먼트 컴퓨터에 우측 전방 타이어의 압력을 포함하는 메시지를 전송한다. 승인된 메시지 사전 데이터베이스에서 매치가 발견되는 경우 - 즉, 우측 전방 타이어의 압력을 갖는 TPMS로부터의 메시지가 존재할 수 있다는 것을 정의하는 엔트리가 존재하는 경우, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 이 메시지가 시스템 내의 유효한 메시지이다는 것을 결정한다. 또한, 승인된 통신 스키마 데이터베이스는 TPMS ECU가 인포테인먼트 ECU에 초당 1 회까지 그리고 임의의 컨텍스트와 함께(어떠한 이전 이력 요건 없이) 메시지를 전송할 수 있다는 것을 정의하고, 따라서 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는 이들 결정에 기초하여 메시지를 검증하고 그 메시지를 드라이버에 대한 디스플레이를 위해 인포테인먼트 ECU로 전달한다.
TPMS 센서가 해킹되고 공격자가 파워트레인 네트워크의 엔진 ECU에 엔진 정지 메시지를 전송하려고 시도하는 경우, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 그 메시지가 승인된 메시지 사전 데이터베이스 내에 존재하기 때문에 그 메시지 자체가 유효성이 확인이 되었더라도, TPMS ECU의 소스-목적지 쌍 및 엔진 ECU가 승인된 통신 스키마 데이터베이스에 존재하기 않는다는 것을 결정한다. 예를 들면, 승인된 통신 스키마 데이터베이스는, TPMS 센서가 정지 메시지를 엔진으로 전송하는 것을 차량의 특정한 상태 및 특정한 컨텍스트가 허용하지 않는다는 것을 정의할 수도 있다. 결과적으로, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는 메시지를 차단(드롭/삭제)하여, 공격을 방지하도록 구성된다.
몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 메시지의 유효성에 관해 목적지 ECU에 의해 인식되는 메시지가 검증되었는다는 표시를 나타내는 메타데이터의 부분(piece)를 메시지에 추가하도록 구성된다. 몇몇 실시형태에서, 보안 통신 록다운을 구현하도록 구성되는 예시적인 집중식의 독창적인 디바이스는, 메시지가 검증을 통과했다는 것을 소스 ECU에 경보하도록 구성된다.
ECU의 구성 록다운의 예시적인 예
몇몇 실시형태에서, 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 보안 통신 록다운을 구현하도록 구성되는 독창적인 디바이스에 대해 구성 록다운 프로시져를 구현하도록 구성되지만, 그러나 또한 차량 내에 존재하는 각 개별 다른 ECU와 함께 구성 록다운 프로시져를 구현하도록 구성된다. 예를 들면, 보안 통신 록다운은 특정한 ECU 내부에서 구현될 수도 있다(예를 들면, ECU의 아키텍쳐에 독창적인 소프트웨어/하드웨어 컴포넌트를 추가함). 다른 예에서, 보안 통신 록다운은, 독창적인 소프트웨어/하드웨어 컴포넌트를, 그러한 ECU와 네트워크 사이에서 독창적인 통신 록다운을 구현할 ECU에 부착하는 것에 의해 구현될 수도 있다.
예를 들면, 도 6에서 예시되는 바와 같이, 일반적으로, 특정한 시점/주기에서의 ECU의 전역적 상태는, 실행 중인 그것의 소프트웨어, 그것의 메모리의 상태 및/또는 그것의 하드웨어 컴포넌트에 의해 정의된다. 예를 들면, 예시적인 독창적 구성 록다운 프로시져는, 신뢰할 만한 엔티티(예를 들면, 제조사)에 의해 설정될 수 있는, 특정한 ECU를 동작시키기 위해 필요로 되는 소프트웨어 및/또는 펌웨어 패키지(예를 들면, 드라이버)의 정의 - 즉, "승인된 소프트웨어 패키지" 정의 - 에 의존할 수 있다. 예를 들면, 예시적인 독창적 구성 록다운 프로시져는 또한, 메모리의 적어도 일부가 기록 가능하고 및/또는 판독 가능한, 록다운을 필요로 하는 메모리의 콘텐츠(예를 들면, 소프트웨어, 구성 파라미터, 등등의 코드)를 정의할 수 있는 "승인된 메모리 맵" 정의에 의존할 수 있다. 예를 들면, 예시적인 독창적 구성 록다운 프로시져는 또한, 가상 하드웨어 디바이스(예를 들면, 소프트웨어로 에뮬레이팅되는 하드웨어 디바이스)를 비롯한, 특정한 ECU 내의 모든 하드웨어의 매핑을 적어도 포함하는 "승인된 하드웨어 구성" 정의에 의존할 수 있다. 예를 들면, 승인된 하드웨어 구성 정의는, 하드웨어의 구성 파라미터(들)(예를 들면, 어드레스, 클록, 핀 설정, 동작 모드, 및 이들의 임의의 조합)를 포함할 수 있다.
몇몇 실시형태에서, ECU당 구성 록다운을 강제하기 위해, 추가적인 독창적인 소프트웨어/펌웨어 및/또는 하드웨어 컴포넌트(들)("구성 록다운 컴포넌트(들)")가 각각의 ECU에 추가된다. 몇몇 실시형태에서, 구성 록다운 컴포넌트(들)의 타입 및 동작 조건(들)은, 각각의 ECU에 관련되는 동작 및/또는 환경 요인(들)에 기초하여 변할 수도 있다. 예를 들면, 몇몇 실시형태에서, 구성 록다운 컴포넌트(들)는, ECU 상에서 실행하는 각각의 소프트웨어 및/또는 펌웨어에 의한 및/또는 다른 하드웨어 컴포넌트에 의한 모든 메모리 액세스를 검증하도록 구성된다. 예를 들면, 구성 록다운 컴포넌트(들)는, 다음의 것 - 그러나 이들로 제한되지는 않음 - 중 적어도 하나를 수행하도록 구성된다:
1) ECU 메모리에 저장되며 일단 실행되면 로딩되는 승인된 소프트웨어 패키지가 수정되지 않았다는 것을 검증함;
2) 런타임 메모리(예를 들면, RAM)에 로딩되는 승인된 소프트웨어 패키지가 런타임 동안 변경되지 않았다는 것을 검증함;
3) 승인된 메모리 맵 정의에 기초하여, 승인된 메모리 맵이 무효화되지 않았다는 것을 검증함 - 예를 들면, 소프트웨어 및/또는 하드웨어 엔티티(들)가 행하려고 시도하고 있는 동작에 대해 승인된 메모리의 섹션(들)만을 소프트웨어 및/또는 하드웨어 엔티티(들)가 사용함(예를 들면, 메모리의 판독 전용 섹션(들)은 기록되지 않고, 잠긴 섹션(들)은 액세스되지 않고, 코드 및 명령어 메모리는 데이터에 대해 사용되지 않고, 등등); 및
4) 승인된 하드웨어 구성 정의(예를 들면, 하드웨어 어드레스(들)가 변경되지 않음, 구성 파라미터(들)가 승인된 범위(들)를 넘어서 변경되지 않음, 등등)에 기초하여 하드웨어 구성을 저장하는 메모리가 무효화되지 않았다는 것을 검증함.
예를 들면, 하드웨어 구성은 일반적으로 ECU의 초기화 동안 로딩되고, 따라서, 통상적인 시나리오에서는, 하드웨어 구성은 런타임 동안 전혀 변경되어서는 안된다. 몇몇 실시형태에서, ECU마다 구성 록다운을 강제하기 위해, 독창적인 구성 록다운 컴포넌트(들)는, 각각의 하드웨어 컴포넌트가 자신의 특정한 구성만을 수신하고 나머지는 전혀 수신하지 않는 것을 보장하도록 구성된다.
몇몇 실시형태에서, 도 7에서 예시되는 바와 같이, ECU마다 구성 록다운을 강제하기 위해, 독창적인 구성 록다운 컴포넌트(들)는, ECU 내의 메모리(예를 들면, 스토리지 및 런타임 메모리 둘 모두)를 물리적으로 분리하는 그리고 승인된 구성 정의(들)(예를 들면, 승인된 소프트웨어 패키지 정의, 승인된 메모리 맵 정의, 승인된 하드웨어 구성 정의, 및 이들의 임의의 조합)를 강제하는 적어도 하나의 전용 하드웨어 컴포넌트를 포함한다.
본원에서의 참조로서, 용어 "저장 메모리"는, 코드 및/또는 데이터가 정지되어 저장되는 불휘발성 컴퓨터 메모리(예를 들면, 하드 드라이브, 플래시 메모리, 등등)를 대상으로 한다.
본원에서의 참조로서, 용어 "런타임 메모리"는, 현재 실행 중인 프로그램의 실행을 위해 사용되는 코드 및/또는 데이터를 저장하기 위해 사용되는 동작 메모리(예를 들면, RAM)를 대상으로 한다.
몇몇 실시형태에서, 도 8에서 예시되는 바와 같이, ECU마다 구성 록다운을 강제하기 위해, 독창적인 구성 록다운 컴포넌트(들)는 ECU 상에서 모든 메모리 액세스를 중재할 수도 있는 소프트웨어 또는 펌웨어의 부분을 포함한다. 예를 들면, ECU마다 구성 록다운을 강제하기 위해, 독창적인 구성 록다운 컴포넌트(들)는 메모리에 대해 직렬로 존재하도록 및/또는 동작하도록 구성되고, 그 결과, 독창적인 구성 록다운 컴포넌트(들)는 바이패스될 수 없다 - 즉, 모든 필요한 메모리 액세스는 독창적인 구성 록다운 컴포넌트(들)를 통과할 것이다.
몇몇 실시형태에서, 도 7에 예시되는 것과 같은 독창적인 구성 록다운 컴포넌트는, 내장된 불휘발성 메모리를 갖는 적어도 하나의 프로세서(예를 들면, 마이크로프로세서)(예를 들면, 내장된 플래시 메모리를 갖는 시스템 온 칩(system on chip))를 포함할 수 있다. 몇몇 실시형태에서, 독창적인 구성 록다운 컴포넌트는 저장 메모리 및/또는 런타임 메모리에 직접적으로 연결되고, 모든 액세스는 독창적인 구성 록다운 컴포넌트를 통과한다. 예를 들면, 프로세서는, 저장 메모리 및/또는 런타임 메모리에서 판독 가능한 및/또는 기록 가능한 모든 메모리 섹션(들)의 메모리 내에서의 목록을 갖는다. 예를 들면, 독창적인 구성 록다운 컴포넌트는, 특정한 ECU의 메인 프로세서로부터 및/또는 특정한 ECU의 다른 컴포넌트로부터 유래하는 각각의 메모리 커맨드를 체크/검증하도록 구성된다. 예를 들면, 독창적인 구성 록다운 컴포넌트는 다음의 것, 그러나 이들로 제한되지는 않는 것 중 적어도 하나를 체크하도록 구성된다:
- 커맨드가 판독 또는 기록을 위한 것인가?
- 메모리의 어떤 부분에 액세스하려고 시도하고 있는가?
- 이 메모리 내의 어떤 어드레스에 액세스하려고 시도하는가?
예를 들면, 독창적인 구성 록다운 컴포넌트는, 로컬하게 저장되는 승인된 구성 정의(들)(예를 들면, 승인된 소프트웨어 패키지 정의, 승인된 메모리 맵 정의, 승인된 하드웨어 구성 정의, 및 이들의 임의의 조합)에 대해 이들 파라미터를 비교하도록 구성된다. 예를 들면, 필요한 메모리 어드레스가 특정한 동작(예를 들면, 판독/기록)에 대해 액세스 가능한 것으로 열거되어 있다는 것을 독창적인 구성 록다운 컴포넌트가 결정하면, 독창적인 구성 록다운 컴포넌트는 그러한 커맨드의 실행을 허용하도록 구성된다. 예를 들면, 요구된 메모리 어드레스가 특정한 동작에 대해 액세스 가능하지 않은 것으로 열거되어 있다는 것을 독창적인 구성 록다운 컴포넌트가 결정하면, 독창적인 구성 록다운 컴포넌트는 그 커맨드를 차단하도록 구성된다. 몇몇 실시형태에서, 독창적인 구성 록다운 컴포넌트는, 커맨드가 액세스 위반을 했다는 것을, 커맨드를 전송했던 엔티티에게 다시 보고할 수 있다. 몇몇 실시형태에서, 독창적인 구성 록다운 컴포넌트는 액세스 위반의 기록을 로깅한다.
몇몇 실시형태에서, 본 발명은 적어도 다음의 컴포넌트를 포함하는 예시적인 독창적 디바이스를 제공한다: 다음을 포함하는 적어도 하나의 네트워크의 적어도 하나의 전자 제어 유닛(ECU)과 동작적으로 관련되는 적어도 하나의 보안 록다운 컴포넌트; 적어도 하나의 보안 록다운 컴포넌트는, 디바이스가 다음 중 적어도 하나를 물리적으로 분리하도록 구성됨: i) 임의의 다른 네트워크로부터의 적어도 하나의 네트워크, ii) 적어도 하나의 네트워크로 지향되는 외부 입력으로부터의 적어도 하나의 네트워크, iii) 적어도 하나의 다른 ECU로부터의 적어도 하나의 ECU, iv) 적어도 하나의 ECU로 지향되는 외부 입력으로부터의 적어도 하나의 ECU, v) 적어도 하나의 ECU 내의 적어도 하나의 프로세싱 유닛으로부터의 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트, 및 vi) 이들의 임의의 조합; 적어도 하나의 보안 록다운 컴포넌트는, 다음 중 적어도 하나를 저장하는, 적어도 하나의 불휘발성 메모리 컴포넌트 및 적어도 하나의 보안 록다운 프로시져를 실행하도록 프로그래밍되는 적어도 하나의 프로세서를 포함함: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, iii) 적어도 하나의 미리 정의된 상태 머신, iv) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠, 및 vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 적어도 하나의 보안 록다운 컴포넌트의 적어도 하나의 프로세서는, 런타임시, 적어도 하나의 보안 록다운 프로시져를 실행하도록 구성되고, 적어도 하나의 보안 록다운 프로시져는 다음의 것을 하도록 구성됨: 다음 중 적어도 하나인 각각의 전자 메시지를 분석하는 것: i) 적어도 하나의 네트워크로 지향됨, ii) 적어도 하나의 네트워크 내에서 송신됨, iii) 적어도 하나의 네트워크로부터 적어도 하나의 외부 컴퓨팅 디바이스로 외부적으로 전송될 것임, iv) 적어도 ECU로 지향됨, 또는 v) 적어도 하나의 ECU로부터 송신될 것임; vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트로 송신될 것임; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 컴포넌트를 구성하도록 송신될 것임; 적어도 하나의 보안 록다운 컴포넌트는 다음 중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성됨: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, 및 iii) 적어도 하나의 미리 정의된 상태 머신; 각각의 전자 메시지의 분석에 기초하여, 다음 중 적어도 하나로의 적어도 하나의 인가되지 않은 변경을 야기할 또는 다음 중 적어도 하나를 위반할 적어도 하나의 승인되지 않은 전자 메시지를 식별하는 것: i) 적어도 하나의 네트워크의 적어도 하나의 ECU의 적어도 하나의 동작 구성, ii) 다음 중 적어도 하나와 통신하기 위해 적어도 하나의 ECU에 의해 활용되는 적어도 하나의 통신 스키마: 1) 적어도 하나의 다른 ECU 및 2) 적어도 하나의 네트워크 외부에 위치되는 적어도 하나의 외부 전자 컴퓨팅 디바이스, iii) 적어도 하나의 승인된 메시지 사전 데이터베이스, iv) 적어도 하나의 승인된 통신 스키마 데이터베이스, v) 적어도 하나의 미리 정의된 상태 머신, vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 및 적어도 하나의 인가되지 않은 전자 메시지가 적어도 하나의 보안 록다운 컴포넌트를 통과하는 것을 차단하는 것.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 프로시져는 적어도 하나의 통신 보안 록다운 프로시져이다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 프로시져는 적어도 하나의 구성 보안 록다운 프로시져이다.
몇몇 실시형태에서, 컨텍스트에 맞는 통신 인식 분석은, 다음 중 적어도 하나에 적어도 부분적으로 기초한다: 복수의 전자 메시지의 적어도 하나의 미리 결정된 통신 시퀀스 및 복수의 전자 메시지의 적어도 하나의 미리 결정된 통신 속도.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는, i) 비트 단위 분석(bit-by-bit analysis) 및 ii) 컨텍스트에 맞는 통신 인식 분석 중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성된다.
몇몇 실시형태에서, 적어도 하나의 네트워크의 적어도 하나의 ECU의 적어도 하나의 동작 구성은, i) 적어도 하나의 ECU의 적어도 하나의 승인된 하드웨어 구성 및 ii) 적어도 하나의 ECU의 적어도 하나의 승인된 소프트웨어 구성: 중 적어도 하나를 포함한다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트의 적어도 하나의 프로세서는 또한, 런타임시에, 다음 중 적어도 하나를 검증하도록 구성된다: 1) 적어도 하나의 불휘발성 메모리 컴포넌트에 저장되는 적어도 하나의 승인된 소프트웨어 구성이 수정되지 않았다는 것; 2) 런타임 메모리로 로딩되는 적어도 하나의 승인된 소프트웨어 구성이 런타임 동안 변경되지 않았다는 것; 3) 승인된 메모리 맵이 무효화되지 않았다는 것, 및 4) 적어도 하나의 승인된 하드웨어 구성을 저장하는 적어도 하나의 불휘발성 메모리 컴포넌트 중 일부가 무효화되지 않았다는 것.
몇몇 실시형태에서, 적어도 하나의 인가되지 않은 전자 메시지가 적어도 하나의 승인되지 않은 변경 또는 위반을 야기할 것이다는 결정은 다음 중 적어도 하나에 적어도 부분적으로 기초한다: 적어도 하나의 ECU의 동작 구성의 미리 결정된 정적 상태 및 적어도 하나의 ECU의 런타임 환경.
몇몇 실시형태에서, 모든 미리 정의된 유효 메시지의 각각에 대해, 적어도 하나의 승인된 메시지 사전 데이터베이스는 다음을 정의하는 적어도 하나의 엔트리를 포함한다: 적어도 하나의 승인된 메시지 구조 정의 및 각각의 메시지 파라미터에 대한 적어도 하나의 승인된 값.
몇몇 실시형태에서, 각각의 승인된 통신 스키마에 대해, 적어도 하나의 승인된 통신 스키마 데이터베이스는, 다음 중 적어도 하나를 정의하는 적어도 하나의 엔트리를 포함한다: i) 전자 메시지의 모든 승인된 시퀀스, ii) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍, iii) 모든 승인된 통신 속도, iv) 적어도 하나의 네트워크의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜, v) 적어도 하나의 네트워크와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, vi) 적어도 하나의 ECU의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜, vii) 적어도 하나의 ECU와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, 및 viii) 이들의 임의의 조합.
몇몇 실시형태에서, 적어도 하나의 미리 정의된 상태 머신은 다음 중 적어도 하나를 정의하도록 구성된다: i) 전자 메시지의 모든 승인된 시퀀스, ii) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍, iii) 모든 승인된 통신 속도, iv) 적어도 하나의 네트워크의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜, v) 적어도 하나의 네트워크와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, vi) 적어도 하나의 ECU의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜, vii) 적어도 하나의 ECU와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, 및 viii) 이들의 임의의 조합.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 다음의 논리 레이어 중 적어도 하나를 가지도록 구성된다: 1) 모든 미리 정의된 유효한 메시지를 나타내는 콘텐츠 논리 레이어, 2) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍을 나타내는 라우팅 논리 레이어, 및 3) 다음 중 적어도 하나를 나타내는 상태 논리 레이어: i) 전자 메시지의 모든 승인된 시퀀스, ii) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍, iii) 모든 승인된 통신 속도, iv) 적어도 하나의 네트워크의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜, v) 적어도 하나의 네트워크와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, vi) 적어도 하나의 ECU의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜, vii) 적어도 하나의 ECU와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, 및 viii) 이들의 임의의 조합.
몇몇 실시형태에서, 적어도 하나의 네트워크는 차량 내에 존재한다.
몇몇 실시형태에서, 적어도 하나의 ECU는 차량의 적어도 하나의 특정한 기능을 수행하도록 또는 적어도 하나의 특정한 기능에 영향을 끼치도록 구성되는 적어도 하나의 전자 컴퓨팅 디바이스이다.
몇몇 실시형태에서, 모든 미리 정의된 유효 메시지는, 차량 제조사의 차량 사양 또는 ECU 제조사의 적어도 하나의 ECU의 ECU 사양에 적어도 부분적으로 기초하여 미리 정의된다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 또한 다음의 것을 하도록 구성된다: 적어도 하나의 신뢰된 전자 소스로부터 차량 사양을 전자적으로 획득하는 것, 및 차량 사양에 기초하여, 다음 중 적어도 하나를 동적으로 생성하는 것: 1) 적어도 하나의 승인된 메시지 사전 데이터베이스, 2) 적어도 하나의 승인된 통신 스키마 데이터베이스, 및 3) 적어도 하나의 미리 정의된 상태 머신.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 또한, 적어도 하나의 인가되지 않은 전자 메시지를 삭제하도록 구성된다.
몇몇 실시형태에서, 적어도 하나의 승인되지 않은 변경은, 적어도 하나의 사이버 위협에 적어도 부분적으로 기초하는 변경이다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 또한, 적어도 하나의 인가되지 않은 전자 메시지의 적어도 하나의 표시를 생성하도록 구성된다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 또한, 각각의 승인된 전자 메시지에 메타데이터를 부가하도록 구성되는데, 메타데이터는, 적어도 하나의 목적지 ECU에 의해, 디바이스에 의해 승인되는 것으로 인식되도록 구성된다.
몇몇 실시형태에서, 적어도 하나의 네트워크는 차량 외부에 존재한다.
몇몇 실시형태에서, 적어도 하나의 인가되지 않은 전자 메시지는 적어도 하나의 사이버 위협에 관련된다.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 다음 중 하나에서 적어도 하나의 인가되지 않은 전자 메시지를 차단하도록 구성된다: 하드웨어, 소프트웨어 스택을 따른 적어도 하나의 위치, 또는 둘 모두.
몇몇 실시형태에서, 적어도 하나의 미리 정의된 상태 머신은 다음 중 적어도 하나를 구현하도록 구성된다: 1) 콘텐츠 논리 레이어, 2) 라우팅 논리 레이어, 및 3) 상태 논리 레이어.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 또한 다음의 것 중 적어도 하나를 하도록 구성된다: 적어도 하나의 인가되지 않은 전자 메시지의 적어도 하나의 표시를 로깅하는 것, 및 적어도 하나의 인가되지 않은 전자 메시지의 적어도 하나의 표시를, 디바이스 외부에 있는 적어도 하나의 외부 전자 목적지로 송신하는 것.
몇몇 실시형태에서, 적어도 하나의 보안 록다운 컴포넌트는 또한 다음의 것 중 적어도 하나를 하도록 구성된다: 적어도 하나의 인가된 전자 메시지의 적어도 하나의 표시를 생성하는 것; 적어도 하나의 인가된 전자 메시지, 적어도 하나의 표시, 또는 둘 모두를 로깅하는 것; 및 적어도 하나의 인가된 전자 메시지의 적어도 하나의 표시를, 디바이스 외부에 있는 적어도 하나의 외부 전자 목적지로 송신하는 것.
몇몇 실시형태에서, 본 발명은, 예시적인 독창적 디바이스를 차량에 통합하는 것을 적어도 포함하는 방법을 제공하는데, 예시적인 독창적 디바이스는, 적어도 다음의 컴포넌트를 포함한다: 적어도 하나의 네트워크의 적어도 하나의 전자 제어 유닛(ECU)과 동작적으로 관련되는 적어도 하나의 보안 록다운 컴포넌트; 적어도 하나의 ECU는 차량 내에 존재함; 적어도 하나의 보안 록다운 컴포넌트는, 디바이스가 다음 중 적어도 하나를 물리적으로 분리하도록 구성됨: i) 임의의 다른 네트워크로부터의 적어도 하나의 네트워크, ii) 적어도 하나의 네트워크로 지향되는 외부 입력으로부터의 적어도 하나의 네트워크, iii) 적어도 하나의 다른 ECU로부터의 적어도 하나의 ECU, iv) 적어도 하나의 ECU로 지향되는 외부 입력으로부터의 적어도 하나의 ECU, v) 적어도 하나의 ECU 내의 적어도 하나의 프로세싱 유닛으로부터의 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트, 및 vi) 이들의 임의의 조합; 적어도 하나의 보안 록다운 컴포넌트는, 적어도 하나의 보안 록다운 프로시져를 실행하도록 프로그래밍되는 적어도 하나의 프로세서 및 다음 중 적어도 하나를 저장하는 적어도 하나의 불휘발성 메모리 컴포넌트를 포함함: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, iii) 적어도 하나의 미리 정의된 상태 머신, iv) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠, 및 vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 적어도 하나의 보안 록다운 컴포넌트의 적어도 하나의 프로세서는, 런타임시, 적어도 하나의 보안 록다운 프로시져를 실행하도록 구성되고, 적어도 하나의 보안 록다운 프로시져는 다음의 것을 하도록 구성됨: 다음 중 적어도 하나인 각각의 전자 메시지를 분석하는 것: i) 적어도 하나의 네트워크로 지향됨, ii) 적어도 하나의 네트워크 내에서 송신됨, iii) 적어도 하나의 네트워크로부터 적어도 하나의 외부 컴퓨팅 디바이스로 외부적으로 전송될 것임, iv) 적어도 ECU로 지향됨, 또는 v) 적어도 하나의 ECU로부터 송신될 것임; vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트로 송신될 것임; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 컴포넌트를 구성하도록 송신될 것임; 적어도 하나의 보안 록다운 컴포넌트는 다음 중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성됨: i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스, ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스, 및 iii) 적어도 하나의 미리 정의된 상태 머신; 각각의 전자 메시지의 분석에 기초하여, 다음 중 적어도 하나로의 적어도 하나의 인가되지 않은 변경을 야기할 또는 다음 중 적어도 하나를 위반할 적어도 하나의 승인되지 않은 전자 메시지를 식별하는 것: i) 적어도 하나의 네트워크의 적어도 하나의 ECU의 적어도 하나의 동작 구성, ii) 다음 중 적어도 하나와 통신하기 위해 적어도 하나의 ECU에 의해 활용되는 적어도 하나의 통신 스키마: 1) 적어도 하나의 다른 ECU 및 2) 적어도 하나의 네트워크 외부에 위치되는 적어도 하나의 외부 전자 컴퓨팅 디바이스, iii) 적어도 하나의 승인된 메시지 사전 데이터베이스, iv) 적어도 하나의 승인된 통신 스키마 데이터베이스, v) 적어도 하나의 미리 정의된 상태 머신, vi) 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠; vii) 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성; 및 적어도 하나의 인가되지 않은 전자 메시지가 적어도 하나의 보안 록다운 컴포넌트를 통과하는 것을 차단하는 것.
정적 상태 머신에 기초한 보안 통신 록다운의 예시적인 예 - 보안 네트워크 오케스트레이터(Secured Network Orchestrator; SNO )
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 보안 통신 록다운을 구현하도록 구성되는 예시적인 독창적 디바이스는, 정적인(유한) 상태 머신 (예를 들면, 입력/출력 테이프가 통신 인터페이스를 통해 SNO 컴포넌트 디바이스로 들어오고 나가는 메시지의 형태가 되게 하는, 상태/이벤트 기반의 머신, 통합 모델링 언어(Unified Modeling Language; UML) 상태 시스템, 사양 및 기술 언어(Specification and Description Language; SDL) 상태 시스템, 투어링(Touring) 머신)으로서 동작하는 SNO 컴포넌트로서 구성된다. 예를 들면, 본원에서 상술되는 바와 같이, 보안 통신 록다운은 외부 기원(external origin), 내부 기원(internal origin) 또는 둘 모두의 보안 위협에 기초하여 요구될 수 있다. 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 SNO 컴포넌트는, 적어도 하나의 승인된 메시지 사전 데이터베이스 및/또는 적어도 하나의 승인된 통신 스키마 데이터베이스를 강제하기 위한 물리적 ECU 또는 이미 현존하는 ECU 내의 소프트웨어 컴포넌트일 수 있다. 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 SNO 컴포넌트는 그 자체로 안전하도록 그리고 자신의 동작 원리를 수정할 수 있는 공격에 저항하도록 구성된다. 예를 들면, 예시적인 독창적 SNO 컴포넌트는, 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스를 포함하도록 그리고, 런타임 동안의 수정에 대해, 안전하게 하도록 구성되고, 따라서, 본원에서 정의되는 바와 같은 정적인 록다운 원리를 유지한다. 예를 들면, 예시적인 독창적 SNO 컴포넌트의 무결성은, 적절한 방법 및 표준 예컨대 ISO/IEC 15408를 사용하여 검증되고 보증되도록 구성된다.
예를 들면, SNO ECU와 같은 예시적인 독창적 SNO 컴포넌트는, 예시적인 독창적 SNO 컴포넌트를 통해 상호 연결되는 네트워크와 통신하도록 통상적으로 요구받는 하나 이상의 프로세서(예를 들면, 마이크로프로세서), 저장 메모리, 런타임 메모리 및 하드웨어를 적어도 포함할 수 있다. 예를 들면, 도 9에서 예시되는 바와 같이, 예시적인 독창적 SNO 컴포넌트는, MOST 프로토콜에 기초한 인포테인먼트 네트워크, CAN 프로토콜에 기초한 파워트레인 네트워크, 및/또는 FlexRay 프로토콜에 기초한 안전 네트워크를 상호 연결할 수 있다.
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트는, 소프트웨어 컴포넌트 또는 소프트웨어와 하드웨어 컴포넌트의 조합의 형태일 수 있다. 예를 들면, 예시적인 독창적 SNO 컴포넌트는, 보안 분리 커널을, 예컨대, 오퍼레이팅 시스템 커널, 또는 하드웨어와 하드웨어의 상부 상에서 실행 중인 애플리케이션 사이의 미들웨어 - 이들로 제한되지는 않음 - 로서 포함할 수 있다. 몇몇 실시형태에서, 보안 분리 커널은, 주요 기능이 다수의 파티션을 확립, 격리 및 분리하고, 이들 파티션에 할당되는 반출된 리소스와 대상(subject) 사이의 정보 흐름을 제어하는 것인 하드웨어 및/또는 펌웨어 및/또는 소프트웨어 메커니즘의 형태일 수 있다. 몇몇 실시형태에서, 보안 분리 커널은 미국 국가 안보국(National Security Agency; NSA)(2007)에 의해 확립된 분리 커널 보호 프로파일(Separation Kernel Protection Profile; SKPP)에 따라 구현되며, 그 구체적인 설명은 참조에 의해 본원에 통합된다. 예를 들면, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, Green Hill의 Integrity™ 커널, Wind River의 VxWorks MILS™ 커널, Lynx Software의 LynxSecure™ 커널을 포함하는 분리 커널 - 그러나 이들로 제한되지는 않음 - 중 하나 이상일 수 있거나, 또는 (본 발명의 원리에 따라 수정되는) 그들의 구체적으로 수정된 버전일 수 있다.
몇몇 실시형태에서, 보안 분리 커널의 기능은 다음 중 적어도 하나를 포함할 수 있다:
- 대상이 이용할 수 있게 만들어지는 반출된 리소스로부터의, 평가 보안 기능(Target of Evaluation Security Functions; TSF)에 의해 사용되는 내부 리소스의 분리
- 반출된 리소스의 분할 및 격리,
- 파티션 사이의 그리고 반출된 리소스, 감사 서비스(audit service), 및 이들의 임의의 조합 사이의 정보 흐름의 중재.
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 여러 가지 애플리케이션(예를 들면, 프로세스)이 그들 자신의 가상 "구획(compartment)"에서 실행하는 것을 허용하는 "애플리케이션 파티션"을 제공하기 위해 활용되는데, 구획 내에서, 각각의 애플리케이션(예를 들면, 프로세스)은, 프로세서 시간, 및 메모리 할당과 같은, 그러나 이들로 제한되지는 않는 전용 리소스(들)를 구비할 수 있다. 예를 들면, 독창적인 보안 분리 커널 형태의 예시적인 독창적 SNO 컴포넌트는, 여러 가지 애플리케이션 사이에서 또는 애플리케이션 파티션(예를 들면, 스레드) 사이에서, 프로세서(들) 및 메모리 리소스(들), 및/또는 그들의 사용을 분리한다. 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 다음 중 적어도 두 개 레벨 상에서 애플리케이션 파티션 사이의 분리를 제공할 수 있다:
1. 프로세서 시간 슬롯의 분리 - 각각의 애플리케이션 파티션은, 독창적인 보안 분리 커널에 의해 강제될 자기 자신의 정적으로 할당된 시간 슬롯을 구비할 것이다(즉, 시간 슬롯이 끝날 때, 정적 스케줄에 따라 다음 파티션이 스위칭될 것이다) - ; 및
2. 메모리 어드레스 공간의 분리 - 각각의 애플리케이션 파티션은 자기 자신의 메모리 어드레스 공간을 가질 것이고 독창적인 보안 분리 커널은, 각각의 파티션이 자신의 할당된 세그먼트(예를 들면, 메모리 어드레스 범위)에만 액세스하는 것을 강제하도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트에서 활용되는 보안 분리 커널은 애플리케이션 사이에 또는 애플리케이션 파티션 사이에 보안 격리를 제공하고, 따라서 그들이 서로 영향을 줄 수 있는 조건(들)(예를 들면, 하나의 감염된 프로그램은 다른 프로그램을 감염시킬 수 있고, 하나의 프로그램 충돌은 다른 프로그램과 충돌한다)을 방지한다. 예를 들면, 프로세서와 메모리 리소스 둘 모두가 분리되어 있기 때문에, 하나의 파티션으로부터의 코드는 상이한 파티션의 메모리로 판독 또는 기록될 수 없다. 예를 들면, 프로세서 시간 분리로 인해, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 하나의 파티션으로부터의 제1 코드가 상이한 파티션으로부터의 제2 코드의 실행을, 그들이 독창적인 보안 분리 커널에 의해 스케줄링되기 때문에, 거절할 수 있고, 따라서, 독창적인 보안 분리 커널의 동작은 다른 파티션에 대한 하나의 파티션에 의한 서비스 거절 공격을 방지하는 시나리오를 용이하게 할 수 있다. 예를 들면, 비록 악의적인 코드가 하나의 파티션에 들어가더라도, 악의적인 코드는 확산될 수 없거나 또는 다른 파티션에 영향을 줄 수 없다. 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 하드웨어 분리 상태로 되지 않더라도, 충분한 보안 보호를 제공할 수 있다(예를 들면, 애플리케이션 파티션의 세트 또는 애플리케이션 세트에 대한 프로세서, 메모리 및 다른 컴포넌트를 분리할 수 있다).
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 자신의 제어 하에 있는 모든 반출된 리소스를 파티션으로 할당하도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 명시적으로 허용된 정보 흐름을 제외하고는, 파티션을 격리된 상태로 유지할 수 있다. 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 그 흐름이 허용되지 않는 한, 하나의 파티션의 대상의 액션을, 다른 파티션의 대상으로부터 격리하도록 구성된다.(즉, 하나의 파티션의 대상의 액션이 다른 파티션의 대상에 의해 검출될 수 없거나 또는 다른 파티션의 대상으로 전달될 수 없다). 몇몇 실시형태에서, 용어 "파티션" 및 "대상"은 직교 추상화이다. 예를 들면, 용어 "파티션"은, 그것의 수학적 기원에 의해 나타내어지는 바와 같이, 시스템 엔티티의 집합론적 군을 제공할 수 있고, 반면, 용어 "대상"은 시스템의 개별 활성 엔티티를 설명하고 구현하기 위해 활용될 수 있다. 예를 들면, 파티션(제로 또는 더 많은 엘리먼트를 포함하는 모음(collection))은 대상(활성 엘리먼트)이 아니지만, 그러나 제로 또는 더 많은 대상을 포함할 수도 있다.
몇몇 실시형태에서, 파티션 및 흐름을 관리하기 위해, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 도 10에서 "보안 코어"로서 지정되는 항목의 일부인, 독창적인 상태 머신 및/또는 승인된 메시지 사전 데이터베이스, 및/또는 승인된 통신 스키마 데이터베이스에 적어도 부분적으로 의존하도록 구성된다. 예를 들면, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 하드웨어(예를 들면, 프로세서, 메모리, 등등)의 상부에서 직접적으로 실행하도록, 및/또는 다양한 하드웨어 컴포넌트에 대한 로우 레벨 소프트웨어 인터페이스 및 드라이버를 제공하는 펌웨어 패키지(본원에서 "보드 지원 패키지(Board Support Package)" 또는 "BSP"로 칭해짐)의 일부이도록, 및/또는 (도 10에서 예시되는 바와 같이) BSP의 상부 상에서, BSP와 다양한 통신 네트워크/프로그램에 대한 소프트웨어 인터페이스 사이에서 직접적으로 실행하도록 구성될 수 있다.
예를 들면, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 다른 것들 중에서도, 적어도 다음의 엘리먼트를 포함할 수 있는 ARM Integrator 920T 보드에 대한 Wind River™ 보드 지원 패키지(BSP)의 일부일 수 있거나 또는 그 상부 상에서 실행될 수 있다.
- ROM_SIZE 및 RAM_HIGH_ADRS와 같은 상수를 정의하는 config.h 파일
- 플래시 메모리로의 프로그래밍을 위한 VxWorks ROM 이미지의 바이너리 버전을 정의하는 Makefile
- 보드에 대한 부트 라인 파라미터를 정의하는 bootrom 파일
- 스위치 및 점퍼 설정, 인터럽트 레벨, 및 오프셋 바이어스와 같은 보드 고유의 정보를 설명하는 target.ref 파일
- VxWorks 이미지
- 다음을 포함한 다양한 C 파일:
-- flashMem.c - 보드의 플래시 메모리용 디바이스 드라이버
-- pciIomapShow.c - PCI 버스용 매핑 파일
-- primeCellSio.c - TTY 드라이버
-- sysLib.c - 이 보드에 고유한 시스템 종속 루틴
-- romlnit.s - 보드용 ROM 초기화 모듈; ROM에서 실행을 시작하는 이미지에 대한 엔트리 코드를 포함함.
예를 들면, 독창적인 수정된 BSP는 적어도 다음의 동작을 수행하도록 구성된다:
- 프로세서를 초기화함
- 버스를 초기화함
- 인터럽트 컨트롤러를 초기화함
- 클록을 초기화함
- RAM 설정을 초기화함
- 세그먼트를 구성함
- 플래시로부터 부트로더를 로딩하여 실행함.
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 애플리케이션을 실행하는 데 필요한 엘리먼트(예를 들면, 메모리 관리 루틴(들) 및 프로세스 스케줄러)를 적어도 포함하는 마이크로 커널의 일부로서 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트는, 유저가 유저 공간에서 비보안 컴포넌트를 추가할 수 있도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 각각의 통신 인터페이스가, 보안 통신 록다운을 강제하도록 구성되는 예시적인 독창적 SNO 컴포넌트와의 자신의 상호 작용을 관리하는 별개의 파티션을 구비하는 것을 허용할 수 있다. 예를 들면, 통신 인터페이스는, 대응하는 하드웨어 인터페이스를 통해 데이터를 전송 및 수신하기 위해 요구되는 필요한 로직을 구현하는 소프트웨어(예를 들면, 데몬(daemon) [UNIX 서비스] 및/또는 서비스)일 수 있다.
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 커맨드를 오퍼레이팅 시스템을 통해 로우 레벨 펌웨어 BSP로 전송하기 위해 필요한 함수 및 드라이버를 포함하도록 구성되는데, 로우 레벨 펌웨어 BSP는 그 커맨드를 하드웨어로 중계한다. 예를 들면, 예시적인 독창적 SNO 컴포넌트(1)의 보안 분리 커널은, UNIX 소켓과 UNIX TCP/IP 스택, 및 로우 레벨 펌웨어 BSP와 같은, 그러나 이들로 제한되지는 않는 소프트웨어 인터페이스로부터의 메시지를 프로세싱하도록 구성된다. 예를 들면, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 예를 들면, 1) BSP 및/또는 하드웨어에 영향을 주기 위한/BSP 및/또는 하드웨어를 조작하기 위한/BSP 및/또는 하드웨어를 변경하기 위한 UNIX 소켓 및/또는 UNIX TCP/IP 스택을 통한 인가되지 않은 코드 및 데이터의 주입, 및 2) UNIX 소켓 및/또는 UNIX TCP/IP 스택과 오퍼레이팅 시스템 사이의 인가되지 않은 데이터 누출을 방지하도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 예시적인 독창적 SNO 컴포넌트가 모든 통신 인터페이스를, 각각에 대한 개별 파티션 보다는 단일의 파티션에서, 핸들링하는 것을 허용한다. 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트의 보안 분리 커널은, 적어도 하나의 전용 파티션에서 실행되도록 구성된다.
몇몇 실시형태에서, 보안 분리 커널 외에, 예시적인 독창적 SNO 컴포넌트는, 도 11에서 예시되는 예시적인 독창적 유한 상태 머신을 포함하도록 구성되는데, 그 유한 상태 머신은, 본원에서 상세히 설명되는 본 발명의 원리에 따라, 관통하는 임의의 통신을 결정론적으로 그리고 정적으로 통제하도록 구성된다.
몇몇 실시형태에서, 도 11에서 예시되는 바와 같이, 예시적인 독창적 SNO 컴포넌트는 또한, 보안 통신 록다운을 강제하기 위해 그리고 본원에서 설명되는 세 개의 논리 레이어 모델 - 이들로 제한되지는 않음 - 로서 구성될 수도 있는 각각의 통신을 검증하기 위해, 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스를 포함하도록 구성된다. 예를 들면, 수신되는 각각의 통신은, 차단(드롭)되거나 또는 자신의 목적지까지 계속 허용된다. 예를 들면, 예시적인 독창적 SNO 컴포넌트의 유한 상태 머신은, 특정한 통신이 예시적인 독창적 SNO 컴포넌트에 의해 수신되는 각각의 현재 컨텍스트(예를 들면, 차량/ 차량 네트워크 내의 ECU의 상태)를 정의한다. 예를 들면, 예시적인 독창적 SNO 컴포넌트는, 그러한 각각의 통신에 대해, 수신된 통신을 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스에 비교하는 것에 의해 초기 검증을 수행하도록 구성된다. 예를 들면, 승인된 메시지 사전은, 모든 승인된 메시지에 대한 엔트리를, 예를 들면 그러나 비제한적으로, 비트 레벨(예를 들면, 자신의 승인된 값(들)을 갖는 메시지의 모든 필드의 비트 단위 표현)에서 포함하는 적어도 하나의 로컬 데이터베이스에 저장될 수 있다. 예를 들면, 예시적인 독창적 SNO 컴포넌트는, 유한 상태 머신 및 승인된 통신 스키마 데이터베이스를 사용하는 것에 의해 통신 스키마를 추가로 검증하도록 구성된다. 예를 들면, 수신된 메시지의 통신 스키마를, 승인된 통신 스키마 데이터베이스에 대해 검증하기 위해, 예시적인 독창적 SNO 컴포넌트는, 상태 머신의 현재 상태(이것은 특정한 환경(예를 들면, 차량) 내의 모든 관련된 ECU의 현재 상태 및/또는 컨텍스트를 나타낼 수 있음)에서, 수신된 메시지가 소스 ECU로부터 타겟 ECU로 송신되도록 허용되는지의 여부를 체크한다. 그것이 허용된다는 것을 상태가 지시하면, 예시적인 독창적 SNO 컴포넌트는 검증을 완료하도록 그리고 메시지를 타겟 ECU에 전송하도록 구성된다; 그렇지 않으면, 예시적인 독창적 SNO 컴포넌트는 메시지를 차단(드롭)하도록, 따라서 공격을 방지하도록 구성된다.
예를 들면, 몇몇 실시형태에서, 메시지의 소스 및 목적지는 메시지 및 그 컨텍스트의 일부인 것으로 간주되고, 메시지를 검증하기 위해 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스와 비교하는 것에 의해 검증되는 것으로 간주된다. 예를 들면, 도 11에서 예시되는 바와 같이, 예시적인 독창적 상태 머신은, 주어진 순간에 전송될 수 있는 승인된 메시지의 세트를 통제하는 임의의 차량 파라미터를 포함한다(즉, 예시적인 상태 머신은 차량의 전체 상태를 정의한다). 예를 들면, 각각의 상태 벡터는 특정한 동작 시간(예를 들면, 온 시간, 아이들 시간, 열린 시간, 닫힌 시간 또는 임의의 다른 유사하게 정량화 가능한 척도(들)의 시간)에 차량 내의 모든 ECU 또는 모든 관련 ECU의 적어도 일부의 상태를 포함할 수 있다. 예를 들면, 예시적인 독창적 상태 머신은 또한, 미리 결정된 기관(예를 들면, 제조사)에 의해 정의되는 사전 구성된 로직을 포함할 수 있다. 사전 구성된 로직의 예는 다음일 수 있다: ECU A가 턴 온 되고, 따라서, ECU A와 ECU B 사이의 전용 신호 통로를 통해 ECU A가 턴 온되었기 때문에, 관련 네트워크를 통한 어떠한 통신도 전송되지 않더라도, ECU B도 동작을 시작해야 한다.
예를 들면, 도 12에서 예시되는 바와 같이, 예시적인 독창적 상태 머신 내의 임의의 상태는 적어도 하나의 상태 벡터를 사용하여 표현될 수 있다. 몇몇 실시형태에서, 각각의 상태 벡터는, 주어진 시점에서의 차량의 상태 및 값의 가능한 조합을 정의하는 차량 파라미터의 전부 또는 적어도 관련 부분을 포함할 수 있다. 예를 들면, 상태 벡터는, 엔진 ECU에 의해 보고되는 현재 속도, 그들의 전용 ECU에 의해 보고되는 페달의 상태 및 정량화 가능한 형태로 전달될 수 있는 임의의 다른 관련 추가적인 ECU의 상태를 포함할 수 있다.
몇몇 실시형태에서, 각각의 상태(및 그것을 정의하는 상태 벡터)에 대해, 그것에 대해 승인되는 모든 유효한 메시지(메시지의 일부로서 그들의 소스 및 목적지를 포함함)를 정의하는 목록이 존재한다. 몇몇 실시형태에서, 목록은 상태 전이의 형태로 구현되는데, 여기서 각각의 유효한 메시지는 현재 상태로부터 다른 상태로의 전이로서 발생한다. 예를 들면, 몇몇 실시형태에서, 수신된 메시지가 승인된 메시지 사전 데이터베이스에 존재하지만, 그러나, 수신된 메시지에 대응하는 현재 상태로부터의 적절한 전이가 없다는 것을 예시적인 독창적 SNO 컴포넌트가 결정하는 경우, 예시적인 독창적 SNO 컴포넌트는 메시지를 드롭하도록 구성된다(그것은 승인된 통신 스키마에 따라 검증되지 않는다). 따라서, 그러한 실시형태의 경우, 상태 머신은 승인된 통신 스키마 데이터베이스의 역할을 수행하도록 구성된다. 예를 들면, 승인된 상태 머신은, 본원에서 설명되는 바와 같은 승인된 전이 세트의 목록 및 각각의 상태에 대한 엔트리를 포함하는 적어도 하나의 데이터베이스 내의 메모리에 로컬하게 저장될 수 있다.
예를 들면, 몇몇 실시형태에서, 각각의 정당한 메시지가 상태 전이에 대응하고, 그 결과, 모든 승인된 메시지를 고려하기 위한 다수의 상태로 나타나게 된다. 결과적으로, 검증되지 않은(불법적인) 메시지는 상태 전이를 발생시키지 않을 것이다.
예를 들면, 몇몇 실시형태에서, 각각의 저장된 상태는, 그러한 상태에 대해 허용되는 모든 메시지의 목록을 포함하고 및/또는 그 목록과 관련된다. 예를 들면, 허용된 메시지의 목록 중 몇몇 메시지(들)는 상태 전이를 야기한다.
예를 들면, 몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트는 런타임 메모리에 현재 상태를 저장하도록 그리고 그러한 통신을 검증하기 위해 임의의 새로운 통신이 도착할 때 그것에 액세스하도록 구성된다. 몇몇 실시형태에서, 일단 전이가 발생하면(예를 들면, 수신된 메시지가 검증되고 송신되면), 예시적인 독창적 SNO 컴포넌트는 현재 상태를 업데이트하도록 구성된다. 예를 들면, 도 13은 예시적인 독창적 SNO 컴포넌트에 의해 수신될 수 있는 일련의 메시지와의 통신의 예, 및 예시적인 독창적 상태 머신을 활용하는 그들의 검증 프로세스의 예를 예시한다.
몇몇 실시형태에서, 본 발명의 원리에 따르면, 예시적인 독창적 상태 머신은 각각의 ECU 사양을 분석하여, 이러한 ECU가 처할 수 있는 다양한 상태 및 어떤 파라미터가 이들 상태를 변경하는지를 결정한다. 예를 들면, 차량이 움직이는 동안 엔진을 끌 수 없기 때문에, 어쨌든 차량이 전혀 움직이고 있다는 사실은 그 자체가 하나의 상태이다. 예를 들면, 상태 전이(들)(속도, 가속 페달 위치, 등등)에 중요한 차량의 다양한 파라미터(들)가 또한 각각의 상태 벡터에 또한 포함될 수 있다.
몇몇 실시형태에서, 본 발명의 원리에 따르면, 예시적인 독창적 상태 머신은, 따라서, 복수의 상태 벡터로부터 유도되는데, 특정한 상태 벡터에서의 다양한 상태의 각각의 고유한 조합은 머신에서의 단일의 상태로서 표현된다. 예를 들면, 몇몇 실시형태에서, 차량의 몇몇 일반적인 파라미터(예를 들면, 속도, 등등)는 상태의 양을 최소화하도록 무시될 수 있다. 예를 들면, 상기에서 상세히 설명되는 바와 같이, 각각의 상태에 대해, 사양에 기초하여, 이 상태에서 유효한 승인된 메시지 사전으로부터의 모든 승인된 메시지의 목록이 존재할 수 있다.
도 13에서, 상태 머신의 각각의 상태는, 그 옆에 대응하는 상태 벡터를 가지고 예시된다. 도 13에서 예시되는 바와 같이, 예시적인 독창적 SNO 컴포넌트에 의해 수신되는 예시적인 통신(들)은, 차량이 시동되는 것(즉, 계기판 ECU로부터 엔진 ECU로 전송되는 "시동" 커맨드), 가속 페달이 눌려지고 메시지가 페달 ECU로부터 엔진 ECU로 전송되는 것, 및 그 다음, 계기판 ECU에 의해 차량의 시동이 꺼지는 것을 나타낼 수 있다. 도 13에서 도시되는 진행 동안의 어떤 지점에서, 가속 페달이 눌리는 것을 예시적인 독창적 상태 머신의 상태가 식별할 때 예시적인 독창적 SNO 컴포넌트가 전자 핸드 브레이크 ECU로부터 핸드 브레이크 메시지를 수신하면, 예시적인 독창적 SNO 컴포넌트는, 핸드 브레이크 메시지에 대응하는 상태 4로부터 어떠한 전이도 존재하지 않기 때문에, 핸드 브레이크 메시지를 차단하도록(따라서 공격을 차단하도록) 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SNO 컴포넌트는, 도 13에서 예시되는 예시적인 독창적 상태 머신을, 승인된 통신 스키마 데이터베이스로서 활용하도록, 그리고 그것을 강제하도록 구성된다. 예를 들면, 통신이 수신되고 승인되는 것으로 검증될 때마다, 예시적인 독창적 SNO 컴포넌트는 자신의 상태 머신을 수신되는 메시지에 따라 새로운 상태로 업데이트하도록 구성된다. 결과적으로, 예시적인 독창적 상태 머신의 상태에 대한 업데이트 로그(log)는 이전 통신의 이력을 나타낸다.
도 14는, 루프를 개폐하는 기능성을 갖는 컨버터블 차량의 시나리오에서의 예시적인 독창적 SNO 컴포넌트의 예시적인 동작의 예를 예시한다. 예를 들면, 기계적인 이유로, 루프는 시속 30 마일(miles per hour; mph) 이하에서만 개폐될 수 있다. 이 특정한 예에서, 수반되는 ECU는, 예를 들면, 현재의 속도를 계산하고 현재의 속도 데이터의 메시지를 차량 내의 다른 ECU로 전송하는 엔진 ECU, 개폐식 루프(retractable roof) 동작을 제어하는 개폐식 루프 ECU, 가속하기 위한 커맨드를 전송하는 가속 페달 ECU, 및 엔진을 시동 및 정지하기 위한, 그리고, 현재 속도를 운전자에게 디스플레이하는 동안 루프를 열고 닫기 위한 모든 제어부를 갖는 계기판 ECU이다. 또한, 이 예시적인 예의 경우, 차량을 끄기 위해서는, 루프는 닫혀 있어야만 한다.
이 예시적인 예에서, 각각의 ECU는 ID(대응하는 ECU 옆에 큰 사이즈의 원 내에서 도시됨)를 가지며, 각각의 메시지 타입은 ID(대응하는 메시지 옆에서 작은 사이즈의 원 내에서 도시됨)를 갖는다. 이 예시적인 예에서, 도 15에서 예시되는 바와 같이, 예시적인 승인된 통신 프로토콜/스키마는 각각의 메시지에 대한 네 개의 필드로 구성되도록 정의된다: 소스 ECU, 목적지 ECU, 메시지 ID 및 전송되는 값. 각각의 필드는 8 비트 길이이다. 이 예시적인 예의 경우, 소스 및 목적지 ECU 값은 1 내지 4이다; 메시지 ID 값은 1 내지 5이다.
이 예시적인 예의 경우, 승인된 기관(예를 들면, 제조사)은 관련 ECU에 대한 다음의 사양을 제공할 수 있다. 엔진 ECU는 계기판 및 개폐식 루프 ECU를, 0 내지 250 mph의 범위 내에서 정의되는 현재 속도로 업데이트한다. 개폐식 루프 ECU는, 계기판을, 루프의 현재 상태(0 = 닫힘, 1 = 열림)로 업데이트한다. 가속 페달 ECU는, 0과 1 사이의 연속하는 값에 의해 정의되는 페달의 현재 위치로 엔진 ECU를 업데이트하는데, 1은 완전히 눌려진 것 그리고 0은 전혀 눌려지지 않은 것이다. 계기판 ECU는 엔진 시동/정지 커맨드 및 루프 개폐 커맨드를 엔진 및 개폐식 루프 ECU로 각각 전송한다. 이 예에서, 상기 예시적인 사양은, 도 16에서 묘사되는 승인된 메시지 사전으로 변환되는데, 승인된 메시지 사전은, 그 다음, 예시적인 독창적 SNO 컴포넌트 내에 저장되고 및/또는 예시적인 독창적 SNO 컴포넌트에 의해 액세스되는 적어도 하나의 데이터베이스에 저장된다.
도 16에서 도시되는 바와 같이, 예시적인 "엔진 시동" 커맨드는 값 1로 그리고 예시적인 "엔진 정지"는 값 0으로 정의되고; 각각, 예시적인 "루프 개방" 커맨드는 값 1로 정의되고, 예시적인 "루프 닫힘" 커맨드는 값 0으로 정의된다. 이 특정한 예의 경우, 이 예의 예시적인 유한 상태 머신에 대한 각각의 상태 벡터는, 다양한 ECU가 처할 수 있는 모든 관련 상태(그들의 동작 모드가 사양에 따라 변경되는 조건)를 유도하는 것에 의해 생성된다. 도 17은 이 특정한 예에 대한 예시적인 상태 벡터를 도시한다.
예를 들면, 개폐식 탑(retractable top) ECU는, 속도가 30 mph를 초과하게 될 때 그리고 30 mph 초과로부터 30 mph 미만으로 될 때 상태를 변경한다. 따라서, 상태 벡터는, 차량이, 루프가 동작될 수 있는 속도( "저속" 상태)에 있는지 또는 아닌지("고속" 상태)의 여부를 나타내는 상태를 포함할 것이다. 도 18은 이 특정 예에 대해 채택되는 예시적인 독창적 상태 머신의 개략적인 표현을 예시한다. 도 18은 각각의 상태가 대응하는 상태 벡터를 갖는다는 것을 예시한다. 예를 들면, 특정한 값을 갖는 적어도 하나의 특정한 메시지가 예시적인 독창적 SNO 컴포넌트에 의해 수신될 때 예시적인 상태 전이가 수행된다. 예시적인 독창적 SNO 컴포넌트는 (예를 들면, 비록 속도가 20에서 22 mph로 올라가서, 상태 변화가 발생하지 않더라도) 각각의 유효화가 확인된 메시지로 각각의 상태 벡터를 업데이트한다.
컨텍스트에서 메시지가 전송되는 것을 강제하는 것 외에, 상태 머신을 활용하는 예시적인 독창적 SNO 컴포넌트는 또한, 상태 전이 없이 시도되는 불법적인 값 변경을 강제(방지)할 수 있다. 예를 들면, 기관(예컨대, 제조사)은, 변화가 5 mph를 초과하는 경우에만 속도 값이 업데이트될 수 있다는 것을 결정할 수도 있고, 예시적인 독창적 SNO 컴포넌트가 새로운 속도 값을 나타내는 메시지를 수신하는 경우, 예시적인 독창적 SNO 컴포넌트는 예시적인 상태 머신에 기초하여 메시지를 분석하여, 새로운 속도 값이 현재 상태 벡터의 현재의 속도 값으로부터 5 mph 초과하는 만큼 상이한지를 결정한다. 새로운 속도 값이 5 mph 초과하는 만큼 차이가 나지 않으면, 예시적인 독창적 SNO 컴포넌트는 메시지를 폐기하도록 구성된다. 따라서, 예시적인 독창적 SNO 컴포넌트는 상태 벡터를 사용하여 현재 상태의 무결성을 보호한다.
표 1은, 예시적인 상태 머신이 도 18에서 식별되는 "엔진 온 루프 닫힘(Engine On Roof Closed)" 상태에 있는 동안 수신되는 메시지를 예시적인 독창적 SNO 컴포넌트가 수신할 때 예시적인 독창적 SNO 컴포넌트에 의해 실행되는 예시적인 코드를 도시한다.
몇몇 실시형태에서, 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 서로 통신하는 ECU의 각각에 쌍에 대해 구성되는 별개의 유한 상태 머신을 포함할 수 있고, 그 결과 전문화된 상태 머신의 네트워크로 귀결된다. 몇몇 실시형태에서, 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 다양한 ECU 사이에서 메시지를 교환하기 위해 함께 활용되는 통신 네트워크의 각각의 쌍에 대해 구성되는 별개의 유한 상태 머신을 포함할 수 있다. 몇몇 실시형태에서, 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 차량의 각각의 프로세스에 대한 별개의 유한 상태 머신을 포함할 수 있다. 예를 들면, 개폐식 루프가 있는 상기의 예에서, 개폐식 루프의 동작을 위한 별개의 유한 상태 머신이 정의된다. 이러한 경우에, 예시적인 독창적 SNO 컴포넌트(들)는, 수신되는 각각의 메시지에 대한 몇몇 상태 머신의 상태를 업데이트하도록 구성될 수 있다.
몇몇 실시형태에서, 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 예를 들면, 제조사 사양을 전자적으로 획득하고 특정한 승인된 메시지 사전, 각각의 특정한 상태 벡터 및 대응하는 상태 머신을 생성하는 자동 툴을 포함할 수 있다. 예를 들면, 자동 툴은, 태그가 있는 언어(예를 들면, XML)로 인코딩되는 사양을 획득할 수 있다.
몇몇 실시형태에서, 보안 통신 록다운을 강제하도록 구성되는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템 및 관련된 독창적인 디바이스는 완전히 결정론적이며, 컴퓨터 프로그램을 사용하여 완전히 분석될 수 있고 안전 및 보안에 대해 쉽게 보증될 수 있다. 예를 들면, 예시적인 분석은, 각각의 특정한 입력 하에서 특정한 독창적인 상태 머신이 정의되지 않은 상태 및/또는 인가되지 않은 상태로 진입하지 않을 것이다는 것 및 그 특정한 독창적인 상태 머신 및 대응하는 독창적인 SNO 컴포넌트(들)가 미리 정의된 사양에 따라 거동한다는 것을 검증할 수 있다.
몇몇 실시형태에서, 보안 통신 록다운을 강제하도록 구성되는 독창적인 특별히 프로그래밍된 컴퓨팅 시스템 및 관련된 독창적인 디바이스는, 제조사의 사양에 기초하여 정의될 수 있는 차량의 모든 가능한 상태의 일부분만을 커버하는 부분적인 상태 머신을 포함할 수 있고, 통신에 관련되는 각각의 메시지가, 승인된 메시지 사전 데이터베이스에 대해 검증될 수 있는 한, 어떠한 상태와도 매치하지 않는 각각의 통신은 록다운 디바이스에 의해 드롭되거나 또는 허용된다.
[표 1]
Figure pct00001
몇몇 실시형태에서, 보안 통신 록다운을 강제하도록 구성되는 독창적으로 프로그래밍된 컴퓨팅 시스템 및 관련된 독창적인 디바이스(독창적인 록다운 디바이스)는 또한 프로토콜 변환 능력을 구현하도록 구성되는데, 이 경우, 그들은 그들에게 연결되는 통신 네트워크 사이에서 데이터 인터프리터로서 기능할 수 있다. 예를 들면, 메시지의 유효성이 확인된 이후에, 독창적인 록다운 디바이스는 수신 네트워크 및/또는 ECU의 통신 프로토콜에 기초하여 메시지를 변환하도록 구성될 수 있다. 예를 들면, 메시지가 유효한 경우, 독창적인 록다운 디바이스는 특정한 메시지를 MOST 프로토콜로부터 CAN 프로토콜로 변환할 수 있다.
몇몇 실시형태에서, 독창적인 록다운 디바이스는, 보안 인증서와 같은 적절한 종류 및/또는 다른 유사한 보안 관련 데이터의 적어도 하나의 암호 작성 키(cryptography key)를 저장하는 보안 메모리를 유지하도록 구성될 수 있다. 몇몇 실시형태에서, 독창적인 특별히 프로그래밍된 컴퓨팅 시스템은, 내부 및/또는 외부 ECU 통신을 위해 또는 온라인 지불을 위한 차량 식별, 차량 대 차량 통신을 위한 인증 및/ 암호화, 제조사로부터 수신되는 업데이트의 인증, 다른 ECU에 대한 신뢰된 플랫폼 모듈(Trusted Platform Module; TPM)로서 효과적으로 기능하는 것과 같은, 그러나 이들로 제한되지는 않는 임의의 다른 적절한 목적을 위해 암호 작성 키 및/또는 인증서를 활용하도록 구성될 수 있다.
몇몇 실시형태에서, 독창적인 록다운 디바이스는 네트워크 레벨 및/또는 개별적으로 ECU 레벨에서 암호화 및/또는 인증 스킴(들)을 활용하도록 구성될 수 있고, 따라서, 암호화된 통신을 종료하는 것 및 목적지로의 다른 암호화된 통신을 시작하는 것 또는 자신에게 연결되는 세션 암호화 및 인증 네트워크의 임의의 다른 조합을 허용할 수 있다.
예를 들면, 몇몇 실시형태에서, 자동차 인포테인먼트 MOST 네트워크 및 중대한 안전 LIN 네트워크에 연결되는 예시적인 독창적 록다운 디바이스는, 제조사의 요청에 기초하여, MOST 네트워크와 안전 LIN 네트워크 사이의 모든 통신을, 비록 네트워크 둘 모두 동일한 차량에 속하더라도, 거절하도록 구성될 수 있다. 다른 예에서, 예시적인 독창적 록다운 디바이스는, 엔진 관리 CAN 네트워크에 연결되는 특정한 ECU에서 생성되는, 제조사에 의해 명시되는 원격 측정 데이터를 MOST 네트워크가 인포테인먼트 화면 상에 그래픽적으로 디스플레이하도록, 그 데이터가 MOST 네트워크로 전달되는 것을 허용하도록 구성될 수 있다.
다른 예에서, 독창적인 록다운 디바이스는 차량의 유저의 프라이버시를 보호하도록 구성될 수 있다. 예를 들면, 차량은, 차량에 통합되는 무선 3G 모뎀을 통해 자동 긴급 서비스 호출을 하도록(예를 들면, 전자 리포트를 송신하도록) 프로그래밍될 수도 있다. 사고의 경우, 즉시 그리고 유저의 상태에 무관하게 사고에 관해 기관에 알리기 위해, 차량은 자동 응급 서비스 호출을 할 수 있다. 예를 들면, 이러한 리포트는 온보드 GPS 수신기를 통해 결정되는 차량의 위치, 나이, 성별, 거주지, 전화 번호 및/또는 유저의 의학적 상태와 같은, 그러나 이들로 제한되지는 않는 유저의 또는 소유자의 개인 정보를 포함할 수도 있다. 예를 들면, 이러한 리포트는 또한, 제조사, 연도, VIN(Vehicle Identification Number; 차량 식별 번호), 번호판, 에어백 전개 상태 및/또는 최근 2 분의 원격 측정 데이터와 같은 차량 자체에 관한 데이터를 포함할 수도 있다. 예를 들면, 리포트는, 긴급 대응 팀이 향상된 효율성을 가지고 그들의 임무를 수행하는 것을 허용할, 사고의 시간과 위치, 심각성, 어쩌면 부상자의 의료 프로파일, 찾을 차량 및 연락할 가족을 결정하기 위한 충분한 정보를 포함할 수 있다. 장면 및 수반될 가능성이 있는 장면의 이러한 상세한 설명은 심각한 프라이버시 문제를 야기한다.
예를 들면, 사고의 경우, 다음의 것이 발생할 수도 있다:
1. "안전 네트워크"(이것은 통신 록다운 ECU에 연결됨) 내에 있는 센서가 사고를 검출하고 작업(task)에 할당되는 ECU가 기관에 대한 리포트를 준비한다. 리포트는 록다운 ECU에 의해 수신되고 승인된 메시지 사전 및 통신 스키마에 따라 검증된다.
2. ECU는, CAN 버스 인터페이스를 통해 3G 모뎀을 포함하는(또는 3G 모뎀에 직접적으로 연결되는) 통신 록다운 ECU와의 내부 통신을 확립하고 리포트를 그것으로 송신한다.
3. 통신 록다운 ECU는 인증된 원격 응급 통지 서버에 대한 새로운 암호화된 연결을 확립하고 리포트를 전송한다.
이 시나리오에서, 몇몇 실시형태에 따르면, 민감한 정보는 온보드 네트워크 상에서 암호화되지 않은 상태로 이동하지만, 그러나 독창적인 록다운 디바이스에 의해 검증되고 암호화되어 올바른 외부 목적지로 송신된다.
몇몇 실시형태에서, 독창적인 록다운 디바이스(들)가 존재하는 물리적 하우징은, (예를 들면, 마이크로 스위치 센서, 광학 센서 및 다른 유사하게 적절한 기술/디바이스를 활용하여) 물리적 하우징이 개방 또는 파손되었다는 것을 검출할 수 있고 독창적인 록다운 디바이스(들) 내에 저장되는 모든 소프트웨어 및 데이터를 안전하게 삭제할 수 있는 부당 변경 방지(temper-proofing) 대책을 포함할 수 있다.
몇몇 실시형태에서, 독창적인 록다운 디바이스는, 차량 내에 배치될 필요가 있는 외부 소프트웨어 패키지를 인증 및/또는 검증하도록 구성될 수 있다. 예를 들면, 독창적인 록다운 디바이스는, 외부 소프트웨어 패키지의 암호화 서명을 검증하도록, 그들을 암호 해독하도록, 그리고 그들을 승인된 ECU(들)에만 배치하도록 구성될 수 있다.
몇몇 실시형태에서, 통신의 확인 응답이 수신되는 것을 필요로 하는 세션 기반의 통신 프로토콜을 ECU가 활용하는 경우, 독창적인 록다운 디바이스는 통신을 차단하도록, 그 다음, 전송하는 ECU에게, 메시지가 수신되지 않았다는 통지를 전송하도록 구성될 수 있다.
몇몇 실시형태에서, 독창적인 록다운 디바이스는 (단일의 ECU와 네트워크 사이의) 단일의 통신 링크를 보호하도록 배치될 수 있다.
몇몇 실시형태에서, 독창적인 록다운 디바이스 및 독창적인 상태 머신은, 외부 통신 인터페이스(예를 들면, 3G 셀룰러, Wi-Fi, 등등)를 통해 차량과 통신하고 있는 외부 시스템의 상태를 고려할 수 있다.
정적 런타임 환경 인포서 (static runtime environment enforcer; SREE )에 기초한 ECU의 구성 록다운을 위한 예시적인 예
몇몇 실시형태에서, 자동차 ECU, 또는 임의의 컴퓨팅 시스템에 대한 보안 구성 록다운을 강제하기 위해, 예시적인 독창적 록다운 디바이스(들)는, 승인된 소프트웨어 패키지(들), 승인된 메모리 맵(들), 및/또는 승인된 하드웨어 구성(들)이 런타임 동안 수정되지 않는다는 것을 보장하도록 모든 메모리 액세스의 유효성을 안전하게 확인하는 독창적인 SREE 컴포넌트(들)를 포함할 수 있고 및/또는 독창적인 SREE 컴포넌트(들)로서 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 런타임 및 저장 메모리 바로 앞에 위치되고, 메모리 컴포넌트에 직접적으로 연결되며(어떠한 다른 디바이스도 메모리 컴포넌트에 직접적으로 연결되지 않음(즉, 물리적으로 우회 불가능함)), 모든 메모리 액세스를 검증하는 (주문형 반도체(ASIC) 또는 필드 프로그래머블 게이트 어레이(FPGA) 어느 쪽이든) 하드웨어 컴포넌트로서 구현될 수 있다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 메모리 록다운을 안전하게 강제하기 위한 펌웨어 컴포넌트로서 구현될 수 있다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 하드웨어와 펌웨어의 조합으로서 구현될 수 있다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 별개의 애플리케이션으로서, 오퍼레이팅 시스템의 상부에서 실행되는 악의적인 소프트웨어로부터 관련 컴퓨팅 시스템(들)을 보호하도록 및/또는 다른 애플리케이션의 일부로서 그 자체를 주입하도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, "권한 상승(privilege escalation)"으로 칭해지는 프로세스를 통해 보안 리소스에 대한 액세스를 획득하는 악의적인 소프트웨어의 능력으로부터 관련 컴퓨팅 시스템(들)을 보호하도록 구성된다. 통상적으로, "권한 상승"은, 오퍼레이팅 시스템 코어와 동일한 레벨의 액세스를 획득하기 위해, 오퍼레이팅 시스템 코어(또는 커널)를 공격하는 것을 필요로 한다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 오퍼레이팅 시스템 코어 소프트웨어 아래에 존재하는 BSP(보드 지원 패키지) 펌웨어의 레이어의 일부분이 되도록 구성된다. 예를 들면, 통상적으로, 임베디드 시스템에서, 그것은 BSP로 칭해지고 PC에서는, BIOS(Basic Input/Output System; 기본 입출력 시스템)으로 칭해진다. 여기에서 칭해질 때, 용어 "BSP"는, 오퍼레이팅 시스템과 하드웨어(이것은 부트로더를 포함함) 사이에 존재하는 임의의 타입의 미들웨어를 포함한다. 상기에서 상세히 설명되는 바와 같이, BSP는, 오퍼레이팅 시스템이 컴퓨팅 시스템의 하드웨어 컴포넌트에 액세스하기 위한 인터페이스를 제공하는 드라이버의 세트이다. 상기에서 상세히 설명되는 바와 같이, 통상적으로, BSP는 프로세서 액세스를 위한 드라이버(예를 들면, 아키텍쳐 지원 패키지(architecture support package; ASP)), 메모리 액세스를 위한 드라이버(메모리 관리 유닛, 저장 메모리, 및 런타임 동작 메모리) 및/또는 주변장치 디바이스(예를 들면, 네트워크 카드, 비디오 카드, USB 컨트롤러, 등등)를 위한 드라이버를 포함할 수 있다. 상기에서 상세히 설명되는 바와 같이, 예를 들면, ARM Integrator 920T 보드용의 Wind River의 BSP 내에서, flashMem.c 파일은 보드의 플래시 메모리에 대한 디바이스 드라이버를 포함하고 romlnit.s 파일은 보드에 대한 ROM 초기화 모듈, 및 ROM으로부터 시작하는 소프트웨어 이미지를 포함한다.몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 본원에서 상세히 설명되는 ECU 록다운 원리를 독립적으로 그리고 임의의 오퍼레이팅 시스템에 무관하게(agnostically) 구현하도록 구성된다.
예를 들면, 도 19에서 예시되는 바와 같이, 예시적인 독창적 SREE 컴포넌트는, 모든 메모리 액세스 동작이 예시적인 독창적 SREE 컴포넌트를 통해 라우팅되도록, BSP의 필수 컴포넌트로서 구현된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 메모리 액세스 동작의 실행을 허용할지 또는 그들을 차단할지, 따라서 본질적으로 공격을 차단할지의 여부를 결정하도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 자신의 결정을, 다음의 기준 중 하나 이상에 적어도 부분적으로 기초하게 만들도록 구성된다: 메모리 요청의 타입(예를 들면, 판독 또는 기록), 타겟 메모리(예를 들면, 저장 또는 런타임) 및/또는 특정한 메모리 어드레스 또는 액세스하려고 찾고 있는 메모리 어드레스 범위.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 메모리(저장 및 런타임 둘 모두)의 특정한 미리 정의된 어드레스 범위에 대한 액세스를 (기록이든, 판독이든, 또는 둘 모두이든 간에) 거절하는 것에 의해 승인된 메모리 맵의 강제(enforcement)를 구현하도록 구성된다. 이러한 방식으로, 도 20이 예시되는 바와 같이, 예시적인 독창적 SREE 컴포넌트는, 승인된 메모리 맵이 무효화되지 않는 것 및 보호된 메모리 영역이 액세스되지 않는 것을 보장하도록 구성된다. 표 2는 도 20의 예에 따라 수행할 예시적인 독창적 SREE 컴포넌트에 의해 활용될 수 있는 예시적인 코드를 예시한다.
[표 2]
Figure pct00002
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 예를 들면, 하드웨어 구성을 포함하며 판독 동작만을 허용하는 메모리 어드레스의 목록을 저장하는 것에 의해, 예시적인 승인된 하드웨어 구성의 강제를 구현하도록 구성된다. 예를 들면, 도 21에서 예시되는 바와 같이, 시스템 부팅(또는 초기화 프로시져) 동안, 예시적인 독창적 SREE 컴포넌트는 부트 프로세스 동안에만 하드웨어에 대한 판독 전용 액세스를 강제하도록, 그 다음, 이들 메모리 공간에 대한 어떠한 액세스도 방지하여, 이 메모리 세그먼트를 판독 전용 메모리(ROM)로 만들도록 구성된다. 몇몇 실시형태에서, 일단 승인된 하드웨어 구성이 성공적으로 리트리브되면(retrieved), 예시적인 독창적 SREE 컴포넌트는 오퍼레이팅 시스템 또는 임의의 다른 소프트웨어/펌웨어가 하드웨어 컴포넌트를 구성하는 것을 허용하도록 구성된다. 표 3은 도 21의 예에 따라 수행할 예시적인 독창적 SREE 컴포넌트에 의해 활용될 수 있는 예시적인 코드를 예시한다.
[표 3]
Figure pct00003
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 도 22에서 도시되는 바와 같이 하나는 저장 메모리용의 그리고 다른 하나는 런타임 메모리용의 적어도 두 개의 메커니즘을 활용하는 것에 의해, 예시적인 승인된 소프트웨어 패키지 하드웨어 구성의 강제를 구현하도록 구성된다. 몇몇 실시형태에서, 저장 메모리에 저장되는 승인된 소프트웨어 패키지의 수정을 방지하기 위해, 예시적인 독창적 SREE 컴포넌트는, 승인된 소프트웨어 패키지가 저장되는 어드레스 공간의 목록을 활용하도록 그리고 그것에 대한 임의의 수정을 방지하도록 구성된다(예를 들면, 모든 기록 액세스가 방지될 것이다). 몇몇 실시형태에서, 오퍼레이팅 시스템은 이러한 보안 어드레스 공간만으로부터 소프트웨어를 로딩하도록 프로그래밍되고, 또한 예시적인 독창적 SREE 컴포넌트는 이들 보안 어드레스 공간에서도 역시 저장될 수 있다. 예를 들면, 이러한 보안 어드레스 공간은 승인된 메모리 맵에 포함되고 그것을 통한 예시적인 독창적 SREE 컴포넌트에 의해 강제된다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 두 부분의 접근법을 활용하는 것에 의해, 런타임 메모리에서의 수정을 방지하도록 구성된다. 런타임 메모리의 제1 부분은 판독 퍼미션만을 가질 것이고, 승인된 소프트웨어 패키지의 실행 가능 코드를 런타임 동안 포함할 것이다. 예를 들면, 예시적인 독창적 SREE 컴포넌트는, 부팅 프로세스 동안 그리고 오퍼레이팅 시스템의 개입 없이, 승인된 소프트웨어 패키지 사양에 따라 이러한 코드의 로딩을 강제한다. 오퍼레이팅 시스템은 소프트웨어를 실행하기 위해 런타임 메모리로부터 그것을 판독할 수 있다. 오퍼레이팅 시스템은, 모든 승인된 소프트웨어 코드를 실행하기 위해, 모든 승인된 소프트웨어 코드의 어드레스 공간의 정적인 구성을 포함해야 한다. 런타임 중에 소프트웨어에 의해 사용하는 모든 데이터는, 런타임 메모리의 보호되지 않은 섹션(제2 부분)에 저장될 것이고 오퍼레이팅 시스템에서 완전히 사용할 수 있게 만들어진다. 이러한 분리는 완전히 정적일 것이고, 승인된 메모리 맵의 일부로서 미리 구성될 것이다. 예를 들면, 예시적인 독창적 SREE 컴포넌트에 대해 예약되는 메모리 섹션은, 승인된 메모리 맵에 따라 액세스가 거절될 것이다. 표 4는 도 22의 예에 따라 수행할 예시적인 독창적 SREE 컴포넌트에 의해 활용될 수 있는 예시적인 코드를 예시한다.
[표 4]
Figure pct00004
승인된 메모리 맵, 승인된 하드웨어 구성 및 승인된 소프트웨어 목록을 저장하기 위해, 예시적인 독창적 SREE 컴포넌트는, 액세스 불가능한 것으로 매핑될 그리고 도 23에서 도시되는 바와 같이 예시적인 독창적 SREE 컴포넌트에 의해서만 사용될 저장 메모리의 전용 부분을 사용하도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 오퍼레이팅 시스템이 인식하지 못하는 전용 하드웨어 저장 메모리를 사용하도록 구성되고(전용 하드웨어 저장 메모리의 어드레스 공간은 OS에게 알려지지 않거나 또는 메모리 컨트롤러에 의해 OS로 반영되지 않음), 예시적인 독창적 SREE 컴포넌트만이 전용 하드웨어 저장 메모리에 액세스하도록 구성된다.
몇몇 실시형태에서, 예를 들면, 메모리 액세스 커맨드가 발행될 때, 예시적인 독창적 SREE 컴포넌트는, 동작의 타입, 액세스되고 있는 메모리 및/또는 액세스되고 있는 특정한 메모리 어드레스(및/또는 어드레스의 범위) 중 적어도 하나에 따라; 그리고 메모리 액세스 커맨드가 승인된 소프트웨어 패키지를 무효화하는지의 여부, 메모리 액세스 커맨드가 승인된 메모리 맵을 무효화하는지의 여부 및 메모리 액세스 커맨드가 승인된 하드웨어 구성을 무효화하는지의 여부(또는 이들의 임의의 서브세트) 중 적어도 하나를 체크하는 것에 의해, 메모리 액세스 커맨드를 실행할지 또는 하지 않을지의 여부를 검증하도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 임의의 순서로 유효성 확인을 수행하도록 구성된다. 예시적인 독창적 SREE 컴포넌트가 메모리 액세스 커맨드를 무효화하는 경우, 예시적인 독창적 SREE 컴포넌트는 메모리 액세스 커맨드를 차단하고(실행하도록 허용하지 않음) 및 공격이 방지된다. 예시적인 독창적 SREE 컴포넌트가 메모리 액세스 커맨드를 승인하면, 동작은 예시적인 독창적 SREE 컴포넌트에 의해 실행될 것이거나 또는 실행을 위해 예시적인 독창적 SREE 컴포넌트에 의해 다른 컴포넌트(예를 들면, 마이크로프로세서)로 전달될 것이고, 도 24에서 도시되는 바와 같이, 임의의 결과(예를 들면, 메모리 판독 동작의 결과)가 예시적인 독창적 SREE 컴포넌트에 의해 또는 다른 컴포넌트에 의해 리턴될 것이다. 표 5는 도 24의 예에 따라 수행할 예시적인 독창적 SREE 컴포넌트에 의해 활용될 수 있는 예시적인 코드를 예시한다.
[표 5]
Figure pct00005
예를 들면, 도 25는 저장 및 런타임 메모리(어드레스는 바이트 단위임)에 대한 예시적인 승인된 메모리 맵을 예시한다. 부팅 프로세스 동안, 소프트웨어 패키지(또는 소프트웨어 이미지)는, 소프트웨어 패키지(또는 소프트웨어 이미지)가 실행될 수 있도록, 저장 메모리로부터 런타임 메모리로 복사된다. 부팅 동안, 하드웨어를 구성하도록 하드웨어 구성이 액세스되고 나중에 액세스는 방지될 것이다. 부팅 프로세스가 완료된 이후(부팅 프로세스는 ECU가 턴 온되는 시간과 오퍼레이팅 시스템이 완전히 로딩되어 실행되고 있을 때까지의 사이에서 지속함), 모든 메모리 액세스 시도는, 예를 들면, 도 24에서 도시되는 바와 같이, 예시적인 독창적 SREE 컴포넌트에 의해 강제되는 유효성 확인 스키마를 통과할 것이다. 예를 들면, 어드레스 128에 기록하기 위한 저장 메모리 액세스가 거절되지만, 그러나 어드레스 228로부터의 판독은 실행된다. 판독 시도가 허용되는 동안 런타임 메모리 어드레스 56에 대한 기록 시도는 거절된다. 저장 메모리 내의 어드레스 0 내지 99는, 승인된 메모리 맵 및/또는 승인된 소프트웨어 패키지의 구성을 판독하기 위해 예시적인 독창적 SREE 컴포넌트에 의해서만 사용될 것이다. 표 6은 도 25의 예에 따라 수행할 예시적인 독창적 SREE 컴포넌트에 의해 활용될 수 있는 예시적인 코드를 예시한다.
[표 6]
Figure pct00006
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 상기의 강제 컴포넌트(예를 들면, 승인된 메모리 맵, 승인된 소프트웨어 패키지 및 승인된 하드웨어 구성)의 임의의 조합을 활용하는 것에 의해 구성 록다운을 강제하도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 상기의 강제 컴포넌트 사이에서 임의의 순서로 검증을 수행하도록 구성된다. 예를 들면, 예시적인 독창적 SREE 컴포넌트는 상기의 강제 컴포넌트를 (그들을 세 개로 분해하는 대신) 단일 검증 조건으로 함께 결합하도록 구성된다. 예를 들면, 몇몇 실시형태에서, 승인된 메모리 맵 및 승인된 하드웨어 구성은 또한 부팅 동안 런타임 메모리로 로딩될 수 있고, 그곳의 보호된 메모리 공간 내에 존재할 수 있다.
예를 들면, 모든 구성 및 실행 가능한 소프트웨어 코드를 포함하는 저장 메모리에 대한 모든 액세스를 방지하는 것에 의해, 예시적인 독창적 SREE 컴포넌트는, 악성 소프트웨어가 ECU에 대한 액세스를 가까스로 획득하는 경우에 보호를 제공하도록 구성된다. 악의적인 소프트웨어가, 보호되지 않는 런타임 메모리 부분 상에서 그 자체를 가까스로 실행하더라도, 악의적인 소프트웨어는 그 자신을 메모리에 저장할 수 없고 ECU가 턴 온되는 다음 시간에 로딩할 수 없다. 따라서, 예시적인 독창적 SREE 컴포넌트는, 예를 들면, 일단 ECU가 턴 오프되고 다시 온되면, 승인된 소프트웨어만이 로딩되어 실행되는 것을 보장하도록 구성된다. 예시적인 독창적 SREE 컴포넌트는, 예를 들면, 일단 ECU가 턴 다운되면, 악성 코드를 포함하지 않는 미리 정의된 정적 구성으로 되돌아 갈 것을 보장하도록 구성된다.
몇몇 실시형태에서, 승인된 소프트웨어 패키지 및/또는 다른 상기의 강제 컴포넌트를 강제하는 것을 넘어서, 예시적인 독창적 SREE 컴포넌트는 오퍼레이팅 시스템(operating system; OS) 및 OS 최상부에서 실행되는 임의의 애플리케이션에 대해서도 투명하도록 구성된다. 예를 들면, 애플리케이션이 보호 메모리를, 마치 그곳에 보호 메모리가 존재하지 않는 것처럼 액세스하려고 시도하는 경우, 애플리케이션은, 예시적인 독창적 SREE 컴포넌트가 리턴할 수 있지만 그러나 애플리케이션에게 에러에 대한 실제 원인을 반드시 경보하지는 않는 액세스 에러를 수신할 수도 있다. 예를 들면, 런타임 메모리에서의 승인된 소프트웨어 패키지 강제의 경우에만(예를 들면, 저장 메모리의 강제만이 사용되면, 예시적인 독창적 SREE 컴포넌트도 또한 투명함), OS는 상기에서 설명되는 바와 같이 예시적인 독창적 SREE 컴포넌트를 인식해야만 한다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 정적 연산 로직을 갖는 정적 컴포넌트로서 구성된다. 예를 들면, 예시적인 독창적 SREE 컴포넌트는 오퍼레이팅 시스템으로부터 독립적이도록 구성되고(오퍼레이팅 시스템은 그것이 강제하는 매핑만을 알 필요가 있고, 따라서 예시적인 독창적 SREE 컴포넌트에 종속하지만, 그러나 그 반대로는 아니다) 오퍼레이팅 시스템이 애플리케이션을 실행하는 방식으로부터 독립적이도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 메모리 액세스의 유효성을 확인하는 것에 의해, 록다운 구성만을 강제하도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 하드웨어 관리 유닛에 대한 필요성을 줄이고, 강제가, OS가 완전히 투명하게 되는 것을 허용하는 펌웨어 메모리 관리 유닛(firmware memory management unit; MMU)으로서 또한 기능하도록 구성된다. OS는, OS가 액세스할 수 있는 메모리의 총 어드레스 공간을 제공하는 메모리 관리 유닛에 의존한다. 따라서, 예시적인 독창적 SREE 컴포넌트가 또한 MMU인 경우, 예시적인 독창적 SREE 컴포넌트는 록다운되지 않은 어드레스 범위만을 OS에게 알려준다. 또한, 예시적인 독창적 SREE 컴포넌트는 OS의 메모리 할당을 가상화하도록 구성되고, 그 결과, 일단 OS가 승인된 소프트웨어를 런타임 메모리에 로딩할 것을 결정하면, 예시적인 독창적 SREE 컴포넌트는, 소프트웨어를 로딩하는 것, 그것의 코드를 데이터 메모리와 분리하고 동시에 그들이 분리되지 않는다는 것을 OS로 중계하는 것에 의해, 그것이 실제로 승인된 소프트웨어에 있다는 것을 검증하도록 구성된다. 따라서, 예시적인 독창적 SREE 컴포넌트는, OS가 코드가 존재하기를 원하는 어드레스를 코드가 존재하는 실제 보호된 어드레스로 가상적으로 변환하도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, 도 26에서 설명된 바와 같이 메모리와 나머지 ECU 컴포넌트의 나머지 사이에 연결되는 적어도 하나의 마이크로프로세서 및/또는 FPGA를 포함하도록 구성된다. 예를 들면, 몇몇 실시형태에서, 독창적인 FPGA는, 상기(도 21 내지 도 24)에서 설명되는 바와 동일한 로직을 가지고 구현되고 승인된 소프트웨어 구성, 승인된 메모리 맵 및 승인된 하드웨어 구성을 유지한다. 몇몇 실시형태에서, 강제 구성은 저장 메모리에 저장되고 독창적인 FPGA에 의해 보호된다. 몇몇 실시형태에서, 독창적인 FPGA는, 도 22에서 설명되는 바와 같이 요구되는 메모리 세그먼트화(예를 들면, 액세스 없음, 판독 전용, 등등)를 유지하면서 그리고 저장 메모리로부터 런타임 메모리로 코드를 로딩하는 예비 작업을 실행하면서, 런타임 동안 메모리 동작을 허여할지 또는 거절할지의 여부를 결정하도록 구성된다.
몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는, OS와 하드웨어 사이 내에서의 액세스를 감독할 수도 있는 펌웨어 레이어를 제공하기 위한 하이퍼바이저(hypervisor)를 활용하여 메모리 액세스 강제를 제공하도록 그리고 (1) 메모리 세그먼트화(예를 들면, 액세스 없음, 판독 전용, 등등)를 유지하면서 그리고 (2) 저장 메모리로부터 런타임 메모리로 코드를 로딩하는 예비 작업을 실행하면서 런타임 동안 메모리 동작을 허용할지 또는 거절할지의 여부를 결정하도록 구성된다. 몇몇 실시형태에서, 예시적인 독창적 SREE 컴포넌트는 OS의 메모리 할당을 가상화하도록 구성될 수도 있고, 그 결과, 일단 OS가 승인된 소프트웨어를 런타임 메모리에 로딩할 것을 결정하면, 예시적인 독창적 SREE 컴포넌트는, 소프트웨어를 로딩하는 것 및 그것의 코드를 데이터 메모리와 분리하고 동시에 그들이 분리되지 않는다 것을 OS로 중계하는 것에 의해, 그것이 실제로 승인된 소프트웨어에 있다는 것을 검증하도록 구성된다. 따라서, 예시적인 독창적 SREE 컴포넌트는, OS가 코드가 존재하기를 원하는 어드레스를 코드가 존재할 실제 보호된 어드레스로 가상적으로 변환하도록 구성될 수도 있다.
ECU(들) 내의 통신 네트워크의 안전한 물리적 분리를 위한 예시적인 예
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 독창적인 록다운 디바이스(들)는, 독창적인 록다운 디바이스(들)에 연결되는 상이한 상호 연결된 네트워크 사이의 분리를 강제하도록 구성된다. 예를 들면, 상기에서 상세히 설명되는 바와 같이, 독창적인 록다운 디바이스(들)는, 각각의 통신 인터페이스가 자기 자신의 파티션에 존재하는 것을 강제하는 독창적인 분리 커널(들)을 통해 소프트웨어 레벨 분리를 강제하도록 구성될 수 있다.
몇몇 실시형태에서, 예를 들면, 서비스 거절(Denial of Service; DoS) 공격의 경우에 보안 통신 록다운을 강제하기 위해, 독창적인 록다운 디바이스(들)는 또한, 공격자가 시스템/디바이스에 진입할 수 있기 이전에, 하드웨어 분리를 강제하도록 구성된다.
몇몇 실시형태에서, 하드웨어 분리를 강제하기 위해, 예시적인 독창적 디바이스(들)(예를 들면, 독창적으로 수정된 ECU)는, 예를 들면 그러나 비제한적으로, 특별히 프로그래밍된 필드 프로그래머블 게이트 어레이(FPGA) 칩, 복합 프로그래머블 로직 디바이스(complex programmable logic device; CPLD) 및/또는 다른 유사하게 적절한 프로그래머블 하드웨어 프로세서를 활용하도록 구성된다. 구체적으로, 독창적인 수정된 FPGA는, 런타임 동안 변경될 수 없는 정적 구성을 강제하기 위해 임의의 방식으로 상호 연결될 수 있는 기본 로직 셀의 매트릭스를 포함한다. 예를 들면, 몇몇 실시형태에서, 독창적인 수정된 FPGA는 각각의 인터페이스에 대해 별개의 하드웨어 트랜스시버를 구비하도록 구성될 수 있다. 예를 들면, 특정한 인터페이스에 대한 트랜스시버는, 특정한 인터페이스(예를 들면, 이더넷, CAN, MOST, 등등)를 통해 데이터를 전송 및 수신하는 데 필요한 전기 및 전자 통신 프로토콜을 구현한다. 각각의 특정 인터페이스에 대해 트랜스시버의 별개의 세트를 갖는 것은, 독창적인 수정된 FPGA가 독창적인 통신 록다운 디바이스(들)에 연결되는 모든 상이한 하드웨어 인터페이스와 통신하는 것을 허용한다. 예를 들면, 몇몇 실시형태에서, 트랜스시버는 외부 전용 하드웨어일 수 있거나 또는 온칩 하드웨어 및/또는 반도체 지적 재산(intellectual property; IP) 코어(들)(이들의 각각은 재사용 가능한 로직 유닛, 셀, 또는 FPGA 상에서의 특정한 기능성의 칩 레이아웃 설계 구현이고; FPGA를 프로그래밍하기 위해, 그 내부의 하드웨어 컴포넌트를 정의하는 IP 코어(들)를 사용할 수 있음)의 형태로 FPGA 내부에 있을 수 있다.
예를 들면, 본 발명은 Texas Instruments Inc.(텍사스 인스트루먼츠 인코포레이티드)의 TCAN334G™ 칩과 적절하게 유사한 전용 트랜스시버를 활용할 수 있다. 예를 들면, 본 발명은 Xilinx, Inc.(자일링스 인코포레이티드)의 Zynq 7000™의 내장형 FPGA 및 CAN 트랜스시버를 갖는 예시적인 시스템 온 칩(System on Chip)과 적절하게 유사한 하드웨어를 구성할 수 있다. 예를 들면, 본 발명은 통신을 허용하기 위해 FPGA에서 구현될 수 있는 자일링스 인코포레이티드의 CAN IP 코어를 활용할 수 있다.
본원에서 사용될 때, 용어 "트랜스시버"는, 버스 상에서 진행하는 아날로그 신호를 디지털 비트로 통상적으로 변환하는 하드웨어 및 소프트웨어의 조합을 대상으로 한다. 예를 들면, 몇몇 트랜스시버는 비트를 패킷으로 또한 조립할 수 있다. 예를 들면, 본 발명에 따른 각각의 IP 코어는, 각각의 트랜스시버(들)로부터 개개의 비트를 수신하고, 그들을 특정한 통신 프로토콜에 따라 패킷(들) 및/또는 메시지(들)로 조립한다. 몇몇 실시형태에서, 내장 트랜스시버를 통해, 일반적으로 두 기능(즉, 변환 및 조립)이 포함될 수 있다. 몇몇 실시형태에서, 외부 트랜스시버를 통해, 독창적인 수정된 FPGA는 각각의 IP 코어를 포함하도록 구성될 수 있다. 예를 들면, 도 29는 예시적인 외부 트랜스시버를 예시한다.
이어서, 몇몇 실시형태에서, 독창적인 수정된 FPGA는, 도 27에서 도시되는 바와 같이, 상기에서 상세하게 설명된 독창적인 통신 록다운 시스템 펌웨어 및 소프트웨어를 실행하는 프로세서와 통신할 수 있다. 도 10은, 도 27에서 "보안 코어"로서 표시되는 항목을 포함하는 컴포넌트의 확대도를 도시한다. 몇몇 실시형태에서, 보안 코어는, 독창적 상태 머신 및/또는 승인된 메시지 사전 데이터베이스, 및/또는 승인된 통신 스키마 데이터베이스를 포함할 수 있다.
예를 들면, 보안 통신 록다운을 강제하기 위해, 독창적인 록다운 디바이스(들)는, 승인된 메시지 사전 및/또는 승인된 통신 스키마에 따라 통신 무결성 및 속도를 검증하는, 각각의 인터페이스마다 적어도 하나의, 독창적인 수정된 하드웨어 컴포넌트(예를 들면, 독창적인 수정된 FPGA) 또는 컴포넌트들을 포함할 수 있고; 모든 필요로 되는 네트워크(인터페이스)와 상응하게 통신할 수 있다. 몇몇 실시형태에서, 독창적인 수정된 FPGA 내의 독창적인 수정된 하드웨어 컴포넌트는, 예를 들면, 비트 레벨에서, 통신을, 승인된 메시지 사전 및/또는 승인된 통신 스키마에 대해 검증하기 위해, 정적으로 구성된다. 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 독창적인 수정된 하드웨어 컴포넌트는, 메시지의 소스 및/또는 목적지만을, 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스에 대해 검증하는 것에 의해, 모든 통신 및 메시지 비트의 전체 검증, 또는 부분 검증을 수행하도록 구성될 수 있다. 몇몇 실시형태에서, 승인된 메시지 사전 데이터베이스 및/또는 승인된 통신 스키마 데이터베이스는, 독창적인 수정된 FPGA의 일부로서 하드웨어에 정적으로 저장될 수 있다.
몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 승인된 메시지 사전은, 독창적인 수정된 FPGA를 런타임시 완전히 정적으로 만드는 독창적인 수정된 FPGA 구성의 일부(예를 들면, 네트워크 메시지 검증기(verifier) 컴포넌트의 일부)로서 프로그래밍된다. 몇몇 실시형태에서, 보안 통신 록다운을 강제하기 위해, 독창적인 수정된 FPGA는, 예를 들면, 특정한 인터페이스 상에서의 메시지의 승인된 속도, 특정한 타입의 메시지, 등등을 검증하도록 구성된다. 검증을 통과하지 못할 임의의 메시지는 드롭(차단)되고 따라서 독창적인 수정된 FPGA는 공격을 차단하도록 구성된다.
몇몇 실시형태에서, 모든 네트워크 인터페이스는, 통합된 프로토콜 및 백(예를 들면, TCP/IP)으로 통신을 또한 변환할 수 있는 통합된 통신 인터페이스(예를 들면, 이더넷)를 통해 호스트 CPU와 통신한다. 도 28은, 독창적인 수정된 FPGA에 기초한 독창적인 하드웨어 네트워크 분리의 예를 도시한다. 예를 들면, 독창적인 수정된 FPGA에 기초한 독창적인 하드웨어 네트워크 분리는 다음 중 적어도 하나를 허용할 수 있다:
- 독창적인 수정된 FPGA가 특정한 목적만을 위해 사용되는 전용 하드웨어 컴포넌트로서 기능하기 때문에 실행의 속도에서의 증가,
- 모든 다른 인터페이스 및 시스템 소프트웨어로부터 물리적으로 분리됨,
- 더욱 복잡한 분석을 행할 필요가 있는 CPU로부터 소프트웨어 컴포넌트로부터의 프로세싱의 일부를 덜어 냄(예를 들면, DoS 공격의 경우, 공격 메시지(들)는, 그들이 소프트웨어 컴포넌트에 도달하기 이전에 독창적인 하드웨어에서 중지되고, 따라서 진행하는 것으로부터의 통신 오버플로우를 방지함),
- 승인된 메시지 사전에 대해 더욱 빠른 속도로 기본 체크를 구현하고 독창적인 보안 분리 커널에 대한 부하를 감소시킬 수도 있음, 그리고
- 버퍼 오버플로우 및 코드 주입과 같은, 그러나 이들로 제한되지는 않는 다양한 형태의 공격에 대해 탄력적으로 됨.
주목할 점은, 본원에서 설명되는 실시형태는, 물론, 임의의 적절한 하드웨어 및/또는 컴퓨팅 소프트웨어 언어를 사용하여 구현될 수도 있다. 이와 관련하여, 기술 분야에서 통상의 지식을 가진 자는, 사용될 수도 있는 컴퓨터 하드웨어의 타입, 사용될 수도 있는 컴퓨터 프로그래밍 기술의 타입(예를 들면, 객체 지향 프로그래밍), 및 사용될 수도 있는 컴퓨터 프로그래밍 언어의 타입(예를 들면, C++, 베이직(Basic), AJAX, 자바스크립트(Javascript))에서 아주 정통하다. 전술한 예는, 물론, 예시적인 것이며 제한하는 것이 아니다.
본 발명의 다수의 실시형태가 설명되었지만, 이들 실시형태는 단지 예시적인 것이고 제한적인 것이 아니다는 것, 및 본원에서 설명되는 독창적인 방법론, 독창적인 시스템, 및 독창적인 디바이스가 서로 함께 임의의 조합으로 활용될 수 있다는 것을 비롯한 많은 수정예가 기술 분야에서 통상의 지식을 가진 자에게 명백하게 될 수도 있다는 것이 이해되어야 한다. 여전히 또한, 다양한 단계가 임의의 소망되는 순서로 수행될 수도 있다(그리고 임의의 소망되는 단계가 추가될 수도 있고 및/또는 임의의 소망되는 단계가 제거될 수도 있다).

Claims (30)

  1. 디바이스로서,
    적어도 하나의 네트워크의 적어도 하나의 전자 제어 유닛(electronic control unit; ECU)과 동작적으로(operationally) 관련되는 적어도 하나의 보안 록다운(lockdown) 컴포넌트를 포함하고;
    상기 적어도 하나의 보안 록다운 컴포넌트는, 상기 디바이스가 다음 중 적어도 하나를 물리적으로 분리하도록 구성되고:
    i) 임의의 다른 네트워크로부터의 상기 적어도 하나의 네트워크,
    ii) 상기 적어도 하나의 네트워크로 지향되는 외부 입력으로부터의 상기 적어도 하나의 네트워크,
    iii) 적어도 하나의 다른 ECU로부터의 상기 적어도 하나의 ECU,
    iv) 상기 적어도 하나의 ECU로 지향되는 외부 입력으로부터의 상기 적어도 하나의 ECU,
    v) 상기 적어도 하나의 ECU 내의 적어도 하나의 프로세싱 유닛으로부터의 상기 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트, 및
    vi) 이들의 임의의 조합;
    상기 적어도 하나의 보안 록다운 컴포넌트는, 다음 중 적어도 하나를 저장하는, 적어도 하나의 불휘발성 메모리 컴포넌트 및 적어도 하나의 보안 록다운 프로시져를 실행하도록 프로그래밍되는 적어도 하나의 프로세서를 포함하고:
    i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 적어도 하나의 승인된 메시지 사전 데이터베이스,
    ii) 적어도 하나의 승인된 통신 스키마(schema)에 대한 적어도 하나의 엔트리를 포함하는 적어도 하나의 승인된 통신 스키마 데이터베이스,
    iii) 적어도 하나의 미리 정의된 상태 머신,
    iv) 상기 적어도 하나의 ECU 내의 적어도 하나의 메모리 컴포넌트의 승인된 콘텐츠, 및
    vii) 상기 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 유닛의 승인된 구성;
    상기 적어도 하나의 보안 록다운 컴포넌트의 상기 적어도 하나의 프로세서는, 런타임시, 상기 적어도 하나의 보안 록다운 프로시져를 실행하도록 구성되고, 상기 적어도 하나의 보안 록다운 프로시져는 다음의 것:
    다음 중 적어도 하나인 각각의 전자 메시지를 분석하는 것:
    i) 상기 적어도 하나의 네트워크로 지향됨,
    ii) 상기 적어도 하나의 네트워크 내에서 송신됨,
    iii) 상기 적어도 하나의 네트워크로부터 적어도 하나의 외부 컴퓨팅 디바이스로 외부적으로 전송될 것임,
    iv) 상기 적어도 ECU로 지향됨, 또는
    v) 상기 적어도 하나의 ECU로부터 송신될 것임;
    vi) 상기 적어도 하나의 ECU 내의 상기 적어도 하나의 메모리 컴포넌트로 송신될 것임;
    vii) 상기 적어도 하나의 ECU 내의 적어도 하나의 하드웨어 컴포넌트를 구성하도록 송신될 것임;
    상기 적어도 하나의 보안 록다운 컴포넌트는 다음 중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성되고:
    i) 모든 유효한 전자 메시지에 대한 엔트리를 포함하는 상기 적어도 하나의 승인된 메시지 사전 데이터베이스,
    ii) 적어도 하나의 승인된 통신 스키마에 대한 적어도 하나의 엔트리를 포함하는, 상기 적어도 하나의 승인된 통신 스키마 데이터베이스, 및
    iii) 상기 적어도 하나의 미리 정의된 상태 머신;
    각각의 전자 메시지의 상기 분석에 기초하여, 다음 중 적어도 하나로의 적어도 하나의 인가되지 않은 변경을 야기할 또는 다음 중 적어도 하나를 위반할 적어도 하나의 승인되지 않은 전자 메시지를 식별하는 것:
    i) 상기 적어도 하나의 네트워크의 상기 적어도 하나의 ECU의 적어도 하나의 동작 구성,
    ii) 다음 중 적어도 하나와 통신하기 위해 상기 적어도 하나의 ECU에 의해 활용되는 적어도 하나의 통신 스키마:
    1) 상기 적어도 하나의 다른 ECU 및
    2) 상기 적어도 하나의 네트워크 외부에 위치되는 적어도 하나의 외부 전자 컴퓨팅 디바이스,
    iii) 상기 적어도 하나의 승인된 메시지 사전 데이터베이스,
    iv) 상기 적어도 하나의 승인된 통신 스키마 데이터베이스,
    v) 상기 적어도 하나의 미리 정의된 상태 머신,
    vi) 상기 적어도 하나의 ECU 내의 상기 적어도 하나의 메모리 컴포넌트의 상기 승인된 콘텐츠;
    vii) 상기 적어도 하나의 ECU 내의 상기 적어도 하나의 하드웨어 유닛의 상기 승인된 구성;
    상기 적어도 하나의 인가되지 않은 전자 메시지가 상기 적어도 하나의 보안 록다운 컴포넌트를 통과하는 것을 차단하는 것
    을 하도록 구성되는, 디바이스.
  2. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 프로시져는 적어도 하나의 통신 보안 록다운 프로시져인, 디바이스.
  3. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 프로시져는 적어도 하나의 구성 보안 록다운 프로시져인, 디바이스.
  4. 제1항에 있어서,
    상기 컨텍스트에 맞는(contextual) 통신 인식 분석은 적어도 부분적으로:
    복수의 전자 메시지의 적어도 하나의 미리 결정된 통신 시퀀스 및
    상기 복수의 전자 메시지의 적어도 하나의 미리 결정된 통신 속도
    중 적어도 하나에 적어도 부분적으로 기초하는, 디바이스.
  5. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는:
    i) 비트 단위 분석(bit-by-bit analysis) 및
    ii) 컨텍스트에 맞는 통신 인식 분석
    중 적어도 하나에 기초하여 각각의 전자 메시지를 분석하도록 구성되는, 디바이스.
  6. 제1항에 있어서,
    상기 적어도 하나의 네트워크의 상기 적어도 하나의 ECU의 적어도 하나의 동작 구성은:
    i) 상기 적어도 하나의 ECU의 적어도 하나의 승인된 하드웨어 구성 및
    ii) 상기 적어도 하나의 ECU의 적어도 하나의 승인된 소프트웨어 구성
    중 적어도 하나를 포함하는, 디바이스.
  7. 제6항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트의 상기 적어도 하나의 프로세서는 또한, 런타임시에:
    1) 상기 적어도 하나의 불휘발성 메모리 컴포넌트에 저장되는 상기 적어도 하나의 승인된 소프트웨어 구성이 수정되지 않았다는 것;
    2) 런타임 메모리로 로딩되는 상기 적어도 하나의 승인된 소프트웨어 구성이 상기 런타임 동안 변경되지 않았다는 것;
    3) 승인된 메모리 맵이 무효화되지 않았다는 것, 및
    4) 상기 적어도 하나의 승인된 하드웨어 구성을 저장하는 상기 적어도 하나의 불휘발성 메모리 컴포넌트 중 일부가 무효화되지 않았다는 것
    중 적어도 하나를 검증하도록 구성되는, 디바이스.
  8. 제1항에 있어서,
    상기 적어도 하나의 인가되지 않은 전자 메시지가 적어도 하나의 승인되지 않은 변경 또는 위반을 야기할 것이다는 결정은:
    상기 적어도 하나의 ECU의 상기 동작 구성의 미리 결정된 정적 상태 및
    상기 적어도 하나의 ECU의 런타임 환경
    중 적어도 하나에 적어도 부분적으로 기초하는, 디바이스.
  9. 제1항에 있어서,
    상기 모든 미리 정의된 유효 메시지의 각각에 대해, 상기 적어도 하나의 승인된 메시지 사전 데이터베이스는:
    적어도 하나의 승인된 메시지 구조 정의 및
    각각의 메시지 파라미터의 적어도 하나의 승인된 값
    을 정의하는 적어도 하나의 엔트리를 포함하는, 디바이스.
  10. 제1항에 있어서,
    각각의 승인된 통신 스키마에 대해, 상기 적어도 하나의 승인된 통신 스키마 데이터베이스는:
    i) 전자 메시지의 모든 승인된 시퀀스,
    ii) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍,
    iii) 모든 승인된 통신 속도,
    iv) 상기 적어도 하나의 네트워크의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜,
    v) 상기 적어도 하나의 네트워크와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜,
    vi) 상기 적어도 하나의 ECU의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜,
    vii) 상기 적어도 하나의 ECU와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, 및
    viii) 이들의 임의의 조합
    중 적어도 하나를 정의하는 적어도 하나의 엔트리를 포함하는, 디바이스.
  11. 제1항에 있어서,
    상기 적어도 하나의 미리 정의된 상태 머신은:
    i) 전자 메시지의 모든 승인된 시퀀스,
    ii) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍,
    iii) 모든 승인된 통신 속도,
    iv) 상기 적어도 하나의 네트워크의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜,
    v) 적어도 하나의 네트워크와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜,
    vi) 상기 적어도 하나의 ECU의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜,
    vii) 상기 적어도 하나의 ECU와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, 및
    viii) 이들의 임의의 조합
    중 적어도 하나를 정의하도록 구성되는, 디바이스.
  12. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 다음의 논리 레이어:
    1) 모든 미리 정의된 유효한 메시지를 나타내는 콘텐츠 논리 레이어,
    2) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍을 나타내는 라우팅 논리 레이어, 및
    3) 상태 논리 레이어
    중 적어도 하나를 가지도록 구성되고, 상기 상태 논리 레이어는:
    i) 전자 메시지의 모든 승인된 시퀀스,
    ii) 각각의 전자 메시지에 대한 모든 승인된 소스-목적지 쌍,
    iii) 모든 승인된 통신 속도,
    iv) 상기 적어도 하나의 네트워크의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜,
    v) 적어도 하나의 네트워크와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜,
    vi) 상기 적어도 하나의 ECU의 내부 상태에 기초하는 모든 승인된 메시징 활동 프로토콜,
    vii) 상기 적어도 하나의 ECU와 관련되는 적어도 하나의 외부 입력에 기초하는 모든 승인된 메시징 활동 프로토콜, 및
    viii) 이들의 임의의 조합
    중 적어도 하나를 나타내는, 디바이스.
  13. 제12항에 있어서,
    상기 적어도 하나의 네트워크는 차량 내에 존재하는, 디바이스.
  14. 제13항에 있어서,
    상기 적어도 하나의 ECU는 상기 차량의 적어도 하나의 특정한 기능을 수행하도록 또는 적어도 하나의 특정한 기능에 영향을 끼치도록 구성되는 적어도 하나의 전자 컴퓨팅 디바이스인, 디바이스.
  15. 제13항에 있어서,
    상기 모든 미리 정의된 유효 메시지는, 차량 제조사의 차량 사양 또는 ECU 제조사의 상기 적어도 하나의 ECU의 ECU 사양에 적어도 부분적으로 기초하여 미리 정의되는, 디바이스.
  16. 제15항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한:
    적어도 하나의 신뢰된 전자 소스로부터 상기 차량 사양을 전기적으로 획득하도록, 그리고
    상기 차량 사양에 기초하여:
    1) 상기 적어도 하나의 승인된 메시지 사전 데이터베이스,
    2) 상기 적어도 하나의 승인된 통신 스키마 데이터베이스, 및
    3) 상기 적어도 하나의 미리 정의된 상태 머신
    중 적어도 하나를 동적으로 생성하도록 구성되는, 디바이스.
  17. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한, 상기 적어도 하나의 인가되지 않은 전자 메시지를 삭제하도록 구성되는, 디바이스.
  18. 제1항에 있어서,
    상기 적어도 하나의 승인되지 않은 변경은, 적어도 하나의 사이버 위협에 적어도 부분적으로 기초하는 변경인, 디바이스.
  19. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한, 상기 적어도 하나의 인가되지 않은 전자 메시지의 적어도 하나의 표시를 생성하도록 구성되는, 디바이스.
  20. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한, 각각의 승인된 전자 메시지에 메타데이터를 부가하도록 구성되되, 상기 메타데이터는, 적어도 하나의 목적지 ECU에 의해, 상기 디바이스에 의해 승인되는 것으로 인식되도록 구성되는, 디바이스.
  21. 제12항에 있어서,
    상기 적어도 하나의 네트워크는 차량 외부에 존재하는, 디바이스.
  22. 제21항에 있어서,
    상기 적어도 하나의 ECU는 상기 차량의 적어도 하나의 특정한 기능을 수행하도록 또는 적어도 하나의 특정한 기능에 영향을 끼치도록 구성되는 적어도 하나의 전자 컴퓨팅 디바이스인, 디바이스.
  23. 제21항에 있어서,
    상기 모든 미리 정의된 유효 메시지는, 차량 제조사의 차량 사양 또는 ECU 제조사의 상기 적어도 하나의 ECU의 ECU 사양에 적어도 부분적으로 기초하여 미리 정의되는, 디바이스.
  24. 제23항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한:
    적어도 하나의 신뢰된 전자 소스로부터 상기 차량 사양을 전기적으로 획득하도록, 그리고
    상기 차량 사양에 기초하여:
    1) 상기 적어도 하나의 승인된 메시지 사전 데이터베이스,
    2) 상기 적어도 하나의 승인된 통신 스키마 데이터베이스, 및
    3) 상기 적어도 하나의 미리 정의된 상태 머신
    중 적어도 하나를 동적으로 생성하도록 구성되는, 디바이스.
  25. 제1항에 있어서,
    상기 적어도 하나의 인가되지 않은 전자 메시지는 적어도 하나의 사이버 위협에 관련되는, 디바이스.
  26. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 상기 적어도 하나의 인가되지 않은 전자 메시지를:
    하드웨어,
    소프트웨어 스택을 따른 적어도 하나의 위치, 또는
    둘 모두
    중 하나에서 차단하도록 구성되는, 디바이스.
  27. 제12항에 있어서,
    상기 적어도 하나의 미리 정의된 상태 머신은:
    1) 상기 콘텐츠 논리 레이어,
    2) 상기 라우팅 논리 레이어, 및
    3) 상기 상태 논리 레이어
    중 적어도 하나를 구현하도록 구성되는, 디바이스.
  28. 제19항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한:
    상기 적어도 하나의 인가되지 않은 전자 메시지의 상기 적어도 하나의 표시를 로깅하는(log) 것, 및
    상기 적어도 하나의 인가되지 않은 전자 메시지의 상기 적어도 하나의 표시를, 상기 디바이스 외부에 있는 적어도 하나의 외부 전자 목적지로 송신하는 것
    중 적어도 하나를 하도록 구성되는, 디바이스.
  29. 제1항에 있어서,
    상기 적어도 하나의 보안 록다운 컴포넌트는 또한:
    적어도 하나의 인가된 전자 메시지의 적어도 하나의 표시를 생성하는 것;
    상기 적어도 하나의 인가된 전자 메시지, 상기 적어도 하나의 표시, 또는 둘 모두를 로깅하는 것; 및
    상기 적어도 하나의 인가된 전자 메시지의 상기 적어도 하나의 표시를 상기 디바이스 외부에 있는 적어도 하나의 외부 전자 목적지로 송신하는 것
    중 적어도 하나를 하도록 구성되는, 디바이스.
  30. 방법으로서
    제1항의 디바이스를 차량 안으로 통합하는 단계를 포함하고,
    상기 적어도 하나의 ECU는 상기 차량 내에 존재하는, 방법.
KR1020187032789A 2016-04-12 2017-04-12 보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템 KR102068228B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662321372P 2016-04-12 2016-04-12
US62/321,372 2016-04-12
PCT/IB2017/000509 WO2017178888A1 (en) 2016-04-12 2017-04-12 Specially programmed computing systems with associated devices configured to implement secure lockdowns and methods of use thereof

Publications (2)

Publication Number Publication Date
KR20190032276A true KR20190032276A (ko) 2019-03-27
KR102068228B1 KR102068228B1 (ko) 2020-01-21

Family

ID=59998432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032789A KR102068228B1 (ko) 2016-04-12 2017-04-12 보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템

Country Status (6)

Country Link
US (4) US9866563B2 (ko)
EP (1) EP3443432A4 (ko)
JP (5) JP6629999B2 (ko)
KR (1) KR102068228B1 (ko)
CN (2) CN109644153B (ko)
WO (1) WO2017178888A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200130164A (ko) * 2019-05-08 2020-11-18 바이두 유에스에이 엘엘씨 우회-불가능한 게이트웨이를 이용한 tpm-기반의 안전한 다자간 컴퓨팅 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109644153B (zh) * 2016-04-12 2020-10-13 伽德诺克斯信息技术有限公司 具有被配置为实现安全锁定的相关设备的特别编程的计算系统及其使用方法
JP6494567B2 (ja) * 2016-06-27 2019-04-03 矢崎総業株式会社 通信管理装置および通信システム
ES2725684T3 (es) * 2016-08-19 2019-09-26 Wegmann Automotive Gmbh Sensor de supervisión de presión de neumáticos
KR102533546B1 (ko) 2017-01-05 2023-05-17 리바이버맥스, 인코포레이티드. 도난방지 시스템을 구비한 디지털 차량 번호판 시스템
US11050581B1 (en) * 2017-03-15 2021-06-29 Alarm.Com Incorporated Adaptive supervision signals
US10812257B2 (en) 2017-11-13 2020-10-20 Volkswagen Ag Systems and methods for a cryptographically guaranteed vehicle identity
DE102017221889B4 (de) * 2017-12-05 2022-03-17 Audi Ag Datenverarbeitungseinrichtung, Gesamtvorrichtung und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung oder Gesamtvorrichtung
RU2725033C2 (ru) * 2018-03-30 2020-06-29 Акционерное общество "Лаборатория Касперского" Система и способ создания правил
CN108574737B (zh) * 2018-06-13 2023-10-13 成都信息工程大学 基于云技术和zynq平台的农业自动监控系统及方法
US10956587B2 (en) 2018-11-27 2021-03-23 International Business Machines Corporation Vehicle computer security
JP7138043B2 (ja) * 2018-12-28 2022-09-15 日立Astemo株式会社 情報処理装置
RU2726884C1 (ru) * 2019-02-07 2020-07-16 Акционерное общество "Лаборатория Касперского" Система и способ контроля доступа к кибер-физической системе
US11625459B2 (en) * 2019-02-08 2023-04-11 Raytheon Technologies Corporation Embedded processing system with multi-stage authentication
CN110065501B (zh) * 2019-05-14 2022-07-26 上汽通用五菱汽车股份有限公司 电子控制器的软件控制方法、配置设备及可读存储介质
DE102019210225A1 (de) * 2019-07-10 2021-01-14 Robert Bosch Gmbh Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
US11822955B2 (en) * 2020-01-17 2023-11-21 Steering Solutions Ip Holding Corporation System and method for decentralized vehicle software management
US11423162B2 (en) * 2020-03-27 2022-08-23 Intel Corporation Systems and methods for message assurance in vehicle systems
CN112231176B (zh) * 2020-10-14 2023-03-03 天津津航计算技术研究所 一种简便的VxWorks操作系统系统日志记录方法
CN112328294B (zh) * 2020-11-12 2023-06-06 杭州创想智联科技有限公司 一种车辆ecu的ota升级方法及系统
CN113268275B (zh) * 2021-07-19 2021-09-28 成都菁蓉联创科技有限公司 一种基于微内核的硬件设备驱动系统及其驱动方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080280602A1 (en) * 2007-05-07 2008-11-13 Denso Corporation Vehicle control apparatus with data reprogrammable via wireless communication network
US20150113638A1 (en) * 2013-10-23 2015-04-23 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems

Family Cites Families (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060282B2 (en) * 1995-06-07 2011-11-15 Automotive Technologies International, Inc. Vehicle component control methods and systems based on vehicle stability
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US6098054A (en) * 1997-11-13 2000-08-01 Hewlett-Packard Company Method of securing software configuration parameters with digital signatures
US6324569B1 (en) * 1998-09-23 2001-11-27 John W. L. Ogilvie Self-removing email verified or designated as such by a message distributor for the convenience of a recipient
US6571136B1 (en) * 1999-06-19 2003-05-27 International Business Machines Corporation Virtual network adapter
GB2351588B (en) 1999-07-01 2003-09-03 Ibm Security for network-connected vehicles and other network-connected processing environments
GB2358761B (en) * 2000-01-25 2002-03-13 3Com Corp Multi-port network communication device with selective mac address filtering
US6983374B2 (en) * 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US6496935B1 (en) 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US20020166063A1 (en) * 2001-03-01 2002-11-07 Cyber Operations, Llc System and method for anti-network terrorism
US6629033B2 (en) * 2001-04-24 2003-09-30 Medius, Inc. Open communication system for real-time multiprocessor applications
US7146260B2 (en) * 2001-04-24 2006-12-05 Medius, Inc. Method and apparatus for dynamic configuration of multiprocessor system
US6694235B2 (en) * 2001-07-06 2004-02-17 Denso Corporation Vehicular relay device, in-vehicle communication system, failure diagnostic system, vehicle management device, server device and detection and diagnostic program
US7207061B2 (en) * 2001-08-31 2007-04-17 International Business Machines Corporation State machine for accessing a stealth firewall
JP2003122622A (ja) * 2001-10-09 2003-04-25 Honda Motor Co Ltd データの受信および書き込みを制御する車両制御装置
US7765313B2 (en) * 2001-10-09 2010-07-27 Alcatel Lucent Hierarchical protocol classification engine
US7054944B2 (en) * 2001-12-19 2006-05-30 Intel Corporation Access control management system utilizing network and application layer access control lists
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
JP3866597B2 (ja) * 2002-03-20 2007-01-10 株式会社東芝 内部メモリ型耐タンパプロセッサおよび秘密保護方法
GB0211644D0 (en) * 2002-05-21 2002-07-03 Wesby Philip B System and method for remote asset management
US7539726B1 (en) * 2002-07-16 2009-05-26 Sonicwall, Inc. Message testing
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US20040025027A1 (en) * 2002-07-30 2004-02-05 Eric Balard Secure protection method for access to protected resources in a processor
AU2002951013A0 (en) * 2002-08-27 2002-09-12 Sunbay Software Ag System for improved network data access
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
DE10315638A1 (de) * 2003-04-04 2004-10-28 Infineon Technologies Ag Programmgesteuerte Einheit
JP2005001642A (ja) * 2003-04-14 2005-01-06 Fujitsu Ten Ltd 盗難防止装置、監視装置、及び盗難防止システム
US7426634B2 (en) * 2003-04-22 2008-09-16 Intruguard Devices, Inc. Method and apparatus for rate based denial of service attack detection and prevention
EP1639603A2 (de) * 2003-06-24 2006-03-29 Robert Bosch Gmbh Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat
US8838772B2 (en) * 2003-08-29 2014-09-16 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
JP2005196568A (ja) * 2004-01-08 2005-07-21 Denso Corp 車両の部品管理方法及び装置、車両の部品管理データ更新方法及び装置、並びに車両部品管理センタ
US7091857B2 (en) * 2004-02-12 2006-08-15 Mi-Jack Products, Inc. Electronic control system used in security system for cargo trailers
US20050221800A1 (en) 2004-03-31 2005-10-06 Jackson Riley W Method for remote lockdown of a mobile computer
US7586851B2 (en) * 2004-04-26 2009-09-08 Cisco Technology, Inc. Programmable packet parsing processor
JP4576997B2 (ja) * 2004-04-28 2010-11-10 株式会社デンソー 通信システム、鍵配信装置、暗号処理装置
KR100483025B1 (ko) * 2004-05-21 2005-04-15 엔에이치엔(주) 명령어의 유효성 판단 방법 및 그 시스템
US20060048106A1 (en) * 2004-08-27 2006-03-02 International Business Machines Corporation Link-time profile-based method for reducing run-time image of executables
WO2006101549A2 (en) 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
US7626940B2 (en) * 2004-12-22 2009-12-01 Intruguard Devices, Inc. System and method for integrated header, state, rate and content anomaly prevention for domain name service
US7877789B2 (en) * 2005-06-01 2011-01-25 Goodmail Systems, Inc. E-mail stamping with from-header validation
US20070089163A1 (en) * 2005-10-18 2007-04-19 International Business Machines Corporation System and method for controlling security of a remote network power device
US8341298B2 (en) 2005-12-02 2012-12-25 The Boeing Company Scalable on-board open data network architecture
US20070143846A1 (en) * 2005-12-21 2007-06-21 Lu Hongqian K System and method for detecting network-based attacks on electronic devices
US7623875B2 (en) * 2006-04-24 2009-11-24 Gm Global Technology Operations, Inc. System and method for preventing unauthorized wireless communications which attempt to provide input to or elicit output from a mobile device
US9787703B2 (en) * 2006-05-16 2017-10-10 Lear Corporation Method for vehicle intrusion detection with mobile router
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US8104021B2 (en) * 2006-06-09 2012-01-24 Microsoft Corporation Verifiable integrity guarantees for machine code programs
US20080052644A1 (en) * 2006-08-25 2008-02-28 Netfortis, Inc. String matching engine for arbitrary length strings
US8117461B2 (en) * 2006-09-13 2012-02-14 Igt Method of randomly and dynamically checking configuration integrity of a gaming system
US20080120604A1 (en) * 2006-11-20 2008-05-22 Morris Robert P Methods, Systems, And Computer Program Products For Providing Program Runtime Data Validation
US8332827B2 (en) * 2006-12-01 2012-12-11 Murex S.A.S. Produce graph oriented programming framework with scenario support
JP4496205B2 (ja) * 2006-12-18 2010-07-07 日立オートモティブシステムズ株式会社 制御用マイクロコンピュータの検証装置および車載用制御装置
JP2008312024A (ja) * 2007-06-15 2008-12-25 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニット
JP2008311978A (ja) * 2007-06-15 2008-12-25 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニット
US7970381B2 (en) * 2007-08-13 2011-06-28 General Motors Llc Method of authenticating a short message service (sms) message
US8484752B2 (en) * 2007-11-14 2013-07-09 Caterpillar Inc. Verifying authenticity of electronic control unit code
US8731155B2 (en) * 2007-12-31 2014-05-20 General Motors Llc Method for remotely controlling vehicle features
US7814163B2 (en) * 2008-01-03 2010-10-12 Apple Inc. Text-based communication control for personal communication device
US8239967B2 (en) * 2008-01-15 2012-08-07 Microsoft Corporation Simultaneous tamper-proofing and anti-piracy protection of software
US8299894B1 (en) * 2008-02-29 2012-10-30 John Semeniuk Vehicle unlocking systems
US8321513B2 (en) * 2008-03-04 2012-11-27 Ganz Multiple-layer chat filter system and method
WO2010008610A2 (en) * 2008-07-18 2010-01-21 Sensys Networks, Inc. Method and apparatus generating estimates vehicular movement involving multiple input -output roadway nodes
TWI389125B (zh) * 2008-07-18 2013-03-11 A Data Technology Co Ltd 記憶體儲存裝置及其控制方法
US8484486B2 (en) * 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
US8526306B2 (en) * 2008-12-05 2013-09-03 Cloudshield Technologies, Inc. Identification of patterns in stateful transactions
JP5252374B2 (ja) * 2008-12-08 2013-07-31 株式会社デンソー 車載通信ネットワークシステム
JP5260369B2 (ja) * 2009-03-19 2013-08-14 日立オートモティブシステムズ株式会社 分散システム
US8402268B2 (en) 2009-06-11 2013-03-19 Panasonic Avionics Corporation System and method for providing security aboard a moving platform
JP2011035834A (ja) * 2009-08-05 2011-02-17 Autonetworks Technologies Ltd 通信システム、通信装置及び通信方法
US8665882B2 (en) * 2009-10-30 2014-03-04 Honeywell International Inc. Serialized enforced authenticated controller area network
US8850526B2 (en) * 2010-06-23 2014-09-30 K7 Computing Private Limited Online protection of information and resources
US8601288B2 (en) * 2010-08-31 2013-12-03 Sonics, Inc. Intelligent power controller
CN103201138A (zh) * 2010-10-29 2013-07-10 本田技研工业株式会社 车用程序改写系统
JP5395036B2 (ja) * 2010-11-12 2014-01-22 日立オートモティブシステムズ株式会社 車載ネットワークシステム
US9215244B2 (en) * 2010-11-18 2015-12-15 The Boeing Company Context aware network security monitoring for threat detection
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
WO2012164150A1 (en) * 2011-05-31 2012-12-06 Nokia Corporation Method and apparatus for facilitating location based interaction over an ad-hoc mesh network
US8732319B2 (en) * 2011-06-10 2014-05-20 Qualcomm Incorporated Context awareness proximity-based establishment of wireless communication connection
US8925083B2 (en) * 2011-10-25 2014-12-30 GM Global Technology Operations LLC Cyber security in an automotive network
US20140143839A1 (en) * 2011-11-16 2014-05-22 Flextronics Ap, Llc. On board vehicle remote control module
CN104247361B (zh) * 2011-12-01 2018-07-24 英特尔公司 用于安全消息过滤的方法、设备和相关车辆控制系统,以及含对应指令的计算机可读存储器
CN103959718B (zh) * 2011-12-02 2017-04-26 株式会社自动网络技术研究所 发送消息生成装置以及车载通信系统
JP5472276B2 (ja) * 2011-12-14 2014-04-16 株式会社デンソー 車両用通信制御装置
US9225544B2 (en) * 2011-12-22 2015-12-29 Toyota Jidosha Kabushiki Kaisha Communication system and communication method
WO2013123057A1 (en) * 2012-02-13 2013-08-22 Intertrust Technologies Corporation Trusted connected vehicle systems and methods
JP5772666B2 (ja) * 2012-03-05 2015-09-02 株式会社オートネットワーク技術研究所 通信システム
JP5741496B2 (ja) * 2012-03-14 2015-07-01 株式会社オートネットワーク技術研究所 車載通信システム
WO2013144962A1 (en) * 2012-03-29 2013-10-03 Arilou Information Security Technologies Ltd. Security system and method for protecting a vehicle electronic system
JP5637190B2 (ja) * 2012-07-27 2014-12-10 トヨタ自動車株式会社 通信システム及び通信方法
US9063721B2 (en) * 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
WO2014047695A2 (en) * 2012-09-25 2014-04-03 Kazamias Christian Christos "personalized emergency, safety & rules based interactive alert notification system
US9274839B2 (en) * 2012-09-27 2016-03-01 Intel Corporation Techniques for dynamic physical memory partitioning
US20140121891A1 (en) * 2012-10-30 2014-05-01 Cloudcar, Inc. Automobile data abstraction and communication
EP2929666B1 (en) * 2012-12-06 2021-03-31 The Boeing Company Context aware network security monitoring for threat detection
US20160189444A1 (en) 2012-12-29 2016-06-30 Cloudcar, Inc. System and method to orchestrate in-vehicle experiences to enhance safety
JP5919205B2 (ja) * 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
JP5838983B2 (ja) * 2013-02-25 2016-01-06 トヨタ自動車株式会社 情報処理装置及び情報処理方法
US10352720B2 (en) * 2013-08-28 2019-07-16 Here Global B.V. Method and apparatus for assigning vehicles to trips
JP6181493B2 (ja) * 2013-09-20 2017-08-16 国立大学法人名古屋大学 書換検出システム、書換検出装置及び情報処理装置
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
US20150135271A1 (en) * 2013-11-11 2015-05-14 GM Global Technology Operations LLC Device and method to enforce security tagging of embedded network communications
WO2015083251A1 (ja) * 2013-12-04 2015-06-11 三菱電機株式会社 監視装置、制御システム及び監視プログラム
CN105917339B (zh) 2013-12-11 2019-03-29 大陆-特韦斯贸易合伙股份公司及两合公司 用于操作针对车辆的数据总线之间的安全网关的方法
JP6382724B2 (ja) 2014-01-06 2018-08-29 アーガス サイバー セキュリティ リミテッド グローバル自動車安全システム
US9614745B2 (en) * 2014-01-09 2017-04-04 Citrix Systems, Inc. Systems and methods for cloud-based probing and diagnostics
US9467453B2 (en) * 2014-02-19 2016-10-11 Qualcomm Incorporated Network access and control for mobile devices
US9571284B2 (en) * 2014-03-13 2017-02-14 GM Global Technology Operations LLC Controlling access to personal information stored in a vehicle using a cryptographic key
CN106105105B9 (zh) * 2014-04-03 2020-01-24 松下电器(美国)知识产权公司 网络通信系统、不正常检测电子控制单元以及不正常应对方法
CN106170953B (zh) * 2014-04-17 2019-10-18 松下电器(美国)知识产权公司 车载网络系统、网关装置以及不正常检测方法
US9792440B1 (en) * 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
JP6490058B2 (ja) * 2014-04-17 2019-03-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載ネットワークシステム及び不正検知方法
JP6407981B2 (ja) * 2014-05-08 2018-10-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 車載ネットワークシステム、電子制御ユニット及び不正対処方法
WO2015182103A1 (ja) * 2014-05-29 2015-12-03 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法
US9703955B2 (en) * 2014-07-17 2017-07-11 VisualThreat Inc. System and method for detecting OBD-II CAN BUS message attacks
FR3025035B1 (fr) * 2014-08-22 2016-09-09 Jtekt Europe Sas Calculateur pour vehicule, tel qu’un calculateur de direction assistee, pourvu d’un enregistreur d’evenements integre
US9547306B2 (en) * 2014-09-30 2017-01-17 Speak Loud SPA State and context dependent voice based interface for an unmanned vehicle or robot
CN110377310B (zh) * 2014-11-12 2023-04-07 松下电器(美国)知识产权公司 更新管理方法、更新管理装置以及计算机可读取的记录介质
US9854442B2 (en) * 2014-11-17 2017-12-26 GM Global Technology Operations LLC Electronic control unit network security
CN107005447B (zh) * 2014-11-20 2020-09-08 国立大学法人名古屋大学 通信控制装置及通信系统
JP6079768B2 (ja) * 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
US9843597B2 (en) * 2015-01-05 2017-12-12 International Business Machines Corporation Controller area network bus monitor
JP6595885B2 (ja) * 2015-01-20 2019-10-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正対処方法及び電子制御ユニット
DE102015100736A1 (de) * 2015-01-20 2016-07-21 Dspace Digital Signal Processing And Control Engineering Gmbh Computerimplementiertes Verfahren zur automatischen Generierung wenigstens eines eine Treiberfunktion repräsentierenden Blocks für eine blockbasierte Modellierungsumgebung
JP6573819B2 (ja) * 2015-01-20 2019-09-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
US9866542B2 (en) * 2015-01-28 2018-01-09 Gm Global Technology Operations Responding to electronic in-vehicle intrusions
US9866576B2 (en) * 2015-04-17 2018-01-09 Centripetal Networks, Inc. Rule-based network-threat detection
US10298612B2 (en) * 2015-06-29 2019-05-21 Argus Cyber Security Ltd. System and method for time based anomaly detection in an in-vehicle communication network
JP6505318B2 (ja) * 2015-09-10 2019-04-24 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 車両の電子制御ユニットへの不正アクセスイベントの通知
US11397801B2 (en) * 2015-09-25 2022-07-26 Argus Cyber Security Ltd. System and method for controlling access to an in-vehicle communication network
US20170150361A1 (en) * 2015-11-20 2017-05-25 Faraday&Future Inc. Secure vehicle network architecture
US10063577B2 (en) * 2016-01-13 2018-08-28 International Business Machines Corporation Securing deployments using command analytics
CN109644153B (zh) * 2016-04-12 2020-10-13 伽德诺克斯信息技术有限公司 具有被配置为实现安全锁定的相关设备的特别编程的计算系统及其使用方法
US10419411B2 (en) * 2016-06-10 2019-09-17 Microsoft Technology Licensing, Llc Network-visitability detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080280602A1 (en) * 2007-05-07 2008-11-13 Denso Corporation Vehicle control apparatus with data reprogrammable via wireless communication network
US20150113638A1 (en) * 2013-10-23 2015-04-23 Christopher Valasek Electronic system for detecting and preventing compromise of vehicle electrical and control systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200130164A (ko) * 2019-05-08 2020-11-18 바이두 유에스에이 엘엘씨 우회-불가능한 게이트웨이를 이용한 tpm-기반의 안전한 다자간 컴퓨팅 시스템
US11295014B2 (en) 2019-05-08 2022-04-05 Baidu Usa Llc TPM-based secure multiparty computing system using a non-bypassable gateway

Also Published As

Publication number Publication date
CN112087519A (zh) 2020-12-15
US20180131697A1 (en) 2018-05-10
JP6629999B2 (ja) 2020-01-15
CN109644153B (zh) 2020-10-13
JP6898420B2 (ja) 2021-07-07
WO2017178888A1 (en) 2017-10-19
JP2019519853A (ja) 2019-07-11
JP2023065562A (ja) 2023-05-12
US9866563B2 (en) 2018-01-09
EP3443432A1 (en) 2019-02-20
CN109644153A (zh) 2019-04-16
JP7194396B2 (ja) 2022-12-22
EP3443432A4 (en) 2020-04-01
US10129259B2 (en) 2018-11-13
JP2021184253A (ja) 2021-12-02
JP2020064639A (ja) 2020-04-23
KR102068228B1 (ko) 2020-01-21
JP2021184254A (ja) 2021-12-02
US20190075113A1 (en) 2019-03-07
US20180270240A1 (en) 2018-09-20
US10009350B2 (en) 2018-06-26
US20170295182A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
KR102068228B1 (ko) 보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템
US10380344B1 (en) Secure controller operation and malware prevention
US10320836B2 (en) Automotive ECU controller and data network having security features for protection from malware transmission
US10270786B2 (en) Automated security policy generation for controllers
US11790074B2 (en) Context-based secure controller operation and malware prevention
Jo et al. Vulnerabilities of android OS-based telematics system
Park et al. Case study for defining security goals and requirements for automotive security parts using threat modeling
von Wedel et al. Safe and secure development: Challenges and opportunities
US8881260B1 (en) High assurance guard for security applications utilizing authentication and authorization services for sources of network data
Cerdeira Security assurance of an In-vehicle HMI Manager: specifying certifiable software for In-vehicle infotainment systems

Legal Events

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