KR101887077B1 - 차량용 전자 디바이스 해킹 테스트 장치 - Google Patents

차량용 전자 디바이스 해킹 테스트 장치 Download PDF

Info

Publication number
KR101887077B1
KR101887077B1 KR1020170010769A KR20170010769A KR101887077B1 KR 101887077 B1 KR101887077 B1 KR 101887077B1 KR 1020170010769 A KR1020170010769 A KR 1020170010769A KR 20170010769 A KR20170010769 A KR 20170010769A KR 101887077 B1 KR101887077 B1 KR 101887077B1
Authority
KR
South Korea
Prior art keywords
vehicle
processor
packet
electronic device
unit
Prior art date
Application number
KR1020170010769A
Other languages
English (en)
Other versions
KR20180086833A (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 엘지전자 주식회사
Priority to KR1020170010769A priority Critical patent/KR101887077B1/ko
Priority to US16/480,595 priority patent/US11284262B2/en
Priority to EP17894411.2A priority patent/EP3576348A4/en
Priority to PCT/KR2017/004778 priority patent/WO2018139708A1/ko
Publication of KR20180086833A publication Critical patent/KR20180086833A/ko
Application granted granted Critical
Publication of KR101887077B1 publication Critical patent/KR101887077B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/24Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 송신부; 수신부; 및 기 설정된 통신 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트(state)로 구분하고, 상기 복수의 스테이트에 적합한 변형 패킷(mutated packet)을 생성하여, 상기 송신부를 통해, 차량용 전자 디바이스에 송신하고, 상기 수신부를 통한, 상기 변형 패킷에 대응되는 수신 패킷의 수신 여부를 기초로, 상기 차량용 전자 디바이스의 해킹 취약 여부를 판단하는 프로세서;를 포함하는 차량용 전자 디바이스 해킹 테스트 장치에 관한 것이다.

Description

차량용 전자 디바이스 해킹 테스트 장치{Hacking test apparatus for vehicle electric device}
본 발명은 차량용 전자 디바이스 해킹 테스트 장치에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다.
한편, 차량을 이용하는 사용자의 편의를 위해, 각 종 센서와 전자 장치 등이 구비되고 있는 추세이다. 특히, 사용자의 운전 편의를 위해 차량 운전자 보조 시스템(ADAS : Advanced Driver Assistance System)에 대한 연구가 활발하게 이루어지고 있다. 나아가, 자율 주행 차량(Autonomous Vehicle)에 대한 개발이 활발하게 이루어 지고 있다.
이러한 차량에는 다양한 디바이스들이 탑재된다. 최근 여러 언론을 통해, 차량을 해킹하는 모습이 공개되기도 하였다. 이러한 해킹을 방지하기 위한 방법으로, 해킹에 취약하지 않은 장치를 제조하는 것이 있다.
본 발명의 실시예는 상기한 문제점을 해결하기 위하여, 차량용 전자 디바이스의 해킹 취약 여부를 확인하는 해킹 테스트 장치를 제공하는데 목적이 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 차량용 전자 디바이스 해킹 테스트 장치는, 송신부; 수신부; 및 기 설정된 통신 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트(state)로 구분하고, 상기 복수의 스테이트에 적합한 변형 패킷(mutated packet)을 생성하여, 상기 송신부를 통해, 차량용 전자 디바이스에 송신하고, 상기 수신부를 통한, 상기 복수의 변형 패킷에 대응되는 수신 패킷의 수신 여부를 기초로, 상기 차량용 전자 디바이스의 해킹 취약 여부를 판단하는 프로세서;를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 복수의 스테이트 별로 해킹 취약 여부를 판단함으로써, 보다 정교하게 차량용 전자 디바이스의 해킹 취약 여부를 판단할 수 있는 효과가 있다.
둘째, 차량에 구비되는 다양한 디바이스에 대한 테스트를 통해, 차량용 전자 디바이스의 해킹을 예방하는 효과가 있다.
셋째, 복수의 스테이트를 랜덤하게 변경해 가며 테스트를 진행함으로써, 보다 정확하게 해킹 취약 여부를 구별하는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 차량용 전자 디바이스 해킹 테스트 장치 및 차량을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량을 설명하는데 참조되는 블럭도이다.
도 3은 본 발명의 실시예에 따른 차량용 전자 디바이스 해킹 테스트 장치의 블럭도이다.
도 4는 본 발명의 실시예에 따른 차량용 전자 디바이스 해킹 테스트 장치의 동작을 설명하는데 참조되는 도면이다.
도 5는 본 발명의 실시예에 따라 변형 패킷을 생성하는 동작을 설명하는데 참조되는 도면이다.
도 6은 본 발명의 실시예에 따라, 16진수로 구현된 변형 패킷을 설명하는데 참조되는 도면이다.
도 7 내지 도 8은 본 발명의 실시예에 따라, 와이 파이 프로토콜에 기초한 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 도면이다.
도 9는 본 발명의 실시예에 따라, 와이 파이 프로토콜에 기초한 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 도면이다.
도 10 내지 도 11은 본 발명의 실시예에 따라, 블루투스 프로토콜에 기초한 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서 기술되는 차량은, 자동차, 오토바이를 포함하는 개념일 수 있다. 이하에서는, 차량에 대해 자동차를 위주로 기술한다.
본 명세서에서 기술되는 차량은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량등을 모두 포함하는 개념일 수 있다.
이하의 설명에서 차량의 좌측은 차량의 주행 방향의 좌측을 의미하고, 차량의 우측은 차량의 주행 방향의 우측을 의미한다.
도 1은 본 발명의 실시예에 따른 차량용 해킹 디바이스 및 차량을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량을 설명하는데 참조되는 블럭도이다.
도 1 내지 도 2를 참조하면, 차량(100)은 동력원에 의해 회전하는 바퀴, 차량(100)의 진행 방향을 조절하기 위한 조향 입력 장치(510)를 포함할 수 있다.
차량(100)은 자율 주행 차량일 수 있다.
차량(100)은, 사용자 입력에 기초하여, 자율 주행 모드 또는 메뉴얼 모드로 전환될 수 있다.
예를 들면, 차량(100)은, 사용자 인터페이스 장치(200)를 통해, 수신되는 사용자 입력에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
차량(100)은, 주행 상황 정보에 기초하여, 자율 주행 모드 또는 메뉴얼 모드로 전환될 수 있다.
주행 상황 정보는, 차량 외부의 오브젝트 정보, 내비게이션 정보 및 차량 상태 정보 중 적어도 어느 하나를 포함할 수 있다.
예를 들면, 차량(100)은, 오브젝트 검출 장치(300)에서 생성되는 주행 상황 정보에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
예를 들면, 차량(100)은, 통신 장치(400)를 통해 수신되는 주행 상황 정보에 기초하여, 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
차량(100)은, 외부 디바이스에서 제공되는 정보, 데이터, 신호에 기초하여 메뉴얼 모드에서 자율 주행 모드로 전환되거나, 자율 주행 모드에서 메뉴얼 모드로 전환될 수 있다.
차량(100)이 자율 주행 모드로 운행되는 경우, 자율 주행 차량(100)은, 운행 시스템(700)에 기초하여 운행될 수 있다.
예를 들면, 자율 주행 차량(100)은, 주행 시스템(710), 출차 시스템(740), 주차 시스템(750)에서 생성되는 정보, 데이터 또는 신호에 기초하여 운행될 수 있다.
차량(100)이 메뉴얼 모드로 운행되는 경우, 자율 주행 차량(100)은, 운전 조작 장치(500)를 통해 운전을 위한 사용자 입력을 수신할 수 있다. 운전 조작 장치(500)를 통해 수신되는 사용자 입력에 기초하여, 차량(100)은 운행될 수 있다.
전장(overall length)은 차량(100)의 앞부분에서 뒷부분까지의 길이, 전폭(width)은 차량(100)의 너비, 전고(height)는 바퀴 하부에서 루프까지의 길이를 의미한다. 이하의 설명에서, 전장 방향(L)은 차량(100)의 전장 측정의 기준이 되는 방향, 전폭 방향(W)은 차량(100)의 전폭 측정의 기준이 되는 방향, 전고 방향(H)은 차량(100)의 전고 측정의 기준이 되는 방향을 의미할 수 있다.
차량(100)은, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 운행 시스템(700), 내비게이션 시스템(770), 센싱부(120), 인터페이스부(130), 메모리(140), 제어부(170) 및 전원 공급부(190)를 포함할 수 있다.
실시예에 따라, 차량(100)은, 본 명세서에서 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
사용자 인터페이스 장치(200)는, 차량(100)과 사용자와의 소통을 위한 장치이다. 사용자 인터페이스 장치(200)는, 사용자 입력을 수신하고, 사용자에게 차량(100)에서 생성된 정보를 제공할 수 있다. 차량(100)은, 사용자 인터페이스 장치(200)를 통해, UI(User Interfaces) 또는 UX(User Experience)를 구현할 수 있다.
사용자 인터페이스 장치(200)는, 입력부(210), 내부 카메라(220), 생체 감지부(230), 출력부(250) 및 프로세서(270)를 포함할 수 있다.
실시예에 따라, 사용자 인터페이스 장치(200)는, 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수도 있다.
입력부(210)는, 사용자로부터 정보를 입력받기 위한 것으로, 입력부(210)에서 수집한 데이터는, 프로세서(270)에 의해 분석되어, 사용자의 제어 명령으로 처리될 수 있다.
입력부(210)는, 차량 내부에 배치될 수 있다. 예를 들면, 입력부(210)는, 스티어링 휠(steering wheel)의 일 영역, 인스투루먼트 패널(instrument panel)의 일 영역, 시트(seat)의 일 영역, 각 필러(pillar)의 일 영역, 도어(door)의 일 영역, 센타 콘솔(center console)의 일 영역, 헤드 라이닝(head lining)의 일 영역, 썬바이저(sun visor)의 일 영역, 윈드 쉴드(windshield)의 일 영역 또는 윈도우(window)의 일 영역 등에 배치될 수 있다.
입력부(210)는, 음성 입력부(211), 제스쳐 입력부(212), 터치 입력부(213) 및 기계식 입력부(214)를 포함할 수 있다.
음성 입력부(211)는, 사용자의 음성 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다.
음성 입력부(211)는, 하나 이상의 마이크로 폰을 포함할 수 있다.
제스쳐 입력부(212)는, 사용자의 제스쳐 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다.
제스쳐 입력부(212)는, 사용자의 제스쳐 입력을 감지하기 위한 적외선 센서 및 이미지 센서 중 적어도 어느 하나를 포함할 수 있다.
실시예에 따라, 제스쳐 입력부(212)는, 사용자의 3차원 제스쳐 입력을 감지할 수 있다. 이를 위해, 제스쳐 입력부(212)는, 복수의 적외선 광을 출력하는 광출력부 또는 복수의 이미지 센서를 포함할 수 있다.
제스쳐 입력부(212)는, TOF(Time of Flight) 방식, 구조광(Structured light) 방식 또는 디스패러티(Disparity) 방식을 통해 사용자의 3차원 제스쳐 입력을 감지할 수 있다.
터치 입력부(213)는, 사용자의 터치 입력을 전기적 신호로 전환할 수 있다. 전환된 전기적 신호는 프로세서(270) 또는 제어부(170)에 제공될 수 있다.
터치 입력부(213)는, 사용자의 터치 입력을 감지하기 위한 터치 센서를 포함할 수 있다.
실시예에 따라, 터치 입력부(213)는 디스플레이부(251)와 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한, 터치 스크린은, 차량(100)과 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 함께 제공할 수 있다.
기계식 입력부(214)는, 버튼, 돔 스위치(dome switch), 조그 휠 및 조그 스위치 중 적어도 어느 하나를 포함할 수 있다. 기계식 입력부(214)에 의해 생성된 전기적 신호는, 프로세서(270) 또는 제어부(170)에 제공될 수 있다.
기계식 입력부(214)는, 스티어링 휠, 센테 페시아, 센타 콘솔, 칵픽 모듈, 도어 등에 배치될 수 있다.
내부 카메라(220)는, 차량 내부 영상을 획득할 수 있다. 프로세서(270)는, 차량 내부 영상을 기초로, 사용자의 상태를 감지할 수 있다. 프로세서(270)는, 차량 내부 영상에서 사용자의 시선 정보를 획득할 수 있다. 프로세서(270)는, 차량 내부 영상에서 사용자의 제스쳐를 감지할 수 있다.
생체 감지부(230)는, 사용자의 생체 정보를 획득할 수 있다. 생체 감지부(230)는, 사용자의 생체 정보를 획득할 수 있는 센서를 포함하고, 센서를 이용하여, 사용자의 지문 정보, 심박동 정보 등을 획득할 수 있다. 생체 정보는 사용자 인증을 위해 이용될 수 있다.
출력부(250)는, 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것이다.
출력부(250)는, 디스플레이부(251), 음향 출력부(252) 및 햅틱 출력부(253) 중 적어도 어느 하나를 포함할 수 있다.
디스플레이부(251)는, 다양한 정보에 대응되는 그래픽 객체를 표시할 수 있다.
디스플레이부(251)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
디스플레이부(251)는 터치 입력부(213)와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다.
디스플레이부(251)는 HUD(Head Up Display)로 구현될 수 있다. 디스플레이부(251)가 HUD로 구현되는 경우, 디스플레이부(251)는 투사 모듈을 구비하여 윈드 쉴드 또는 윈도우에 투사되는 이미지를 통해 정보를 출력할 수 있다.
디스플레이부(251)는, 투명 디스플레이를 포함할 수 있다. 투명 디스플레이는 윈드 쉴드 또는 윈도우에 부착될 수 있다.
투명 디스플레이는 소정의 투명도를 가지면서, 소정의 화면을 표시할 수 있다. 투명 디스플레이는, 투명도를 가지기 위해, 투명 디스플레이는 투명 TFEL(Thin Film Elecroluminescent), 투명 OLED(Organic Light-Emitting Diode), 투명 LCD(Liquid Crystal Display), 투과형 투명디스플레이, 투명 LED(Light Emitting Diode) 디스플레이 중 적어도 하나를 포함할 수 있다. 투명 디스플레이의 투명도는 조절될 수 있다.
한편, 사용자 인터페이스 장치(200)는, 복수의 디스플레이부(251a 내지 251g)를 포함할 수 있다.
디스플레이부(251)는, 스티어링 휠의 일 영역, 인스투루먼트 패널의 일 영역(251a, 251b, 251e), 시트의 일 영역(251d), 각 필러의 일 영역(251f), 도어의 일 영역(251g), 센타 콘솔의 일 영역, 헤드 라이닝의 일 영역, 썬바이저의 일 영역에 배치되거나, 윈드 쉴드의 일영역(251c), 윈도우의 일영역(251h)에 구현될 수 있다.
음향 출력부(252)는, 프로세서(270) 또는 제어부(170)로부터 제공되는 전기 신호를 오디오 신호로 변환하여 출력한다. 이를 위해, 음향 출력부(252)는, 하나 이상의 스피커를 포함할 수 있다.
햅틱 출력부(253)는, 촉각적인 출력을 발생시킨다. 예를 들면, 햅틱 출력부(253)는, 스티어링 휠, 안전 벨트, 시트(110FL, 110FR, 110RL, 110RR)를 진동시켜, 사용자가 출력을 인지할 수 있게 동작할 수 있다.
프로세서(270)는, 사용자 인터페이스 장치(200)의 각 유닛의 전반적인 동작을 제어할 수 있다.
실시예에 따라, 사용자 인터페이스 장치(200)는, 복수의 프로세서(270)를 포함하거나, 프로세서(270)를 포함하지 않을 수도 있다.
사용자 인터페이스 장치(200)에 프로세서(270)가 포함되지 않는 경우, 사용자 인터페이스 장치(200)는, 차량(100)내 다른 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다.
한편, 사용자 인터페이스 장치(200)는, 차량용 디스플레이 장치로 명명될 수 있다.
사용자 인터페이스 장치(200)는, 제어부(170)의 제어에 따라 동작될 수 있다.
오브젝트 검출 장치(300)는, 차량(100) 외부에 위치하는 오브젝트를 검출하기 위한 장치이다. 오브젝트 검출 장치(300)는, 센싱 데이터에 기초하여, 오브젝트 정보를 생성할 수 있다.
오브젝트 정보는, 오브젝트의 존재 유무에 대한 정보, 오브젝트의 위치 정보, 차량(100)과 오브젝트와의 거리 정보 및 차량(100)과 오브젝트와의 상대 속도 정보를 포함할 수 있다.
오브젝트는, 차량(100)의 운행과 관련된 다양한 물체들일 수 있다.
오브젝트(O)는, 차선(OB10), 타 차량(OB11), 보행자(OB12), 이륜차(OB13), 교통 신호(OB14, OB15), 빛, 도로, 구조물, 과속 방지턱, 지형물, 동물 등을 포함할 수 있다.
차선(Lane)(OB10)은, 주행 차선, 주행 차선의 옆 차선, 대향되는 차량이 주행하는 차선일 수 있다. 차선(Lane)(OB10)은, 차선(Lane)을 형성하는 좌우측 선(Line)을 포함하는 개념일 수 있다.
타 차량(OB11)은, 차량(100)의 주변에서 주행 중인 차량일 수 있다. 타 차량은, 차량(100)으로부터 소정 거리 이내에 위치하는 차량일 수 있다. 예를 들면, 타 차량(OB11)은, 차량(100)보다 선행 또는 후행하는 차량일 수 있다.
보행자(OB12)는, 차량(100)의 주변에 위치한 사람일 수 있다. 보행자(OB12)는, 차량(100)으로부터 소정 거리 이내에 위치하는 사람일 수 있다. 예를 들면, 보행자(OB12)는, 인도 또는 차도상에 위치하는 사람일 수 있다.
이륜차(OB13)는, 차량(100)의 주변에 위치하고, 2개의 바퀴를 이용해 움직이는 탈것을 의미할 수 있다. 이륜차(OB13)는, 차량(100)으로부터 소정 거리 이내에 위치하는 2개의 바퀴를 가지는 탈 것일 수 있다. 예를 들면, 이륜차(OB13)는, 인도 또는 차도상에 위치하는 오토바이 또는 자전거일 수 있다.
교통 신호는, 교통 신호등(OB15), 교통 표지판(OB14), 도로면에 그려진 문양 또는 텍스트를 포함할 수 있다.
빛은, 타 차량에 구비된 램프에서 생성된 빛일 수 있다. 빛은, 가로등에서 생성된 빛을 수 있다. 빛은 태양광일 수 있다.
도로는, 도로면, 커브, 오르막, 내리막 등의 경사 등을 포함할 수 있다.
구조물은, 도로 주변에 위치하고, 지면에 고정된 물체일 수 있다. 예를 들면, 구조물은, 가로등, 가로수, 건물, 전봇대, 신호등, 다리를 포함할 수 있다.
지형물은, 산, 언덕, 등을 포함할 수 있다.
한편, 오브젝트는, 이동 오브젝트와 고정 오브젝트로 분류될 수 있다. 예를 들면, 이동 오브젝트는, 타 차량, 보행자를 포함하는 개념일 수 있다. 예를 들면, 고정 오브젝트는, 교통 신호, 도로, 구조물을 포함하는 개념일 수 있다.
오브젝트 검출 장치(300)는, 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340), 적외선 센서(350) 및 프로세서(370)를 포함할 수 있다.
실시예에 따라, 오브젝트 검출 장치(300)는, 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
카메라(310)는, 차량 외부 영상을 획득하기 위해, 차량의 외부의 적절한 곳에 위치할 수 있다. 카메라(310)는, 모노 카메라, 스테레오 카메라(310a), AVM(Around View Monitoring) 카메라(310b) 또는 360도 카메라일 수 있다.
카메라(310)는, 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 스테레오 카메라(310a)에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 카메라(310)는, 차량 전방의 영상을 획득하기 위해, 차량의 실내에서, 프런트 윈드 쉴드에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다.
예를 들면, 카메라(310)는, 차량 후방의 영상을 획득하기 위해, 차량의 실내에서, 리어 글라스에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 리어 범퍼, 트렁크 또는 테일 게이트 주변에 배치될 수 있다.
예를 들면, 카메라(310)는, 차량 측방의 영상을 획득하기 위해, 차량의 실내에서 사이드 윈도우 중 적어도 어느 하나에 근접하게 배치될 수 있다. 또는, 카메라(310)는, 사이드 미러, 휀더 또는 도어 주변에 배치될 수 있다.
카메라(310)는, 획득된 영상을 프로세서(370)에 제공할 수 있다.
레이다(320)는, 전자파 송신부, 수신부를 포함할 수 있다. 레이더(320)는 전파 발사 원리상 펄스 레이더(Pulse Radar) 방식 또는 연속파 레이더(Continuous Wave Radar) 방식으로 구현될 수 있다. 레이더(320)는 연속파 레이더 방식 중에서 신호 파형에 따라 FMCW(Frequency Modulated Continuous Wave)방식 또는 FSK(Frequency Shift Keyong) 방식으로 구현될 수 있다.
레이더(320)는 전자파를 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다.
레이더(320)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
라이다(330)는, 레이저 송신부, 수신부를 포함할 수 있다. 라이다(330)는, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식으로 구현될 수 있다.
라이다(330)는, 구동식 또는 비구동식으로 구현될 수 있다.
구동식으로 구현되는 경우, 라이다(330)는, 모터에 의해 회전되며, 차량(100) 주변의 오브젝트를 검출할 수 있다.
비구동식으로 구현되는 경우, 라이다(330)는, 광 스티어링에 의해, 차량(100)을 기준으로 소정 범위 내에 위치하는 오브젝트를 검출할 수 있다. 차량(100)은 복수의 비구동식 라이다(330)를 포함할 수 있다.
라이다(330)는, 레이저 광 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다.
라이다(330)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
초음파 센서(340)는, 초음파 송신부, 수신부를 포함할 수 있다. 초음파 센서(340)은, 초음파를 기초로 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다.
초음파 센서(340)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
적외선 센서(350)는, 적외선 송신부, 수신부를 포함할 수 있다. 적외선 센서(340)는, 적외선 광을 기초로 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다.
적외선 센서(350)는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
프로세서(370)는, 오브젝트 검출 장치(300)의 각 유닛의 전반적인 동작을 제어할 수 있다.
프로세서(370)는, 카메라(310, 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350)에 의해 센싱된 데이터와 기 저장된 데이터를 비교하여, 오브젝트를 검출하거나 분류할 수 있다.
프로세서(370)는, 획득된 영상에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 영상 처리 알고리즘을 통해, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출등의 동작을 수행할 수 있다.
예를 들면, 프로세서(370)는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 프로세서(370)는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
예를 들면, 프로세서(370)는, 스테레오 카메라(310a)에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
프로세서(370)는, 송신된 전자파가 오브젝트에 반사되어 되돌아오는 반사 전자파에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 전자파에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
프로세서(370)는, 송신된 레이저가 오브젝트에 반사되어 되돌아오는 반사 레이저 광에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 레이저 광에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
프로세서(370)는, 송신된 초음파가 오브젝트에 반사되어 되돌아오는 반사 초음파에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 초음파에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
프로세서(370)는, 송신된 적외선 광이 오브젝트에 반사되어 되돌아오는 반사 적외선 광에 기초하여, 오브젝트를 검출하고, 트래킹할 수 있다. 프로세서(370)는, 적외선 광에 기초하여, 오브젝트와의 거리 산출, 오브젝트와의 상대 속도 산출 등의 동작을 수행할 수 있다.
실시예에 따라, 오브젝트 검출 장치(300)는, 복수의 프로세서(370)를 포함하거나, 프로세서(370)를 포함하지 않을 수도 있다. 예를 들면, 카메라(310), 레이다(320), 라이다(330), 초음파 센서(340) 및 적외선 센서(350) 각각은 개별적으로 프로세서를 포함할 수 있다.
오브젝트 검출 장치(300)에 프로세서(370)가 포함되지 않는 경우, 오브젝트 검출 장치(300)는, 차량(100)내 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다.
오브젝트 검출 장치(300)는, 제어부(170)의 제어에 따라 동작될 수 있다.
통신 장치(400)는, 외부 디바이스와 통신을 수행하기 위한 장치이다. 여기서, 외부 디바이스는, 타 차량, 이동 단말기 또는 서버일 수 있다.
통신 장치(400)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.
통신 장치(400)는, 근거리 통신부(410), 위치 정보부(420), V2X 통신부(430), 광통신부(440), 방송 송수신부(450), ITS(Intelligent Transport Systems) 통신부(460) 및 프로세서(470)를 포함할 수 있다.
실시예에 따라, 통신 장치(400)는, 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
근거리 통신부(410)는, 근거리 통신(Short range communication)을 위한 유닛이다. 근거리 통신부(410)는, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.
근거리 통신부(410)는, 근거리 무선 통신망(Wireless Area Networks)을 형성하여, 차량(100)과 적어도 하나의 외부 디바이스 사이의 근거리 통신을 수행할 수 있다.
위치 정보부(420)는, 차량(100)의 위치 정보를 획득하기 위한 유닛이다. 예를 들면, 위치 정보부(420)는, GPS(Global Positioning System) 모듈 또는 DGPS(Differential Global Positioning System) 모듈을 포함할 수 있다.
V2X 통신부(430)는, 서버(V2I : Vehicle to Infra), 타 차량(V2V : Vehicle to Vehicle) 또는 보행자(V2P : Vehicle to Pedestrian)와의 무선 통신 수행을 위한 유닛이다. V2X 통신부(430)는, 인프라와의 통신(V2I), 차량간 통신(V2V), 보행자와의 통신(V2P) 프로토콜이 구현 가능한 RF 회로를 포함할 수 있다.
광통신부(440)는, 광을 매개로 외부 디바이스와 통신을 수행하기 위한 유닛이다. 광통신부(440)는, 전기 신호를 광 신호로 전환하여 외부에 발신하는 광발신부 및 수신된 광 신호를 전기 신호로 전환하는 광수신부를 포함할 수 있다.
실시예에 따라, 광발신부는, 차량(100)에 포함된 램프와 일체화되게 형성될 수 있다.
방송 송수신부(450)는, 방송 채널을 통해, 외부의 방송 관리 서버로부터 방송 신호를 수신하거나, 방송 관리 서버에 방송 신호를 송출하기 위한 유닛이다. 방송 채널은, 위성 채널, 지상파 채널을 포함할 수 있다. 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 수 있다.
ITS 통신부(460)는, 교통 시스템과 정보, 데이터 또는 신호를 교환할 수 있다. ITS 통신부(460)는, 교통 시스템에 획득한 정보, 데이터를 제공할 수 있다. ITS 통신부(460)는, 교통 시스템으로부터, 정보, 데이터 또는 신호를 제공받을 수 있다. 예를 들면, ITS 통신부(460)는, 교통 시스템으로부터 도로 교통 정보를 수신하여, 제어부(170)에 제공할 수 있다. 예를 들면, ITS 통신부(460)는, 교통 시스템으로부터 제어 신호를 수신하여, 제어부(170) 또는 차량(100) 내부에 구비된 프로세서에 제공할 수 있다.
프로세서(470)는, 통신 장치(400)의 각 유닛의 전반적인 동작을 제어할 수 있다.
실시예에 따라, 통신 장치(400)는, 복수의 프로세서(470)를 포함하거나, 프로세서(470)를 포함하지 않을 수도 있다.
통신 장치(400)에 프로세서(470)가 포함되지 않는 경우, 통신 장치(400)는, 차량(100)내 다른 장치의 프로세서 또는 제어부(170)의 제어에 따라, 동작될 수 있다.
한편, 통신 장치(400)는, 사용자 인터페이스 장치(200)와 함께 차량용 디스플레이 장치를 구현할 수 있다. 이경우, 차량용 디스플레이 장치는, 텔레 매틱스(telematics) 장치 또는 AVN(Audio Video Navigation) 장치로 명명될 수 있다.
통신 장치(400)는, 제어부(170)의 제어에 따라 동작될 수 있다.
운전 조작 장치(500)는, 운전을 위한 사용자 입력을 수신하는 장치이다.
메뉴얼 모드인 경우, 차량(100)은, 운전 조작 장치(500)에 의해 제공되는 신호에 기초하여 운행될 수 있다.
운전 조작 장치(500)는, 조향 입력 장치(510), 가속 입력 장치(530) 및 브레이크 입력 장치(570)를 포함할 수 있다.
조향 입력 장치(510)는, 사용자로부터 차량(100)의 진행 방향 입력을 수신할 수 있다. 조향 입력 장치(510)는, 회전에 의해 조향 입력이 가능하도록 휠 형태로 형성되는 것이 바람직하다. 실시예에 따라, 조향 입력 장치는, 터치 스크린, 터치 패드 또는 버튼 형태로 형성될 수도 있다.
가속 입력 장치(530)는, 사용자로부터 차량(100)의 가속을 위한 입력을 수신할 수 있다. 브레이크 입력 장치(570)는, 사용자로부터 차량(100)의 감속을 위한 입력을 수신할 수 있다. 가속 입력 장치(530) 및 브레이크 입력 장치(570)는, 페달 형태로 형성되는 것이 바람직하다. 실시예에 따라, 가속 입력 장치 또는 브레이크 입력 장치는, 터치 스크린, 터치 패드 또는 버튼 형태로 형성될 수도 있다.
운전 조작 장치(500)는, 제어부(170)의 제어에 따라 동작될 수 있다.
차량 구동 장치(600)는, 차량(100)내 각종 장치의 구동을 전기적으로 제어하는 장치이다.
차량 구동 장치(600)는, 파워 트레인 구동부(610), 샤시 구동부(620), 도어/윈도우 구동부(630), 안전 장치 구동부(640), 램프 구동부(650) 및 공조 구동부(660)를 포함할 수 있다.
실시예에 따라, 차량 구동 장치(600)는, 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
한편, 차량 구동 장치(600)는 프로세서를 포함할 수 있다. 차량 구동 장치(600)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다.
파워 트레인 구동부(610)는, 파워 트레인 장치의 동작을 제어할 수 있다.
파워 트레인 구동부(610)는, 동력원 구동부(611) 및 변속기 구동부(612)를 포함할 수 있다.
동력원 구동부(611)는, 차량(100)의 동력원에 대한 제어를 수행할 수 있다.
예를 들면, 화석 연료 기반의 엔진이 동력원인 경우, 동력원 구동부(610)는, 엔진에 대한 전자식 제어를 수행할 수 있다. 이에 의해, 엔진의 출력 토크 등을 제어할 수 있다. 동력원 구동부(611)는, 제어부(170)의 제어에 따라, 엔진 출력 토크를 조정할 수 있다.
예를 들면, 전기 에너지 기반의 모터가 동력원인 경우, 동력원 구동부(610)는, 모터에 대한 제어를 수행할 수 있다. 동력원 구동부(610)는, 제어부(170)의 제어에 따라, 모터의 회전 속도, 토크 등을 조정할 수 있다.
변속기 구동부(612)는, 변속기에 대한 제어를 수행할 수 있다.
변속기 구동부(612)는, 변속기의 상태를 조정할 수 있다. 변속기 구동부(612)는, 변속기의 상태를, 전진(D), 후진(R), 중립(N) 또는 주차(P)로 조정할 수 있다.
한편, 엔진이 동력원인 경우, 변속기 구동부(612)는, 전진(D) 상태에서, 기어의 물림 상태를 조정할 수 있다.
샤시 구동부(620)는, 샤시 장치의 동작을 제어할 수 있다.
샤시 구동부(620)는, 조향 구동부(621), 브레이크 구동부(622) 및 서스펜션 구동부(623)를 포함할 수 있다.
조향 구동부(621)는, 차량(100) 내의 조향 장치(steering apparatus)에 대한 전자식 제어를 수행할 수 있다. 조향 구동부(621)는, 차량의 진행 방향을 변경할 수 있다.
브레이크 구동부(622)는, 차량(100) 내의 브레이크 장치(brake apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 바퀴에 배치되는 브레이크의 동작을 제어하여, 차량(100)의 속도를 줄일 수 있다.
한편, 브레이크 구동부(622)는, 복수의 브레이크 각각을 개별적으로 제어할 수 있다. 브레이크 구동부(622)는, 복수의 휠에 걸리는 제동력을 서로 다르게 제어할 수 있다.
서스펜션 구동부(623)는, 차량(100) 내의 서스펜션 장치(suspension apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 서스펜션 구동부(623)는 도로면에 굴곡이 있는 경우, 서스펜션 장치를 제어하여, 차량(100)의 진동이 저감되도록 제어할 수 있다.
한편, 서스펜션 구동부(623)는, 복수의 서스펜션 각각을 개별적으로 제어할 수 있다.
도어/윈도우 구동부(630)는, 차량(100) 내의 도어 장치(door apparatus) 또는 윈도우 장치(window apparatus)에 대한 전자식 제어를 수행할 수 있다.
도어/윈도우 구동부(630)는, 도어 구동부(631) 및 윈도우 구동부(632)를 포함할 수 있다.
도어 구동부(631)는, 도어 장치에 대한 제어를 수행할 수 있다. 도어 구동부(631)는, 차량(100)에 포함되는 복수의 도어의 개방, 폐쇄를 제어할 수 있다. 도어 구동부(631)는, 트렁크(trunk) 또는 테일 게이트(tail gate)의 개방 또는 폐쇄를 제어할 수 있다. 도어 구동부(631)는, 썬루프(sunroof)의 개방 또는 폐쇄를 제어할 수 있다.
윈도우 구동부(632)는, 윈도우 장치(window apparatus)에 대한 전자식 제어를 수행할 수 있다. 차량(100)에 포함되는 복수의 윈도우의 개방 또는 폐쇄를 제어할 수 있다.
안전 장치 구동부(640)는, 차량(100) 내의 각종 안전 장치(safety apparatus)에 대한 전자식 제어를 수행할 수 있다.
안전 장치 구동부(640)는, 에어백 구동부(641), 시트벨트 구동부(642) 및 보행자 보호 장치 구동부(643)를 포함할 수 있다.
에어백 구동부(641)는, 차량(100) 내의 에어백 장치(airbag apparatus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 에어백 구동부(641)는, 위험 감지시, 에어백이 전개되도록 제어할 수 있다.
시트벨트 구동부(642)는, 차량(100) 내의 시트벨트 장치(seatbelt appartus)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 시트벨트 구동부(642)는, 위험 감지시, 시트 밸트를 이용해 탑승객이 시트(110FL, 110FR, 110RL, 110RR)에 고정되도록 제어할 수 있다.
보행자 보호 장치 구동부(643)는, 후드 리프트 및 보행자 에어백에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 보행자 보호 장치 구동부(643)는, 보행자와의 충돌 감지시, 후드 리프트 업 및 보행자 에어백 전개되도록 제어할 수 있다.
램프 구동부(650)는, 차량(100) 내의 각종 램프 장치(lamp apparatus)에 대한 전자식 제어를 수행할 수 있다.
공조 구동부(660)는, 차량(100) 내의 공조 장치(air cinditioner)에 대한 전자식 제어를 수행할 수 있다. 예를 들면, 공조 구동부(660)는, 차량 내부의 온도가 높은 경우, 공조 장치가 동작하여, 냉기가 차량 내부로 공급되도록 제어할 수 있다.
차량 구동 장치(600)는, 프로세서를 포함할 수 있다. 차량 구동 장치(600)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다.
차량 구동 장치(600)는, 제어부(170)의 제어에 따라 동작될 수 있다.
운행 시스템(700)은, 차량(100)의 각종 운행을 제어하는 시스템이다. 운행 시스템(700)은, 자율 주행 모드에서 동작될 수 있다.
운행 시스템(700)은, 주행 시스템(710), 출차 시스템(740) 및 주차 시스템(750) 을 포함할 수 있다.
실시예에 따라, 운행 시스템(700)은, 설명되는 구성 요소외에 다른 구성 요소를 더 포함하거나, 설명되는 구성 요소 중 일부를 포함하지 않을 수 있다.
한편, 운행 시스템(700)은, 프로세서를 포함할 수 있다. 운행 시스템(700)의 각 유닛은, 각각 개별적으로 프로세서를 포함할 수 있다.
한편, 실시예에 따라, 운행 시스템(700)이 소프트웨어적으로 구현되는 경우, 제어부(170)의 하위 개념일 수도 있다.
한편, 실시예에 따라, 운행 시스템(700)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하는 개념일 수 있다.
주행 시스템(710)은, 차량(100)의 주행을 수행할 수 있다.
주행 시스템(710)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.
주행 시스템(710)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.
주행 시스템(710)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주행을 수행할 수 있다.
주행 시스템(710)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 주행을 수행하는 시스템 개념일 수 있다.
이러한, 주행 시스템(710)은, 차량 주행 제어 장치로 명명될 수 있다.
출차 시스템(740)은, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 출차를 수행할 수 있다.
출차 시스템(740)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 출차를 수행하는 시스템 개념일 수 있다.
이러한, 출차 시스템(740)은, 차량 출차 제어 장치로 명명될 수 있다.
주차 시스템(750)은, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 내비게이션 시스템(770)으로부터 내비게이션 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 오브젝트 검출 장치(300)로부터 오브젝트 정보를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 통신 장치(400)를 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 장치(600)에 제어 신호를 제공하여, 차량(100)의 주차를 수행할 수 있다.
주차 시스템(750)은, 사용자 인터페이스 장치(270), 오브젝트 검출 장치(300) 및 통신 장치(400), 운전 조작 장치(500), 차량 구동 장치(600), 내비게이션 시스템(770), 센싱부(120) 및 제어부(170) 중 적어도 어느 하나를 포함하여, 차량(100)의 주차를 수행하는 시스템 개념일 수 있다.
이러한, 주차 시스템9750)은, 차량 주차 제어 장치로 명명될 수 있다.
내비게이션 시스템(770)은, 내비게이션 정보를 제공할 수 있다. 내비게이션 정보는, 맵(map) 정보, 설정된 목적지 정보, 상기 목적지 설정 따른 경로 정보, 경로 상의 다양한 오브젝트에 대한 정보, 차선 정보 및 차량의 현재 위치 정보 중 적어도 어느 하나를 포함할 수 있다.
내비게이션 시스템(770)은, 메모리, 프로세서를 포함할 수 있다. 메모리는 내비게이션 정보를 저장할 수 있다. 프로세서는 내비게이션 시스템(770)의 동작을 제어할 수 있다.
실시예에 따라, 내비게이션 시스템(770)은, 통신 장치(400)를 통해, 외부 디바이스로부터 정보를 수신하여, 기 저장된 정보를 업데이트 할 수 있다.
실시예에 따라, 내비게이션 시스템(770)은, 사용자 인터페이스 장치(200)의 하위 구성 요소로 분류될 수도 있다.
센싱부(120)는, 차량의 상태를 센싱할 수 있다. 센싱부(120)는, 자세 센서(예를 들면, 요 센서(yaw sensor), 롤 센서(roll sensor), 피치 센서(pitch sensor)), 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 자이로 센서(gyro sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서, 브레이크 페달 포지션 센서, 등을 포함할 수 있다.
센싱부(120)는, 차량 자세 정보, 차량 충돌 정보, 차량 방향 정보, 차량 위치 정보(GPS 정보), 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보, 스티어링 휠 회전 각도, 차량 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.
센싱부(120)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.
센싱부(120)는, 센싱 데이터를 기초로, 차량 상태 정보를 생성할 수 있다. 차량 상태 정보는, 차량 내부에 구비된 각종 센서에서 감지된 데이터를 기초로 생성된 정보일 수 있다.
예를 들면, 차량 상태 정보는, 차량의 자세 정보, 차량의 속도 정보, 차량의 기울기 정보, 차량의 중량 정보, 차량의 방향 정보, 차량의 배터리 정보, 차량의 연료 정보, 차량의 타이어 공기압 정보, 차량의 스티어링 정보, 차량 실내 온도 정보, 차량 실내 습도 정보, 페달 포지션 정보 및 차량 엔진 온도 정보 등을 포함할 수 있다.
인터페이스부(130)는, 차량(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행할 수 있다. 예를 들면, 인터페이스부(130)는 이동 단말기와 연결 가능한 포트를 구비할 수 있고, 상기 포트를 통해, 이동 단말기와 연결할 수 있다. 이경우, 인터페이스부(130)는 이동 단말기와 데이터를 교환할 수 있다.
한편, 인터페이스부(130)는 연결된 이동 단말기에 전기 에너지를 공급하는 통로 역할을 수행할 수 있다. 이동 단말기가 인터페이스부(130)에 전기적으로 연결되는 경우, 제어부(170)의 제어에 따라, 인터페이스부(130)는 전원 공급부(190)에서 공급되는 전기 에너지를 이동 단말기에 제공할 수 있다.
메모리(140)는, 제어부(170)와 전기적으로 연결된다. 메모리(140)는 유닛에 대한 기본데이터, 유닛의 동작제어를 위한 제어데이터, 입출력되는 데이터를 저장할 수 있다. 메모리(140)는, 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있다. 메모리(140)는 제어부(170)의 처리 또는 제어를 위한 프로그램 등, 차량(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다.
실시예에 따라, 메모리(140)는, 제어부(170)와 일체형으로 형성되거나, 제어부(170)의 하위 구성 요소로 구현될 수 있다.
제어부(170)는, 차량(100) 내의 각 유닛의 전반적인 동작을 제어할 수 있다. 제어부(170)는 ECU(Electronic Contol Unit)로 명명될 수 있다.
전원 공급부(190)는, 제어부(170)의 제어에 따라, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(190)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
차량(100)에 포함되는, 하나 이상의 프로세서 및 제어부(170)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
상술한 바와 같이, 차량(100)에는, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 제어부(170), 차량 구동 장치(600), 운행 시스템(700), 내비게이션 시스템(770), 센싱부(120), 인터페이스부(130), 메모리(140), 전원 공급부(190)와 같이, 다양한 전자 디바이스가 포함된다.
차량용 전자 디바이스는, 차량(100) 외부의 시스템과 통신 연결될 수 있다. 예를 들면, 차량용 전자 디바이스는, 차량(100) 내부의 게이트 웨이를 통해, 차량(100) 외부의 시스템과 통신 연결될 수 있다. 여기서, 게이트 웨이는 OBD(On-Board Diagnostics), OBD 2(On-Board Diagnostic version 2)일 수 있다.
차량용 전자 디바이스 간에 서로 유선 통신 또는 무선 통신이 이루어진다. 예를 들면, 차량용 전자 디바이스 간에는 CAN(Controller Area Network)를 통해 통신이 이루어질 수 있다.
차량용 전자 디바이스는, 유선 또는 무선으로 차량(100) 외부의 시스템과 통신 연결될 수 있다. 예를 들면, 차량용 전자 디바이스는, 와이 파이 프로토콜(Wi-Fi Protocl) 또는 블루투스 프로토콜(Bluetooth Protocol)을 통해 차량(100) 외부의 디바이스와 통신 연결될 수 있다.
차량(100) 외부의 시스템은, 서버, 컴퓨터, 이동 단말기, 클라우딩 서비스 및 네트워크를 포함할 수 있다.
차량용 전자 디바이스는, 차량(100) 외부 시스템으로부터 파일 또는 데이터를 수신할 수 있다. 예를 들면, 차량용 전자 디바이스는, 차량(100) 외부 시스템으로부터 펌웨어 업그레이드 파일을 수신하여, 펌웨어를 업그레이드할 수 있다.
이러한, 차량용 전자 디바이스와 차량(100) 외부의 시스템 간의 통신 연결은, 해킹의 표적이 될 수 있다.
예를 들면, 해커는, 게이트 웨이 및 CAN을 통해, 차량용 전자 디바이스에 접속하여, 차량용 전자 디바이스의 이상 동작을 유도할 수 있다.
예를 들면, 해커는, 차량용 사용자 인터페이스 장치(200)가 와이 파이 엑세스 포인트(Wi-Fi Access Point)로 동작되는 경우, 엑세스 포인트 연결 프로토콜을 변형하여, 차량용 사용자 인터페이스 장치(200)를 공격할 수 있다.
예를 들면, 해커는, 차량용 사용자 인터페이스 장치(200)가 와이 파이 스테이션(Wi-Fi station)으로 동작되는 경우, 엑세스 포인트를 공격하여 장악한 후, 와이 파이 프로토콜을 사용하여 차량용 사용자 인터페이스 장치(200)를 공격할 수 있다.
예를 들면, 해커는, 블루투스 프로파일/프로토콜 패킷(예를 들면, L2CAP, RFCOMN, OBEX, SDP)를 변형하여 공격할 수 있다.
예를 들면, 해커는, 차량용 전자 디바이스의 펌웨어를 교환하여, 공격할 수 있다. 구체적으로, 해커는, 펌웨어 해킹을 통해, 버퍼 오버플로우 공격을 실행할 수 있다.
차량용 전자 디바이스 해킹 테스트 장치(800)는, 유선 또는 무선으로 차량용 전자 디바이스에 통신 연결될 수 있다. 차량용 전자 디바이스 해킹 테스트 장치(800)는, 기 설정된 통신 프로토콜에 따라 구분된 스테이트에 대응하여 해킹 취약 여부를 판단할 수 있다.
예를 들면, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 와이 파이 프로토콜에 따라 구분된 스테이트에 대응하여 해킹 취약 여부를 판단할 수 있다.
예를 들면, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 블루투스 프로토콜에 따라 구분된 스테이트에 대응하여 해킹 취약 여부를 판단할 수 있다.
도 3은 본 발명의 실시예에 따른 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 블럭도이다.
도 3을 참조하면, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 통신부(810), 프로세서(870), 인터페이스부(880), 메모리(885) 및 전원 공급부(890)를 포함할 수 있다.
통신부(810)는, 차량용 전자 디바이스에 유선 또는 무선으로 통신 연결할 수 있다. 통신부(810)는, 차량용 전자 디바이스에 기 설정된 통신 프로토콜에 기초하여, 통신 연결할 수 있다.
통신부(810)는, 송신부(811) 및 수신부(812)를 포함할 수 있다.
송신부(811)는, 차량용 전자 디바이스로부터 유선 또는 무선으로 데이터를 송신할 수 있다.
송신부(811)는, 기 설정된 무선 통신 프로토콜에 기초하여, 차량용 전자 디바이스에, 데이터를 송신할 수 있다. 이경우, 송신부(811)는, 무선 통신 프로토콜에 적합한 송신 RF(Radio Frequency) 회로를 포함할 수 있다.
수신부(812)는, 차량 전자 디바이스로 유선 또는 무선으로 데이터를 수신할 수 있다.
수신부(812)는, 기 설정된 무선 통신 프로토콜에 기초하여, 차량용 전자 디바이스로부터, 데이터를 수신할 수 있다. 이경우, 수신부(812)는, 무선 통신 프로토콜에 적합한 수신 RF(Radio Frequency) 회로를 포함할 수 있다.
프로세서(870)는, 차량용 전자 디바이스 해킹 테스트 장치(800)의 각 유닛의 전반적인 동작을 제어할 수 있다.
프로세서(870)는, 차량 전자 디바이스에 데이터를 송신하도록 송신부(811)를 제어할 수 있다. 예를 들면, 프로세서(870)는, 변형된 패킷을 송신하도록 송신부(811)를 제어할 수 있다.
프로세서(870)는, 기 설정된 통신 프로토콜에 기초하여, 차량 전자 디바이스에 데이터를 송신하도록 송신부(811)를 제어할 수 있다.
프로세서(870)는, 차량 전자 디바이스로부터 데이터를 수신하도록 수신부(812)를 제어할 수 있다.
프로세서(870)는, 기 설정된 통신 프로토콜에 기초하여, 차량 전자 디바이스로부터 데이터를 수신하도록 수신부(812)를 제어할 수 있다.
프로세서(870)는, 기 설정된 통신 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트(state)로 구분할 수 있다.
예를 들면, 와이 파이 엑세스 포인트는, 프로브 리퀘스트 리스팅 스테이트(probe request listening state), 어소시에이션 리스닝 스테이트(association litening state) 및 커넥티드 스테이트(connected state)의 스테이트를 가질 수 있다. 와이 파이 엑세스 포인트로 동작하는 차량용 전자 디바이스의 해킹 취약 여부를 판단하는 경우, 프로세서(870)는, 통신 연결 과정을, 프로브 리퀘스트 리스팅 스테이트(probe request listening state), 어소시에이션 리스닝 스테이트(association litening state) 및 커넥티드 스테이트(connected state)의 스테이트로 구분할 수 있다.
프로세서(870)는, 복수의 스테이트에 적합한 변형 패킷(mutated packet)을 생성할 수 있다. 프로세서(870)는, 송신부(811)를 통해, 변형 패킷을 차량용 전자 디바이스에 송신할 수 있다.
프로세서(870)는, 복수의 스테이트에 대응되는 변형 패킷을 생성할 수 있다. 프로세서(870)는, 송신부(811)를 통해, 변형 패킷을 차량용 전자 디바이스에 송신할 수 있다.
예를 들면, 프로세서(870)는, 복수의 스테이트에 적합한 변형 패킷을 퍼징(fuzzing) 기법에 따라 생성할 수 있다.
예를 들면, 프로세서(870)는, 복수의 스테이트에 대응되는 변형 패킷을 퍼징 기법에 따라 생성할 수 있다.
예를 들면, 프로세서(870)는, 복수의 스테이트에서 송신되어야 하는 오리지널 패킷(original packet)의 일부를 임의로 변형시켜, 변형 패킷을 생성할 수 있다.
예를 들면, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 와이 파이 엑세스 포인트로 동작하는 차량용 전자 디바이스의 해킹 취약 여부를 판단할 수 있다. 이경우, 프로세서(870)는, 프로브 리퀘스트 리스팅 스테이트(probe request listening state), 어소시에이션 리스닝 스테이트(association litening state) 및 커넥티드 스테이트(connected state) 각각에서 송신되어아 하는 오리지널 패킷(original packet)의 일부를 임의로 변형시켜, 변형 패킷을 생성할 수 있다. 이후에, 프로세서(870)는, 프로브 리퀘스트 리스팅 스테이트(probe request listening state), 어소시에이션 리스닝 스테이트(association litening state) 및 커넥티드 스테이트(connected state) 각각의 스테이트에서, 변형 패킷을 차량용 전자 디바이스에 변형 패킷을 송신할 수 있다.
프로세서(870)는, 수신부(812)를 통한, 변형 패킷에 대응되는 수신 패킷의 수신 여부를 기초로, 차량용 전자 디바이스의 해킹 취약 여부를 판단할 수 있다.
예를 들면, 프로세서(870)는, 정상적인 수신 패킷이 수신되는 경우, 차량용 전자 디바이스를, 해킹에 취약하지 않은 것으로 판단할 수 있다.
예를 들면, 프로세서(870)는, 정상적인 수신 패킷이 수신되지 않는 경우, 차량용 전자 디바이스를, 해킹에 취약한 것으로 판단할 수 있다. 프로세서(870)는, 수신 패킷이 수신되지 않는 경우, 차량용 전자 디바이스를, 해킹에 취약한 것으로 판단할 수 있다. 프로세서(870)는, 비정상적인 패킷이 수신되는 경우, 차량용 전자 디바이스를, 해킹에 취약한 것으로 판단할 수 있다.
프로세서(870)는, 차량용 전자 디바이스와의 통신 연결 과정을, 제1 스테이트, 제2 스테이트 및 제3 스테이트로 구분할 수 있다.
여기서, 복수의 스테이트로의 구분은, 예시적인 것으로, 기 설정된 통신 프로토콜에 의해 정해질 수 있다.
본 실시예에서, 3개의 스테이트로 구분하는 것을 예로들어 설명하나, 프로세서(870)는, 통신 연결 과정을, 2개의 스테이트로 구분하거나, 4개 이상의 스테이트로 구분할 수도 있다.
프로세서(870)는, 제1 스테이트에 적합한 제1 변형 패킷을 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제1 스테이트에 대응되는 제1 변형 패킷을 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제1 스테이트에서, 제1 변형 패킷에 대응되는 제1 수신 패킷이, 차량용 전자 디바이스로부터, 수신부(812)를 통해, 수신되는 경우, 제2 스테이트에 적합한 제2 변형 패킷을 생성할 수 있다.
프로세서(870)는, 제1 스테이트에서, 제1 변형 패킷에 대응되는 제1 수신 패킷이, 차량용 전자 디바이스로부터, 수신부(812)를 통해, 수신되는 경우, 제2 스테이트에 대응되는 제2 변형 패킷을 생성할 수 있다.
프로세서(870)는, 제1 스테이트에서, 제1 수신 패킷이, 수신부(812)를 통해, 수신되지 않는 경우, 차량용 전자 디바이스가 해킹에 취약하다고 판단할 수 있다. 예를 들면, 프로세서(870)는, 제1 수신 패킷이, 수신부(812)를 통해, 기 설정 시간 이상 수신되지 않는 경우, 차량용 전자 디바이스가 해킹에 취약하다고 판단할 수 있다.
프로세서(870)는, 제1 변형 패킷에 대응되는 제1 수신 패킷이, 차량용 전자 디바이스로부터, 수신부(812)를 통해, 수신되지 않는 경우, 제1 변형 패킷을 반복하여 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제1 변형 패킷의 반복 생성 횟수가 기 설정 횟수 이상인 경우, 차량용 전자 디바이스가 해킹에 취약하다고 판단할 수 있다.
프로세서(870)는, 제1 변형 패킷의 반복 송신 횟수가 기 설정 횟수 이상인 경우, 차량용 전자 디바이스가 해킹에 취약하다고 판단할 수 있다.
프로세서(870)는, 생성된 제2 변형 패킷을, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 다른 스테이트에 적합한 변형 패킷을 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 다른 스테이트에 대응되는 변형 패킷을 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 수신 패킷 수신 후, 랜덤하게, 다음 스테이트를 결정할 수 있다. 프로세서(870)는, 랜덤하게 결정된 스테이트에 적합한 변형 패킷을 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 수신 패킷 수신 후, 랜덤하게, 다음 스테이트를 결정할 수 있다. 프로세서(870)는, 랜덤하게 결정된 스테이트에 대응되는 변현 패킷을 생성하여, 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 제3 스테이트에 적합한 제3 변형 패킷을 생성할 수 있다. 프로세서(870)는, 생성된 제3 변형 패킷을 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 제3 스테이트에 대응되는 제3 변형 패킷을 생성할 수 있다. 프로세서(870)는, 생성된 제3 변형 패킷을 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 제1 스테이트에 적합한 제1 변형 패킷을 생성할 수 있다. 프로세서(870)는, 생성된 제1 변형 패킷을 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
프로세서(870)는, 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 제1 스테이트에 대응되는 제1 변형 패킷을 생성할 수 있다. 프로세서(870)는, 생성된 제2 변형 패킷을 송신부(811)를 통해, 차량용 전자 디바이스에, 송신할 수 있다.
인터페이스부(880)는, 다른 장치와 정보, 신호 또는 데이터 교환을 수행할 수 있다. 인터페이스부(880)는, 다른 장치로부터 정보, 신호 또는 데이터를 수신할 수 있다. 인터페이스부(880)는, 수신된 정보, 신호 또는 데이터를 프로세서(870)에 송신할 수 있다. 인터페이스부(880)는, 프로세서(870)에서 생성되거나 처리된 정보, 신호 또는 데이터를 다른 장치에 송신할 수 있다.
메모리(885)는, 프로세서(870)와 전기적으로 연결된다. 메모리(885)는 유닛에 대한 기본데이터, 유닛의 동작제어를 위한 제어데이터, 입출력되는 데이터를 저장할 수 있다. 메모리(885)는, 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있다. 메모리(885)는 프로세서(870)의 처리 또는 제어를 위한 프로그램 등, 차량용 전자 디바이스 해킹 테스트 장치(800) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다.
실시예에 따라, 메모리(885)는, 프로세서(870)와 일체형으로 형성되거나, 프로세서(870)의 하위 구성 요소로 구현될 수 있다.
전원 공급부(890)는, 프로세서(870)의 제어에 따라, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원 공급부(890)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
도 4는 본 발명의 실시예에 따른 차량용 전자 디바이스 해킹 테스트 장치의 동작을 설명하는데 참조되는 도면이다.
도 4를 참조하면, 차량용 전자 디바이스(10)는, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(300), 통신 장치(400), 운전 조작 장치(500), 제어부(170), 차량 구동 장치(600), 운행 시스템(700), 내비게이션 시스템(770), 센싱부(120), 인터페이스부(130), 메모리(140) 및 전원 공급부(190) 중 적어도 어느 하나를 포함할 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)와 통신 연결할 수 있다.
프로세서(870)는, 기 설정된 통신 프로토콜에 기초하여, 차량용 전자 디바이스(10)와의 통신 연결 과정을, 제1 스테이트(821), 제2 스테이트(822) 및 제3 스테이트(823)로 구분할 수 있다.
프로세서(870)는, 제1 스테이트(821)에 진입하여, 제1 스테이트(821)에 적합한(또는 대응되는) 제1 변형 패킷(831)을 생성하여, 차량용 전자 디바이스(10)에 송신한다. 여기서, 제1 변형 패킷(831)은, 제1 스테이트(821)에서 송신되어야 하는 오리지널 패킷의 일부가 임의로 변형된 패킷일 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)로부터, 제1 변형 패킷(831)에 대응되는 제1 수신 패킷(841)의 수신 여부를 판단할 수 있다. 여기서, 제1 수신 패킷(841)은, 차량용 전자 디바이스(10)가 제1 스테이트(11)에서, 제1 변형 패킷(831)에 대응하여 생성한 응답 패킷일 수 있다.
만약, 제1 수신 패킷(841)이 수신되고, 제1 수신 패킷(841)이 오리지널 패킷에 대응되는 수신 패킷과 동일한 수신 패킷으로 판단되는 경우, 프로세서(870)는, 제1 스테이트(821)에서 차량용 전자 디바이스(10)가, 해킹에 취약하지 않은 것으로 판단할 수 있다.
만약, 제1 수신 패킷(841)이 수신되지 않거나, 제1 수신 패킷(842)이 오리지널 패킷에 대응되는 수신 패킷과 차이가 있어, 비정상적인 수신 패킷으로 판단되는 경우, 프로세서(870)는, 제1 스테이트(821)에서 차량용 전자 디바이스(10)가 해킹에 취약한 것으로 판단할 수 있다.
제1 수신 패킷(831)이 수신된 이후, 프로세서(870)는, 제2 스테이트(821)로 넘어간다.
프로세서(870)는, 제2 스테이트(822)에 진입하여, 제2 스테이트(822)에 적합한(또는 대응되는) 제2 변형 패킷(832)을 생성하여, 차량용 전자 디바이스(10)에 송신한다. 여기서, 제2 변형 패킷(832)은, 제2 스테이트(822)에서 송신되어야 하는 오리지널 패킷의 일부가 임의로 병형된 패킷일 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)로부터, 제2 변형 패킷(832)에 대응되는 제2 수신 패킷(842)의 수신 여부를 판단할 수 있다. 여기서, 제2 수신 패킷(842)은, 차량용 전자 디바이스(10)가 제2 스테이트(12)에서, 제2 변형 패킷(832)에 대응하여 생성한 응답 패킷일 수 있다.
만약, 제2 수신 패킷(842)이 수신되고, 제2 수신 패킷(842)이 오리지널 패킷에 대응되는 수신 패킷과 동일한 수신 패킷으로 판단되는 경우, 프로세서(870)는, 제2 스테이트(822)에서 차량용 전자 디바이스(10)는, 해킹에 취약하지 않은 것으로 판단할 수 있다.
만약, 제2 수신 패킷(842)이 수신되지 않거나, 제2 수신 패킷(842)이 오리지널 패킷에 대응되는 수신 패킷과 차이가 있어, 비정상적인 수신 패킷으로 판단되는 경우, 프로세서(870)는, 제2 스테이트(822)에서 차량용 전자 디바이스(10)가 해킹에 취약한 것으로 판단할 수 있다.
제2 수신 패킷(832)이 수신된 이후, 프로세서(870)는, 제3 스테이트(823)로 넘어갈 수 있다.
프로세서(870)는, 제3 스테이트(823)에 진입하여, 제3 스테이트(823)에 적합한(또는 대응되는) 제3 변형 패킷(833)을 생성하여, 차량용 전자 디바이스(10)에 송신한다. 여기서, 제3 변형 패킷(833)은, 제3 스테이트(823)에서 송신되어야 하는 오리지널 패킷의 일부가 임의로 변형된 패킷일 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)로부터, 제3 변형 패킷(833)에 대응되는 제3 수신 패킷(843)의 수신 여부를 판단할 수 있다. 여기서, 제3 수신 패킷(843)은, 차량용 전자 디바이스(10)가 제3 스테이트(13)에서, 제3 변형 패킷(833)에 대응하여 생성한 응답 패킷일 수 있다.
만약, 제3 수신 패킷(843)이 수신되고, 제3 수신 패킷(843)이 오리지널 패킷에 대응되는 수신 패킷과 동일한 수신 패킷으로 판단되는 경우, 프로세서(870)는, 제3 스테이트(823)에서 차량용 전자 디바이스(10)는, 해킹에 취약하지 않은 것으로 판단할 수 있다.
만약, 제3 수신 패킷(843)이 수신되지 않거나, 제3 수신 패킷(843)이 오리지널 패킷에 대응되는 수신 패킷과 차이가 있어, 비정상적인 수신 패킷으로 판단되는 경우, 프로세서(870)는, 제3 스테이트(823)에서 차량용 전자 디바이스(10)가 해킹에 취약한 것으로 판단할 수 있다.
한편, 제2 스테이트(822)에서, 제2 수신 패킷(832)이 수신된 이후, 프로세서(870)는, 다시 제1 스테이트(821)로 회귀할 수 있다.
이경우, 프로세서(870)는, 다시 제1 변형 패킷(831)을 생성하여, 차량용 전자 디마이스(10)에 송신할 수 있다.
도 5는 본 발명의 실시예에 따라 변형 패킷을 생성하는 동작을 설명하는데 참조되는 도면이다.
도 6은 본 발명의 실시예에 따라, 16진수로 구현된 변형 패킷을 설명하는데 참조되는 도면이다.
도 5 내지 도 6을 참조하면, 프로세서(870)는, 오리지널 패킷(861)의 필드별로 변형하여, 변형 패킷을 생성할 수 있다.
오리지널 패킷(861)은, 기 설정된 통신 프로토콜에 기초하여 구분된 복수의 스테이트 중 어느 하나에서 송신되어야 하는 데이터 패킷으로 정의될 수 있다.
오리지널 패킷(861)은, 헤더(header)와 인포메이션 페이로드(information payload)로 구분될 수 있다.
프로세서(870)는, 복수의 스테이트에 적합한(또는 대응되는) 오리지널 패킷 중, 헤더를 제외한 영역을 변형하여, 변형 패킷(862)을 생성할 수 있다.
헤더까지 포함한 영역을 변형하여 변형 패킷을 생성하는 경우, 패킷의 기본 구조를 위반하여 차량용 전자 디바이스(10)가 해당 패킷을 처리하지 않을 수 있다.
헤더를 제외한 영역을 변형하여 변형 패킷(862)을 생성하는 경우, 통신 프로토콜의 각 상태에 따라 정의된 필드 구조를 유지한 채, 임의의 필드를 임의의 값으로 변조함으로써, 차량용 전자 디바이스(10)가 해당 패킷을 처리할 수 있다. 이경우, 보다 효율적으로 차량용 전자 디바이스(10)의 해킹 취약 여부를 테스트할 수 있다.
프로토콜 처리시, 각 필드를 처리하는 루틴(routine)이 존재한다. 해킹 취약점은 이러한 필드 처리 루틴에서 예외 처리를 하지 않아 발생한다. 예를 들어, 프로토콜의 렝쓰 필트(length field)를 점검하지 않을 경우, 버퍼 오버플로우(buffer overflow) 취약점이 발생할 가능성이 있다.
프로세서(870)는, 오리지널 패킷 중, 인포메이션 페이로드 중 임의의 부분을 변형하여, 변형 패킷(862)을 생성할 수 있다.
프로세서(870)는, 복수의 스테이트에 적합한(또는 대응되는) 오리지널 패킷(861) 보다 더 많은 양의 데이터를 담아, 변형 패킷(862)을 생성할 수 있다.
이경우, 변형 패킷(862)의 데이터의 길이는, 오리지널 패킷(861)의 데이터의 길이보다 더 길 수 있다.
예를 들면, 프로세서(870)는, 오리지널 패킷(861)의 인포메이션 페이로드 영역에 기존 데이터보다 더 많은 양의 데이터를 담아, 변형 패킷(862)을 생성할 수 있다.
차량용 전자 디바이스(10)가 오리지널 패킷(861)보다 더 많은 양의 데이터를 수신하는 경우, 프로토콜에 따라 할당된 차량용 전자 디바이스(10)의 메모리 용량이 초과되어, 오작동될 수 있다. 이와 같은, 해킹 공격은, 버퍼 오버플로우라고 명명될 수 있다.
이와 같은, 테스트 과정을 통해, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 차량용 전자 디바이스에 버퍼 오버플로우 공격이 가능한지 확인할 수 있다.
도 7 내지 도 8은 본 발명의 실시예에 따라, 와이 파이 프로토콜에 기초한 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 도면이다.
도 7 내지 도 8은, 차량용 전자 장치(10)가 와이 파이 엑세스 포인트로 동작하는 경우, 차량용 전자 디바이스 해킹 테스트 장치(800)의 동작을 설명하는데 참조되는 도면이다.
도 7 내지 도 8에서, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 와이파이 클라이언트(또는 스테이션)으로 동작된다.
프로세서(870)는, 와이 파이 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분할 수 있다.
프로세서(870)는, 와이 파이 스테이션 입장에서, 변형 패킷을 생성할 수 있다.
도 7은, 량용 전자 장치(10)가 와이 파이 엑세스 포인트로 동작하는 경우, 차량용 전자 장치(10)의 통신 연결 스테이트를 예시한다.
와이 파이 엑세스 포인트로 동작되는 경우, 차량용 전자 디바이스(10)는, 프로브 리퀘스트 리스팅 스테이트(probe request listening state)(911), 어소시에이션 리스닝 스테이트(association listening state)(912) 및 커넥티드 스테이트(connected state)(913)으로 구분되어 통신 연결을 수행할 수 있다.
프로세서(870)는, 와이 파이 엑세스 포인트로 동작되는 차량용 전자 디바이스(10)를 검색할 수 있다. 예를 들면, 프로세서(870)는, 차량용 전자 디바이스(10)에서 송신되는 비콘(beacon) 신호를 수신하여, 차량용 전자 디바이스(10)를 검색할 수 있다.
프로세서(870)는, 복수의 와이 파이 엑세스 포인트 중에서, 차량용 전자 디바이스(10)를 선택할 수 있다. 예를 들면, 프로세서(870)는, 비콘 신호에 포함된 BSSID(Basic Bservice Set IDentification)를 기초로, 차량용 전자 디바이스(10)를 선택할 수 있다.
프로세서(870)는, 스테이트를, 프로브 리퀘스트 리스팅 스테이트(911), 어소시에이션 리스닝 스테이트(912) 및 커넥티드 스테이트(913)로 임의로 변경할 수 있다.
예를 들면, 프로세서(870)는, 프로브 리퀘스트 리스팅 스테이트(911)에서 어소시에이션 리스닝 스테이트(912)로 변경할 수 있다.
예를 들면, 프로세서(870)는, 어소시에이션 리스닝 스테이트(912)에서 커넥티드 스테이트(913) 또는 프로브 리퀘스트 리스팅 스테이트(911)로 변경할 수 있다.
예를 들면, 프로세서(870)는, 커넥티드 스테이트(913)에서 프로브 리퀘스트 리스팅 스테이트(911) 또는 어소시에이션 리스닝 스테이트(912)로 변경할 수 있다.
프로세서(870)는, 프로브 리퀘스트 리스팅 스테이트(911), 어소시에이션 리스닝 스테이트(912) 및 커넥티드 스테이트(913) 중 어느 하나의 스테이트에서, 변형 패킷을 생성하여, 차량용 전자 디바이스(10)에 송신할 수 있다. 프로세서(870)는, 프로브 패킷(probe packet), 어쎈티케이션 패킷(autehntication packet) 및 어쏘시에이션 패킷(aussociation packet) 중 어느 하나를 변형하여 변형 패킷을 생성하고 송신할 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)의 프로브 리퀘스트 리스팅 스테이트(911), 어소시에이션 리스닝 스테이트(912) 및 커넥티드 스테이트(913) 중 어느 하나의 스테이트에서, 생성된 수신 패킷을 수신하지 못하거나, 생성된 비정상 수신 패킷을 수신한 경우, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
프로세서(870)는, 차량용 전자 디바이스 해킹 테스트 장치(800)의 이니셜 스테이트, 프로브 리스폰스/비콘 리스닝 스테이트, 어쎈티케이션 리스닝 스테이트, 어쏘시에이션 리스폰스 리스팅 스테이트 및 커넥티드 스테이트 중 어느 하나의 스테이트에서 변형 패킷에 대응되는 수신 패킷을 수신하지 못하거나, 비정상 수신 패킷을 수신한 경우, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
도 8에 예시된 바와 같이, 프로세서(870)는, 오리지널 어쎈시티케이션 패킷(original authentication packet)을 송신하여, 차량용 전자 디바이스(10)가 어소시에이션 리스닝 스테이트(912)로 전환되도록 할 수 있다.
차량용 전자 디바이스(10)는, 어소시에이션 리스닝 스테이트(912)에서, 오리지널 어쎈시티케이션 패킷(original authentication packet)에 대응하는 어쎈시티케이션 패킷을 생성하여, 송신할 수 있다.
프로세서(870)는, 변형된 어쏘시에이션 리퀘서트 패킷(mutated association request packet)을 생성하여 송신할 수 있다.
만약, 변형된 어쏘시에이션 리퀘서트 패킷에 대응되는 응답 신호가 수신되지 않는 경우, 프로세서(870)는, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
도 9는 본 발명의 실시예에 따라, 와이 파이 프로토콜에 기초한 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 도면이다.
도 9는, 차량용 전자 장치(10)가 클라이언트(또는 스테이션)으로 동작하는 경우, 차량용 전자 디바이스 해킹 테스트 장치(800)의 동작을 설명하는데 참조되는 도면이다.
도 9에서, 차량용 전자 디바이스 해킹 테스트 장치(800)는, 와이 파이 엑세스 포인트로 동작된다.
프로세서(870)는, 와이 파이 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분할 수 있다.
프로세서(870)는, 와이 파이 엑세스 포인트 입장에서, 변형 패킷을 생성할 수 있다.
도 9는, 차량용 전자 장치(10)가 클라이언트(또는 스테이션)으로 동작하는 경우, 차량용 전자 장치(10)의 통신 연결 스테이트를 예시한다.
와이 파이 클라이언트(또는 스테이션)으로 동작되는 경우, 차량용 전자 디바이스(10)는, 이니셜 스테이트(initial state)(920), 프로브 리스폰스/비콘 리스닝 스테이트(probe-resp/beacon listening state)(921), 어쎈티케이션 리스닝 스테이트(authentication listening state)(922), 어쏘시에이션 리스폰스 리스팅 스테이트(association response listening state)(923) 및 커넥티드 스테이트(connected state)(924)로 구분되어 통신 연결을 수행할 수 있다.
프로세서(870)는, 비콘 신호를 생성하여, 송신할 수 있다. 프로세서(870)는, 비콘 신호에 대응되는 응답 신호를 수신한 후, 변형 패킷을 생성할 수 있다.
프로세서(870)는, 와이 파이 클라이언트(또는 스테이션)으로 동작되는 차량용 전자 디바이스(10)로부터 프로브 패킷(probe packet), 어쎈티케이션 패킷(autehntication packet) 및 어쏘시에이션 패킷(aussociation packet) 중 어느 하나를 수신할 수 있다.
프로세서(870)는, 수신된 패킷에 대응하여 변형된 응답 패킷을 생성하여 송신할 수 있다. 프로세서(870)는, 프로브 리스폰스 패킷(probe reponse packet), 어쎈티케이션 리스폰스 패킷(autehntication response packet), 어쏘시에이션 리스폰스 패킷(aussociation response packet) 중 어느 하나를 변형하여 변형 패킷을 생성하고 송신할 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)의 이니셜 스테이트(initial state)(920), 프로브 리스폰스/비콘 리스닝 스테이트(probe-resp/beacon listening state)(921), 어쎈티케이션 리스닝 스테이트(authentication listening state)(922), 어쏘시에이션 리스폰스 리스팅 스테이트(association response listening state)(923) 및 커넥티드 스테이트(connected state)(924) 중 어느 하나의 스테이트에서 생성된, 수신 패킷을 수신하지 못하거나, 생성된 비정상 수신 패킷을 수신한 경우, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
프로세서(870)는, 차량용 전자 디바이스 해킹 테스트 장치(800)의 프로브 리퀘스트 리스팅 스테이트, 어소시에이션 리스닝 스테이트 및 커넥티드 스테이트 중 어느 하나의 스테이트에서, 변형 패킷에 대응되는 수신 패킷을 수신하지 못하거나, 비정상 수신 패킷을 수신한 경우, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
도 9에 예시된 바와 같이, 프로세서(870)는, 차량용 전자 디바이스(10)의 이니셜 스테이트(920), 프로브 리스폰스/비콘 리스닝 스테이트 (921), 어쎈티케이션 리스닝 스테이트(922) 과정까지는 오리지널 패킷을 송신할 수 있다.
차량용 전자 디바이스(10)가, 어쏘시에이션 리스폰스 리스팅 스테이트(923)에 진입한 후, 프로세서(870)는, 변형된 어쏘시에이션 리스폰스 패킷을 송신한다.
프로세서(870)는, 디스어쏘시에이션 패킷(disassociation packet)이 수신되는지 모니터링할 수 있다. 만약, 디스어쏘시에이션 패킷(disassociation packet)이 수신되지 않는 경우, 프로세서(870)는, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
도 10 내지 도 11은 본 발명의 실시예에 따라, 블루투스 프로토콜에 기초한 차량용 전자 디바이스 해킹 테스트 장치를 설명하는데 참조되는 도면이다.
도면을 참조하면, 프로세서(870)는, 블루투스 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분할 수 있다.
블루투스 프로토콜은, L2CAP, SDP, RFCOMN 및 OBEX를 포함할 수 있다.
프로세서(870)는, L2CAP, SDP, RFCOMN 및 OBEX 중 적어도 어느 하나에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분할 수 있다.
도 10 내지 도 11은, 블루투스 프로토콜 중 L2CAP에 기초한 차량용 전자 디바이스 해킹 테스트 장치(800)의 동작을 예시한다.
차량용 전자 디바이스(10)는, 통신 연결을 4개의 스테이트로 구분하여 수행할 수 있다.
각각의 스테이트에서, 차량용 전자 디바이스 해킹 테스트 장치(800)와 차량용 전자 디바이스(10)는, 패킷을 주고 받을 수 있다.
도 11에 예시된 바와 같이, 프로세서(870)는, 차량용 전자 디바이스(10)가 제0 스테이트(1010), 제1 스테이트(1011) 및 제2 스테이트(1012)로 변경될때 까지는, 차량용 전자 디바이스(10)에 오리지널 패킷을 전송할 수 있다.
프로세서(870)는, 차량용 전자 디바이스(10)가 제2 스테이트(1012)로 전환된 상태에서, 컨피켜레이션 리퀘스트 패킷(configuration request packet)을 변형시켜 변형 패킷을 송신한다.
이후에, 컨피겨레이션 리스폰스 패킷(configuration response packet)을 기 설정 시간 내에 수신하지 못하는 경우, 프로세서(870)는, 차량용 전자 디바이스(10)가 해킹에 취약하다고 판단할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 송신)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100 : 차량
800 : 차량용 전자 디바이스 해킹 테스트 장치

Claims (17)

  1. 송신부;
    수신부; 및
    기 설정된 통신 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트(state)로 구분하고,
    상기 복수의 스테이트에 적합한 변형 패킷(mutated packet)을 생성하여, 상기 송신부를 통해, 차량용 전자 디바이스에 송신하고,
    상기 수신부를 통한, 상기 변형 패킷에 대응되는 수신 패킷의 수신 여부를 기초로, 상기 차량용 전자 디바이스의 해킹 취약 여부를 판단하는 프로세서;를 포함하는 차량용 전자 디바이스 해킹 테스트 장치.
  2. 제 1항에 있어서,
    상기 프로세서는,
    상기 통신 연결 과정을, 제1 스테이트, 제2 스테이트 및 제3 스테이트로 구분하는 차량용 전자 디바이스 해킹 테스트 장치.
  3. 제 2항에 있어서,
    상기 프로세서는,
    제1 스테이트에 적합한 제1 변형 패킷을 생성하여 송신하고,
    상기 제1 변형 패킷에 대응되는 제1 수신 패킷이 수신되는 경우, 제2 스테이트에 적합한 제2 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.
  4. 제 3항에 있어서,
    상기 프로세서는,
    상기 제1 수신 패킷이 수신되지 않는 경우, 상기 차량용 전자 디바이스가 해킹에 취약하다고 판단하는 차량용 전자 디바이스 해킹 테스트 장치.
  5. 제 4항에 있어서,
    상기 프로세서는,
    상기 제1 수신 패킷이 수신되지 않는 경우, 상기 제1 변형 패킷을 반복하여 생성하고, 송신하는 차량용 전자 디바이스 해킹 테스트 장치.
  6. 제 5항에 있어서,
    상기 프로세서는,
    상기 제1 변형 패킷의 반복 생성 횟수가 기 설정 횟수 이상인 경우, 상기 차량용 전자 디바이스가 해킹에 취약하다고 판단하는 차량용 전자 디바이스 해킹 테스트 장치.
  7. 제 3항에 있어서,
    상기 프로세서는,
    상기 제2 변형 패킷을 송신하고,
    상기 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 제3 스테이트에 적합한 제3 변형 패킷을 생성하여 송신하는 차량용 전자 디바이스 해킹 테스트 장치.
  8. 제 3항에 있어서,
    상기 프로세서는,
    상기 제2 변형 패킷을 송신하고,
    상기 제2 변형 패킷에 대응되는 제2 수신 패킷이 수신되는 경우, 제1 스테이트에 적합한 제1 변형 패킷을 생성하여 송신하는 차량용 전자 디바이스 해킹 테스트 장치.
  9. 제 1항에 있어서,
    상기 프로세서는,
    와이 파이(WiFi) 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분하는 차량용 전자 디바이스 해킹 테스트 장치.
  10. 제 9항에 있어서,
    상기 프로세서는,
    와이 파이 스테이션(WiFi station) 입장에서 상기 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.
  11. 제 9항에 있어서,
    상기 프로세서는,
    와이 파이 엑세스 포인트(WiFi Access Point) 입장에서 상기 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.
  12. 제 11항에 있어서,
    상기 프로세서는,
    비콘 신호를 생성하여, 송신하고,
    상기 비콘 신호에 대응되는 응답 신호를 수신한 후, 상기 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.
  13. 제 1항에 있어서,
    상기 프로세서는,
    블루투스(bluetooth) 프로토콜에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분하는 차량용 전자 디바이스 해킹 테스트 장치.
  14. 제 13항에 있어서,
    상기 프로세서는,
    L2CAP, SDP, RFCOMM 및 OBEX 중 적어도 어느 하나에 기초하여, 통신 연결 과정을 복수의 스테이트로 구분하는 차량용 전자 디바이스 해킹 테스트 장치.
  15. 제 1항에 있어서,
    상기 프로세서는,
    상기 복수의 스테이트에 적합한 오리지널 패킷(original packet) 중, 헤더(header)를 제외한 영역을 변형하여, 상기 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.
  16. 제 15항에 있어서,
    상기 프로세서는,
    상기 오리지널 패킷 중, 인포메이션 페이로드(information payload) 중 임의의 부분을 변형하여, 상기 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.
  17. 제 1항에 있어서,
    상기 프로세서는,
    상기 복수의 스테이트에 적합한 오리지널 패킷(original packet) 보다 더 많은 양의 데이터를 담아, 상기 변형 패킷을 생성하는 차량용 전자 디바이스 해킹 테스트 장치.


KR1020170010769A 2017-01-24 2017-01-24 차량용 전자 디바이스 해킹 테스트 장치 KR101887077B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170010769A KR101887077B1 (ko) 2017-01-24 2017-01-24 차량용 전자 디바이스 해킹 테스트 장치
US16/480,595 US11284262B2 (en) 2017-01-24 2017-05-08 Apparatus for testing hacking of vehicle electronic device
EP17894411.2A EP3576348A4 (en) 2017-01-24 2017-05-08 DEVICE USED TO TEST FOR HACKING OF AN ELECTRONIC VEHICLE DEVICE
PCT/KR2017/004778 WO2018139708A1 (ko) 2017-01-24 2017-05-08 차량용 전자 디바이스 해킹 테스트 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170010769A KR101887077B1 (ko) 2017-01-24 2017-01-24 차량용 전자 디바이스 해킹 테스트 장치

Publications (2)

Publication Number Publication Date
KR20180086833A KR20180086833A (ko) 2018-08-01
KR101887077B1 true KR101887077B1 (ko) 2018-09-10

Family

ID=62979482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170010769A KR101887077B1 (ko) 2017-01-24 2017-01-24 차량용 전자 디바이스 해킹 테스트 장치

Country Status (4)

Country Link
US (1) US11284262B2 (ko)
EP (1) EP3576348A4 (ko)
KR (1) KR101887077B1 (ko)
WO (1) WO2018139708A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663338B2 (en) * 2019-05-14 2023-05-30 University Of Florida Research Foundation, Incorporated Automated security analysis of baseband firmware
US11310269B2 (en) * 2019-10-15 2022-04-19 Baidu Usa Llc Methods to detect spoofing attacks on automated driving systems
KR102366304B1 (ko) * 2020-05-11 2022-02-23 (주)노르마 페이크 디바이스 탐지 방법 및 무선 디바이스 케어 장치
KR102389936B1 (ko) * 2020-06-23 2022-04-25 (주)노르마 취약점 분석 및 이와 연계된 IoT 케어 시스템
KR102550102B1 (ko) * 2020-12-01 2023-06-30 주식회사 케이티 설비를 제어하는 서버, 방법 및 컴퓨터 프로그램
US20230056233A1 (en) * 2021-08-20 2023-02-23 Motional Ad Llc Sensor attack simulation system
KR102635486B1 (ko) * 2023-01-02 2024-02-07 고려대학교 산학협력단 퍼징을 수행하기 위한 방법 및 장치

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100875997B1 (ko) 2006-11-13 2008-12-24 한국전자통신연구원 윈도우 소켓 응용프로그램 인터페이스 후킹을 이용한네트워크 퍼징 방법
EP2543215A2 (en) * 2010-03-05 2013-01-09 InterDigital Patent Holdings, Inc. Method and apparatus for providing security to devices
US8819834B2 (en) 2012-06-19 2014-08-26 Ixia Methods, systems, and computer readable media for automatically generating a fuzzer that implements functional and fuzz testing and testing a network device using the fuzzer
KR20150017255A (ko) 2013-08-06 2015-02-16 엘에스산전 주식회사 전력 시스템
KR101446525B1 (ko) 2013-09-27 2014-10-06 주식회사 유라코퍼레이션 차량 해킹 방지 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 매체
US9282110B2 (en) * 2013-11-27 2016-03-08 Cisco Technology, Inc. Cloud-assisted threat defense for connected vehicles
EP2892200B1 (en) * 2014-01-06 2021-11-03 Argus Cyber Security Ltd Bus watchman
KR101525398B1 (ko) 2014-05-30 2015-06-09 한국전자통신연구원 네트워크 응용 프로그램 퍼징 시스템 및 방법
DE102015205670A1 (de) * 2015-03-30 2016-06-09 Volkswagen Aktiengesellschaft Angriffserkennungsverfahren, Angriffserkennungsvorrichtung und Bussystem für ein Kraftfahrzeug
US9910766B2 (en) 2015-06-01 2018-03-06 Peach Fuzzer Llc Whitebox network fuzzing
US9686294B2 (en) * 2015-06-15 2017-06-20 Check Point Software Technologies Ltd. Protection of communication on a vehicular network via a remote security service
JP6649215B2 (ja) * 2015-12-14 2020-02-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ装置、ネットワークシステム及び攻撃検知方法
US10404709B2 (en) * 2017-02-09 2019-09-03 Fca Us Llc Security gateway module for on-board diagnostics port of a vehicle
US10516683B2 (en) * 2017-02-15 2019-12-24 Ford Global Technologies, Llc Systems and methods for security breach detection in vehicle communication systems
EP3383075B1 (en) * 2017-03-30 2020-04-29 LG Electronics Inc. Communication apparatus for vehicle
US10530816B2 (en) * 2017-05-18 2020-01-07 Nio Usa, Inc. Method for detecting the use of unauthorized security credentials in connected vehicles
WO2018230988A1 (ko) * 2017-06-16 2018-12-20 주식회사 페스카로 Can 통신 기반 해킹공격 탐지 방법 및 시스템
JP2019008618A (ja) * 2017-06-26 2019-01-17 パナソニックIpマネジメント株式会社 情報処理装置、情報処理方法及びプログラム
KR102506931B1 (ko) * 2018-02-27 2023-03-07 현대자동차 주식회사 전자화 장비 보안 검사 시스템 및 그 방법
US11585916B2 (en) * 2018-06-29 2023-02-21 Apple Inc. Ranging using beamforming antenna weight vectors and secure ranging packet with phase tracking
JP6995726B2 (ja) * 2018-09-26 2022-01-17 フォルシアクラリオン・エレクトロニクス株式会社 脆弱性評価装置、脆弱性評価システム及びその方法
US10583845B1 (en) * 2018-10-30 2020-03-10 Honeywell International Inc. Systems and methods for detecting and alerting security threats in vehicles
US10896261B2 (en) * 2018-11-29 2021-01-19 Battelle Energy Alliance, Llc Systems and methods for control system security
US20200233060A1 (en) * 2019-01-17 2020-07-23 Denso International America, Inc. Sensor data anomaly detection system and method for a vehicle
GB2581331B (en) * 2019-02-05 2021-06-02 Ford Global Tech Llc A method and system for vehicle protection
US11444921B2 (en) * 2019-07-16 2022-09-13 Lg Electronics Inc. Vehicular firewall providing device

Also Published As

Publication number Publication date
EP3576348A1 (en) 2019-12-04
US11284262B2 (en) 2022-03-22
EP3576348A4 (en) 2020-09-02
WO2018139708A1 (ko) 2018-08-02
US20190394652A1 (en) 2019-12-26
KR20180086833A (ko) 2018-08-01

Similar Documents

Publication Publication Date Title
CN107878460B (zh) 自动驾驶车辆的控制方法和服务器
KR101976425B1 (ko) 차량 운전 보조 장치
KR101959300B1 (ko) 차량용 스마트 키 및 시스템
KR101979269B1 (ko) 자율 주행 차량 및 자율 주행 차량의 동작 방법
KR101887077B1 (ko) 차량용 전자 디바이스 해킹 테스트 장치
KR101870751B1 (ko) 차량 제어 장치를 구비한 차량 및 차량의 제어방법
KR101949352B1 (ko) 자율 주행 차량 및 자율 주행 차량의 동작 방법
KR101992416B1 (ko) 차량에 구비된 차량 제어 장치 및 차량의 제어방법
KR20190132526A (ko) 차량에 구비된 차량 제어 장치 및 차량의 제어방법
KR20180058608A (ko) 차량에 구비된 차량 제어 장치 및 차량의 제어방법
KR20190078105A (ko) 자율주행 차량 및 그 제어 방법
KR20190041173A (ko) 자율주행 차량 및 그 제어 방법
KR20190041172A (ko) 자율주행 차량 및 그 제어 방법
KR101979275B1 (ko) 타 차량에 대한 정보 획득 방법, 차량 정보 제공 방법 및 통신 장치
KR101934731B1 (ko) 차량용 통신 장치 및 차량
KR102035135B1 (ko) 차량 사고 정보 제공 시스템
KR101916435B1 (ko) 자율 주행 차량 및 자율 주행 차량의 동작 방법
KR20190019439A (ko) 차량 운전 보조 장치 및 차량
KR20180051225A (ko) 차량 제어 시스템 및 그의 제어방법
KR20190019681A (ko) 차량에 구비된 차량 제어 장치 및 차량의 제어방법
KR101929816B1 (ko) 차량에 구비된 차량 제어 장치 및 그의 제어 방법
KR101951424B1 (ko) 차량에 구비된 차량 제어 장치 및 그의 제어방법
KR20180046228A (ko) 차량에 구비된 차량 제어 장치 및 그의 제어방법
KR102011832B1 (ko) 차량용 통신 장치 및 차량
KR101959307B1 (ko) 차량용 주차 시스템

Legal Events

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