KR20240044036A - 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치 - Google Patents

차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치 Download PDF

Info

Publication number
KR20240044036A
KR20240044036A KR1020220123261A KR20220123261A KR20240044036A KR 20240044036 A KR20240044036 A KR 20240044036A KR 1020220123261 A KR1020220123261 A KR 1020220123261A KR 20220123261 A KR20220123261 A KR 20220123261A KR 20240044036 A KR20240044036 A KR 20240044036A
Authority
KR
South Korea
Prior art keywords
diagnostic
ecu
message
session
service
Prior art date
Application number
KR1020220123261A
Other languages
English (en)
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 KR1020220123261A priority Critical patent/KR20240044036A/ko
Publication of KR20240044036A publication Critical patent/KR20240044036A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치에 관한 것이다.
본 발명에서는 CAN 버스를 모니터링하면서 디폴트(default) 세션에서 넌 디폴트(non default) 세션으로 변경하고 메시지 전송을 중단 요청하는 진단 서비스(Unified Diagnostic Services, UDS)용 메시지(이하, '진단 메시지'라 함)가 전송되는지 여부를 파악하는 제1단계와, 제1단계에서 상기 진단 메시지와 연관된 ECU(이하, '제1ECU'라 함)를 파악하고, 상기 제1ECU가 디폴트 세션에서 전송하는 메시지들의 CAN ID를 파악하는 제2단계 및 제1ECU가 다시 디폴트 세션으로 돌아가기 전에 상기 CAN 버스에 제1ECU가 디폴트 모드에서 전송하는 메시지들이 전송되는지 여부를 파악하는 제3단계를 포함하는 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 방법이 개시된다.
본 발명에 의해서 운전자의 안정성과 안전한 차량 내부 네트워크의 보안성을 확보할 수 있게 되었다.

Description

차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치{METHOD FOR DETECTING MASQUERADE ATTACK BASED ON UDS FOR IN-VEHICLE NETWORK AND DEVICE TO DETECT IT}
본 발명은 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치에 관한 것으로서, 보다 구체적으로는 UDS 메시지에 의해서 진단 세션에 진입한 ECU가 Time-out 전에 정의된 메시지들을 전송하는 가장 공격을 탐지하는 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치에 관한 것이다.
차량 및 운전자의 안전성 및 편의성을 위해 차량 내에는 여러 ECU(EIectronic ControI Unit)들이 탑재되고 있다. 대표적인 차량 내부 네트워크인 CAN(Controller Area Network)은 Bus 형태의 통신 프로토콜로 CAN Bus에 연결된 모든 ECU들은 브로드캐스트(Broadcast) 방식으로 서로 메시지를 교환하며 통신한다. 도 1은 일반적으로 ECU간 통신에 사용되는 CAN 메시지(데이터 프레임)의 구조를 보여준다. 특히, CAN 메시지내 ID Field는 해당 메시지의 CAN lD를 나타내는 11 bits 값이다. 특정 CAN ID 메시지는 특정 ECU에서만 보내도록 설계되어 있다.
진단 서비스(Unified Diagnostic Services, UDS)는 차량 진단을 위해 정의된 프로토콜로서 차량 및 특정 ECU의 진단을 위해 IS0 14229로 표준화 되어 있다. UDS에는 다양한 진단 서비스가 정의되어 있으며 각 제조사는 ECU에 정의된 진단 서비스 이외에도 고유의 진단 서비스를 구현할 수 있다. 제조사에 의해 인증된 진단기기는 UDS를 통해 ECU 진단 외에도 ECU의 펨 웨어 업데이트나 초기화 등 다양한 서비스를 이용할 수 있다. 진단 서비스를 위한 메시지는 CAN 메시지와 동일한 형태이다. 다만 사용되는 CAN ID는 진단 요청 및 응답을 위한 CAN ID로 대체되며, Data 필드는 요청한 서비스를 위한 Service ID(SID)와 관련 파라미터(Sub-function, Prameter 등)가 포함된다.
UDS 통신은 차량 외부 진단기기가 서버(server) 역할을 수행하고 차량 내 ECU가 클라이언트(client) 역할을 수행한다. 진단기기는 차량 내 OBD-Ⅱ 포트를 통해 CAN Bus와 연결되어 특정 ECU들과 진단 서비스를 수행한다. 각 ECU마다 진단을 위한 진단 요청 CAN ID와 진단 응답 CAN ID가 정의되어 있으며 통상적으로 이를 통칭하여 진단 ID Pair라고 부른다. 진단기기가 특정 진단 요청 CAN ID로 이루어진 CAN 데이터 프레임(CAN 메시지)를 CAN Bus에 전송하는 경우, 이와 매칭되는 ECU는 진단 응답 CAN ID로 이루어진 CAN 메시지로 응답 메시지를 전송한다.
도 2는 CAN 데이터 프레임을 활용한 UDS 서비스 메시지 구조를 도시하며, 도 3은 진단기기를 이용하여 CAN Bus에 연결된 하나의 ECU를 진단하는 서비스를 수행하는 흐름도이다. 진단기기에는 해당 차량에 구비되는 복수 개 ECU에 대한 진단 ID Pair가 저장 구비된다. CAN Bus에 연결된 각 ECU에는 진단 요청 및 응답 CAN ID가 할당되며, 도 3에 제시된 ECU에는 0x7E0와 0x7E8이 할당된 예이다. 도 3에서 진단기기는 CAN ID 7E0에 해당하는 진단 요청 CAN 메시지를 전송하면 특정 ECU는 이를 수신하고 자신에 할당된 진단 요청 ID인지 확인한다. 자신에게 할당된 진단 요청 CAN ID인 경우 매칭되는 진단 응답 CAN ID 7E8로 이루어진 진단 응답 CAN 메시지를 전송한다. 진단기기는 CAN ID 7E8를 갖는 진단 응답 메시지를 이용하여 해당 ECU의 상태를 진단할 수 있는 것이다.
CAN 프로토콜은 초기 개발시 보안에 대한 고려없이 설계되었기 때문에 CAN Bus에 전송된 CAN 메시지에 대해서 해당 메시지를 어떤 ECU가 전송한 것인지를 인증하는 기능을 제공하지 않는다. 즉, CAN Bus에 접근 가능한 공격자는 브로드캐스트 특징으로 인해 CAN Bus에 전송되는 어떠한 CAN 메시지에 대해 모니터링 및 분석을 수행할 수 있으며, 악의적인 CAN 메시지를 CAN Bus로 전송하여 이를 수신하는 ECU의 오작동을 유발하여 악의적으로 차량을 조작할 수 있다.
차량 내부 네트워크에서 발생 가능한 공격을 탐지하기 위해 다양한 침입 탐지 시스템(Intrusion Detection System, IDS)들이 제안되어 왔다. 대표적인 IDS 방법은 CAN Bus에 전송된 메시지들의 주기성을 이용하는 방법이다. 일반적으로 CAN Bus에 연결된 ECU들은 주기적으로 메시지를 전송하도록 설계되어 있다. 따라서 정상 상황에서 모니터링되는 메시지의 주기 패턴과는 다른 주기 패턴이 모니터링되는 경우 이를 공격으로 탐지한다. 그러나, 주기 패턴을 정상 상황과 동일하게 주기성을 유지하거나 흉내내는 공격인 가장(Masquerade) 공격에 대해서는 탐지할 수 없다는 한계점이 있다. 가장(Masquerade) 공격은 정상적인 주기패턴을 모방하기 위해 특정 타겟 메시지를 전송하는 ECU의 메시지 전송을 중지(Suspension) 시키고 동일한 주기로 공격 메시지를 전송하는 공격이다. 따라서 정상 상황과 동일한 주기 패턴으로 CAN Bus에서 메시지가 모니터링되기 때문에 IDS의 탐지를 우회할 수 있다.
한국공개특허 제10-2014-0047984호 (2014.04.23 공개)
본 발명에서는 CAN 네트워크상 공격자에 의한 진단 서비스(Unified Diagnostic Services)를 이용한 가장(Masquerade) 공격을 탐지하기 위한 IDS 방법을 제안하는 것을 목적으로 한다.
본 발명의 상기 목적은 차량 네트워크의 진단 서비스 기반 가장 공격을 탐지 방법에 있어서, CAN 버스를 모니터링하면서 디폴트(default) 세션에서 넌 디폴트(non default) 세션으로 변경하고 메시지 전송을 중단 요청하는 진단 서비스(Unified Diagnostic Services, UDS)용 메시지(이하, '진단 메시지'라 함)가 전송되는지 여부를 파악하는 제1단계와, 제1단계에서 상기 진단 메시지와 연관된 ECU(이하, '제1ECU'라 함)를 파악하고, 상기 제1ECU가 디폴트 세션에서 전송하는 메시지들의 CAN ID를 파악하는 제2단계 및 제1ECU가 다시 디폴트 세션으로 돌아가기 전에 상기 CAN 버스에 제1ECU가 디폴트 모드에서 전송하는 메시지들이 전송되는지 여부를 파악하는 제3단계를 포함하는 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 방법에 의해서 달성 가능하다.
본 발명의 또 다른 목적은 CAN 버스를 모니터링하면서 차량 네트워크의 진단 세션에서 가해지는 가장 공격을 탐지하는 진단 서비스(Unified Diagnostic Services, UDS)용 메시지 기반 가장 공격을 탐지하는 장치로서, CAN 버스를 모니터링하는 CAN 버스 모니터링부와, 디폴트 세션에서 각 ECU별로 전송하는 CAN 메시지들의 CAN ID와 각 ECU별 진단 서비스를 요청하는 메시지의 CAN ID(이하, '진단요청 ID'라 함) 및 진단 서비스에 응답하는 메시지의 CAN ID(이하, '진단응답 ID'라 함)를 저장 구비하는 ECU별 CAN ID 및 진단요청/응답 ID 저장부와, 진단 세션에 진입하고 메시지 전송을 중지하는 요청이 있었는지 여부를 파악하는 진단 세션 진입 검출부와, 진단 세션으로 변경된 ECU가 Time-out 되었는지 여부를 검출하는 Time-out 검출부 및 진단 세션에서 메시지 전송이 중지되고 Time-out 되지 않은 ECU가 디폴트 세션에서 전송하던 메시지들을 계속 전송하는 것을 이용하여 가장 공격이 발생하였음을 감지하는 가장 공격 검출부를 포함하는 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 장치에 의해서 달성 가능하다.
본 발명에 따른 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치에 의해서 UDS 메시지에 의해서 진단 세션에 진입하고 Time-out 되지 않은 상태에 놓여진 ECU에서 일련의 CAN ID 메시지들이 주기적으로 전송되는 악의적인 가장 공격을 탐지함으로써 운전자의 안정성과 안전한 차량 내부 네트워크의 보안성을 확보할 수 있게 되었다.
차량 내 UDS 서비스는 ECl의 진단과 펌웨어 업데이트 등을 위해 필수적으로 사용되는 진단 프로토콜이다. 공격자는 IDS가 탐지하기 가장 어려운 가장 (Masquerade) 공격을 수행하기 위해 UDS 서비스를 이용해 정상 ECU의 메시지 전송을 중지시키고 해당 ECU가 전송하는 CAN ID 메시지와 동일한 주기로 공격 메시지를 전송함으로써 차량의 오작동을 유발시킬 수 있다. 본 발명은 이러한 가장(Masquerade) 공격을 탐지하는 방법을 제시한다. 이를 통해 악의적으로 주입된공격 메시지 탐지가 가능하며 운전자의 안전성과 차량 내부 네트워크 보안성을 확보할 수 있게 되었다.
도 1은 일반적으로 ECU간 통신에 사용되는 CAN 메시지(데이터 프레임)의 구조를 보여주는 도면.
도 2는 CAN 데이터 프레임을 활용한 UDS 서비스 메시지 구조를 보여주는 도면.
도 3은 진단기기를 이용하여 CAN Bus에 연결된 하나의 ECU를 진단하는 서비스를 수행하는 흐름도.
도 4는 진단 서비스 메시지를 이용한 ECU의 세션 컨드롤 과정을 설명하는 흐름도.
도 5는 UDS를 이용한 가장(Masquerade) 공격의 과정을 설명하는 CAN 통신 흐름도.
도 6은 본 발명에 따른 일 실시예로서, UDS를 이용한 가장(Masquerade) 공격을 탐지하는 흐름도.
도 7은 본 발명에서 제시하는 UDS 진단 기반 가장(Masquerade) 공격탐지장치가 CAN Bus 상에 구현된 예시도.
도 8은 본 발명에 따른 일 실시예인 UDS 진단 기반 가장 공격 탐지장치(500)의 논리적 구성도.
본 발명에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서, "~ 상에 또는 ~ 상부에" 라 함은 대상 부분의 위 또는 아래에 위치함을 의미하는 것이며, 반드시 중력 방향을 기준으로 상 측에 위치하는 것을 의미하는 것은 아니다. 또한, 영역, 판 등의 부분이 다른 부분 "상에 또는 상부에" 있다고 할 때, 이는 다른 부분 "바로 상에 또는 상부에" 접촉하여 있거나 간격을 두고 있는 경우뿐 아니라 그 중간에 또 다른 부분이 있는 경우도 포함한다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
가장(Masquerade) 공격을 수행하기 위해 우선적으로 수행되는 공격인 UDS 서비스를 이용한 타겟 정상 ECU 메시지 전송 중지(Suspension) 공격에 대해 설명한다.
도 4는 진단 서비스 메시지를 이용한 ECU의 세션 컨드롤 과정을 나타낸다. 도 4에 제시된 방식 외에도 UDS 서비스를 이용한 다른 Suspension 공격도 가능할 수도 있다. 도 4에 대해 설명하기로 한다. UDS를 이용한 ECU 메시지 전송 중지(Suspension) 공격을 위해 공격자는 세 가지 UDS 서비스를 활용할 수 있다. 첫번째로, 'DiagnosticSessionControl (0x10)'이다(괄호 내는 SID를 의미한다). 해당 서비스는 초기 ECU의 디폴트 세션(Default Session)을 넌 디폴트 세션(Non-Default Session), 특히 진단 세션(Diagnostic Session)으로 변경이 가능하게 해 주는 서비스이다. 초기 디폴트 세션에서 벗어난 이후 일정시간(Time-out)이 지나면 ECU는 다시 디폴트 세션으로 돌아간다. 또는 Time-out에 도달하지 않더라도 diagnosticSessionControl (0x10) 서비스를 이용하여 진단 세션에서 디폴트 세션으로 변경할 수 있음은 물론이다. 두 번째는‘CommunicationControl (Ox28)' 서비스이다. 공격자는 ECU를 진단 세션으로 변경 후 해당 서비스를 이용하여 메시지 전송을 중지시킬 수 있다. 'CommunicationControl (0x28)' 서비스에는 Sub-function으로 ‘Disable Tx and Rx'가 정의되어 있다. 해당 Sub-function으로 된 진단 서비스를 요청하는 경우 ECU의 메시지 전송 및 수신이 중지된다. 중지된 통신은 일정시간(Time-out)이 지나면 다시 정상 초기 디폴트 세션으로 돌아가고 메시지 통신을 재시작한다. 마지막으로 'TesterPresent (0x3E)’ 서비스를 이용하여 공격자는 공격자가 원하는 시간만큼 ECU의 메시지 전송 중단을 수행할 수 있다. 해당 서비스는 ECU에서 현재 진단 서비스 통신이 수행 중임을 다시 알려줌으로써, ECU가 정해진 Time-out을 다시 카운팅하도록 강제한다. 따라서, 공격자는 우선‘DiagnosticSessionControI (0x10)’ 서비스를 이용하여 타겟 정상 ECU를 non-default 세션 중 하나인 진단 세션으로 변경하고, ‘CommunicationControI (0x28)’서비스의 'Disable Tx and Rx'를 이용하여 타겟 정상 ECU의 통신을 중지시킨다. 그리고 지속적으로 ECU의 통신을 중지시키기 위해 'CommunicationControl (0x28)’서비스 또는 ‘TesterPresent (0x3E)' 서비스를 활용한다. 더 이상 진단 요청 메시지가 CAN Bus로 전송되지 않는 경우, 타겟 정상 ECU는 일정시간(Time-out) 이후 초기 디폴트 세션으로 자동 전환되고 통신을 재시작하게 된다.
도 5는 UDS를 이용한 가장(Masquerade) 공격의 과정을 설명하는 CAN 통신 흐름도이다. 도 4에서 설명한 UDS 메시지 중 하나인 DiagnosticSessionControl (0x10)을 이용하여 정상 타겟 ECU의 메시지 전송을 중지시킨 후, 공격자는 정상 타겟 ECU기 주기적으로 전송하는 CAN ID 메시지와 동일한 CAN ID로 이루어진 악의적인 공격 메시지(malicious message)를 전송한다. CAN Bus상의 주기 패턴이 기존과 변경되지 않기 때문에 주기 패턴을 기반으로 한 침입 탐지 시스템(Intrusion Detection System, IDS)을 우회할 수 있다.
본 발명에서는 전술한 UDS를 이용한 가장(Masquerade) 공격을 탐지하는 침입 탐지 시스템(IDS)의 침입 탐지 방법을 제시한다. 도 6은 본 발명에 따른 일 실시예로서, UDS를 이용한 가장(Masquerade) 공격을 탐지하는 흐름도를 도시한다. CAN 버스를 모니터링하다가(ST510) 메시지 전송을 중지(Suspension)시키는 공격을 위해 사용되는 UDS 메시지가 수신되는지 여부를 판별한다(ST520). ST520 단계에서 메시지 전송을 중지시키는 UDS 메시지는 diagnosticSessionControl (0x10) 메시지일 수 있다. ST520 판별 결과가 참인 경우, 해당 UDS 메시지와 일치되는 타겟 정상 ECU가 기존에 전송하던 CAN ID 메시지들을 확인한다(ST530).
각 ECU 별로 주기적으로 CAN Bus로 전송하는 CAN ID 메시지들이 정의되어 있으며, 각 ECU별로 진단 요청/응답 ID가 정의되어 있다. 전술한 바와 같이 진단 요청/응답 ID라는 것은 진단을 위해 정의된 CAN ID 이다. 즉 특정 진단 요청 CAN ID로 된 CAN 메시지가 CAN Bus에 전송되는 경우 이에 해당하는 (매칭되는) 타겟 정상 ECU가 수신한 후, 이를 처리하고 미리 정의된 진단 응답 CAN ID로 구성된 CAN 메시지로 응답을 수행한다. 따라서 CAN Bus에 특정 진단 요청 CAN ID로 이루어진 UDS 서비스 메시지가 모니터링 되는 경우, 진단 요청 CAN ID와 대응되는 진단 응답 CAN ID를 처리하는 타겟 정상 ECU를 파악할 수 있으므로 해당 타겟 정상 ECU가 기존에 주기적으로 전송하던 CAN ID 메시지들을 확인할 수 있다.
예를 들어, ECU A(타겟 정상 ECU)가 CAN ID 0x111, 0x222, 0x333 인 CAN 메시지 3개를 주기적으로 전송하도록 설계되어 있고, ECU A의 진단을 위해 진단 요청 ID 0x7A0 인 UDS 메시지가 설계되고 진단 응답 메시지로는 CAN ID 0x7A8 로 설계되어 있다고 가정하기로 한다. 공격자가 ECU A의 전송을 중지시키기 위해 악의적인 UDS 메시지(CAN ID 0x7A0로 이루어진 CAN 메시지)를 전송하는 경우 UDS 메시지(CAN ID 0x7A0)에 대응되는 ECU A를 파악할 수 있으며, ECU A의 타겟 전송 CAN ID(0x111, 0x222, 0x333)를 확인하고 해당 메시지들의 전송이 중지되었는지 확인하게 된다. 해당 타겟 전송 CAN ID(0x111, 0x222, 0x333)가 중지되지 않았다면 가장 공격이 발생하였음을 파악할 수 있는 것이 기본 원리이다.
후술하는 바와 같이 ECU별로 송부하는 CAN ID 및 진단요청/응답 ID는 ECU별 CAN ID 및 진단요청/응답 ID 저장부(530)에 저장 구비할 수 있다. 가장 간단하게 구축할 수 있는 예로는 차량 설계 시 타겟 정상 ECU가 송부하도록 정의된 CAN ID와 진단 요청/응답 ID를 테이블 형태로 저장 구비하는 것이다. ST520 단계가 참으로 판별되면, CAN ID 및 진단요청/응답 ID 저장부(530)를 이용하여 해당 UDS 메시지에 해당하는 타겟 정상 ECU를 파악하고, 해당 타겟 정상 ECU가 전송하는 CAN ID 메시지를 확인할 수 있게 된다. 표 1은 테이블 형태를 갖는 ECU별 CAN ID 및 진단요청/응답 ID 저장부(530)의 일 례이다.
ECU CAN ID UDS 진단 ID UDS 응답 ID
제1 ECU 0x111, 0x222, 0x333 0x7A0 0x7A8
제2 ECU 0x333, 0x444, 0x555 0x7E0 0x7E8
제3 ECU 0x666, 0x777 0x7D4 0x7DC
표 1에는 각 ECU의 CAN ID, UDS 진단 ID 및 UDS 응답 ID들이 저장되어 있다. 예로서, 제3 ECU는 CAN ID 0x666 및 0x777을 갖는 CAN 메시지를 전송하도록 설계되었으며, UDS 진단 메시지 CAN ID는 0x7D4 및 UDS 응답 메시지 CAN ID는 0x7DC로 설계되어 있다.
다음으로 타겟 정상 ECU의 메시지 전송이 중지되었는지 여부를 판별한다(ST540). ST540 판별 결과가 참인 경우, 타겟 정상 ECU의 time-out 기간을 산출하고 메시지를 다시 전송하는 시점을 산출한다(ST550). 메시지 전송이 중지된 타겟 정상 ECU는 일정 시간(Time-out) 이후 디폴트 세션으로 전환되고 다시 메시지 전송을 수행하게 된다. 일반적으로 원할한 진단서비스를 위해 제조사는 Time-out을 5초로 구성한다. 즉, 타겟 정상 ECU는 마지막으로 수신된 진단 서비스 메시지로부터 5초 동안 메시지 전송을 중지하고, Time-out이 되면 메시지 전송을 다시 재개한다.
타겟 정상 ECU가 전송하도록 정의된 CAN ID 메시지들이 Time-out 전에 전송되는지 여부를 판별한다(ST570). ST570 단계의 판별 결과가 참인 경우, UDS를 이용한 가장 공격이 발생하였음을 알리게 된다(ST570).
ST570 단계의 판별 결과가 거짓인 경우, 해당 타겟 정상 ECU의 진단을 위한 또 다른 UDS 서비스 메시지가 전송되는지 여부를 판별한다(ST580). ST580 단계의 판별 결과가 참인 경우 ST550 단계로 돌아가서 새로운 Time-out 시간을 산출하게 된다. ST580 단계의 판별 결과가 거짓인 경우에는 Time-out 되었는지 여부를 판별하고(ST590), ST590 단계의 판별 결과가 참인 경우에는 가장 공격이 발생하지 않은 정상 상태이므로 종료하게 되고, ST590 단계의 판별 결과가 거짓인 경우(Time-out 되지 않은 경우)에는 ST560 단계를 다시 수행하게 된다.
도 7은 본 발명에서 제시하는 UDS 진단 기반 가장(Masquerade) 공격탐지장치가 CAN Bus 상에 구현된 예시도이며, 도 8은 UDS 진단 기반 가장 공격 탐지장치(500)의 논리적 구성도이다. 도 7에 도시된 바와 같이 CAN bus에는 복수 개 ECU(제1 ECU, 제2 ECU, 제3 ECU 및 제N ECU)와 UDS 기반 가장 공격 탐지장치(500)가 구비된다. 도 7에 도시된 바와 같이 각각의 ECU는 자신에게 할당된 진단 요청 CAN ID 및 진단 응답 CAN ID를 저장하여 구비하고 있음을 알 수 있다. 도 8에 도시된 바와 같이, UDS 기반 가장 공격 탐지장치(500)는 CAN bus를 모니터링하는 CAN Bus 모니터링부(520), 각 ECU별로 전송하는 메시지의 CAN ID를 저장 구비하고 각 ECU별 진단 요청 ID 및 진단 응답 ID를 저장 구비하는 ECU별 CAN ID 및 진단요청/응답 ID 저장부(530), 디폴트 세션에서 진단 세션으로 변경되고 메시지 전송을 중지되었는지 여부를 검출하는 진단세션 진입 검출부(540) 및 진단 세션으로 변경된 ECU가 Time-out 되었는지 여부를 검출하는 Time-out 검출부(550) 및 전술한 각 구성부를 이용하여 가장 공격이 발생하였는지 여부를 검출하는 가장 공격 검출부(510)를 포함한다. 가장 공격 검출부(510)는 진단세션에 진입한 ECU가 Time-out 되기 전에 CAN ID 메시지들을 전송하는 경우 가장 공격이 발생하였다고 검출한다.
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.
500: UDS 기반 가장 공격 탐지장치
510: 가장 공격 검출부
520: CAN Bus 모니터링부
530: ECU별 CAN ID 및 진단요청/응답 ID 저장부
540: 진단세션 진입 검출부
550: Time-out 검출부

Claims (5)

  1. 차량 네트워크의 진단 서비스 기반 가장 공격을 탐지 방법에 있어서,
    CAN 버스를 모니터링하면서 디폴트(default) 세션에서 넌 디폴트(non default) 세션으로 변경하고 메시지 전송을 중단 요청하는 진단 서비스(Unified Diagnostic Services, UDS)용 메시지(이하, '진단 메시지'라 함)가 전송되는지 여부를 파악하는 제1단계와,
    상기 제1단계에서 상기 진단 메시지와 연관된 ECU(이하, '제1ECU'라 함)를 파악하고, 상기 제1ECU가 디폴트 세션에서 전송하는 메시지들의 CAN ID를 파악하는 제2단계 및
    상기 제1ECU가 다시 디폴트 세션으로 돌아가기 전에 상기 CAN 버스에 제1ECU가 디폴트 모드에서 전송하는 메시지들이 전송되는지 여부를 파악하는 제3단계를 포함하는 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 방법.
  2. 제1항에 있어서,
    상기 넌 디폴트 세션은 진단 세션인 것을 특징으로 하며, 상기 디폴트 세션에서 진단 세션을 변경하는 진단 메시지는 diagnosticSessionControl (0x10) 인 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 방법.
  3. 제2항에 있어서,
    상기 진단 세션에서 메시지 전송을 중지시키는 진단 메시지는 CommunicationControl (0x28)인 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 방법.
  4. CAN 버스를 모니터링하면서 차량 네트워크의 진단 세션에서 가해지는 가장 공격을 탐지하는 진단 서비스(Unified Diagnostic Services, UDS)용 메시지 기반 가장 공격을 탐지하는 장치로서,
    CAN 버스를 모니터링하는 CAN 버스 모니터링부와,
    디폴트 세션에서 각 ECU별로 전송하는 CAN 메시지들의 CAN ID와 각 ECU별 진단 서비스를 요청하는 메시지의 CAN ID(이하, '진단요청 ID'라 함) 및 진단 서비스에 응답하는 메시지의 CAN ID(이하, '진단응답 ID'라 함)를 저장 구비하는 ECU별 CAN ID 및 진단요청/응답 ID 저장부와,
    진단 세션에 진입하고 메시지 전송을 중지하는 요청이 있었는지 여부를 파악하는 진단 세션 진입 검출부와,
    진단 세션으로 변경된 ECU가 Time-out 되었는지 여부를 검출하는 Time-out 검출부 및
    진단 세션에서 메시지 전송이 중지되고 Time-out 되지 않은 ECU가 디폴트 세션에서 전송하던 메시지들을 계속 전송하는 것을 이용하여 가장 공격이 발생하였음을 감지하는 가장 공격 검출부를 포함하는 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 장치.
  5. 제4항에 있어서,
    진단 세션 진입 검출부는 diagnosticSessionControl 서비스 및 CommunicationControl 서비스가 모니터링되는지 여부를 통해 진단 세션에 진입하고 메시지 전송을 중지하는 요청이 있었는지 여부를 파악하는 것을 특징으로 하는 차량 네트워크의 진단 서비스 기반 가장 공격 탐지 장치.
KR1020220123261A 2022-09-28 2022-09-28 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치 KR20240044036A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220123261A KR20240044036A (ko) 2022-09-28 2022-09-28 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220123261A KR20240044036A (ko) 2022-09-28 2022-09-28 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치

Publications (1)

Publication Number Publication Date
KR20240044036A true KR20240044036A (ko) 2024-04-04

Family

ID=90638006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220123261A KR20240044036A (ko) 2022-09-28 2022-09-28 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치

Country Status (1)

Country Link
KR (1) KR20240044036A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140047984A (ko) 2012-10-15 2014-04-23 현대모비스 주식회사 메세지를 이용한 캔 버스 오프 감지 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140047984A (ko) 2012-10-15 2014-04-23 현대모비스 주식회사 메세지를 이용한 캔 버스 오프 감지 방법

Similar Documents

Publication Publication Date Title
US9646156B2 (en) System and method for detecting OBD-II CAN BUS message attacks
US8665700B2 (en) Fault detection and mitigation for in-vehicle LAN network management
WO2014115455A1 (ja) ネットワーク装置およびデータ送受信システム
US11522878B2 (en) Can communication based hacking attack detection method and system
CN111147437B (zh) 基于错误帧归因总线断开攻击
CN109104352B (zh) 车辆网络操作协议和方法
US11938897B2 (en) On-vehicle device, management method, and management program
JP2002158668A (ja) 車両用ネットワークシステムの異常検出装置
KR101966345B1 (ko) Can 통신 기반 우회 공격 탐지 방법 및 시스템
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
JP2014011621A (ja) 通信システム
US11394726B2 (en) Method and apparatus for transmitting a message sequence over a data bus and method and apparatus for detecting an attack on a message sequence thus transmitted
US11218501B2 (en) Detector, detection method, and detection program
US20140047146A1 (en) Communication load determining apparatus
JP2004348274A (ja) 通信故障の診断装置
JP6369334B2 (ja) 車載ネットワーク
KR20240044036A (ko) 차량 진단 서비스 기반 가장 공격 탐지 방법 및 이를 탐지하는 장치
KR102204655B1 (ko) 공격 메시지 재전송 시간을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화방법
CN113169966A (zh) 用于监控数据传输***的方法、数据传输***和机动车
US20210099469A1 (en) Alert system for controller area networks
JP2017168993A (ja) 監視装置、及び、通信システム
JP2006135375A (ja) Canネットワークシステム
US20220417718A1 (en) Detection device, vehicle, detection method, and detection program
KR102204656B1 (ko) 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템
US20220329614A1 (en) Method for monitoring communication on a communication bus, electronic device for connection to a communication bus, and central monitoring device for connection to a communication bus

Legal Events

Date Code Title Description
E601 Decision to refuse application