KR20140105391A - 자동차 제어 유닛의 운영 체제 내 스택 메모리를 모니터링하는 방법 - Google Patents
자동차 제어 유닛의 운영 체제 내 스택 메모리를 모니터링하는 방법 Download PDFInfo
- Publication number
- KR20140105391A KR20140105391A KR1020140019033A KR20140019033A KR20140105391A KR 20140105391 A KR20140105391 A KR 20140105391A KR 1020140019033 A KR1020140019033 A KR 1020140019033A KR 20140019033 A KR20140019033 A KR 20140019033A KR 20140105391 A KR20140105391 A KR 20140105391A
- Authority
- KR
- South Korea
- Prior art keywords
- program code
- stack memory
- executable program
- execution
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
- G06F11/0739—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 자동차 제어 유닛의 운영 체제(100) 내 스택 메모리를 모니터링하는 방법에 관한 것으로, 상기 방법은 실행 가능한 프로그램 코드의 실행 이전에 스택 메모리의 특징 파라미터를 검사하는 단계(3)와, 실행 가능한 프로그램 코드의 실행 이후에 스택 메모리의 특징 파라미터를 검사하는 단계(7)와, 실행 가능한 프로그램 코드의 실행 전후의 스택 메모리의 특징 파라미터들을 비교하는 단계(8)와, 실행 가능한 프로그램 코드의 실행 전후의 스택 메모리의 특징 파라미터들이 서로 일치하지 않을 경우, 하나 이상의 사전 정의된 액션을 수행하는 단계(20)를 포함한다.
Description
본 발명은, 자동차 제어 유닛의 운영 체제 내 스택 메모리를 모니터링하는 방법에 관한 것이다.
본 발명은 자동차 제어 유닛용 운영 체제에 관한 것이다. 이러한 운영 체제는 예컨대 OSEK 표준("Offene Systeme und deren Schnittstellen fuer die Elektronik im Kraftfahrzeug"; 자동차 전자 장치용 개방형 시스템 및 인터페이스)에 따른다. 실시간이란 사전 설정된 시간 간격 이내에 가용한 이벤트들의 결정성 시간 거동이라 정의된다. 자동차에서 실시간 시스템은 예컨대 특정한 민감형 프로세스들(엔진 제어, ABS, 에어백 등)을 정해진 타임 스케줄에 따라 실행할 수 있도록 하는 데 사용된다.
그러한 운영 체제를 위한 소프트웨어의 프로그래밍 시, 이른바 스택 메모리(후입선출 메모리라고도 불림)가 매우 중요하다. 스택 메모리는 데이터를 연속적으로 기록하고 판독출력한다. 이때, 후입선출 원리(LIFO, Last-In, First Out)가 적용되는데, 이 원리에서 스택 메모리는 기록되었던 순서와 반대의 순서로 판독출력된다. 스택 메모리는 연속적으로 처리되며, 다시 말해 스택 메모리의 최근 메모리 엔트리만 판독출력되어 처리될 수 있다. 스택 포인터(stack pointer)는 그러한 최근 메모리 엔트리의 메모리 어드레스를 포함하고 있다.
각각의 스레드는 통상 하나의 고유 스택 메모리를 갖는다. 상기 개별 스택 메모리 내에는 스레드의 서브 프로그램들의 실행에 필요한 개별 메모리 엔트리로서 파라미터들, 변수들, 또는 파라미터들과 변수들의 메모리 어드레스들이 포함되어 있다. 그 밖에도, 스택 메모리는 서브 프로그램의 처리 후 스레드를 계속 진행하는 데 필요한 리턴 주소들과 리턴 값들을 포함하고 있다.
스택 포인터가 최근 메모리 엔트리의 메모리 어드레스가 아닌 다른 메모리 엔트리의 메모리 어드레스를 포함하고 있다면, 이는 스레드의 오작동 및 운영 체제의 심각한 오류를 야기할 수 있으며, 심지어 운영 체제의 충돌을 초래할 수 있다. 스택 메모리로의 인가되지 않은 액세스를 야기하는, 불완전하게 실행될 가능성이 있는 프로그램 코드가 예컨대 그러한 오작동 및 오류를 유발할 수 있다.
또는, 공격자가 이러한 약점을 종종 이용하기도 한다. 예컨대 공격자는 스택 메모리의 리턴 어드레스들을 이용하여 악성 코드나 유해 소프트웨어를 실행시키려는 시도를 한다.
따라서, 스택 메모리로의 액세스 에러로 인한 자동차 내 제어 유닛의 운영 체제 오작동을 방지할 수 있는 가능성을 제공하는 것이 바람직하다.
본 발명에 따라, 청구항 제1항의 특징들을 갖는, 자동차 제어 유닛의 운영 시스템 내 스택 메모리의 모니터링 방법이 제안된다. 바람직한 실시예들은 종속 청구항들 및 하기의 설명을 참조한다.
본 발명에 따른 방법에서는, 실행 가능한 프로그램 코드의 실행 이전에 스택 메모리의 특징 파라미터가 검사된다. 상기 특징 파라미터는 실행 가능한 프로그램 코드의 실행 이후 다시 검사된다. 실행 가능한 프로그램 코드의 실행 이전과 실행 이후의 스택 메모리의 특징 파라미터가 비교되고, 실행 가능한 프로그램 코드의 실행 전후의 스택 메모리의 특징 파라미터가 동일하지 않을 경우, 사전 정의된 액션이 수행된다.
본 발명에 따른 방법은 각 프로그램 코드의 실행 전후에 수행될 수 있다. 따라서 스택 메모리로의 액세스 에러와 관련하여 각 프로그램 코드가 검사된다. 본 발명에 따른 방법을 이용하면, 실행 가능한 프로그램 코드가 스택 메모리에 잘못 액세스하는 경우 바로 인지될 수 있다.
따라서, 예를 들어 잘못 코딩된 소프트웨어 공유 객체, 코딩 에러 또는 컴파일 에러에 의해 스택 메모리에 잘못 액세스하는 불완전한 프로그램 코드가 식별된다. 스택 메모리에 미치는 부정적인 영향과, 스택 메모리의 부적합한 파라미터들을 가진 코드의 실행이 방지된다. 이는 자동차 제어 유닛, 특히 안전 관련 기능들(예: ABS, ESP, 에어백 등)을 충족시키는 실시간 자동차 제어 유닛에 매우 바람직하다.
특징 파라미터는, 실행 가능한 프로그램 코드의 실행 전후에 실행되는 검사 코드를 이용하여 검출될 수 있다. 프로그램 코드의 실행 이전의 특징 파라미터는 특수한 메모리 영역에 저장된다. 프로그램 코드의 실행 이후의 최근 특징 파라미터도 마찬가지로 저장될 수 있고, 아니면 저장되어 있던 실행 이전의 특징 파라미터와 바로 비교될 수도 있다.
스택 메모리의 특징 파라미터로서, 스택 메모리로의 액세스에 에러가 있는지의 여부를 추적해볼 수 있는 근거가 되는 파라미터가 선택된다.
바람직하게는 스택 포인터가 스택 메모리의 특징 파라미터로서 이용된다. 그럼으로써 프로그램 코드의 실행 전후의 스택 포인터가 스택 메모리의 동일한 메모리 엔트리를 가리킴을 의미하는 스택 메모리의 일치 조건이 검사된다.
예컨대, 운영 체제에 의해 검출되지 않은 스택 메모리의 변경은 스택 메모리의 중요 데이터 및 메모리 엔트리의 덮어쓰기를 야기할 수 있다. 이는, 도입부에서 언급하였듯이, 스레드의 오작동, 운영 체제의 심각한 오류, 심지어 운영 체제의 충돌까지도 초래할 수 있다. 본 발명에 의해 이러한 오류 또는 충돌을 저지할 수 있다. 나아가, 스택 포인터 또는 스택 메모리에 대한 인가되지 않은 액세스를 제공하려고 하는 공격자 및 유해 소프트웨어를 검출할 수 있다.
특히 스택 메모리의 언더플로 또는 오버플로를 저지할 수 있다. 언더플로의 경우에는 비어 있는 스택 메모리가 판독출력된다. 오버플로의 경우, 스택 메모리 내에 추가의 메모리 엔트리를 부가하고 추가의 데이터를 기록하기에 메모리 공간이 더 이상 충분하지 않게 된다. 따라서, 오버플로 및/또는 언더플로에 의해 발생할 수 있는 프로그램 충돌이나 오작동이 저지될 수 있다.
실행 가능한 프로그램 코드는 바람직하게 프로세스, 함수, 태스크, 서브루틴, 서브 프로그램 및/또는 소프트웨어 개체(software entity)로서 형성된다. 실행 가능한 프로그램 코드는 운영 체제 자체에 의해 또는 응용 프로그램에 의해 실행될 수 있다. 기본적으로 매 실행 이전에 각각의 실행 가능한 프로그램 코드의 컨트롤이 제공된다.
바람직하게는 사전 정의된 액션으로서, 실행 가능한 프로그램 코드의 재실행이 저지된다. 실행 가능한 프로그램 코드는 일종의 검역소(quarantine)로 이동될 수 있다. 또한, 사용자에게 에러 메시지가 전송될 수 있고, 그리고/또는 에러 프로토콜 내에 하나의 엔트리가 생성될 수 있다.
바람직하게는 사전 정의된 액션으로서, 실행 가능한 프로그램 코드의 실행 이전의 특징 파라미터가 복구된다. 따라서, 실행 가능한 프로그램 코드에 의한 특징 파라미터의 원치 않은 변경이 취소된다. 실행 가능한 프로그램 코드의 실행 이전에 스택 메모리의 백업 카피를 작성하여, 이를 실행 가능한 프로그램 코드의 실행 이후에 복구하는 점도 고려될 수 있다.
바람직하게는 사전 정의된 액션으로서, 실행 가능한 프로그램 코드를 특징짓는 식별 번호, 데이터 경로 및/또는 메모리 어드레스가 검출된다. 그럼으로써 실행 가능한 프로그램 코드가 명백하게 식별되어 올바른 에러 위치 검출(error localization)이 가능해진다. 실행 가능한 프로그램 코드에 대한 상기 정보들은 에러 메시지 또는 에러 프로토콜에 이용될 수 있다.
본 발명의 한 바람직한 실시예에서, 스택 메모리의 특징 파라미터는 래퍼(wrapper)에 의해 검사된다. 정보 추출 영역 내에서 특정 데이터 소스로부터 (반)정형 데이터를 자동 추출하기 위한 절차들을 래퍼라 칭한다.
래퍼는 프로세스 실행 중에 운영 체제에 의해 호출될 수 있거나, 여타의 프로그램, 소프트웨어 또는 소프트웨어 개체에 의해서도 호출될 수 있다. 특히 래퍼는 본 발명에 따른 방법의 일 실시예를 수행하는 소프트웨어에 의해 호출될 수 있다. 다양한 래퍼가 적절하게 이용될 수 있으며, 특히 각각의 스택 메모리를 위해 전용 래퍼가 이용될 수 있다.
본 발명에 따른 계산 유닛, 예컨대 자동차 제어 유닛은 특히 프로그램 기술적으로 본 발명에 따른 방법을 수행하도록 구성된다.
상기 방법을 소프트웨어의 형태로 구현하는 것도 바람직한데, 그 이유는 실행하는 제어 유닛이 다른 기능들에도 사용됨으로 인해 어차피 제공되는 경우 비용이 상당히 절감되기 때문이다. 컴퓨터 프로그램의 제공에 적합한 데이터 매체는 특히 디스켓, 하드 디스크, 플래시 메모리, EEPROM, CD-ROM, DVD 등이다. 컴퓨터 네트워크(인터넷, 인트라넷 등)를 통한 프로그램 다운로드도 가능하다.
본 발명의 그 밖의 장점들 및 구성들은 상세한 설명 부분과 첨부 도면을 참조한다.
앞에서 언급한, 그리고 하기에 추가로 설명될 특징들은 본 발명의 범주 내에서 각각의 제시된 조합의 형태뿐만 아니라 다른 조합으로도, 또는 독자적으로도 사용될 수 있다.
본 발명은 실시예를 토대로 도면에 개략적으로 도시되며, 하기에서 도면을 참고로 더 상세히 기술된다.
도 1은 본 발명에 따른 방법의 한 바람직한 실시예의 개략적인 블록다이어그램이다.
도 1에는 본 발명에 따른 방법의 한 바람직한 실시예가 블록다이어그램으로서 개략적으로 도시되어 있다. 본 실시예는 도 1에 도면부호 "100"으로 표시된 운영 체제 내에서 실행된다. 본 실시예에서 운영 체제(100)는 자동차 제어 유닛 내에서 실행되는 OSEK 운영 시스템이다.
제1 단계(1)에서 운영 체제(100)는 실행 가능한 프로그램 코드가 태스크의 형태로 실행될 것임을 기록한다. 물론 운영 체제(100)는 해당 태스크를 아직 실행하지 않으며, 먼저 단계 2에서 래퍼를 시작한다. 단계 3에서 래퍼는 스택 메모리로부터 관련 스택 포인터를 특징 파라미터로서 추출하고, 단계 4에서 래퍼는 상기 스택 포인터의 값을 특수 메모리 영역에 저장한다.
단계 5에서 운영 체제(100)는 상기 태스크를 실행한다. 상기 태스크가 실행된 후, 운영 체제(100)는 단계 6에서 다시 래퍼를 시작한다. 단계 7에서 래퍼는 스택 메모리로부터 최근의 스택 포인터를 추출한다. 단계 8에서 운영 체제(100)은 단계 7에서 검출된 최근 스택 포인터의 값을 단계 4에서 저장했던 스택 포인터의 값과 비교하고, 상기 두 스택 포인터의 값이 서로 일치하는지를 검사한다.
스택 포인터의 상기 두 값이 서로 일치할 경우, 단계 10에서는 아무런 추가 액션이 수행되지 않는다. 스택 포인터의 상기 두 값이 서로 일치하지 않을 경우, 운영 체제(100)는 단계 20에서 에러 프로토콜에 1개의 엔트리를 작성한다. 상기 태스크의 데이터 경로와 메모리 어드레스가 에러 프로토콜의 엔트리로서 저장된다. 또한, 운영 체제(100)가 단계 20에서 상기 태스크를 차단함으로써, 상기 태스크는 추후 임의의 시점에 더 이상 실행될 수 없다.
Claims (9)
- 자동차 제어 유닛의 운영 체제(100) 내 스택 메모리를 모니터링하는 방법이며,
실행 가능한 프로그램 코드의 실행 이전에 스택 메모리의 특징 파라미터를 검사하는 단계(3)와,
실행 가능한 프로그램 코드의 실행 이후에 스택 메모리의 특징 파라미터를 검사하는 단계(7)와,
실행 가능한 프로그램 코드의 실행 전후의 스택 메모리의 특징 파라미터들을 비교하는 단계(8)와,
실행 가능한 프로그램 코드의 실행 전후의 스택 메모리의 특징 파라미터들이 서로 일치하지 않을 경우, 하나 이상의 사전 정의된 액션을 수행하는 단계(20)를 포함하는, 스택 메모리 모니터링 방법. - 제1항에 있어서, 스택 메모리의 특징 파라미터는 스택 포인터인, 스택 메모리 모니터링 방법.
- 제1항 또는 제2항에 있어서, 실행 가능한 프로그램 코드는 프로세스, 함수, 태스크, 서브루틴, 서브 프로그램 및 소프트웨어 개체 중 하나 이상의 형태로서 형성되는, 스택 메모리 모니터링 방법.
- 제1항 또는 제2항에 있어서, 사전 정의된 액션으로서 실행 가능한 프로그램 코드의 재실행이 방지되는, 스택 메모리 모니터링 방법.
- 제1항 또는 제2항에 있어서, 사전 정의된 액션으로서, 실행 가능한 프로그램 코드의 실행 이전에 특징 파라미터가 복구되는, 스택 메모리 모니터링 방법.
- 제1항 또는 제2항에 있어서, 사전 정의된 액션으로서, 실행 가능한 프로그램 코드를 특징짓는 식별 번호, 데이터 경로 및 메모리 어드레스 중 하나 이상이 검출되는, 스택 메모리 모니터링 방법.
- 제1항 또는 제2항에 있어서, 스택 메모리의 특징 파라미터는 래퍼 함수에 의해 검사되는, 스택 메모리 모니터링 방법.
- 제1항 또는 제2항에 따른 방법을 수행하도록 구성된 계산 유닛.
- 계산 유닛에서 실행될 경우, 상기 계산 유닛이 제1항 또는 제2항에 따른 방법을 수행하도록 하는 프로그램 코드 수단들을 포함하는 컴퓨터 프로그램이 저장되어 있는 기계판독 가능 저장 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201310202961 DE102013202961A1 (de) | 2013-02-22 | 2013-02-22 | Verfahren zum Überwachen eines Stackspeichers in einem Betriebssystem eines Steuergeräts eines Kraftfahrzeuges |
DE102013202961.6 | 2013-02-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140105391A true KR20140105391A (ko) | 2014-09-01 |
Family
ID=51349407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140019033A KR20140105391A (ko) | 2013-02-22 | 2014-02-19 | 자동차 제어 유닛의 운영 체제 내 스택 메모리를 모니터링하는 방법 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20140105391A (ko) |
CN (1) | CN104008049A (ko) |
DE (1) | DE102013202961A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016203852A1 (de) * | 2016-03-09 | 2017-09-14 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug |
KR101716865B1 (ko) * | 2016-04-29 | 2017-03-15 | 고려대학교 산학협력단 | 주 메모리의 에러 셀 회피를 위한 스택 및 힙 메모리 관리 장치 및 그 방법 |
CN107480523A (zh) * | 2017-08-17 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种Intel并Linux64平台上缓冲区溢出利用方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7086088B2 (en) * | 2002-05-15 | 2006-08-01 | Nokia, Inc. | Preventing stack buffer overflow attacks |
CN101241464B (zh) * | 2007-02-05 | 2010-08-18 | 中兴通讯股份有限公司 | 一种检测堆栈帧破坏的方法 |
US20090187748A1 (en) * | 2008-01-22 | 2009-07-23 | Scott Krig | Method and system for detecting stack alteration |
CN102629231B (zh) * | 2012-04-24 | 2016-04-13 | 迈普通信技术股份有限公司 | 一种检测任务堆栈的方法 |
-
2013
- 2013-02-22 DE DE201310202961 patent/DE102013202961A1/de not_active Ceased
-
2014
- 2014-02-19 KR KR1020140019033A patent/KR20140105391A/ko not_active Application Discontinuation
- 2014-02-21 CN CN201410059234.3A patent/CN104008049A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102013202961A1 (de) | 2014-08-28 |
CN104008049A (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10127161B2 (en) | Method for the coexistence of software having different safety levels in a multicore processor system | |
JP6898420B2 (ja) | セキュアロックダウンを実装するように構成された関連装置を有する特別にプログラムされたコンピューティングシステムおよびその使用方法 | |
US8677189B2 (en) | Recovering from stack corruption faults in embedded software systems | |
US20020073400A1 (en) | Method for monitoring a program execution using a debug logic | |
US20150150024A1 (en) | Method of detecting stack overflows and processor for implementing such a method | |
US9610906B2 (en) | Vehicle control device | |
CN108197476B (zh) | 一种智能终端设备的漏洞检测方法及装置 | |
US11615183B2 (en) | Information processing device, control method, and recording medium for detecting an anomaly in behavior of an application operating on a device in a mobility | |
US9235456B2 (en) | Configuration technique for an electronic control unit with intercommunicating applications | |
KR20140105391A (ko) | 자동차 제어 유닛의 운영 체제 내 스택 메모리를 모니터링하는 방법 | |
US20090327838A1 (en) | Memory system and operating method for it | |
JP5975923B2 (ja) | 車両用制御装置 | |
JP3923810B2 (ja) | 車両用電子制御装置 | |
CN113467981A (zh) | 异常处理的方法和装置 | |
CN108647516B (zh) | 一种防御漏洞非法提权方法及装置 | |
CN112463288A (zh) | 基于插桩的行为监控方法及系统 | |
CN112463286A (zh) | 用于虚拟机操作系统的异常事件监控方法及系统 | |
CN113312623B (zh) | 访问控制中的进程检测方法、装置、电子设备和存储介质 | |
US20220253523A1 (en) | Onboard information processing device, information processing method, and non-transitory recording medium | |
US9977048B2 (en) | Method and device for examining signals | |
JP2017007539A (ja) | 制御装置 | |
CN111949362A (zh) | 一种基于虚拟化技术的主机信息采集方法 | |
CN112464231A (zh) | 基于虚拟机的威胁检测方法及系统 | |
US20160011932A1 (en) | Method for Monitoring Software in a Road Vehicle | |
US20220360992A1 (en) | Control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |