KR20200136124A - Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법 - Google Patents

Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법 Download PDF

Info

Publication number
KR20200136124A
KR20200136124A KR1020190061771A KR20190061771A KR20200136124A KR 20200136124 A KR20200136124 A KR 20200136124A KR 1020190061771 A KR1020190061771 A KR 1020190061771A KR 20190061771 A KR20190061771 A KR 20190061771A KR 20200136124 A KR20200136124 A KR 20200136124A
Authority
KR
South Korea
Prior art keywords
electronic control
control device
priority
random number
message
Prior art date
Application number
KR1020190061771A
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 KR1020190061771A priority Critical patent/KR20200136124A/ko
Publication of KR20200136124A publication Critical patent/KR20200136124A/ko

Links

Images

Classifications

    • 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
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • 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
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/40163Bus networks involving priority mechanisms by assigning priority to messages according to a message field
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

CAN(Controller Area Network) 버스에 연결되어 있는 전자 제어 장치가 CAN 메시지 전송을 위한 우선 순위를 변경하는 방법으로서, CAN 버스를 통해 수신한 CAN 메시지에 포함된 프레임을 토대로 해커 전자 제어 장치로부터의 공격 여부를 확인한다. 해커 전자 제어 장치로부터 공격이 발생하면, 해커 전자 제어 장치로 전송할 에러 프레임을 생성하고, 미리 정의된 랜덤 수 발생 함수를 이용하여 랜덤 수를 발생하여, CAN 버스에 연결되어 있는 모든 전자 제어 장치들이 각각 전송할 메시지들에 대해 미리 저장된 우선 순위를 변경한다.

Description

CAN 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법{Apparatus for node of prevention of the Denial of Service attack on CAN communication and method for shifting priority using the same}
본 발명은 CAN 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법에 관한 것이다.
CAN(Controller Area Network)은 차량 내에서 호스트 컴퓨터 없이, 마이크로 컨트롤러나 차량 내 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. 차량 내 전자 제어 장치(ECU: Electronic Control Unit)들은 CAN 프로토콜을 사용하여 통신을 수행한다. CAN은 전자 제어 장치의 주소에 의해 데이터가 교환되는 것이 아니라, 메시지의 우선 순위에 따라 메시지에 ID를 할당하고, 할당된 ID를 이용하여 메시지를 구별하는 방식을 사용하는 메시지 기본 프로토콜로 동작한다.
이러한 CAN이라 불리는 네트워크를 통해 이루어지는 CAN 통신을 위한 메시지는, 개방형 메시지 구조를 가지기 때문에 해커로부터 쉽게 공격받을 수 있다. 예를 들어, 해커는 지속적으로 가장 높은 우선 순위의 메시지를 보내어, 다른 전자 제어 장치는 메시지 전송을 계속 기다리고, 중요 메시지가 CAN 버스에 전달되지 않은 채 차량에서 치명적인 시스템 오류를 일으킬 수 있다. 즉, 해커가 특정 ECU로 서비스 거부 공격을 하면, 특정 전자 제어 장치의 상태가 버스 오프(Bus-off) 상태가 되어 CAN 통신망에서 접속이 끊기게 된다.
이러한 문제점을 해결하기 위해, AES, 대칭키, SHS-3 등과 같은 암호화 방법을 이용하여 해커로부터의 공격을 보호하는 기술들을 적용하였다. 또한, 전자 제어 장치가 의심스러운 활동이 버스에서 발생하는지 모니터링하고, 시스템 공격을 감지하여 시스템 손상을 제어하는 기술들이 연구되고 있다.
그러나, 암호화 방법을 이용할 경우, 암호화 알고리즘에서 데이터의 암호화 및 암호 해독 절차가 수행되기 때문에, 데이터의 전송 속도가 느려지는 단점이 있다. 또 다른 기술인 버스 모니터링 방법의 경우에는, 일반적인 해킹 탐지에 의존하기 때문에 데이터의 손상을 방지하고 예방할 수는 있으나 해킹 공격 자체를 방지하지 못하는 단점이 있다.
따라서, 본 발명은 CAN 통신에서 해커로부터의 공격을 복구할 수 있는 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 CAN(Controller Area Network) 버스에 연결되어 있는 전자 제어 장치로서,
상기 CAN 버스에 연결되어 있는 모든 전자 제어 장치들이 각각 전송할 메시지들의 우선 순위를 저장하는 우선 순위 테이블 저장 모듈, 상기 CAN 버스에 연결되어 있는 임의의 전자 제어 장치가 전송한 CAN 메시지에 포함된 에러 프레임을 토대로 임의의 전자 제어 장치로부터의 공격을 감지하는 오류 감지 모듈, 상기 오류 감지 모듈이 오류를 감지하면, 미리 정의된 랜덤 수 발생 함수와 미리 정의된 랜덤 수 발생 기준 값 또는 상기 전자 제어 장치가 설치된 차량 내 복수의 센서들이 각각 센싱한 센싱 값들 중 적어도 하나 이상의 센싱 값을 기초로 랜덤 수를 발생하는 랜덤 수 발생 모듈, 그리고 상기 랜덤 수 발생 모듈이 발생한 랜덤 수를 상기 우선 순위 테이블 저장 모듈에 저장된 우선 순위에 반영하여 우선 순위 값을 변경하는 우선 순위 값 변경 모듈을 포함한다.
상기 오류 감지 모듈이 상기 임의의 전자 제어 장치로부터의 공격을 감지하면, 상기 임의의 전자 제어 장치로 전송할 오류 프레임을 생성하는 오류 프레임 생성 모듈을 더 포함할 수 있다.
상기 랜덤 수 발생 모듈은, 복수의 파라미터들을 포함하는 상기 랜덤 수 발생 함수에, 상기 복수의 파라미터들 각각에 미리 정의된 기준 값을 반영하여 상기 랜덤 수를 발생할 수 있다.
상기 랜덤 수 발생 모듈은, 상기 복수의 파라미터들 각각에 미리 선택된 상기 차량 내 복수의 센서들이 각각 센싱한 센싱 값을 반영하여 상기 랜덤 수를 발생할 수 있다.
상기 랜덤 수 발생 모듈은, 상기 복수의 파라미터들 각각에 상기 전자 제어 장치에 매핑되어 있는 적어도 하나의 센서가 센싱한 센싱 값을 반영하여 상기 랜덤 수를 발생할 수 있다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징인 CAN(Controller Area Network) 버스에 연결되어 있는 전자 제어 장치가 CAN 메시지 전송을 위한 우선 순위를 변경하는 방법으로서,
상기 CAN 버스를 통해 수신한 CAN 메시지에 포함된 프레임을 토대로 해커 전자 제어 장치로부터의 공격 여부를 확인하는 단계, 상기 해커 전자 제어 장치로부터 공격이 발생하면, 상기 해커 전자 제어 장치로 전송할 에러 프레임을 생성하는 단계, 그리고 미리 정의된 랜덤 수 발생 함수를 이용하여 랜덤 수를 발생하여, 상기 CAN 버스에 연결되어 있는 모든 전자 제어 장치들이 각각 전송할 메시지들에 대해 미리 저장된 우선 순위를 변경하는 단계를 포함한다.
상기 공격 여부를 확인하는 단계는, 상기 상기 해커 전자 제어 장치로부터 공격이 발생하지 않은 것으로 확인하면, 상기 수신한 CAN 메시지의 우선 순위가 상기 미리 저장된 우선 순위와 일치하는지 확인하는 단계, 그리고 상기 수신한 CAN 메시지의 우선 순위와 상기 미리 저장된 우선 순위가 일치하지 않으면 상기 에러 프레임을 생성할 수 있다.
상기 에러 프레임을 생성하는 단계 이후에, 상기 CAN 메시지를 전송한 전자 제어 장치로 상기 에러 프레임을 전송하는 단계를 포함하고, 상기 에러 프레임을 수신한 전자 제어 장치는 수신한 에러 프레임의 수가 미리 설정된 임계값 보다 많으면 버스 오프 상태로 상태가 변경될 수 있다.
본 발명에 따르면, 시스템 복잡성으로 인해 해커가 시스템 해킹을 시도하지 않게 되어, 안전한 CAN 통신이 가능하다.
도 1은 일반적인 차량용 네트워크에서의 DOS 공격에 대한 예시도이다.
도 2는 일반적인 CAN 버스에서의 메시지 프레임에 대한 예시도이다.
도 3은 본 발명의 실시예에 따른 우선 순위 변경 메커니즘이 반영된 ECU의 예시도이다.
도 4는 본 발명의 실시예에 따른 우선 순위 변경 메커니즘이 반영된 ECU의 구조도이다.
도 5는 본 발명의 실시예에 따른 메시지 프레임의 우선 순위 변경 방법에 대한 흐름도이다.
도 6은 본 발명의 제1 실시예에 따른 랜덤 값 생성에 대한 예시도이다.
도 7은 본 발명의 제2 실시예에 따른 랜덤 값 생성에 대한 예시도이다.
도 8은 본 발명의 제3 실시예에 따른 랜덤 값 생성에 대한 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 CAN 통신에서 도스 공격 방지를 위한 우선 순위 변경 장치 및 우선 순위 변경 방법에 대해 상세히 설명한다.
본 발명의 실시예에 대해 설명하기 앞서, 일반적인 차량용 네트워크인 CAN 통신에서 DOS(Denial Of Service) 공격이 발생한 경우의 예에 대해 도 1을 참조로 설명한다.
도 1은 일반적인 차량용 네트워크에서의 DOS 공격에 대한 예시도이다.
도 1에 도시된 바와 같이, 일반적인 차량용 네트워크인 CAN 통신 시스템은 차량에 포함되어 있는 장치들의 동작을 제어하는 전자 제어 장치(ECU: Electronic Control Units)(20, 30)들이 하나의 CAN 버스(10)에 연결되어 있는 버스 토폴로지로 이루어진다.
복수의 ECU(20, 30)들은 하나의 CAN 버스(10)에 연결된 상태에서, 우선 순위가 가장 높은 메시지 프레임을 전송하는 전자 제어 장치만이 CAN 버스(10)에 접근하여, 해당 전자 제어 장치가 제어하는 차량 내 장치의 동작에 관련된 메시지를 전송할 수 있다. 그리고 다른 전자 제어 장치들은 해당 전자 제어 장치가 전송하는 메시지를 수신하면서, 대기 모드에서 다음 버스 사이클이 올 때까지 대기한다.
이 때, 복수의 전자 제어 장치 중 해커가 해킹을 위해 삽입한 제1 전자 제어 장치(20)와, 제1 전자 제어 장치(20)가 CAN 버스(10)를 선점하여 메시지를 전송하지 못하는 제2 전자 제어 장치(30)가 CAN 버스(10)에 연결되어 있는 상황이라고 가정한다. 그러면, 우선순위가 가장 높은 메시지 프레임을 전송하는 전자 제어 장치인 제1 전자 제어 장치(20)만이 CAN 버스(10)에 접근하여 메시지를 전송하게 된다.
이때, 제1 전자 제어 장치(20)가 가장 높은 우선순위 CAN 메시지 프레임을 반복적으로 전송하면, CAN 버스(10)는 계속 제1 전자 제어 장치(20)에 의해 사용중인 상태가 된다. 따라서 제2 전자 제어 장치(30)는 CAN 버스(10)를 사용할 기회를 얻지 못하고 ①로 표시한 바와 같이 항상 루프 상태를 돌며 대기 상태를 유지하게 된다.
그리고 제2 전자 제어 장치(30)가 제1 전자 제어 장치(20)보다 우선적으로 CAN 버스(10)에 연결되어 메시지를 전송하려고 하더라도, CAN 버스(10)가 제2 전자 제어 장치(30)의 메시지 우선 순위보다 더 높은 우선 순위를 가지는 메시지를 제1 전자 제어 장치(20)가 전송하고자 함을 탐지하게 된다. 따라서, 제2 전자 제어 장치(30)는 대기 상태를 유지하게 되어 메시지를 전송하지 못하게 된다.
도 2는 일반적인 CAN 버스에서의 메시지 프레임에 대한 예시도이다.
도 2의 (a)는 CAN 버스에서의 정상적인 메시지의 프레임을 나타낸 예시도이고, (b)는 해커에 의해 공격에 사용되는 메시지의 프레임을 나타낸 예시도이다.
먼저 도 2의 (a)에 도시된 바와 같이, 프레임 내 ID 필드에 삽입된 ID는 메시지의 우선 순위에 따라 전자 제어 장치가 생성한 것으로, 메시지의 고유 식별자이자 우선순위를 나타낸다. 따라서, CAN 버스에 연결된 각 전자 제어 장치들은 CAN 버스가 사용중(Busy)인지 대기 상태(Idle)인지 확인한다. 그리고 전송하고자 하는 메시지에 ID를 삽입하여 CAN 버스를 사용하여 메시지를 전송하게 된다.
그리고, 여러 전자 제어 장치가 동시에 버스에 데이터를 전송할 경우 메시지의 충돌이 발생하기 때문에, ID를 확인하여 우선순위를 결정하게 된다. 이때, ID 필드에 삽입된 값(이하, 설명의 편의를 위하여 'ID 값'이라 지칭함)이 낮을수록 전송 우선순위가 높기 때문에, 우선순위가 가장 높은 메시지를 가진 전자 제어 장치만 CAN 버스를 사용할 수 있는 권한을 획득한다. 도 2의 (a)에서는 RPM의 ID 값이 가장 낮기 때문에, RPM을 제어하는 전자 제어 장치가 CAN 버스로 메시지를 전송한다.
이때, 도 2의 (b)에 도시된 바와 같이, 해커에 의해 공격에 사용되는 메시지의 ID가 '00'으로 도 2의 (a)에 도시한 모든 메시지의 ID 값보다 낮음을 알 수 있다. 따라서, 해커가 공격을 위해 사용할 메시지가 항상 CAN 버스를 통해 전송되기 때문에, 다른 전자 제어 장치들은 메시지를 전송하지 못하는 문제점이 있다.
즉, 기존에는 메시지 전송을 위한 우선 순위가 고정되어 있다. 따라서, 해커 전자 제어 장치가 가장 높은 우선 순위를 가지는 메시지를 공격하여 해당 메시지보다 우선 순위가 되도록 CAN 버스를 점유하여 메시지를 전송하면, 다른 전자 제어 장치들은 메시지를 전송하지 못하게 된다. 그리고 만약 모든 전자 제어 장치들의 메시지 전송 우선 순위를 동일하게 0으로 할 경우, 해커 전자 제어 장치의 해킹 시도를 감지하지 못하게 된다.
따라서, 본 발명의 실시예에서는 CAN 통신에서 해커로부터의 공격을 방지할 수 있도록, 메시지 우선 순위를 계속적으로 변경하여 해커 전자 제어 장치가 우선 순위를 파악하지 못하도록 하는 우선 순위 변경 장치 및 우선 순위 변경 방법에 대해 제안하며, 도 2를 참조로 설명한다.
도 3은 본 발명의 실시예에 따른 우선 순위 변경 메커니즘이 반영된 전자 제어 장치의 예시도이다.
도 3에 도시된 바와 같이, 차량 시스템에 포함되어 있는 모든 전자 제어 장치(100)에는 우선 순위 테이블(②)이 저장되어 있다. 그리고, 모든 전자 제어 장치(100)들은 외부로부터 입력되는 기준 값, 센싱 정보(③) 등을 이용하여, 자신에게 할당된 우선 순위 값을 변경하기 위하여 인식한다. 전자 제어 장치(100)는 임의의 수를 랜덤하게 발생시키고, 발생시킨 수로부터 계산된 오프셋 값을 저장되어 있는 우선 순위 테이블(②)의 우선 순위에 반영하여, 우선순위가 변경된 CAN 메시지 프레임을 생성한다(④).
이와 같이 메시지 전송을 위한 우선순위가 미리 설정한 주기에 따라 또는 해커 전자 제어 장치의 해킹을 감지할 경우 변경하기 때문에, 해커 전자 제어 장치는 우선 순위를 파악하기 어렵게 된다. 또한, 전자 제어 장치에서 해킹을 감지할 경우 모든 전자 제어 장치들이 해커 전자 제어 장치로 오류 메시지를 전송하기 때문에, 해커 전자 제어 장치의 상태를 버스 오프 상태로 만들어 CAN 버스를 도용할 수 없게 되며, 보안이 강화된 CAN 버스를 제공할 수 있다.
이를 위해, 본 발명의 실시예에서는 CAN 버스에 연결되어 있는 모든 전자 제어 장치들이 CAN 통신을 위해 예상되는 메시지의 우선 순위를 알고 있다고 가정한다. 그러므로, 해커 전자 제어 장치가 우선 순위가 가장 높은 메시지를 사용하여 CAN 버스의 하이재킹을 시도하면, CAN 버스에 연결된 모든 전자 제어 장치들에 해커 전자 제어 장치의 공격이 시도되고 있음이 알려진다.
이와 같이, 우선 순위 변경 메커니즘이 반영된 전자 제어 장치의 구조에 대해 도 4를 참조로 설명한다.
도 4는 본 발명의 실시예에 따른 우선 순위 변경 메커니즘이 반영된 전자 제어 장치의 구조도이다.
도 4에 도시된 바와 같이, 적어도 하나 이상의 프로세서(도면 미도시)에 의해 실행되는 전자 제어 장치(100)는 오류 감지 모듈(110), 랜덤 수 발생 모듈(120), 우선 순위 값 변경 모듈(130), 우선 순위 테이블 저장 모듈(140), 그리고 오류 프레임 생성 모듈(150)을 포함한다.
오류 감지 모듈(110)은 CAN 버스에 연결되어 있는 임의의 전자 제어 장치가 전송한 CAN 메시지 또는 CAN 버스 사용 권한 거절 정보를 포함하는 CAN 메시지를 수신하고, 수신한 CAN 메시지의 에러 프레임을 토대로 오류가 발생하였는지 확인한다. 본 발명의 실시예에서는 다음과 같은 예로 수신한 CAN 메시지로부터 오류가 발생하였는지 확인하는 것으로 가정한다.
오류 감지 모듈(110)이 포함된 전자 제어 장치(100)가 가장 높은 우선 순위 메시지를 전송하는 전자 제어 장치인 경우, 오류 감지 모듈(110)은 자신이 가장 먼저 CAN 버스를 통해 메시지를 전송할 우선 순위를 가지고 있음을 알고 있다. 따라서, 오류 감지 모듈(110)은 메시지를 전송하기 위하여 CAN 버스의 사용 권한을 획득하는 과정에서, CAN 버스의 사용 권한을 획득하지 못하면 자신보다 높은 우선 순위를 가지는 전자 제어 장치가 CAN 버스를 통해 메시지를 전송하고 있음을 인지하게 된다.
따라서, 오류 감지 모듈(110)은 현재 CAN 버스를 통해 메시지를 전송하고 있는 전자 제어 장치 정보와 함께 CAN 버스 사용 권한 거절 정보를 포함하는 CAN 메시지를 수신하게 된다. 따라서 오류 감지 모듈(110)은 CAN 메시지에 포함된 현재 CAN 버스를 통해 메시지를 전송하는 전자 제어 장치(이하, '해커 전자 제어 장치'라 지칭함)로부터 공격이 시도되고 있음을 감지한다. 여기서, CAN 버스에 연결된 모든 전자 제어 장치들이 CAN 버스의 사용 권한을 획득하는 과정은 이미 알려진 사항으로, 본 발명의 실시예에서는 상세한 설명을 생략한다.
오류 감지 모듈(110)은 CAN 버스에 연결된 모든 전자 제어 장치들로, 해커 전자 제어 장치에 의한 공격이 발생하였음을 알리는 CAN 메시지를 전송한다.
또한, 오류 감지 모듈(110)은 CAN 버스를 통해 연결된 다른 전자 제어 장치로부터, 해킹 전자 제어 장치에 의해 공격이 시도되고 있음을 알리는 CAN 메시지를 수신한다. 오류 감지 모듈(110)이 CAN 메시지를 수신하였다 함은, 오류 감지 모듈(110)이 포함된 전자 제어 장치(100)의 메시지 전송 순위가 후 순위인 전자 제어 장치임을 의미한다.
본 발명의 실시예에서는 오류 감지 모듈(110)이 상기에 설명한 실시예를 통해, 수신한 CAN 메시지에서 오류 발생 여부를 확인하는 것을 예로 하여 설명한다. 그러나, 오류 감지 모듈(110)이 수신한 CAN 메시지에서 오류 발생 여부를 확인하는 방법은 다양한 오류 감지 메커니즘을 통해 수행할 수 있으므로, 본 발명의 실시예에서는 상기의 방법으로 한정하지 않는다.
랜덤 수 발생 모듈(120)은 미리 설정된 주기에 따라 미리 정의되어 있는 랜덤 값 발생 함수를 이용하여 랜덤 수를 발생한다. 또한 랜덤 수 발생 모듈(120)은 오류 감지 모듈(110)이 전송 순위가 가장 높은 전송 전자 제어 장치로부터 공격이 발생되었음을 알리는 CAN 메시지를 수신하거나, 해커 전자 제어 장치로부터의 공격 발생 여부를 인지하면, 미리 정의되어 있는 랜덤 값 발생 함수를 이용하여 랜덤 수를 발생한다.
랜덤 수 발생 모듈(120)이 랜덤 수를 발생하는 방법은 다양하므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다. 그러나, 본 발명의 실시예에서는 랜덤 수 발생 모듈(120)이 다음 세 가지 방법에 의해 랜덤 수를 발생시키는 것을 예로 하여 설명한다.
첫 번째 방법으로는 모든 전자 제어 장치들의 랜덤 수 발생 모듈(120)에 미리 정의되어 있는 기준 값이 입력되고, 해당 기준 값을 토대로 랜덤 수를 발생시킬 수 있다. 또 다른 예로는, 차량에 설치되어 있는 복수의 센서들(도면 미도시)로부터 전송되는 센싱 값을 모든 전자 제어 장치들이 공통으로 사용하여 랜덤 수를 발생시킬 수 있다. 또 다른 예로, 각각의 전자 제어 장치들에 서로 상이한 센서들이 매핑되어 있고, 매핑된 센서들이 수집한 센싱 정보를 토대로 랜덤 수를 발생할 수 있다. 이에 대해서는 이후 상세히 설명한다.
우선 순위 값 변경 모듈(130)은 랜덤 수 발생 모듈(120)이 발생한 랜덤 수를, 우선 순위 테이블 저장 모듈(140)에 저장되어 있는 우선 순위 테이블의 우선 순위에 반영한다. 본 발명의 실시예에서는 우선 순위가 항상 고정되는 것이 아니라, 주기적으로 변경되는 것을 예로 하여 설명한다.
우선 순위 테이블 저장 모듈(140)은 CAN 버스에 연결된 모든 전자 제어 장치들에서 전송될 메시지의 우선 순위를 포함하는 우선 순위 테이블을 저장한다. 우선 순위 테이블 저장 모듈(140)이 저장하는 우선 순위 테이블은 다음 표 1과 같다.
메시지 우선 순위
Speed 100
Airbag deply message 105
Brake paddle status 119
135
Wiper position 200
Gear position 205
Temperature 600
예를 들어, 차량의 속도에 대한 메시지를 전송하는 전자 제어 장치의 경우, 우선 순위가 가장 높은 100으로 설정되어 있고, 차량 온도에 대한 메시지를 전송하는 전자 제어 장치의 경우에는 우선 순위가 가장 낮은 600으로 설정되어 있다. 본 발명의 실시예에서는 표 1에 나타낸 ID 값을 하나의 실시예로 하여 설명하며, 반드시 이와 같이 한정되는 것은 아니다.
그리고, 우선 순위 테이블 저장 모듈(140)은 메시지 프레임 우선 순위 변경 모듈(130)에서 변경된 우선 순위로 우선 순위 테이블을 갱신한다.
또한, 우선 순위 테이블 저장 모듈(140)은 랜덤 수를 발생시키는 과정에서 필요한 센싱 정보를 제공하는 센서들의 정보를 저장, 관리한다. 이때, 센서들은 전자 제어 장치(100)에 매핑되어 있는 센서일 수 있고, 복수의 센서들 중 미리 정의된 센서일 수 있다.
오류 프레임 생성 모듈(150)은 오류 감지 모듈(110)이 해커 전자 제어 장치로부터의 공격을 감지하거나 다른 전자 제어 장치로부터 공격이 감지되었음을 알리는 에러 프레임을 포함하는 CAN 메시지를 수신하면, 오류 프레임을 생성하여 해커 전자 제어 장치로 전송한다. 이때, 오류 프레임 생성 모듈(150)이 생성하는 오류 프레임의 형태과 프레임에 삽입되는 정보는 어느 하나로 한정하지 않는다.
이상에서 설명한 우선 순위 변경 메커니즘이 반영된 전자 제어 장치(100)로 메시지 프레임의 우선 순위를 변경하는 방법에 대해 도 5를 참조로 설명한다. 본 발명의 실시예에서는 설명의 편의를 위하여 하나의 전자 제어 장치(100)와 해커 전자 제어 장치(200)가 CAN 버스에 연결되어 있는 것을 예로 하여 설명한다.
도 5는 본 발명의 실시예에 따른 메시지 프레임의 우선 순위 변경 방법에 대한 흐름도이다.
도 5에 도시된 바와 같이, 해커 전자 제어 장치(200)는 CAN 버스를 통해 CAN 메시지 프레임을 전송한다(S100). 해커 전자 제어 장치(200)가 전송한 CAN 메시지 프레임은 CAN 버스에 연결되어 있는 전자 제어 장치(100)를 포함하는 모든 전자 제어 장치가 수신한다(S101).
전자 제어 장치(100)는 S101 단계에서 수신한 CAN 메시지 프레임에 오류가 발생하였는지 확인한다(S102). 전자 제어 장치(100)가 자신이 수신한 CAN 메시지의 오류 프레임을 토대로, 오류가 발생하였는지 여부를 확인하는 방법은 다양하므로, 본 발명의 실시예에서는 어느 하나의 방법으로 한정하지 않는다.
전자 제어 장치(100)는 수신한 CAN 메시지 프레임에 오류가 발생한 것으로 확인하면, 오류 프레임을 생성하여 CAN 메시지 프레임을 전송한 해커 전자 제어 장치(200)로 전송한다(S104). 그리고 전자 제어 장치(100)는 랜덤 값을 토대로 자신이 저장한 우선 순위 테이블을 변경한다(S105). 이때, 랜덤 값을 생성하는 방법은 이후 도 6 내지 도 8을 참조로 설명한다.
한편, S102 단계에서 확인한 결과 전자 제어 장치(100)가 수신한 CAN 메시지 프레임에 오류가 발생하지 않은 것으로 확인하면, EUC(100)는 CAN 메시지 프레임에 포함된 ID 값과 해당 CAN 메시지 프레임을 전송한 해커 전자 제어 장치(200)와, 전자 제어 장치(100)에 저장된 우선 순위 테이블을 비교하여 동일한지 판단한다(S106). 만약 수신한 CAN 메시지 프레임에 포함된 우선 순위와 전자 제어 장치(100)가 저장한 우선 순위 테이블의 우선 순위가 동일하면, 메시지 프레임을 성공적으로 수신한 것으로 확인한다(S107).
그러나, 두 우선 순위가 상이할 경우, 전자 제어 장치(100)는 S103 단계에 따라 오류 프레임을 생성하여 해커 전자 제어 장치(200)로 전송한다. 그리고 우선 순위 테이블을 변경한다(S105).
S100 단계에서 CAN 메시지 프레임을 전송한 해커 전자 제어 장치(200)는 오류 프레임이 수신되었는지 확인한다(S108). 만약 CAN 버스 내의 다른 전자 제어 장치들로부터 오류 프레임이 전송되지 않았다면, CAN 메시지 프레임의 전송에 성공한 것으로 확인한다(S109).
그러나, 다른 전자 제어 장치들로부터 오류 프레임을 수신하였다면, 해커 전자 제어 장치(200)는 오류 카운트를 증가한다(S110). 그리고 증가한 오류 카운트가 미리 설정한 임계값 보다 큰지 확인한다(S111). 본 발명의 실시예에서는 임계값으로 255를 예로 하여 설명하나, 반드시 이와 같이 한정되는 것은 아니다.
해커 전자 제어 장치(200)는 증가한 오류 카운트가 임계값 보다 크면, 버스 오프 상태로 상태가 천이된다(S112). 버스 오프 상태가 되면 해커 전자 제어 장치(200)는 CAN 버스를 도용할 수 없게 된다. 그러나, 증가한 오류 카운트가 임계값 보다 작으면, 해커 전자 제어 장치(200)는 S100 단계의 절차부터 반복 수행할 수 있다.
여기서, 전자 제어 장치(100)가 S105 단계에서 메시지 프레임의 우선 순위를 변경하기 위하여 랜덤 값을 생성하는 방법에 대해 도 6 내지 도 8을 참조로 설명한다.
도 6은 본 발명의 제1 실시예에 따른 랜덤 값 생성에 대한 예시도이다.
도 6에 도시된 바와 같이, 본 발명의 제1 실시예에서는 랜덤 값을 생성하기 위한 함수 F가 정의되어 있고, 각각의 함수에 포함된 파라미터에 적용할 기준 값들이 정의되어 있다고 가정한다.
즉, 랜덤 값을 생성하기 위하여 함수 F가 F(X1*10 + X2 * X3 + 7)로 정의되어 있다고 가정한다. 그리고, X1에는 기준 값으로 210을, X2에는 기준 값으로 4가, X3에는 기준 값으로 10이 정의되어 있다고 가정한다. 또한, 함수 F를 이용하여 계산된 값에 MOD 함수를 적용할 값으로 2048로 정의되어 있다고 가정한다.
그러면, 랜덤 수 발생 모듈(120)은 함수 F를 이용하여 (210*10 + 4 * 3 + 7)을 계산하여 2147을 도출한다. 도출한 값에 2048로 MOD 함수를 적용하여 출력된 99를 랜덤 값으로 생성한다.
이렇게 생성한 랜덤 값을 각각에 할당된 우선 순위에 더하여 우선 순위가 변경된 메시지 프레임을 생성한다. 예를 들어, 최초 우선 순위가 100으로 정해진 속도 메시지의 우선 순위는 199가 된다.
상기 도 6에서는 랜덤 값을 생성하기 위한 함수와 기준 값들이 정의되어 있는 경우에 대해 설명하였으며, 차량에 설치된 복수의 센서들이 수집한 센싱 값을 이용할 수도 있다. 이에 대해 도 7을 참조로 설명한다.
도 7은 본 발명의 제2 실시예에 따른 랜덤 값 생성에 대한 예시도이다.
도 7에 도시된 바와 같이, 차량 내에 설치되어 있는 복수의 센서들 중 임의의 센서들을 복수 개 선택한다. 본 발명의 실시예에서는 설명의 편의를 위하여 세 개의 센서(300-1~300-3)들만을 도시하였으나, 반드시 이와 같이 한정되는 것은 아니다.
그리고 각각의 센서(300-1~300-3)들이 센싱한 센싱 값을 복수의 전자 제어 장치(100-1~100-3)에 전달하여, 랜덤 값을 생성하는데 사용하도록 한다. 이때 랜덤 값을 생성하기 위한 함수는 상기 도 6에 언급한 함수 F를 이용할 수 있으며, 센싱 값은 X1, X2, 그리고 X3의 기준 값으로 적용할 수 있다.
도 7에서는 미리 정의된 센서들이 센싱한 센싱 값을 기준 값으로 적용하는 예에 대해 설명하였으나, 각각의 전자 제어 장치(100-1~100-3)마다 상이한 센서를 매핑하여 랜덤 값을 생성할 수도 있다. 이에 대해 도 8을 참조로 설명한다.
도 8은 본 발명의 제3 실시예에 따른 랜덤 값 생성에 대한 예시도이다.
도 8에 도시된 바와 같이, 모든 전자 제어 장치(100-1~100-3)들은 각각 자신들이 담당하는 센서들이 매핑되어 정해져 있다. 예를 들어, 제1 전자 제어 장치(100-1)가 온도 조절 장치인 경우, 온도, 팬 속도, 빛 세기, 풍속을 센싱하는 센서들과 매핑되어, 각각의 센서들이 센싱한 센싱 값으로 랜덤 값을 생성할 수 있다.
또 다른 예로, 제2 전자 제어 장치(100-2)가 핸들링 클러스터 전자 제어 장치인 경우, RPM, 차속, 엔진 온도를 센싱하는 센서들이 매핑되어 있다. 따라서, 제2 전자 제어 장치(100-2)는 RPM, 차속, 엔진 온도를 토대로 랜덤 값을 생성할 수 있다.
또 다른 예로, 제3 전자 제어 장치(100-3)가 인포테인먼트 전자 제어 장치인 경우, RPM, 차속, 엔진 온도를 센싱하는 센서들이 매핑되어 있다. 따라서, 제3 전자 제어 장치(100-3)는 차량의 현재 GPS 위치, FM 신호 세기, 그리고 차량 방향을 토대로 랜덤 값을 생성할 수 있다.
도 8에 도시한 센서들은 하나의 실시예로, 반드시 이와 같이 한정되는 것은 아니다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (12)

  1. CAN(Controller Area Network) 버스에 연결되어 있는 전자 제어 장치로서,
    상기 CAN 버스에 연결되어 있는 모든 전자 제어 장치들이 각각 전송할 메시지들의 우선 순위를 저장하는 우선 순위 테이블 저장 모듈,
    상기 CAN 버스에 연결되어 있는 임의의 전자 제어 장치가 전송한 CAN 메시지에 포함된 에러 프레임을 토대로 임의의 전자 제어 장치로부터의 공격을 감지하는 오류 감지 모듈,
    상기 오류 감지 모듈이 오류를 감지하면, 미리 정의된 랜덤 수 발생 함수와 미리 정의된 랜덤 수 발생 기준 값 또는 상기 전자 제어 장치가 설치된 차량 내 복수의 센서들이 각각 센싱한 센싱 값들 중 적어도 하나 이상의 센싱 값을 기초로 랜덤 수를 발생하는 랜덤 수 발생 모듈, 그리고
    상기 랜덤 수 발생 모듈이 발생한 랜덤 수를 상기 우선 순위 테이블 저장 모듈에 저장된 우선 순위에 반영하여 우선 순위 값을 변경하는 우선 순위 값 변경 모듈
    을 포함하는 전자 제어 장치.
  2. 제1항에 있어서,
    상기 오류 감지 모듈이 상기 임의의 전자 제어 장치로부터의 공격을 감지하면, 상기 임의의 전자 제어 장치로 전송할 오류 프레임을 생성하는 오류 프레임 생성 모듈
    을 더 포함하는 전자 제어 장치.
  3. 제2항에 있어서,
    상기 랜덤 수 발생 모듈은,
    복수의 파라미터들을 포함하는 상기 랜덤 수 발생 함수에, 상기 복수의 파라미터들 각각에 미리 정의된 기준 값을 반영하여 상기 랜덤 수를 발생하는 전자 제어 장치.
  4. 제3항에 있어서,
    상기 랜덤 수 발생 모듈은,
    상기 복수의 파라미터들 각각에 미리 선택된 상기 차량 내 복수의 센서들이 각각 센싱한 센싱 값을 반영하여 상기 랜덤 수를 발생하는 전자 제어 장치.
  5. 제4항에 있어서,
    상기 랜덤 수 발생 모듈은,
    상기 복수의 파라미터들 각각에 상기 전자 제어 장치에 매핑되어 있는 적어도 하나의 센서가 센싱한 센싱 값을 반영하여 상기 랜덤 수를 발생하는 전자 제어 장치.
  6. CAN(Controller Area Network) 버스에 연결되어 있는 전자 제어 장치가 CAN 메시지 전송을 위한 우선 순위를 변경하는 방법으로서,
    상기 CAN 버스를 통해 수신한 CAN 메시지에 포함된 프레임을 토대로 해커 전자 제어 장치로부터의 공격 여부를 확인하는 단계,
    상기 해커 전자 제어 장치로부터 공격이 발생하면, 상기 해커 전자 제어 장치로 전송할 에러 프레임을 생성하는 단계, 그리고
    미리 정의된 랜덤 수 발생 함수를 이용하여 랜덤 수를 발생하여, 상기 CAN 버스에 연결되어 있는 모든 전자 제어 장치들이 각각 전송할 메시지들에 대해 미리 저장된 우선 순위를 변경하는 단계
    를 포함하는 우선 순위 변경 방법.
  7. 제6항에 있어서,
    상기 우선 순위를 변경하는 단계는,
    복수의 파라미터들을 포함하는 상기 랜덤 수 발생 함수에, 상기 복수의 파라미터들 각각에 미리 정의된 기준 값을 반영하여 상기 랜덤 수를 발생하는 우선 순위 변경 방법.
  8. 제7항에 있어서,
    상기 우선 순위를 변경하는 단계는,
    상기 복수의 파라미터들 각각에 미리 선택된 상기 차량 내 복수의 센서들이 각각 센싱한 센싱 값을 반영하여 상기 랜덤 수를 발생하는 우선 순위 변경 방법.
  9. 제8항에 있어서,
    상기 우선 순위를 변경하는 단계는,
    상기 복수의 파라미터들 각각에 상기 전자 제어 장치에 매핑되어 있는 적어도 하나의 센서가 센싱한 센싱 값을 반영하여 상기 랜덤 수를 발생하는 우선 순위 변경 방법.
  10. 제6항에 있어서,
    상기 공격 여부를 확인하는 단계는,
    상기 전자 제어 장치의 CAN 메시지 전송 우선 순위가 상기 모든 전자 제어 장치들 중 최우선 순위로 설정되어 있으면,
    상기 전자 제어 장치보다 상기 CAN 버스를 우선 선점하여 CAN 메시지 전송을 시도하는 전자 제어 장치를 상기 해커 전자 제어 장치로 확인하는 우선 순위 변경 방법.
  11. 제6항에 있어서,
    상기 공격 여부를 확인하는 단계는,
    상기 상기 해커 전자 제어 장치로부터 공격이 발생하지 않은 것으로 확인하면,
    상기 수신한 CAN 메시지의 우선 순위가 상기 미리 저장된 우선 순위와 일치하는지 확인하는 단계, 그리고
    상기 수신한 CAN 메시지의 우선 순위와 상기 미리 저장된 우선 순위가 일치하지 않으면 상기 에러 프레임을 생성하는 단계
    를 포함하는 우선 순위 변경 방법.
  12. 제11항에 있어서,
    상기 에러 프레임을 생성하는 단계 이후에,
    상기 CAN 메시지를 전송한 전자 제어 장치로 상기 에러 프레임을 전송하는 단계
    를 포함하고,
    상기 에러 프레임을 수신한 전자 제어 장치는 수신한 에러 프레임의 수가 미리 설정된 임계값 보다 많으면 버스 오프 상태로 상태가 변경되는 우선 순위 변경 방법.
KR1020190061771A 2019-05-27 2019-05-27 Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법 KR20200136124A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190061771A KR20200136124A (ko) 2019-05-27 2019-05-27 Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190061771A KR20200136124A (ko) 2019-05-27 2019-05-27 Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법

Publications (1)

Publication Number Publication Date
KR20200136124A true KR20200136124A (ko) 2020-12-07

Family

ID=73791356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190061771A KR20200136124A (ko) 2019-05-27 2019-05-27 Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법

Country Status (1)

Country Link
KR (1) KR20200136124A (ko)

Similar Documents

Publication Publication Date Title
US8925083B2 (en) Cyber security in an automotive network
EP3148154B1 (en) Controller area network (can) device and method for controlling can traffic
US10992705B2 (en) Exploiting safe mode of in-vehicle networks to make them unsafe
US11256498B2 (en) Node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network
CN112640365B (zh) 一种控制器区域网can总线安全通信方法及装置
KR20150100790A (ko) 프로토콜 예외 상태를 이용하는 데이터 전송
CN111147437B (zh) 基于错误帧归因总线断开攻击
US11647045B2 (en) Monitoring a network connection for eavesdropping
KR101754951B1 (ko) Can 통신 기반 해킹공격에 안전한 can 컨트롤러
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
US20220038304A1 (en) Controller area network (can) bus security invention
Kwon et al. Mitigation mechanism against in-vehicle network intrusion by reconfiguring ECU and disabling attack packet
JP6468133B2 (ja) 車載ネットワークシステム
US12021833B2 (en) Network interface protected against attacks
KR20200136124A (ko) Can 통신에서 도스 공격 방지를 위한 전자 제어 장치 및 이를 이용한 우선 순위 변경 방법
KR102352504B1 (ko) 이더넷 스위치 정보에 기초한 미등록 장치 검증 시스템 및 방법
Brown et al. CAN authorization using message priority bit-level access control
KR20180072340A (ko) 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법
JP2023519910A (ja) 特に自動車におけるデータの異常を処理するための方法
CN115398429A (zh) 用于处理数据异常的方法,特别是在机动车辆中
JP6108251B2 (ja) 受信装置、及び受信方法
KR20120010693A (ko) 전자 제어 장치간 인증방법 및 그 방법을 이용한 전자 제어 장치
US11303677B2 (en) Method and system for managing the operation of a group of several connected objects
KR20180039586A (ko) Can 통신 기반 해킹공격에 안전한 can 컨트롤러
Ramesh et al. Reset-based Recovery Mechanism through Entropy Cutoff to Counter BUS-OFF Attacks

Legal Events

Date Code Title Description
A201 Request for examination