KR20190106873A - 차량용 방화벽 제공 장치 - Google Patents

차량용 방화벽 제공 장치 Download PDF

Info

Publication number
KR20190106873A
KR20190106873A KR1020190105330A KR20190105330A KR20190106873A KR 20190106873 A KR20190106873 A KR 20190106873A KR 1020190105330 A KR1020190105330 A KR 1020190105330A KR 20190105330 A KR20190105330 A KR 20190105330A KR 20190106873 A KR20190106873 A KR 20190106873A
Authority
KR
South Korea
Prior art keywords
vehicle
rule
processor
firewall
data
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020190105330A
Other languages
English (en)
Other versions
KR102718737B1 (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 KR20190106873A publication Critical patent/KR20190106873A/ko
Application granted granted Critical
Publication of KR102718737B1 publication Critical patent/KR102718737B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • 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
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 외부 장치에서 수신되는 데이터 패킷을 설정된 순서대로 복수의 룰에 매칭시키고, 매칭 결과에 기초하여, 상기 순서를 변경하는 것으로 정의되는 룰 재배치(rule reordering)를 수행하는 프로세서;를 포함하는 차량용 방화벽 제공 장치에 관한 것이다.

Description

차량용 방화벽 제공 장치{Firewall Providing Device for Vehicle}
본 발명은 차량용 방화벽 제공 장치에 관한 것이다.
차량은 탑승하는 사용자가 원하는 방향으로 이동시키는 장치이다. 대표적으로 자동차를 예를 들 수 있다. 자율 주행 차량은 인간의 운전 조작 없이 자동으로 주행할 수 있는 차량을 의미한다.
자율 주행 차량은 통신 장치는, 외부 장치(예를 들면, 서버, 타 차량)과 데이터 패킷을 교환한다. 데이터를 교환할 때, 해킹 공격이 이루어질 수 있다. 이를 위해 차량에는 방화벽 제공 장치가 요구된다.
종래 기술에 따른 방화벽은, 수만 가지가 넘는 룰들을 다루기 때문에 데이터 처리에 과부하가 걸리는 문제가 있다. 또한, 데이터 처리에 과부하가 걸리는 경우, 데이터 패킷 처리 속도가 지연될 수 있다. 이러한 문제는 자율 주행 차량의 주행 성능에도 영향을 미칠 수 있다.
본 발명은 상기한 문제점을 해결하기 위하여, 데이터 패킷 처리에 과부하가 걸리지 않으면서도 효율적으로 해킹 공격을 방어할 수 있도록 하는 차량용 방화벽 제공 장치를 제공하는데 목적이 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 차량용 방화벽 제공 장치는, 외부 장치에서 수신되는 데이터 패킷을 설정된 순서대로 복수의 룰에 매칭시키고, 매칭 결과에 기초하여, 상기 순서를 변경하는 것으로 정의되는 룰 재배치(rule reordering)를 수행하는 프로세서;를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 효율적인 룰 재배치로 인해 룰 검색에 사용되는 시간을 단축하는 효과가 있다.
둘째, 패킷 처리 속도를 향상시킴으로써, 프로세싱 파워를 향상시키는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 차량의 외관을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 차량의 제어 블럭도이다.
도 3은 본 발명의 실시예에 따른 차량용 방화벽 제공 장치의 제어 블럭도이다.
도 4는 본 발명의 실시에에 따른 차량용 방화벽 제공 장치를 설명하는데 참조되는 도면이다.
도 5는 본 발명의 실시예에 따른 차량용 방화벽 제공 장치의 동작을 설명하는데 참조되는 도면이다.
도 6 내지 도 9는 본 발명의 실시예에 따른 차량용 방화벽 제공 장치의 룰 재배치 동작을 설명하는데 참조되는 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 발명의 실시예에 따른 차량을 도시한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 차량(10)은, 도로나 선로 위를 달리는 수송 수단으로 정의된다. 차량(10)은, 자동차, 기차, 오토바이를 포함하는 개념이다. 차량(10)은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량등을 모두 포함하는 개념일 수 있다. 차량(10)은, 공유형 차량일 수 있다. 차량(10)은 자율 주행 차량일 수 있다.
차량(10)에는 차량용 방화벽 제공 장치(100)가 포함될 수 있다.
한편, 차량(10)은, 적어도 하나의 로봇(robot)과 상호 작용할 수 있다. 로봇은, 자력으로 주행이 가능한 이동 로봇(Autonomous Mobile Robot, AMR)일 수 있다. 이동 로봇은, 스스로 이동이 가능하여 이동이 자유롭고, 주행 중 장애물 등을 피하기 위한 다수의 센서가 구비되어 장애물을 피해 주행할 수 있다. 이동 로봇은, 비행 장치를 구비하는 비행형 로봇(예를 들면, 드론)일 수 있다. 이동 로봇은, 적어도 하나의 바퀴를 구비하고, 바퀴의 회전을 통해 이동되는 바퀴형 로봇일 수 있다. 이동 로봇은, 적어도 하나의 다리를 구비하고, 다리를 이용해 이동되는 다리식 로봇일 수 있다.
로봇은 차량(10) 사용자의 편의를 보완하는 장치로 기능할 수 있다. 예를 들면, 로봇은, 차량(10)에 적재된 짐을 사용자의 최종 목적지까지 이동하는 기능을 수행할 수 있다. 예를 들면, 로봇은, 차량(10)에서 하차한 사용자에게 최종 목적지까지 길을 안내하는 기능을 수행할 수 있다. 예를 들면, 로봇은, 차량(10)에서 하차한 사용자를 최종 목적지까지 수송하는 기능을 수행할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 통신 장치(220)를 통해, 로봇과 통신을 수행할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 로봇에 차량에 포함되는 적어도 하나의 전자 장치에서 처리한 데이터를 제공할 수 있다. 예를 들면, 차량에 포함되는 적어도 하나의 전자 장치는, 오브젝트 데이터, HD 맵 데이터, 차량 상태 데이터, 차량 위치 데이터 및 드라이빙 플랜 데이터 중 적어도 어느 하나를 로봇에 제공할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 로봇으로부터, 로봇에서 처리된 데이터를 수신할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 로봇에서 생성된 센싱 데이터, 오브젝트 데이터, 로봇 상태 데이터, 로봇 위치 데이터 및 로봇의 이동 플랜 데이터 중 적어도 어느 하나를 수신할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 로봇으로부터 수신된 데이터에 더 기초하여, 제어 신호를 생성할 수 있다. 예를 들면, 차량에 포함되는 적어도 하나의 전자 장치는, 오브젝트 검출 장치(210)에 생성된 오브젝트에 대한 정보와 로봇에 의해 생성된 오브젝트에 대한 정보를 비교하고, 비교 결과에 기초하여, 제어 신호를 생성할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 차량(10)의 이동 경로와 로봇의 이동 경로간의 간섭이 발생되지 않도록, 제어 신호를 생성할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 인공 지능(artificial intelligence, AI)를 구현하는 소프트웨어 모듈 또는 하드웨어 모듈(이하, 인공 지능 모듈)을 포함할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 획득되는 데이터를 인공 지능 모듈에 입력(input)하고, 인공 지능 모듈에서 출력(output)되는 데이터를 이용할 수 있다.
인공 지능 모듈은, 적어도 하나의 인공 신경망(artificial neural network, ANN)을 이용하여, 입력되는 데이터에 대한 기계 학습(machine learning)을 수행할 수 있다. 인공 지능 모듈은, 입력되는 데이터에 대한 기계 학습을 통해, 드라이빙 플랜 데이터를 출력할 수 있다.
차량에 포함되는 적어도 하나의 전자 장치는, 인공 지능 모듈에서 출력되는 데이터에 기초하여, 제어 신호를 생성할 수 있다.
실시예에 따라, 차량에 포함되는 적어도 하나의 전자 장치는, 통신 장치(220)를 통해, 외부 장치로부터, 인공 지능에 의해 처리된 데이터를 수신할 수 있다. 차량에 포함되는 적어도 하나의 전자 장치는, 인공 지능에 의해 처리된 데이터에 기초하여, 제어 신호를 생성할 수 있다.
도 2는 본 발명의 실시예에 따른 차량의 제어 블럭도이다.
도 2를 참조하면, 차량(10)은, 차량용 방화벽 제공 장치(100), 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 통신 장치(220), 운전 조작 장치(230), 메인 ECU(240), 차량 구동 장치(250), 주행 시스템(260), 센싱부(270) 및 위치 데이터 생성 장치(280)를 포함할 수 있다.
차량용 방화벽 제공 장치(100)는, 차량(10)에 구비되는 전자 장치로 이해될 수 있다. 차량용 방화벽 제공 장치(100)는, 통신 장치(220)의 하위 구성으로 분류될 수 있다. 실시예에 따라, 차량용 방화벽 제공 장치(100)는, 통신 장치(220)와 별도로 구성될 수 있다. 차량용 방화벽 제공 장치(100)는, 프로세서에 소프트웨어가 설치됨으로써 구현될 수 있다.
사용자 인터페이스 장치(200)는, 차량(10)과 사용자와의 소통을 위한 장치이다. 사용자 인터페이스 장치(200)는, 사용자 입력을 수신하고, 사용자에게 차량(10)에서 생성된 정보를 제공할 수 있다. 차량(10)은, 사용자 인터페이스 장치(200)를 통해, UI(User Interface) 또는 UX(User Experience)를 구현할 수 있다. 사용자 인터페이스 장치(200)는, 차량(10)에 장착되는 디스플레이 장치, HUD(head up display) 장치, 윈도우 디스플레이 장치, 클러스터 장치 등으로 구현될 수 있다. 사용자 인터페이스 장치(200)는, 입력 장치, 출력 장치 및 사용자 모니터링 장치를 포함할 수 있다. 사용자 인터페이스 장치(200)는, 터치 입력 장치, 기계식 입력 장치, 음성 입력 장치, 제스쳐 입력 장치 등과 같은 입력 장치를 포함할 수 있다. 사용자 인터페이스 장치(200)는, 스피커, 디스플레이, 햅틱 모듈과 같은 출력 장치를 포함할 수 있다. 사용자 인터페이스 장치(200)는, DMS(Driver Monitoring System), IMS(Internal Monitoring System)과 같은 사용자 모니터링 장치를 포함할 수 있다.
오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트를 검출할 수 있다. 오브젝트 검출 장치(210)는, 차량(10) 외부의 오브젝트를 검출할 수 있는 적어도 하나의 센서를 포함할 수 있다. 오브젝트 검출 장치(210)는, 카메라, 레이다, 라이다, 초음파 센서 및 적외선 센서 중 적어도 하나를 포함할 수 있다. 오브젝트 검출 장치(210)는, 센서에서 생성되는 센싱 신호에 기초하여 생성된 오브젝트에 대한 데이터를 차량에 포함된 적어도 하나의 전자 장치에 제공할 수 있다.
카메라는 영상을 이용하여 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 카메라는 적어도 하나의 렌즈, 적어도 하나의 이미지 센서 및 이미지 센서와 전기적으로 연결되어 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다.
카메라는, 모노 카메라, 스테레오 카메라, AVM(Around View Monitoring) 카메라 중 적어도 어느 하나일 수 있다. 카메라는, 다양한 영상 처리 알고리즘을 이용하여, 오브젝트의 위치 정보, 오브젝트와의 거리 정보 또는 오브젝트와의 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 획득된 영상에서, 시간에 따른 오브젝트 크기의 변화를 기초로, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 핀홀(pin hole) 모델, 노면 프로파일링 등을 통해, 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다. 예를 들면, 카메라는, 스테레오 카메라에서 획득된 스테레오 영상에서 디스패러티(disparity) 정보를 기초로 오브젝트와의 거리 정보 및 상대 속도 정보를 획득할 수 있다.
카메라는, 차량 외부를 촬영하기 위해 차량에서 FOV(field of view) 확보가 가능한 위치에 장착될 수 있다. 카메라는, 차량 전방의 영상을 획득하기 위해, 차량의 실내에서, 프런트 윈드 쉴드에 근접하게 배치될 수 있다. 카메라는, 프런트 범퍼 또는 라디에이터 그릴 주변에 배치될 수 있다. 카메라는, 차량 후방의 영상을 획득하기 위해, 차량의 실내에서, 리어 글라스에 근접하게 배치될 수 있다. 카메라는, 리어 범퍼, 트렁크 또는 테일 게이트 주변에 배치될 수 있다. 카메라는, 차량 측방의 영상을 획득하기 위해, 차량의 실내에서 사이드 윈도우 중 적어도 어느 하나에 근접하게 배치될 수 있다. 또는, 카메라는, 사이드 미러, 휀더 또는 도어 주변에 배치될 수 있다.
레이다는 전파를 이용하여 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 레이다는, 전자파 송신부, 전자파 수신부 및 전자파 송신부 및 전자파 수신부와 전기적으로 연결되어, 수신되는 신호를 처리하고, 처리되는 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. 레이다는 전파 발사 원리상 펄스 레이다(Pulse Radar) 방식 또는 연속파 레이다(Continuous Wave Radar) 방식으로 구현될 수 있다. 레이다는 연속파 레이다 방식 중에서 신호 파형에 따라 FMCW(Frequency Modulated Continuous Wave)방식 또는 FSK(Frequency Shift Keyong) 방식으로 구현될 수 있다. 레이다는 전자파를 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 레이다는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
라이다는, 레이저 광을 이용하여, 차량(10) 외부의 오브젝트에 대한 정보를 생성할 수 있다. 라이다는, 광 송신부, 광 수신부 및 광 송신부 및 광 수신부와 전기적으로 연결되어, 수신되는 신호를 처리하고, 처리된 신호에 기초하여 오브젝트에 대한 데이터를 생성하는 적어도 하나의 프로세서를 포함할 수 있다. 라이다는, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식으로 구현될 수 있다. 라이다는, 구동식 또는 비구동식으로 구현될 수 있다. 구동식으로 구현되는 경우, 라이다는, 모터에 의해 회전되며, 차량(10) 주변의 오브젝트를 검출할 수 있다. 비구동식으로 구현되는 경우, 라이다는, 광 스티어링에 의해, 차량을 기준으로 소정 범위 내에 위치하는 오브젝트를 검출할 수 있다. 차량(100)은 복수의 비구동식 라이다를 포함할 수 있다. 라이다는, 레이저 광 매개로, TOF(Time of Flight) 방식 또는 페이즈 쉬프트(phase-shift) 방식에 기초하여, 오브젝트를 검출하고, 검출된 오브젝트의 위치, 검출된 오브젝트와의 거리 및 상대 속도를 검출할 수 있다. 라이다는, 차량의 전방, 후방 또는 측방에 위치하는 오브젝트를 감지하기 위해 차량의 외부의 적절한 위치에 배치될 수 있다.
통신 장치(220)는, 차량(10) 외부에 위치하는 디바이스와 신호를 교환할 수 있다. 통신 장치(220)는, 인프라(예를 들면, 서버, 방송국) 및 타 차량 중 적어도 어느 하나와 신호를 교환할 수 있다. 통신 장치(220)는, 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.
통신 장치(220)는, 5G(예를 들면, 뉴 라디오(new radio, NR)) 방식을 이용하여, 차량(10) 외부에 위치하는 디바이스와 통신할 수 있다. 통신 장치(220)는, 5G 방식을 이용하여, V2X(V2V, V2D, V2P,V2N) 통신을 구현할 수 있다.
운전 조작 장치(230)는, 운전을 위한 사용자 입력을 수신하는 장치이다. 메뉴얼 모드인 경우, 차량(10)은, 운전 조작 장치(230)에 의해 제공되는 신호에 기초하여 운행될 수 있다. 운전 조작 장치(230)는, 조향 입력 장치(예를 들면, 스티어링 휠), 가속 입력 장치(예를 들면, 가속 페달) 및 브레이크 입력 장치(예를 들면, 브레이크 페달)를 포함할 수 있다.
메인 ECU(240)는, 차량(10) 내에 구비되는 적어도 하나의 전자 장치의 전반적인 동작을 제어할 수 있다.
구동 제어 장치(250)는, 차량(10)내 각종 차량 구동 장치를 전기적으로 제어하는 장치이다. 구동 제어 장치(250)는, 파워 트레인 구동 제어 장치, 샤시 구동 제어 장치, 도어/윈도우 구동 제어 장치, 안전 장치 구동 제어 장치, 램프 구동 제어 장치 및 공조 구동 제어 장치를 포함할 수 있다. 파워 트레인 구동 제어 장치는, 동력원 구동 제어 장치 및 변속기 구동 제어 장치를 포함할 수 있다. 샤시 구동 제어 장치는, 조향 구동 제어 장치, 브레이크 구동 제어 장치 및 서스펜션 구동 제어 장치를 포함할 수 있다.
한편, 안전 장치 구동 제어 장치는, 안전 벨트 제어를 위한 안전 벨트 구동 제어 장치를 포함할 수 있다.
차량 구동 제어 장치(250)는, 제어 ECU(Electronic Control Unit)로 명명될 수 있다.
주행 시스템(260)는, 오브젝트 검출 장치(210)에서 수신한 오브젝트에 대한 데이터에 기초하여, 차량(10)의 움직임을 제어하거나, 사용자에게 정보를 출력하기 위한 신호를 생성할 수 있다. 주행 시스템(260)는, 생성된 신호를, 사용자 인터페이스 장치(200), 메인 ECU(240) 및 차량 구동 장치(250) 중 적어도 어느 하나에 제공할 수 있다.
주행 시스템(260)은, ADAS를 포함하는 개념일 수 있다. ADAS(260)는, 적응형 크루즈 컨트롤 시스템(ACC : Adaptive Cruise Control), 자동 비상 제동 시스템(AEB : Autonomous Emergency Braking), 전방 충돌 알림 시스템(FCW : Foward Collision Warning), 차선 유지 보조 시스템(LKA : Lane Keeping Assist), 차선 변경 보조 시스템(LCA : Lane Change Assist), 타겟 추종 보조 시스템(TFA : Target Following Assist), 사각 지대 감시 시스템(BSD : Blind Spot Detection), 적응형 하이빔 제어 시스템(HBA : High Beam Assist), 자동 주차 시스템(APS : Auto Parking System), 보행자 충돌 알림 시스템(PD collision warning system), 교통 신호 검출 시스템(TSR : Traffic Sign Recognition), 교통 신호 보조 시스템(TSA : Trafffic Sign Assist), 나이트 비전 시스템(NV : Night Vision), 운전자 상태 모니터링 시스템(DSM : Driver Status Monitoring) 및 교통 정체 지원 시스템(TJA : Traffic Jam Assist) 중 적어도 어느 하나를 구현할 수 있다.
주행 시스템(260)은, 자율 주행 ECU(Electronic Control Unit)를 포함할 수 있다. 자율 주행 ECU는, 차량(10) 내 다른 전자 장치들 중 적어도 어느 하나로부터 수신되는 데이터에 기초하여, 자율 주행 경로를 설정할 수 있다. 자율 주행 ECU는, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 통신 장치(220), 센싱부(270) 및 위치 데이터 생성 장치(280) 중 적어도 어느 하나로부터 수신되는 데이터에 기초하여, 자율 주행 경로를 설정할 수 있다. 자율 주행 ECU는, 자율 주행 경로를 따라 차량(10)이 주행하도록 제어 신호를 생성할 수 있다. 자율 주행 ECU에서 생성된 제어 신호는, 메인 ECU(240) 및 차량 구동 장치(250) 중 적어도 어느 하나로 제공될 수 있다.
센싱부(270)는, 차량의 상태를 센싱할 수 있다. 센싱부(270)는, IMU(inertial navigation unit) 센서, 충돌 센서, 휠 센서(wheel sensor), 속도 센서, 경사 센서, 중량 감지 센서, 헤딩 센서(heading sensor), 포지션 모듈(position module), 차량 전진/후진 센서, 배터리 센서, 연료 센서, 타이어 센서, 핸들 회전에 의한 스티어링 센서, 차량 내부 온도 센서, 차량 내부 습도 센서, 초음파 센서, 조도 센서, 가속 페달 포지션 센서 및 브레이크 페달 포지션 센서 중 적어도 어느 하나를 포함할 수 있다. 한편, IMU(inertial navigation unit) 센서는, 가속도 센서, 자이로 센서, 자기 센서 중 하나 이상을 포함할 수 있다.
센싱부(270)는, 적어도 하나의 센서에서 생성되는 신호에 기초하여, 차량의 상태 데이터를 생성할 수 있다. 센싱부(270)는, 차량 자세 정보, 차량 모션 정보, 차량 요(yaw) 정보, 차량 롤(roll) 정보, 차량 피치(pitch) 정보, 차량 충돌 정보, 차량 방향 정보, 차량 각도 정보, 차량 속도 정보, 차량 가속도 정보, 차량 기울기 정보, 차량 전진/후진 정보, 배터리 정보, 연료 정보, 타이어 정보, 차량 램프 정보, 차량 내부 온도 정보, 차량 내부 습도 정보, 스티어링 휠 회전 각도, 차량 외부 조도, 가속 페달에 가해지는 압력, 브레이크 페달에 가해지는 압력 등에 대한 센싱 신호를 획득할 수 있다.
센싱부(270)는, 그 외, 가속페달센서, 압력센서, 엔진 회전 속도 센서(engine speed sensor), 공기 유량 센서(AFS), 흡기 온도 센서(ATS), 수온 센서(WTS), 스로틀 위치 센서(TPS), TDC 센서, 크랭크각 센서(CAS), 등을 더 포함할 수 있다.
센싱부(270)는, 센싱 데이터를 기초로, 차량 상태 정보를 생성할 수 있다. 차량 상태 정보는, 차량 내부에 구비된 각종 센서에서 감지된 데이터를 기초로 생성된 정보일 수 있다.
예를 들면, 차량 상태 정보는, 차량의 자세 정보, 차량의 속도 정보, 차량의 기울기 정보, 차량의 중량 정보, 차량의 방향 정보, 차량의 배터리 정보, 차량의 연료 정보, 차량의 타이어 공기압 정보, 차량의 스티어링 정보, 차량 실내 온도 정보, 차량 실내 습도 정보, 페달 포지션 정보 및 차량 엔진 온도 정보 등을 포함할 수 있다.
한편, 센싱부는, 텐션 센서를 포함할 수 있다. 텐션 센서는, 안전 벨트의 텐션 상태에 기초하여 센싱 신호를 생성할 수 있다.
위치 데이터 생성 장치(280)는, 차량(10)의 위치 데이터를 생성할 수 있다. 위치 데이터 생성 장치(280)는, GPS(Global Positioning System) 및 DGPS(Differential Global Positioning System) 중 적어도 어느 하나를 포함할 수 있다. 위치 데이터 생성 장치(280)는, GPS 및 DGPS 중 적어도 어느 하나에서 생성되는 신호에 기초하여 차량(10)의 위치 데이터를 생성할 수 있다. 실시예에 따라, 위치 데이터 생성 장치(280)는, 센싱부(270)의 IMU(Inertial Measurement Unit) 및 오브젝트 검출 장치(210)의 카메라 중 적어도 어느 하나에 기초하여 위치 데이터를 보정할 수 있다.
위치 데이터 생성 장치(280)는, 위치 측위 장치로 명명될 수 있다. 위치 데이터 생성 장치(280)는, GNSS(Global Navigation Satellite System)로 명명될 수 있다.
차량(10)은, 내부 통신 시스템(50)을 포함할 수 있다. 차량(10)에 포함되는 복수의 전자 장치는 내부 통신 시스템(50)을 매개로 신호를 교환할 수 있다. 신호에는 데이터가 포함될 수 있다. 내부 통신 시스템(50)은, 적어도 하나의 통신 프로토콜(예를 들면, CAN, LIN, FlexRay, MOST, 이더넷)을 이용할 수 있다.
도 3은 본 발명의 실시예에 따른 전자 장치의 제어 블럭도이다.
도 4는 본 발명의 실시에에 따른 차량용 방화벽 제공 장치를 설명하는데 참조되는 도면이다.
도면을 참조하면, 차량용 방화벽 제공 장치(100)는, 메모리(140), 프로세서(170), 인터페이스부(180) 및 전원 공급부(190)를 포함할 수 있다.
메모리(140)는, 프로세서(170)와 전기적으로 연결된다. 메모리(140)는 유닛에 대한 기본데이터, 유닛의 동작제어를 위한 제어데이터, 입출력되는 데이터를 저장할 수 있다. 메모리(140)는, 프로세서(170)에서 처리된 데이터를 저장할 수 있다. 메모리(140)는, 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 중 적어도 어느 하나로 구성될 수 있다. 메모리(140)는 프로세서(170)의 처리 또는 제어를 위한 프로그램 등, 차량용 방화벽 제공 장치(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다. 메모리(140)는, 프로세서(170)와 일체형으로 구현될 수 있다. 실시예에 따라, 메모리(140)는, 프로세서(170)의 하위 구성으로 분류될 수 있다.
인터페이스부(180)는, 차량(10) 내에 구비되는 적어도 하나의 전자 장치와 유선 또는 무선으로 신호를 교환할 수 있다. 인터페이스부(180)는, 사용자 인터페이스 장치(200), 오브젝트 검출 장치(210), 통신 장치(220), 운전 조작 장치(230), 메인 ECU(240), 차량 구동 장치(250), 주행 시스템(260), 센싱부(270) 및 위치 데이터 생성 장치(280) 중 적어도 어느 하나와 유선 또는 무선으로 신호를 교환할 수 있다. 인터페이스부(280)는, 통신 모듈, 단자, 핀, 케이블, 포트, 회로, 소자 및 장치 중 적어도 어느 하나로 구성될 수 있다.
전원 공급부(190)는, 차량용 방화벽 제공 장치(100)에 전원을 공급할 수 있다. 전원 공급부(190)는, 차량(10)에 포함된 파워 소스(예를 들면, 배터리)로부터 전원을 공급받아, 차량용 방화벽 제공 장치(100)의 각 유닛에 전원을 공급할 수 있다. 전원 공급부(190)는, 메인 ECU(140)로부터 제공되는 제어 신호에 따라 동작될 수 있다. 전원 공급부(190)는, SMPS(switched-mode power supply)로 구현될 수 있다.
프로세서(170)는, 메모리(140), 인터페이스부(180), 전원 공급부(190)와 전기적으로 연결되어 신호를 교환할 수 있다. 프로세서(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), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
프로세서(170)는, 전원 공급부(190)로부터 제공되는 전원에 의해 구동될 수 있다. 프로세서(170)는, 전원 공급부(190)에 의해 전원이 공급되는 상태에서 데이터를 수신하고, 데이터를 처리하고, 신호를 생성하고, 신호를 제공할 수 있다.
프로세서(170)는, 인터페이스부(180)를 통해, 차량(10) 내 다른 전자 장치로부터 정보를 수신할 수 있다. 프로세서(170)는, 인터페이스부(180)를 통해, 차량(10) 내 다른 전자 장치로 제어 신호를 제공할 수 있다.
프로세서(170)는, 외부 장치에서 수신되는 데이터 패킷을 설정된 순서대로 복수의 룰에 매칭시킬 수 있다. 외부 장치는, 서버, 타차량, 단말기 중 어느 하나일 수 있다.
복수의 룰은, 사용자에 의해 만들어져 설정될 수 있다. 복수의 룰은, IP 주소(Internet Protocol address) 및 포트(port)에 기초하여 생성될 수 있다. 복수의 룰은, 블랙 리스트 룰 및 화이트 리스트 룰을 포함할 수 있다. 블랙 리스트 룰은, IP 주소 및 포트에 기초하여 생성될 수 있다. 블랙 리스트 룰은, 처리 대상에서 제외되는 데이터 패킷의 리스트로 정의될 수 있다. 화이트 리스트 룰은, IP 주소 및 포트에 기초하여 생성될 수 있다. 화이트 리스트 룰은, 처리 대상에 포함되는 데이터 패킷의 리스트로 정의될 수 있다.
프로세서(170)는, 매칭 결과에 기초하여, 복수의 룰의 순서를 변경하는 것으로 정의되는 룰 재배치(rule reordering)를 수행할 수 있다. 예를 들면, 프로세서(170)는, 매칭 결과에 기초하여, 많이 사용된 룰을 앞쪽에 배치할 수 있다.
프로세서(170)는, 해킹 공격 징후가 감지되는 경우, 룰 재배치를 수행할 수 있다. 프로세서(170)는, 데이터 트래픽의 증가 속도에 기초하여, 해킹 공격 징후를 감지할 수 있다. 프로세서(170)는, 기 설정된 복수의 룰에 의한 데이터 패킷 수의 증가량에 기초하여, 해킹 공격 징후를 감지할 수 있다.
프로세서(170)는, 복수의 룰에 대한 히트 카운트(hit count)가 만족되는 경우, 룰 재배치를 수행할 수 있다. 예를 들면, 프로세서9170)는, 복수의 룰 중 제1 룰에 대한 히트 카운트가 만족되는 경우, 룰 재배치를 수행할 수 있다. 이때, 히트 카운트는, 데이터 패킷이 제1 룰에 매칭되는 횟수로 정의될 수 있다. 프로세서(170)는, 처움부터 누적된 데이터에 기초하여 히트 카운트를 계산할 수 있다. 프로세서(170)는, 최근 몇 일간의 누적된 데이터에 기초하여 히트 카운트를 계산할 수 있다. 프로세서(170)는, 차량(10)의 시동 턴 온 이후에 누적된 데이터에 기초하여 히트 카운트를 계산할 수 있다.
프로세서(170)는, 기 설정된 주기에 따라 룰 재배치를 수행할 수 있다. 예를 들면, 프로세서(170)는, 일주일 단위로 룰 재배치를 수행할 수 있다.
프로세서(170)는, 매칭된 룰이 최근에 이용된 룰 그룹에 없는 경우, 룰 재배치를 수행할 수 있다.
프로세서(170)는, 차량(10)이 자율 주행 중인 상태에서 해킹 공격 징후가 감지되는 경우, 자율 주행 상태 종료 후 룰 재배치를 수행할 수 있다. 예를 들면, 프로세서(170)는, TLS Heartbleed 공격이 자율 주행 중에 발생된 경우, 프로세싱을 많이 필요로 하는 자율 주행이 멈춘 후, 룰 재배치를 수행할 수 있다.
프로세서(170)는, 기계 학습된 정보를 활용하여 룰 재배치를 수행할 수 있다.
예를 들면, 프로세서(170)는, 누적된 데이터에 기초하여, 차량(10)이 특정된 공간에 위치하는 경우, 해킹 공격이 다수 발생됨을 판단할 수 있다. 이경우, 프로세서(170)는, 차량(10)이 특정된 공간에 위치하는 경우, 룰 재배치를 수행할 수 있다.
예를 들면, 프로세서(170)는, 누적된 데이터에 기초하여, 특정 시간대에 해킹 공격이 다수 발생됨을 판단할 수 있다. 이경우, 프로세서(170)는, 특정 시간대에, 룰 재배치를 수행할 수 있다.
예를 들면, 프로세서(170)는, 새벽 시간에 주기적인 업데이트가 있는 것으로 판단할 수 있다. 이경우, 프로세서(170)는, 해당 시간에 업데이트 관련하여 룰 재배치를 수행할 수 있다.
프로세서(170)는, 차량(10)의 주차 중에 룰 재배치를 수행할 수 있다. 프로세서(170)는, 시동 턴 오프 후 소프트웨어 업데이트 패킷 수신시 관련 룰 재배치를 수행할 수 있다.
프로세서(170)는, 차량(10)의 교통 사고 발생시, 관련된 서비스(예를 들면, eCall)에 해당하는 관련 룰 재배치를 수행할 수 있다.
프로세서(170)는, 커널 스페이스(410) 및 유저 스페이스(420)를 포함할 수 있다.
커널 스페이스(410)는, 장치 드라이버를 실행하기 위한 공간으로 정의될 수 있다. 커널 스페이스(410)는, 넷필터(netfilter)(412) 및 제1 디텍터(411)를 포함할 수 있다.
넷필터(412)는, 블랙 리스트 룰 및 화이트 리스트 룰에 기초하여 신속하게 데이터 패킷을 필터링할 수 있다. 넷필터(412)는, 블랙 리스트 룰 및 화이트 리스트 룰에 기초하여 데이터 패킷을 제1 요건에 따라 필터링할 수 있다. 예를 들면, 넷필터(412)는, 블랙 리스트 룰 및 화이트 리스트 룰에 기초하여 데이터 패킷을 IP 주소, 포트 및 페이로드의 연속 스트림에 따라 필터링할 수 있다.
넷필터(412)는, 필터링 대상에 대한 정보를 패킷 핸들러(421)로부터 수신할 수 있다. 넷필터(412)는, 필터링 대상이 되는 데이터 패킷을 처리 대상에서 제외할 수 있다.
제1 디텍터(411)는, XDP(eXpress Data Path)로 신속하게 데이터 패킷을 필터링할 수 있다. 제1 디텍터(411)는, 넷필터(412)로 입력되는 데이터 패킷을 후킹할 수 있다. 제1 디텍터(411)는, 블랙 리스트 룰에 기초하여, 후킹한 데이터 패킷을 필터링할 수 있다. 제1 디텍터(411)는, 블랙 리스트 룰에 기초하여, 후킹된 데이터 패킷을 제1 요건과 다른 제2 요건에 따라 필터링할 수 있다. 예를 들면, 제1 디텍터(411)는, 블랙 리스트 룰에 기초하여, 데이터 패킷을 IP 주소 및 포트에 따라 필터링할 수 있다.
한편, 제1 디텍터(411)는, 해킹 공격 징후가 감지되는 경우, 활성화될 수 있다.
유저 스페이스(420)는 애플리케이션이 동작하는 공간으로 정의될 수 있다. 여기서, 애플리케이션은 방화벽 애플리케이션이다. 유저 스페이스는, 패킷 핸들러(421), 제2 디텍터(422) 및 리오더링(Reordering)(423)을 포함할 수 있다.
패킷 핸들러(421)는, 넷필터(412)로부터 데이터 패킷을 수신할 수 있다. 패킷 핸들러(421)는, 넷필터(412)로부터 수신한 데이터 패킷을 디코딩할 수 있다. 패킷 핸들러(421)는, 필터링 대상에 대한 정보를 넷필터(412)에 제공할 수 있다. 패킷 핸들러(421)는, 특정 패킷에 대한 액션값을 넷필터(412)에 제공할 수 있다.
제2 디텍터(422)는, 블랙 리스틀 룰 및 화이트 리스트 룰에 기초하여, 패킷 핸들러(421)를 통해 수신된 데이터 패킷을 제1 요건과 다른 제3 요건에 따라 필터링 대상을 선택할 수 있다. 예를 들면, 제2 디텍터(422)는, 블랙 리스틀 룰 및 화이트 리스트 룰에 기초하여, 데이터 패킷을 IP 주소, 포트 및 페이로드 정규 표현식등의 복잡한 형태의 스트림에 대한 패턴 매칭을 수행할 수 있다.
리오더링(423)은, 룰 재배치를 수행할 수 있다. 리오더링(423)은, 재배치된 룰을 제1 디텍터(411) 및 제2 디텍터(422)에 제공할 수 있다. 예를 들면, 리오더링(423)은, 재배치된 블랙 리스트 룰을 제1 디텍터(411)에 제공할 수 있다. 예를 들면, 리오더링(423)은, 재배치된 블랙 리스트 룰과 화이트 리스트 룰을 제2 디텍터(422)에 제공할 수 있다.
프로세서(170)는, 유저 스페이스(420) 내에서 이용되는 블랙 리스트 룰에 대한 재배치를 수행할 수 있다.
프로세서(170)는, 유저 스페이스(420) 내에서 이용되는 화이트 리스트 룰에 대한 재배치를 수행할 수 있다.
프로세서(170)는, 해킹 공격 징후가 감지되는 경우, 제1 디텍터(411)를 활성화할 수 있다.
프로세서(170)는, 커널 스페이스(410) 내에서 이용되는 블랙 리스트 룰에 대한 재배치를 수행할 수 있다.
프로세서(170)는, 유저 스페이스(420)에서의 데이터 패킷과 블랙 리스트 룰의 매칭 결과에 기초하여, 커널 스페이스(410) 내에서 이용되는 블랙 리스트 룰에 대한 재배치를 수행할 수 있다.
차량용 방화벽 제공 장치(100)는, 적어도 하나의 인쇄 회로 기판(printed circuit board, PCB)을 포함할 수 있다. 메모리(140), 인터페이스부(180), 전원 공급부(190) 및 프로세서(170)는, 인쇄 회로 기판에 전기적으로 연결될 수 있다.
도 5는 본 발명의 실시예에 따른 차량용 방화벽 제공 장치의 동작을 설명하는데 참조되는 도면이다.
도4 및 도 5를 참조하면, 프로세서(170)는, 패킷을 수신할 수 있다(S510). 프로세서(170)는, XDP match flag의 설정 여부를 판단할 수 있다(S515). 대부분은 정상적인 패킷이므로, 모든 패킷에 대해 XDP 매칭하는 경우 프로세싱 부하가 많이 걸리게 된다. XDP 플래그를 설정함으로써, 해킹 공격에 대한 징후가 감지되면, 패킷이 XDP를 거치게 할 수 있다.
XDP match flag set이 만족되는 경우, 프로세서(170)는, 커널 스페이스(410)에서 패킷을 블랙리스트 룰에 매칭할 수 있다(S525).
패킷이 블랙 리스트 룰에 매칭되는 것으로 판단되는 경우(S530), 프로세서(170)는, 패킷을 드랍(drop)할 수 있다(S535).
S515 단계에서, XDP mat flag set이 만족되지 않는 경우, 프로세서(170)는, 패킷을 유저 스페이스(420)로 보낼 수 있다(S540).
S530 단계에서, 패킷이 블랙 리스트 룰에 매칭되지 않는 것으로 판단되는 경우, 프로세서(170)는, 패킷을 유저 스페이스(420)로 보낼 수 있다(S540).
프로세서(170)는, 유저 스페이스(420)에서 패킷을 화이트 리스트 룰에 매칭시킬 수 있다(S545).
패킷이 화이트 리스트 룰에 매칭되는 것으로 판단되는 경우(S550), 프로세서(170)는, 패킷을 억셉트(accept)할 수 있다.
패킷이 화이트 리스트 룰에 매칭되지 않는 것으로 판단되는 경우(S550), 프로세서(170)는, 유저 스페이스(420)에서 패킷을 블랙 리스트 룰에 매칭시킬 수 있다(S560).
패킷이 블랙 리스트 룰에 매칭되는 것으로 판단되는 경우(S565), 프로세서(170)는, 패킷을 드랍할 수 있다(S570).
패킷이 블랙 리스트 룰에 매칭되지 않는 것으로 판단되는 경우(S565), 패킷을 억셉트할 수 있다.
리오더링이 시작되면, 프로세서(170)는, 패킷 핸들링 결과(packet handling result)를 수신할 수 있다(S580).
프로세서(170)는, 기 정의된 조건에 따라 룰의 순서를 계산할 수 있다(S585).
프로세서(170)는, 룰을 리오더링할 수 있다(S590).
도 6 내지 도 9는 본 발명의 실시예에 따른 차량용 방화벽 제공 장치의 룰 재배치 동작을 설명하는데 참조되는 도면이다. 이하의 설명에서 애플리케이션은 방화벽 애플리케이션이다.
도 6을 참조하면, 프로세서(170)는, 애플리케이션(또는 유저 스페이스) 내에서 블랙 리스트 룰을 재배치할 수 있다(610). 예를 들면, 프로세서(170)는, 애플리케이션 내에서, 패킷을 블랙 리스트 룰에 매칭시킬 수 있다. 블랙 리스트 룰 중 제1 룰에 매칭되는 패킷이 검출되는 경우, 프로세서(170)는, 애플리케이션 내에서 제1 룰을 우선되게 재배치할 수 있다.
프로세서(170)는, 애플리케이션(또는 유저 스페이스) 내에서 화이트 리스트 룰을 재배치할 수 있다(620). 예를 들면, 프로세서(170)는, 애플리케이션 내에서, 패킷을 화이트 리스트 룰에 매칭시킬 수 있다. 화이트 리스트 룰 중 제1 룰에 매칭되는 패킷이 검출되는 경우, 프로세서(170)는, 애플리케이션 내에서 제1 룰을 우선되게 재배치할 수 있다.
프로세서(170)는, XDP(또는 커널 스페이스) 내의 블랙 리스트 룰을 활성화할 수 있다(630). 프로세서(170)는, 해킹 공격이 감지되는 경우, XDP 내의 블랙 리스트 룰을 활성화할 수 있다. 이경우, XDP는, 넷필터(412)로 입력되는 패킷을 후킹하고, 후킹된 패킷을 블랙 리스트 룰에 매칭시킬 수 있다.
프로세서(170)는, XDP(또는 커널 스페이스) 내의 블랙 리스트 룰을 재배치할 수 있다(640). 예를 들면, 프로세서(170)는, XDP 내에서, 패킷을 블랙 리스트 룰에 매칭시킬 수 있다. 블랙 리스트 룰 중 제1 룰에 매칭되는 패킷이 검출되는 경우, 프로세서(170)는, XDP 내에서 제1 룰을 우선되게 재배치할 수 있다.
프로세서(170)는, 애플리케이션(또는 유저 스페이스)에서 패킷과 블랙 리스트 룰과의 매칭 결과에 기초하여, XDP(또는 커널 스페이스) 내의 블랙 리스트 룰을 재배치할 수 있다(650). 예를 들면, 프로세서(170)는, 애플리케이션 내에서, 패킷을 블랙 리스트 룰에 매칭시킬 수 있다. 블랙 리스트 룰 중 제1 룰에 매칭되는 패킷이 검출되는 경우, 프로세서(170)는, XDP 내에서 제1 룰을 우선되게 재배치할 수 있다.
도 7을 참조하면, 유저 스페이스(420) 방화벽 애플리케이션에서 블랙리스트 룰에 포함된 특정 룰(710)에 의해 DoS/DDoS 공격을 감지할 수 있다.
프로세서(170)는, 커널 스페이스(410)의 블랙 리스트 룰을 활성화할 수 있다.
프로세서(170)는, XDP의 블랙 리스트 룰에서 이용될 확률이 가장 낮은 룰을, 유저 스페이스에서 DoS/DDoS 공격을 감지한 룰인 특정 룰(710)과 교환할(swap) 수 있다.
이후에 발생되는 DoS/DDoS 패킷들은 XDP의 블랙 리스트 룰인 특정 룰(710)에 의해 빠르게 감지되고 드랍될 수 있다.
한편, DoS/DDoS 공격을 감지하는 룰인 특정 룰(710)은, 1개의 룰일 수도 있지만 룰 그룹(DoS/DDoS 용 룰 그룹)일 수도 있다. 룰 재배치 방식이 각 룰 하나 하나의 재배치일 수도 있고, 룰 그룹들의 재배치일 수도 있다.
도 8을 참조하면, 유저 스페이스(420) 방화벽 애플리케이션에서 화이트 리스트 룰에 포함된 특정 룰(810)에 의해 SOTA(software update over the air) 트래픽이 감지될 수 있다. SOTA traffic은 대용량 데이터가 전송되는 traffic이다.
프로세서(170)는, 특정 룰(810)을 우선되게 배치함으로써, 화이트 리스트 룰 재배치를 실행할 수 있다.
이후에 발생되는 SOTA traffic은 전진 배치된 특정 룰(810)에 의해 빠르게 처리될 수 있다.
한편, SOTA traffic을 감지하는 룰인 특정 룰(810)은, 1개의 룰일 수도 있고, 룰 그룹(SOTA traffic 용 룰 그룹)일 수도 있다. 룰 재배치 방식이 각 룰 하나 하나의 재배치일 수도 있고, 룰 그룹들의 재배치일 수도 있다.
도 9를 참조하면, 차량(10)의 자율 주행 중에 시큐리티 어택(security attack)에 의해 비정상적인 트래픽(abnormal traffic)이 발생될 수 있다. 이경우, 유저 스페이스에서 블랙 리스트 룰의 특정 룰(910)에 의해 HTTP 비정상 트래픽을 감지할 수 있다.
차량(10)이 자율 주행 중이므로, CPU/Memory 등의 리소스가 기준을 초과하는 것으로 확인될 수 있다.
프로세서(170)는, 자율 주행이 종료될 때까지 룰 재배치를 지연할 수 있다.
주차후, 자율 주행이 종료되는 경우, 프로세서(170)는, 발생된 공격들을 점검하여 XDP 블랙 리스트 룰 재배치(rule reordering)를 수행할 수 있다.
이후에 발생되는 HTTP 비정상 트래픽들은 XDP의 블랙 리스트 룰인 특정 룰(910)에 의해 빠르게 감지되고 드랍될 수 있다.
한편, HTTP 비정상 트래픽을 감지하는 룰인 특정 룰(910)은, 1개의 룰일 수도 있지만 룰 그룹(HTTP 비정상 트래픽 감지용 룰 그룹)일 수도 있다. 룰 재배치 방식이 각 룰 하나 하나의 재배치일 수도 있고, 룰 그룹들의 재배치일 수도 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 프로세서 또는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
10 : 차량
100 : 차량용 방화벽 제공 장치

Claims (15)

  1. 외부 장치에서 수신되는 데이터 패킷을 설정된 순서대로 복수의 룰에 매칭시키고,
    매칭 결과에 기초하여, 상기 순서를 변경하는 것으로 정의되는 룰 재배치(rule reordering)를 수행하는 프로세서;를 포함하는 차량용 방화벽 제공 장치.
  2. 제 1항에 있어서,
    상기 복수의 룰은,
    IP 주소(Internet Protocol address) 및 포트에 기초하여 생성되고, 처리 대상에서 제외되는 데이터 패킷의 리스트로 정의되는 블랙 리스트 룰; 및
    IP 주소 및 포트에 기초하여 생성되고, 처리 대상에 포함되는 데이터 패킷의 리스트로 정의되는 화이트 리스트 룰;을 포함하는 차량용 방화벽 제공 장치.
  3. 제 1항에 있어서,
    상기 프로세서는,
    차량이 자율 주행 중인 상태에서 해킹 공격 징후가 감지되는 경우, 자율 주행 상태 종료 후 상기 룰 재배치를 수행하는 차량용 방화벽 제공 장치.
  4. 제 1항에 있어서,
    상기 프로세서는,
    상기 복수의 룰 중 제1 룰에 대한 히트 카운트(hit count)가 만족되는 경우, 상기 룰 재배치를 수행하고,
    상기 히트 카운트는,
    데이터 패킷이 상기 제1 룰에 매칭되는 횟수로 정의되는 차량용 방화벽 제공 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    차량이 특정된 공간에 위치하는 경우, 상기 룰 재배치를 수행하는 차량용 방화벽 제공 장치.
  6. 제 2항에 있어서,
    상기 프로세서는,
    장치 드라이버를 실행하기 위한 공간으로 정의되는 커널 스페이스(kernel space); 및
    애플리케이션이 동작하는 공간으로 정의되는 유저 스페이스(user space);를 포함하는 차량용 방화벽 제공 장치.
  7. 제 6항에 있어서,
    상기 커널 스페이스는,
    상기 블랙 리스트 룰 및 화이트 리스트 룰에 기초하여 데이터 패킷을 제1 요건에 따라 필터링하는 넷필터(netfilter);
    상기 넷필터로 입력되는 데이터 패킷을 후킹하는 제1 디텍터;를 포함하는 차량용 방화벽 제공 장치.
  8. 제 7항에 있어서,
    상기 제1 디텍터는,
    상기 블랙 리스트 룰에 기초하여 후킹된 데이터 패킷을 상기 제1 요건과 다른 제2 요건에 따라 필터링하는 차량용 방화벽 제공 장치.
  9. 제 7항에 있어서,
    상기 유저 스페이스는,
    상기 넷필터로부터 데이터 패킷을 수신하는 패킷 핸들러(packet handler);
    상기 블랙 리스트 룰 및 상기 화이트 리스트 룰에 기초하여, 상기 패킷 핸들러를 통해 수신된 데이터 패킷을 상기 제1 요건과 다른 제3 요건에 따라 따라 필터링 대상을 선택하는 제2 디텍터; 및
    룰 재배치를 수행하고, 재배치된 룰을 상기 제1 디텍터 및 제2 디텍터에 제공하는 리오더링;을 포함하는 차량용 방화벽 제공 장치.
  10. 제 9항에 있어서,
    상기 패킷 핸들러는,
    상기 필터링 대상에 대한 정보를 상기 넷필터에 제공하고,
    상기 넷필터는,
    상기 필터링 대상이 되는 데이터 패킷을 처리 대상에서 제외하는 차량용 방화벽 제공 장치.
  11. 제 6항에 있어서,
    상기 프로세서는,
    상기 유저 스페이스 내에서 이용되는 블랙 리스트 룰에 대한 재배치를 수행하는 차량용 방화벽 제공 장치.
  12. 제 6항에 있어서,
    상기 프로세서는,
    상기 유저 스페이스 내에서 이용되는 화이트 리스트 룰에 대한 재배치를 수행하는 차량용 방화벽 제공 장치.
  13. 제 7항에 있어서,
    상기 프로세서는,
    해킹 공격 징후가 감지되는 경우, 상기 제1 디텍터를 활성화하는 차량용 방화벽 제공 장치.
  14. 제 6항에 있어서,
    상기 프로세서는,
    상기 커널 스페이스 내에서 이용되는 블랙 리스트 룰에 대한 재배치를 수행하는 차량용 방화벽 제공 장치.
  15. 제 6항에 있어서,
    상기 프로세서는,
    상기 유저 스페이스에서의 데이터 패킷과 블랙 리스트 룰의 매칭 결과에 기초하여, 상기 커널 스페이스 내에서 이용되는 블랙 리스트 룰에 대한 재배치를 수행하는 차량용 방화벽 제공 장치.
KR1020190105330A 2019-07-16 2019-08-27 차량용 방화벽 제공 장치 Active KR102718737B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KRPCT/KR2019/008781 2019-07-16
PCT/KR2019/008781 WO2021010515A1 (ko) 2019-07-16 2019-07-16 차량용 방화벽 제공 장치

Publications (2)

Publication Number Publication Date
KR20190106873A true KR20190106873A (ko) 2019-09-18
KR102718737B1 KR102718737B1 (ko) 2024-10-16

Family

ID=68070943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190105330A Active KR102718737B1 (ko) 2019-07-16 2019-08-27 차량용 방화벽 제공 장치

Country Status (3)

Country Link
US (1) US11444921B2 (ko)
KR (1) KR102718737B1 (ko)
WO (1) WO2021010515A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887077B1 (ko) * 2017-01-24 2018-09-10 엘지전자 주식회사 차량용 전자 디바이스 해킹 테스트 장치
CN118054935A (zh) * 2024-01-09 2024-05-17 华为技术有限公司 数据处理方法、装置及车辆

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050031215A (ko) * 2003-09-29 2005-04-06 한국전자통신연구원 네트워크 노드의 보안 엔진 관리 장치 및 방법
US20090172800A1 (en) * 2007-12-26 2009-07-02 Avishai Wool Reordering a firewall rule base according to usage statistics
KR101240311B1 (ko) * 2012-01-09 2013-03-06 주식회사 잉카인터넷 리눅스 기반 네트워크 패킷 침입 탐지 시스템 및 방법
KR20150073176A (ko) * 2012-10-17 2015-06-30 타워-섹 리미티드 차량에 대한 공격의 검출 및 예방을 위한 디바이스

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314351B1 (en) * 1998-08-10 2001-11-06 Lear Automotive Dearborn, Inc. Auto PC firewall
CA2287689C (en) * 1998-12-03 2003-09-30 P. Krishnan Adaptive re-ordering of data packet filter rules
US7917261B2 (en) * 2007-09-23 2011-03-29 Emanuel Melman System and methods for controlling vehicular functions
CN102461118B (zh) * 2009-06-11 2016-07-06 松下航空电子公司 用于在移动平台上提供安全性的系统和方法
KR101455167B1 (ko) * 2013-09-03 2014-10-27 한국전자통신연구원 화이트리스트 기반의 네트워크 스위치
US9800592B2 (en) * 2014-08-04 2017-10-24 Microsoft Technology Licensing, Llc Data center architecture that supports attack detection and mitigation
US9894100B2 (en) * 2014-12-30 2018-02-13 Fortinet, Inc. Dynamically optimized security policy management
US20200274851A1 (en) * 2019-02-22 2020-08-27 Juniper Networks, Inc. Full featured packet-based automotive network security gateway

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050031215A (ko) * 2003-09-29 2005-04-06 한국전자통신연구원 네트워크 노드의 보안 엔진 관리 장치 및 방법
US20090172800A1 (en) * 2007-12-26 2009-07-02 Avishai Wool Reordering a firewall rule base according to usage statistics
KR101240311B1 (ko) * 2012-01-09 2013-03-06 주식회사 잉카인터넷 리눅스 기반 네트워크 패킷 침입 탐지 시스템 및 방법
KR20150073176A (ko) * 2012-10-17 2015-06-30 타워-섹 리미티드 차량에 대한 공격의 검출 및 예방을 위한 디바이스

Also Published As

Publication number Publication date
KR102718737B1 (ko) 2024-10-16
US11444921B2 (en) 2022-09-13
WO2021010515A1 (ko) 2021-01-21
US20210297388A1 (en) 2021-09-23

Similar Documents

Publication Publication Date Title
CN111752266B (zh) 车辆控制装置、车辆控制方法、及存储介质
US10496892B2 (en) Apparatus for providing around view image, and vehicle
EP3324556B1 (en) Visual communication system for autonomous driving vehicles (adv)
US20220348217A1 (en) Electronic apparatus for vehicles and operation method thereof
CN110254427B (zh) 车辆控制装置、车辆控制方法以及存储介质
CN110371114A (zh) 车辆控制装置、车辆控制方法及存储介质
KR20210104185A (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
KR102794985B1 (ko) 공유형 차량 관리 장치 및 공유형 차량의 관리 방법
KR20190126024A (ko) 교통 사고 처리 장치 및 교통 사고 처리 방법
US12196568B2 (en) Method of providing image by vehicle navigation device
KR102896422B1 (ko) 차량용 인포테인먼트 장치 및 그의 동작 방법
US20220073104A1 (en) Traffic accident management device and traffic accident management method
US11815983B2 (en) Communication ECU
EP4102323B1 (en) Vehicle remote control device, vehicle remote control system, vehicle remote control method, and vehicle remote control program
US20200139991A1 (en) Electronic device for vehicle and operating method of electronic device for vehicle
US20210327173A1 (en) Autonomous vehicle system and autonomous driving method for vehicle
KR20190106869A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20210017897A (ko) 차량용 전자 장치 및 그의 동작 방법
CN115246391A (zh) 增强型自适应巡航控制
US20210056844A1 (en) Electronic device for vehicle and operating method of electronic device for vehicle
KR102718737B1 (ko) 차량용 방화벽 제공 장치
KR102699613B1 (ko) 차량용 전자 장치 및 차량용 전자 장치의 동작 방법
KR102289876B1 (ko) 차량용 방화벽 제공 장치
US20220178716A1 (en) Electronic device for vehicles and operation method thereof
KR102807186B1 (ko) 카메라를 이용하여 자율 주행을 수행하는 차량 및 그의 동작 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190827

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220421

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20190827

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20231129

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20240723

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20241014

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20241014

End annual number: 3

Start annual number: 1

PG1601 Publication of registration