KR20200076218A - 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템 - Google Patents

일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템 Download PDF

Info

Publication number
KR20200076218A
KR20200076218A KR1020180165103A KR20180165103A KR20200076218A KR 20200076218 A KR20200076218 A KR 20200076218A KR 1020180165103 A KR1020180165103 A KR 1020180165103A KR 20180165103 A KR20180165103 A KR 20180165103A KR 20200076218 A KR20200076218 A KR 20200076218A
Authority
KR
South Korea
Prior art keywords
message
attack
general
ecu
flooding
Prior art date
Application number
KR1020180165103A
Other languages
English (en)
Other versions
KR102204656B1 (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 KR1020180165103A priority Critical patent/KR102204656B1/ko
Publication of KR20200076218A publication Critical patent/KR20200076218A/ko
Application granted granted Critical
Publication of KR102204656B1 publication Critical patent/KR102204656B1/ko

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/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
    • 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
    • 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
    • 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

Landscapes

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

Abstract

하나 이상의 ECU, 상기 하나 이상의 ECU를 연결하는 CAN에 대한 메시지 플러딩 공격을 탐지하는 탐지부 및 상기 탐지부로부터 메시지 플러딩 공격 탐지 신호가 수신되는 경우, 플러딩 공격 메시지를 식별하고, 공격 노드의 메시지 재전송 시간을 예측하고, 일반 CAN 메시지의 지연 시간을 예측하는 프레임워크를 포함하는, 메시지플러딩 공격 완화 시스템이 개시된다.

Description

일반 CAN 메시지의 전송지연을 예측하는 CAN 네트워크에 대한 메시지플러딩 공격 완화 시스템 {A MITIGATION SYSTEM AGAINST MESSAGE FLOODING ATTACKS FOR SECURE CONTROLLER AREA NETWORK BY PREDICTING TRANSFER DELAY OF NORMAL CAN MESSAGE}
본 발명은 일반 CAN 메시지의 전송지연을 예측하는 CAN 네트워크에 대한 메시지플러딩 공격 완화 시스템에 관한 것이다.
최근에는 자동차의 전자식 제어를 넘어 오토파일럿 등의 기초적인 자율주행 지원 모듈들이 활발하게 개발되고 있다. 예를 들어, 완전한 자율주행 기술(Full Self-Driving Automation)을 위해 LiDAR (거리 측정/사물인지 센서)등의 센서 기술들과 외부 통신기술(V2X: Vehicle to Everything)을 지원하는 자동차 IT 융합 기술들이 개발되고 있다.
이를 위하여, 자동차 내부의 제어유닛(Electronic Control Unit, ECU)들은 자동차 내부 네트워크(Controller Area Network (CAN), 차량용 Ethernet)를 통해 정보를 공유하고, 자동차를 제어한다.
이와 같이 자동차와 IT의 융합기술이 발전됨에 따라 자동차의 제어 네트워크에 접근할 수 있는 외부 접점들이 빠르게 증가하고 있다. 이러한 외부 접점들을 이용한 자동차 해킹가능성에 대한 연구들이 많이 수행되었고, 일 예로 Jeep에서는 텔레매틱스 시스템의 해킹 결과로 인해 140만대의 차를 리콜한 사례가 있다.
일 예로, 자동차 내부 네트워크를 보호하기 위해 인증, 침임탐지 시스템, 그리고 차량용 방화벽 기술 등이 연구되고 있다. 하지만, 원격 자동차 진단, 원격 ECU 업데이트 및 외부와의 통신을 이용하는 자율주행자동차 기술 등의 발달은 자동차 제어네트워크와 외부 네트워크 간의 접점들을 증가시키고, 이에 따라 공격자가 자동차 제어 네트워크의 다양한 외부 접점들을 이용하여 기존의 자동차 보안 기술들을 우회할 수 있는 가능성이 존재한다.
특히, CAN 장애를 발생시킬 수 있는 메시지 플러딩 공격의 경우 내부 네트워크의 메시지 빈도수 변화나 네트워크 트래픽 증가를 통해 이를 쉽게 탐지할 수 있으나, 메시지플러딩 공격이 자동차 내부 네트워크의 장애(e.g., 전송지연) 를 일으키는 것은 막기가 어렵다. 따라서, 메시지플러딩 공격에 CAN에 발생했을 경우, 이를 완화하는 방법에 대한 연구가 필요하다.
등록특허공보 제10-1825711호, 2018.01.30 등록
본 발명이 해결하고자 하는 과제는 일반 CAN 메시지의 전송지연을 예측하는 CAN 네트워크에 대한 메시지플러딩 공격 완화 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 메시지플러딩 공격 완화 시스템은, 하나 이상의 ECU, 상기 하나 이상의 ECU를 연결하는 CAN에 대한 메시지 플러딩 공격을 탐지하는 탐지부 및 상기 탐지부로부터 메시지 플러딩 공격 탐지 신호가 수신되는 경우, 플러딩 공격 메시지를 식별하고, 공격 노드의 메시지 재전송 시간을 예측하고, 일반 CAN 메시지의 지연 시간을 예측하는 프레임워크를 포함한다.
또한, 상기 프레임워크는, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈 및 공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈을 포함할 수 있다.
또한, 상기 프레임워크는, 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈을 더 포함할 수 있다.
또한, 상기 공격 메시지 재전송 시간 예측모듈은, CAN의 에러 관리 절차를 획득하고, 상기 획득된 에러 관리 절차에 기초하여 상기 공격 메시지의 재전송 시간을 예측하되, 상기 도미넌트 비트로 인해 상기 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC(Transmission Error Counter)에 기초하여 상기 공격 메시지의 재전송 시간을 예측할 수 있다.
또한, 상기 일반 CAN 메시지 전송지연 예측모듈은, 상기 일반 CAN 메시지의 전송지연의 최악의 시간(WTdelay)을 예측할 수 있다.
또한, 상기 일반 CAN 메시지 전송지연 예측모듈은, 아래 수학식에 기초하여 상기 최악의 시간을 예측하고,
WTdelay = Tattack + Tretrans + Terror
상기 Tattack은 상기 공격 메시지로 인한 지연시간을 의미하고, 상기 Terror는 상기 에러 프레임으로 인한 지연시간을 의미할 수 있다.
또한, 상기 하나 이상의 ECU중 하나인 제1 ECU에 대하여, 상기 시스템은, 상기 제1 ECU와 동일한 기능을 수행하는 제2 ECU를 더 포함하고, 상기 제1 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제2 ECU가 상기 CAN에 연결되어 상기 제1 ECU의 역할을 수행하는 것을 특징으로 하고, 상기 하나 이상의 ECU중 하나인 제3 ECU에 대하여, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU는, 상기 제3 ECU가 수행하는 기능 각각에 대응하는 적어도 하나의 모듈을 포함하고, 상기 제3 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU 각각에 포함된 모듈들이 상기 제3 ECU의 기능을 수행하도록 할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 메시지플러딩 공격 완화 시스템은, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈 및 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈을 포함한다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 메시지플러딩 공격 완화 시스템은, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈 및 공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈을 포함한다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 메시지플러딩 공격 완화 시스템은, 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈, 공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈, 상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈 및 공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈을 포함한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
개시된 실시 예에 따르면, CAN 네트워크에 대한 메시지 플러딩 공격을 완화시킬 수 있으면서, 이에 따라 공격 노드가 아닌 다른 ECU들의 통신이 정상적으로 수행될 수 있도록 하는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 ECU의 CAN 에러 관리 방법을 도시한 도면이다.
도 2는 일반적인 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.
도 3은 개시된 실시 예에 따른 프레임워크가 적용된 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.
도 4는 일 실시 예에 따른 시스템을 도시한 도면이다.
도 5는 일 실시 예에 따른 프레임워크를 도시한 구성도이다.
도 6은 일 실시 예에 따른 장치의 구성도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
일 예로, 본 명세서에서 언급되는 컴퓨터는 자동차에 설치되는, 적어도 하나의 프로세서를 포함하는 전장 시스템을 의미할 수 있으나, 이에 제한되는 것은 아니다.
도 1은 일 실시 예에 따른 ECU의 CAN 에러 관리 방법을 도시한 도면이다.
도 1을 참조하면, CAN 표준의 에러관리 기법이 도시되어 있다.
일 실시 예에서, CAN의 에러관리를 위해 ECU에는 TEC(Transmission Error Counter) 및 REC (Receive Error Counter)가 존재할 수 있다.
일 실시 예에서, ECU는 세가지의 Error 상태가 존재할 수 있으며, 예를 들어 Error Active, Error Passive 및 Bus-Off를 포함할 수 있다.
일 실시 예에서, 특정 ECU가 Bus-Off상태가 되면, 해당 ECU는 일정시간동안 CAN 통신에 참여할 수 없게 된다.
일 예로, 각 Error 상태 간의 이동(상태변환) 조건은 도 1에 도시된 바와 같을 수 있다.
도 2는 일반적인 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.
도 2를 참조하면, 차량 내부의 전장시스템 및 그 네트워크가 도시되어 있다. 시스템에는 복수의 ECU가 포함되며, 각각의 ECU를 연결하는 CAN 네트워크가 존재한다.
일 실시 예에서, 복수의 ECU 중 하나를 통한 공격이 수행되는 경우(예를 들어, 메시지 플러딩 공격으로 대표되는 도스(DoS) 공격이 자동차 내부 네트워크에서 발생할 경우), 도 2에 도시된 바와 같이 해당 공격 노드로부터 발생하는 F(메시지 플러딩 공격에 활용되는 CAN 메시지)메시지에 의해 다른 노드들(일반 ECU들)의 통신 장애가 발생하게 된다.
일 실시 예에서, 메시지 플러딩 공격이 탐지되는 경우 동시에 에러 메시지를 통해 공격메시지를 폐기할 수 있다. 하지만, 공격 메시지 폐기의 영향으로 내부 네트워크의 패킷 스케쥴이 변경되는 문제가 발생할 수 있다.
개시된 실시 예에 따르면, 차량 내부 네트워크에 메시지 플러딩 공격이 일어났을 경우, 공격 노드를 특정 시간동안 차량 내부 네트워크에서 배제시킬 수 있다.
이와 동시에, 개시된 실시 예에 따른 방법이 악용 혹은 오용되어 정상적인 노드들의 통신이 방해되는 현상이 없도록(e.g., 정상적인 ECU들이 CAN 네트워크에 배제되지 않도록) 하여야 하며, 이는 이하에서 도면을 참조하여 구체적으로 설명한다.
도 3은 개시된 실시 예에 따른 프레임워크가 적용된 CAN-bus에 메시지 플러딩 공격이 발생한 일 예를 도시한 도면이다.
도 3을 참조하면, 개시된 실시 예에 따른 프레임워크에 의하여 메시지 플러딩 공격을 발생시킨 공격 노드는 지속적으로 에러프레임(E)을 발생시키게 되며, 최종적으로 Bus-off상태가 된다.
Bus-off상태의 공격노드가 다시 CAN 통신에 참여하려면 일정시간이 지나야 하므로, 해당 시간동안 일반 ECU들은 메시지 플러딩 공격의 영향없이 CAN 메시지를 전송할 수 있다. 또한 에러프레임으로 인해 발생한 일반 메시지들의 지연시간을 예측함으로써, 개시된 실시 예에 따른 방법에 의해 일반 메시지가 잘못 폐기되는 것을 막을 수 있다.
상술한 방법을 수행하는 장치 및 프레임워크의 구체적인 구성에 대해서는 도면을 참조하여 후술한다.
도 4는 일 실시 예에 따른 시스템을 도시한 도면이다.
도 4를 참조하면, 시스템(10)은 하나 이상의 ECU와 상기 하나 이상의 ECU를 연결하는 CAN 네트워크를 포함한다.
또한, 시스템(10)은 상기 하나 이상의 ECU를 연결하는 CAN에 대한 메시지 플러딩 공격을 탐지하는 탐지부(100)를 포함한다.
또한, 시스템(10)은 상기 탐지부(100)로부터 메시지 플러딩 공격 탐지 신호가 수신되는 경우, 플러딩 공격 메시지를 식별하고, 공격 노드의 메시지 재전송 시간을 예측하고, 일반 CAN 메시지의 지연 시간을 예측하는 프레임워크(200)를 포함한다.
프레임워크(200)를 구성하는 구성요소들은 도 5에 구체적으로 도시되어 있다.
도 5는 일 실시 예에 따른 프레임워크를 도시한 구성도이다.
도 5에 도시된 일 실시 예에서, 프레임워크(200)는:
일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈(210);
공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈(220);
상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈(230); 및
공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈(240); 을 포함한다.
일 실시 예에서, 도미넌트 비트 전송은 Recessive 비트 전송에 비해 우선순위가 높으므로, 메시지 플러딩 공격 발생시 도미넌트 비트 생성 모듈이 지속적으로 도미넌트 비트들을 생성하게 되면, 공격 노드는 메시지 전송 과정에 에러가 발생하게 된다. 즉, 공격노드는 에러프레임을 발생시키면서 TEC를 증가시킨다. 공격노드의 TEC가 증가하여 255보다 커지면, 공격노드는 Bus-off 상태가 되어, 일정시간 CAN 통신에 참여할 수 없게 된다.
일 실시 예에서, 상기 공격 메시지 재전송 시간 예측모듈은, CAN의 에러 관리 절차를 획득하고, 상기 획득된 에러 관리 절차에 기초하여 상기 공격 메시지의 재전송 시간을 예측하되, 상기 도미넌트 비트로 인해 상기 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC(Transmission Error Counter)에 기초하여 상기 공격 메시지의 재전송 시간을 예측할 수 있다.
예를 들어, CAN에서는 에러프레임으로 인해 CAN 메시지 전송 실패가 발생할 경우, 해당 메시지를 재전송하도록 규정하고 있다. 따라서 메시지 전송이 실패된 메시지는 에러 프레임 전송 후, Interframe space(3비트 전송시간) 후에 메시지 재전송을 시도한다. 하지만 공격노드의 TEC가 127을 넘게 되면, Suspend Transmission Time(8비트 전송시간)을 추가적으로 기다린 후, 메시지 재전송을 시도하게 된다.
따라서, 프레임워크는 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC에 기초하여 상기 공격 메시지의 재전송 시간을 예측할 수 있게 된다.
일 실시 예에서, 상기 일반 CAN 메시지 전송지연 예측모듈은, 상기 일반 CAN 메시지의 전송지연의 최악의 시간(WTdelay)을 예측할 수 있다.
또한, 상기 일반 CAN 메시지 전송지연 예측모듈은, 아래 수학식에 기초하여 상기 최악의 시간을 예측할 수 있다.
WTdelay = Tattack + Tretrans + Terror
위 수학식에서, 상기 Tattack은 상기 공격 메시지로 인한 지연시간을 의미하고, 상기 Terror는 상기 에러 프레임으로 인한 지연시간을 의미할 수 있다.
일 실시 예에서, CAN 메시지의 전송지연시간의 최악의 경우를 고려하여, 일반 CAN 메시지의 발생 가능한 전송지연을 예측할 수 있다. 일반 CAN 메시지의 전송지연시간이 최악의 경우인 보다 작을 경우, 해당 정보를 일반메시지로 분류함으로써 메시지 식별 에러를 방지할 수 있다.
일 실시 예에서, 상기 하나 이상의 ECU중 하나인 제1 ECU에 대하여, 상기 시스템은, 상기 제1 ECU와 동일한 기능을 수행하는 제2 ECU를 더 포함할 수 있다.
일 실시 예에서, 상기 제1 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제2 ECU가 상기 CAN에 연결되어 상기 제1 ECU의 역할을 수행할 수 있다.
또한, 상기 하나 이상의 ECU중 하나인 제3 ECU에 대하여, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU는, 상기 제3 ECU가 수행하는 기능 각각에 대응하는 적어도 하나의 모듈을 포함할 수 있다.
일 예로, 제3 ECU에 포함된 모든 모듈들과 동일한 역할을 수행하는 모듈들이 각각 나머지 ECU들에 포함될 수 있다.
일 실시 예에서, 상기 제3 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU 각각에 포함된 모듈들이 상기 제3 ECU의 기능을 수행하도록 할 수 있다.
상술한 바와 같이, 중요한 역할을 수행하는 ECU가 공격으로 인해 Bus off되는 경우 전체 시스템의 구동에 문제가 생길 수 있으므로, 이에 대비하기 위한 예비수단이 마련될 수 있다.
이러한 예비수단은 각각의 ECU가 Bus off되었을 때 이용되며, 실시 예에 따라 각각의 ECU가 공격 노드가 되어 에러 프레임을 발생시켜 Bus off가 되는 경우, 시스템은 해당 공격 노드의 공격 메시지 재전송 시간을 예측할 수 있다. 이때, 시스템은 해당 재전송 시간까지의 간격 동안 해당 공격 노드의 Bus off 상태를 해제할 수 있다. 이 경우, 예비수단은 해당 공격 노드의 Bus off 상태가 해제되는 경우 Bus off 되고, 공격메시지 재전송 시간으로부터 소정의 범위 내의 시간에 해당 공격 노드가 다시 Bus off 되는 경우 다시 CAN에 연결될 수도 있다.
일 실시 예에서, 시스템은 예측된 공격 메시지 재전송 시간으로부터 소정의 범위 내의 시간이 되는 경우, 해당 공격 노드로부터 발생하는 공격 메시지를 탐지하되, 공격 메시지를 탐지하는 기준을 평소보다 낮출 수 있다. 즉, 공격 메시지인 것으로 판단하는 기준을 평소보다 낮춤으로써, 공격 메시지인 것으로 판단되는 요소가 평소보다 적어도 즉시 공격메시지를 발생하는 것으로 인식하여 해당 공격노드가 Bus off 되도록 할 수 있다.
일 실시 예에서, 시스템은 공격 노드로부터 발생되는 메시지의 패턴을 분석할 수 있다.
예를 들어, 시스템은 공격 노드에서 발생되는 공격 메시지의 간격, 시간 및 이를 포함하는 패턴을 분석할 수 있고, 기 저장된 데이터베이스에 근거하여 패턴에 매칭되는 공격수단을 획득할 수 있다.
예를 들어, 시스템은 패턴에 매칭되는 공격수단을 획득함으로써, 해당 공격수단에 대응하는 하나 이상의 파라미터를 획득할 수 있다.
시스템은 획득된 파라미터에 기반하여, 상술한 모듈들에 의하여 계산되는 공격 메시지 재전송 시간 및 일반 CAN 메시지 전송지연 예측결과를 조정할 수 있다.
도 6은 일 실시 예에 따른 장치의 구성도이다.
프로세서(302)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따른 프로세서(302)는 메모리(304)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 1 내지 도 5와 관련하여 설명된 방법을 수행한다.
예를 들어, 프로세서(302)는 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 개시된 실시 예에 따른 메시지플러딩 공격 완화방법을 수행할 수 있다.
한편, 프로세서(302)는 프로세서(302) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(302)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(304)에는 프로세서(302)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(304)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10 : 시스템
100 : 탐지부
200 : 프레임워크

Claims (10)

  1. 하나 이상의 ECU;
    상기 하나 이상의 ECU를 연결하는 CAN에 대한 메시지 플러딩 공격을 탐지하는 탐지부; 및
    상기 탐지부로부터 메시지 플러딩 공격 탐지 신호가 수신되는 경우, 플러딩 공격 메시지를 식별하고, 공격 노드의 메시지 재전송 시간을 예측하고, 일반 CAN 메시지의 지연 시간을 예측하는 프레임워크; 를 포함하는,
    메시지플러딩 공격 완화 시스템.
  2. 제1 항에 있어서,
    상기 프레임워크는,
    일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈;
    공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈; 및
    공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈; 을 포함하는,
    메시지플러딩 공격 완화 시스템.
  3. 제2 항에 있어서,
    상기 프레임워크는,
    상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈; 을 더 포함하는,
    메시지플러딩 공격 완화 시스템.
  4. 제3 항에 있어서,
    상기 공격 메시지 재전송 시간 예측모듈은,
    CAN의 에러 관리 절차를 획득하고, 상기 획득된 에러 관리 절차에 기초하여 상기 공격 메시지의 재전송 시간을 예측하되, 상기 도미넌트 비트로 인해 상기 공격 노드가 에러 프레임을 전송한 시점 및 상기 공격노드의 TEC(Transmission Error Counter)에 기초하여 상기 공격 메시지의 재전송 시간을 예측하는,
    메시지플러딩 공격 완화 시스템.
  5. 제4 항에 있어서,
    상기 일반 CAN 메시지 전송지연 예측모듈은,
    상기 일반 CAN 메시지의 전송지연의 최악의 시간(WTdelay)을 예측하는,
    메시지플러딩 공격 완화 시스템.
  6. 제5 항에 있어서,
    상기 일반 CAN 메시지 전송지연 예측모듈은,
    아래 수학식에 기초하여 상기 최악의 시간을 예측하고,
    WTdelay = Tattack + Tretrans + Terror
    상기 Tattack은 상기 공격 메시지로 인한 지연시간을 의미하고, 상기 Terror는 상기 에러 프레임으로 인한 지연시간을 의미하는,
    메시지플러딩 공격 완화 시스템.
  7. 제2 항에 있어서,
    상기 하나 이상의 ECU중 하나인 제1 ECU에 대하여,
    상기 시스템은,
    상기 제1 ECU와 동일한 기능을 수행하는 제2 ECU를 더 포함하고,
    상기 제1 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제2 ECU가 상기 CAN에 연결되어 상기 제1 ECU의 역할을 수행하는 것을 특징으로 하고,
    상기 하나 이상의 ECU중 하나인 제3 ECU에 대하여,
    상기 제3 ECU를 제외한 상기 하나 이상의 ECU는,
    상기 제3 ECU가 수행하는 기능 각각에 대응하는 적어도 하나의 모듈을 포함하고,
    상기 제3 ECU가 공격 노드가 되어 Bus off 되는 경우, 상기 제3 ECU를 제외한 상기 하나 이상의 ECU 각각에 포함된 모듈들이 상기 제3 ECU의 기능을 수행하도록 하는,
    메시지플러딩 공격 완화 시스템.
  8. 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈;
    공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈; 및
    상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈; 을 포함하는,
    메시지플러딩 공격 완화 시스템.
  9. 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈;
    공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈; 및
    공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈; 을 포함하는,
    메시지플러딩 공격 완화 시스템.
  10. 일반 CAN 메시지들의 전송 스케쥴에 기반하여, 일반 CAN 메시지와 메시지 플러딩 공격에 이용된 CAN 메시지를 식별하는, 공격메시지 식별모듈;
    공격 노드가 메시지 플러딩 공격을 위해 다수의 CAN 메시지를 포함하는 공격 메시지를 전송할 때, 도미넌트(Dominant) 비트를 생성하여 상기 공격 노드에 CAN 에러 프레임 생성을 유도하는, 도미넌트 비트 생성모듈;
    상기 도미넌트 비트로 인해 상기 공격 노드가 공격 메시지 전송을 실패하는 경우, 상기 공격 메시지를 재전송하기까지의 시간을 예측하는, 공격 메시지 재전송 시간(Tretrans) 예측모듈; 및
    공격 메시지 및 에러 프레임으로 인하여 일반 CAN 메시지의 전송지연 발생시 상기 일반 CAN 메시지의 전송지연을 예측하는, 일반 CAN 메시지 전송지연 예측모듈; 을 포함하는,
    메시지플러딩 공격 완화 시스템.
KR1020180165103A 2018-12-19 2018-12-19 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템 KR102204656B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180165103A KR102204656B1 (ko) 2018-12-19 2018-12-19 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180165103A KR102204656B1 (ko) 2018-12-19 2018-12-19 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템

Publications (2)

Publication Number Publication Date
KR20200076218A true KR20200076218A (ko) 2020-06-29
KR102204656B1 KR102204656B1 (ko) 2021-01-18

Family

ID=71400896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180165103A KR102204656B1 (ko) 2018-12-19 2018-12-19 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템

Country Status (1)

Country Link
KR (1) KR102204656B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230086045A (ko) 2021-12-08 2023-06-15 고려대학교 산학협력단 Can 메시지 분석과 신경망 모델을 이용한 경량화된 실시간 이상 탐지 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980038807A (ko) * 1996-11-26 1998-08-17 배순훈 보조 ecu를 구비한 에어 백 시스템
KR101825711B1 (ko) 2017-06-05 2018-02-06 주식회사 페스카로 Can 통신 기반 해킹공격에 안전한 can 컨트롤러

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980038807A (ko) * 1996-11-26 1998-08-17 배순훈 보조 ecu를 구비한 에어 백 시스템
KR101825711B1 (ko) 2017-06-05 2018-02-06 주식회사 페스카로 Can 통신 기반 해킹공격에 안전한 can 컨트롤러

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. TINDELL 외 2인, ‘CALCULATING CONTROLLER AREA NETWORK (CAN) MESSAGE RESPONSE TIMES’,IFAC Proceedings Volumes Volume 27, Issue 15 (1994.09.)* *
Kyong-Tak Cho 외 1인, ‘Error Handling of In-vehicle Networks Makes Them Vulnerable’, 2016 ACM SIGSAC Conference (2016.10.)* *

Also Published As

Publication number Publication date
KR102204656B1 (ko) 2021-01-18

Similar Documents

Publication Publication Date Title
CN112204578B (zh) 使用机器学习在数据接口上检测数据异常
US9380070B1 (en) Intrusion detection mechanism
EP3659868B1 (en) Abnormality detection device, and abnormality detection method
US11356475B2 (en) Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system
US20190356687A1 (en) Attack detection method, attack detection device and bus system for a motor vehicle
JP6807906B2 (ja) 車両へのコンピュータ攻撃を阻止するためのルールを生成するシステムおよび方法
JP6762347B2 (ja) 交通手段に対するコンピュータ攻撃を阻止するためのシステムおよび方法
KR102524204B1 (ko) 차량용 네트워크의 침입 대응 장치 및 방법
US20190182267A1 (en) Vehicle security manager
US20150066239A1 (en) Vehicle network monitoring method and apparatus
US20200183373A1 (en) Method for detecting anomalies in controller area network of vehicle and apparatus for the same
KR101966345B1 (ko) Can 통신 기반 우회 공격 탐지 방법 및 시스템
US20200361412A1 (en) On-vehicle device, management method, and management program
US20200014758A1 (en) On-board communication device, computer program, and message determination method
KR20210075458A (ko) Can id 필터링 기반의 침입 탐지 시스템의 제어 방법, 장치 및 프로그램
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
KR20180072339A (ko) 운송 수단 내부 네트워크에서 복수의 전자 제어 유닛간 메시지 전송 방법
KR102204655B1 (ko) 공격 메시지 재전송 시간을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화방법
US20180316700A1 (en) Data security inspection mechanism for serial networks
KR102204656B1 (ko) 일반 can 메시지의 전송지연을 예측하는 can 네트워크에 대한 메시지플러딩 공격 완화 시스템
KR102075514B1 (ko) 차량용 네트워크 보안장치
JP2021140460A (ja) セキュリティ管理装置
CN115515097A (zh) 一种对抗对车内网络的入侵的方法和装置
US20220417718A1 (en) Detection device, vehicle, detection method, and detection program
CN113273144B (zh) 车载通信系统、车载通信控制装置、车载通信装置、通信控制方法及通信方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant