KR102615515B1 - 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법 - Google Patents

차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법 Download PDF

Info

Publication number
KR102615515B1
KR102615515B1 KR1020210183721A KR20210183721A KR102615515B1 KR 102615515 B1 KR102615515 B1 KR 102615515B1 KR 1020210183721 A KR1020210183721 A KR 1020210183721A KR 20210183721 A KR20210183721 A KR 20210183721A KR 102615515 B1 KR102615515 B1 KR 102615515B1
Authority
KR
South Korea
Prior art keywords
message
packet
attack
message packet
data
Prior art date
Application number
KR1020210183721A
Other languages
English (en)
Other versions
KR20230094501A (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 KR1020210183721A priority Critical patent/KR102615515B1/ko
Priority to PCT/KR2022/020543 priority patent/WO2023121148A1/ko
Publication of KR20230094501A publication Critical patent/KR20230094501A/ko
Application granted granted Critical
Publication of KR102615515B1 publication Critical patent/KR102615515B1/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/1441Countermeasures against malicious 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
    • 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/40084Bus arbitration
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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 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

차량의 CAN에 대한 적대적 공격 장치 및 방법이 개시된다. 개시되는 일 실시예에 따른 적대적 공격 장치는, 복수의 CAN(Controller Area Network) 메시지를 수집하고, 수집한 상기 복수의 CAN 메시지에 기반하여 CAN 메시지 패킷 데이터 셋을 생성하는 데이터 생성 모듈, CAN 메시지 패킷 데이터 셋 중 일부 CAN 메시지 패킷에 노이즈를 삽입하는 전처리 모듈, 및 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 생성하는 적대적 공격 생성 모듈을 포함한다.

Description

차량 CAN의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법{APPARATUS AND METHOD FOR ADVERSARIAL FEATURE SELECTION CONSIDERING THE ATTACK FUNCTION OF THE CONTROLLER AREA NETWORK OF VEHICLE}
본 발명의 실시예는 차량의 CAN에 대한 적대적 공격 기술과 관련된다.
차량은 차량 내부의 전자 시스템을 제어할 수 있도록 다수의 ECU(Electronic Control Unit)가 포함되어 있는데, ECU는 차량 내부 통신 규격인 CAN(Controller Area Network)을 사용하여 차량을 제어할 수 있다. 그러나, CAN은 개발 당시 보안 위협을 상정하지 않아 CAN 메시지 해킹 공격에 취약하다는 문제점이 있다.
이러한 해킹 공격을 탐지하기 위해 IDS(Intrusion Detection System) 기술을 도입하였고, 최근 인공 지능 기술이 발달함에 따라 기계학습 기반의 IDS 연구도 활발히 진행되고 있다. 그러나, 기계 학습은 높은 정확도를 보여줌에도 불구하고 적대적 예제 공격에 취약하다는 단점이 있다. 적대적 예제란 입력 데이터에 아주 작은 잡음(Noise)을 추가하여 입력 데이터에 대한 분류 값이 달라지도록 하는 공격이다.
이에, 차량의 IDS에 대해 적대적 예제를 생성하여 IDS를 회피하고 이를 실제 차량에 주입하여 피지컬 어택(Physical Attack) 할 수 있는 방안이 요구된다. 즉, IDS를 회피할 수 있는 적대적 예제를 만든다 하여도 이를 실제 차량에 주입 시 변조된 잡음은 사라지고 변조로 인해 Arbitration ID나 데이터 필드가 다른 값으로 변할 수 있어 공격 자체의 의미가 사라질 수 있는 바 적대적 예제를 실제 차량에 주입하여 피지컬 어택(Physical Attack) 할 수 있는 방안이 요구된다.
한국등록특허공보 제10-2159136호(2020.09.23)
본 발명은 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 예제를 생성하기 위한 적대적 공격 장치 및 방법을 제공하고자 한다.
본 발명은 적대적 예제를 실제 차량에 주입할 수 있도록 하는 적대적 공격 장치 및 방법을 제공하고자 한다.
한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
개시되는 일 실시예에 따른 적대적 공격 장치는, 복수의 CAN(Controller Area Network) 메시지를 수집하고, 수집한 상기 복수의 CAN 메시지에 기반하여 CAN 메시지 패킷 데이터 셋을 생성하는 데이터 생성 모듈; 상기 CAN 메시지 패킷 데이터 셋 중 일부 CAN 메시지 패킷에 노이즈를 삽입하는 전처리 모듈; 및 상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 생성하는 적대적 공격 생성 모듈을 포함한다.
상기 데이터 생성 모듈은, 수집한 상기 복수의 CAN 메시지에서 Arbitration Field 중 ID를 추출하고, Control Field 중 DLC(Data Length Code)를 추출하며, Data Field의 Data를 추출하며, 상기 추출한 정보에 각 CAN 메시지의 타임 스탬프 및 각 CAN 메시지에 대한 유형 정보를 추가하여 CAN 메시지 패킷을 생성하고, 생성된 CAN 메시지 패킷을 집합하여 상기 CAN 메시지 패킷 데이터 셋을 구성할 수 있다.
상기 유형 정보는, 해당 CAN 메시지 패킷이 정상 패킷인지 공격 패킷인지를 나타내는 클래스 정보 및 해당 CAN 메시지 패킷이 공격 패킷인 경우 플러딩 공격(Flooding Attack), 퍼징 공격(Fuzzing Attack), 릴레이 공격(Relay Attack), 및 스푸핑 공격(Spoofing Attack) 중 어느 유형의 공격인지를 나타내는 서브 클래스 정보를 포함할 수 있다.
상기 데이터 생성 모듈은, 상기 CAN 메시지 패킷 데이터 셋에 기반하여 각 CAN 메시지 패킷에 대한 통계 정보를 생성하고, 생성한 상기 통계 정보를 각 CAN 메시지 패킷에 포함시킬 수 있다.
상기 통계 정보는, 상기 CAN 메시지 패킷 데이터 셋에서 해당 패킷과 동일한 Arbitration ID를 갖는 이전 패킷 간의 시간 차이, 해당 패킷과 동일한 Data를 갖는 이전 패킷 간의 시간 차이, 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Arbitration ID를 갖는 패킷의 개수, 및 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Data를 갖는 패킷의 개수 중 하나 이상을 포함할 수 있다.
상기 전처리 모듈은, 상기 CAN 메시지 패킷 데이터 셋에서 각 CAN 메시지 패킷의 유형 정보에 기반하여 노이즈를 삽입할 수 있다.
상기 전처리 모듈은, 상기 유형 정보 중 상기 클래스 정보에 기반하여 해당 CAN 메시지 패킷에 노이즈를 삽입할지 여부를 결정하고, 상기 CAN 메시지 패킷에 노이즈를 삽입하는 것으로 결정한 경우, 상기 유형 정보 중 상기 서브 클래스 정보에 따른 공격 유형에 기반하여 상기 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정할 수 있다.
상기 전처리 모듈은, 상기 공격 유형이 플러딩 공격인 경우, 상기 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입하고, 상기 공격 유형이 퍼징 공격인 경우, 상기 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입하며, 상기 공격 유형이 릴레이 공격인 경우, 상기 CAN 메시지 패킷 중 통계 정보에만 노이즈를 삽입하고, 상기 공격 유형이 스푸핑 공격인 경우, 상기 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입하되, 상기 Data 중 일부에만 노이즈를 삽입할 수 있다.
상기 적대적 공격 생성 모듈은, 상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 적대적 CAN 메시지를 생성하도록 학습되는 생성자(Generator); 상기 생성자가 출력하는 상기 적대적 CAN 메시지 및 상기 CAN 메시지 패킷 데이터 셋 중 정상적인 CAN 메시지 패킷을 각각 입력 받고, 상기 적대적 CAN 메시지 및 상기 정상적인 CAN 메시지 패킷에 대한 분류 결과를 라벨링하는 IDS; 및 상기 생성자가 출력하는 상기 적대적 CAN 메시지 및 상기 CAN 메시지 패킷 데이터 셋 중 정상적인 CAN 메시지 패킷을 각각 입력 받고, 상기 IDS의 라벨링 된 분류 결과에 기반하여 상기 적대적 CAN 메시지 및 상기 정상적인 CAN 메시지 패킷을 공격 또는 정상으로 분류하도록 학습되는 판별자(Discriminator)를 포함할 수 있다.
개시되는 일 실시예에 따른 적대적 공격 방법은, 데이터 생성 모듈에서, 복수의 CAN(Controller Area Network) 메시지를 수집하고, 수집한 상기 복수의 CAN 메시지에 기반하여 CAN 메시지 패킷 데이터 셋을 생성하는 단계; 전처리 모듈에서, 상기 CAN 메시지 패킷 데이터 셋 중 일부 CAN 메시지 패킷에 노이즈를 삽입하는 단계; 및 적대적 공격 생성 모듈에서, 상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 생성하는 단계를 포함한다.
개시되는 실시예에 의하면, CAN 메시지 패킷에 노이즈를 추가하여 인공 신경망을 통해 적대적 CAN 메시지를 생성함으로써 차량의 IDS(Intrusion Detection System)를 회피할 수 있게 된다. 또한, CAN 메시지 패킷 중 공격 유형에 따라 공격 기능과 상관이 없는 일부 데이터만을 추출하여 변조(노이즈 삽입)함으로써, 적대적 CAN 메시지를 실제 차량에 주입하여도 공격의 의미가 사라지지 않도록 할 수 있게 된다. 또한, 적대적 CAN 메시지를 다시 원래의 CAN 메시지 패킷의 형태로 복원하여 실제 차량에 주입하도록 함으로써, 실제 차량에 대해 피지컬 어택(Physical Attack)이 가능하게 된다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 차량의 CAN(Controller Area Network)에 대한 적대적 공격 장치의 구성을 나타낸 블록도이다.
도 2는 CAN 메시지의 프레임 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 CAN 메시지 패킷 데이터 셋을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에서 플러딩 공격에 따른 피쳐 중요도를 나타낸 그래프이다.
도 5는 본 발명의 일 실시예에서 퍼징 공격에 따른 피쳐 중요도를 나타낸 그래프이다.
도 6은 본 발명의 일 실시예에서 릴레이 공격에 따른 피쳐 중요도를 나타낸 그래프이다.
도 7은 본 발명의 일 실시예에서 스푸핑 공격에 따른 피쳐 중요도를 나타낸 그래프이다.
도 8은 본 발명의 일 실시예에 따른 적대적 공격 생성 모듈의 구성을 나타낸 도면이다.
도 9는 본 발명의 다른 실시예에 따른 적대적 공격 생성 모듈(106)의 구성을 나타낸 도면이다.
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
이하, 본 발명의 실시 예를 첨부된 도면들을 참조하여 더욱 상세하게 설명한다. 본 발명의 실시 예는 여러 가지 형태로 변형할 수 있으며, 본 발명의 범위가 아래의 실시 예들로 한정되는 것으로 해석되어서는 안 된다. 본 실시 예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이다. 따라서 도면에서의 요소의 형상은 보다 명확한 설명을 강조하기 위해 과장되었다.
본 발명이 해결하고자 하는 과제의 해결 방안을 명확하게 하기 위한 발명의 구성을 본 발명의 바람직한 실시 예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명 시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다.
도 1은 본 발명의 일 실시예에 따른 차량의 CAN(Controller Area Network)에 대한 적대적 공격 장치의 구성을 나타낸 블록도이다.
도 1을 참조하면, 적대적 공격 장치(100)는 데이터 생성 모듈(102), 전처리 모듈(104), 및 적대적 공격 생성 모듈(106)을 포함할 수 있다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 "모듈"은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아니다.
예시적인 실시예에서, 적대적 공격 장치(100)는 차량에서 ECU(Electronic Control Unit) 상호 간 내부 통신을 위한 CAN(Controller Area Network) 메시지 패킷에 노이즈를 추가하여 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 인공 신경망을 통해 생성하고, 적대적 CAN 메시지를 리패킷 하여 실제 차량에 주입함으로써 피지컬 공격(Physical Attack)이 가능하도록 할 수 있다.
데이터 생성 모듈(102)은 차량의 CAN에 대한 적대적 공격을 위해 CAN 메시지 패킷 데이터 셋을 생성할 수 있다. 또한, 데이터 생성 모듈(102)은 CAN 메시지 패킷 데이터 셋에 대한 통계 정보를 생성할 수 있다.
구체적으로, 데이터 생성 모듈(102)은 복수의 CAN 메시지를 수집할 수 있다. 예를 들어, 데이터 생성 모듈(102)은 여러 차량에서 사용되었던 CAN 메시지를 수집할 수 있다. 이때, 데이터 생성 모듈(102)은 각 CAN 메시지의 타임 스탬프(해당 CAN 메시지가 로깅되는 시간)도 획득할 수 있다. 데이터 생성 모듈(102)은 수집한 CAN 메시지에서 적대적 공격을 위해 필요한 정보를 추출할 수 있다.
도 2는 CAN 메시지의 프레임 구조를 나타낸 도면이다.
도 2를 참조하면, SOF(Start of Frame)는 메시지의 처음을 지시하고, Arbitration Field는 11비트의 ID와 1비트의 RTR(Remote Transmission Request)로 구성된다. 이때, ID는 메시지의 우선순위를 지정하고, RTR은 리모트 프레임인지 데이터 프레임인지 결정하는데 사용된다.
Control Field는 데이터 길이(Bytes 수)를 알려주는 DLC(Data Length Code)를 포함한다. Data Field는 실제 정보가 저장된 부분으로 8Bytes까지 데이터를 저장할 수 있다. CRC(Cyclic Redundancy Check) Field는 메시지 에러 유무를 검사하는데 사용하고, ACK(Acknowledgement) Field는 전송 노드에서 ACK 비트 유무를 확인하고 없을 시 재전송을 하도록 하는데 사용되며, EOF(End of Frame)은 메시지의 끝을 알려주는 역할을 한다.
여기서, 데이터 생성 모듈(102)은 수집한 CAN 메시지에서 Arbitration Field 중 ID를 추출하고, Control Field 중 DLC(Data Length Code)를 추출하며, Data Field의 Data를 추출할 수 있다. 데이터 생성 모듈(102)은 CAN 메시지에서 추출한 정보, 각 CAN 메시지의 타임 스탬프, 및 해당 CAN 메시지에 대한 유형 정보를 추가하여 CAN 메시지 패킷을 생성할 수 있다.
여기서, CAN 메시지에 대한 유형 정보는 해당 CAN 메시지 패킷이 정상 패킷인지 공격 패킷(즉, 적대적 공격을 위한 패킷)인지를 나타내는 클래스(Class) 정보 및 해당 CAN 메시지가 공격인 경우, 어떤 유형의 공격인지를 나타내는 서브 클래스(Sub class) 정보를 포함할 수 있다. 이때, 공격 유형은 플러딩 공격(Flooding Attack), 퍼징 공격(Fuzzing Attack), 릴레이 공격(Relay Attack), 및 스푸핑 공격(Spoofing Attack)이 있을 수 있다.
도 3은 본 발명의 일 실시예에 따른 CAN 메시지 패킷 데이터 셋을 나타낸 도면이다.
도 3을 참조하면, 각 CAN 메시지 패킷은 타임 스탬프(Time Stamp), Arbitration ID, DLC(Data Length Code), Data(즉, Data Field에서 추출), Class, 및 Sub class로 구성될 수 있다. CAN 메시지 패킷 데이터 셋은 CAN 메시지 패킷들의 집합을 의미할 수 있다.
데이터 생성 모듈(102)은 CAN 메시지 패킷 데이터 셋에 기반하여 각 CAN 메시지 패킷에 대한 통계 정보를 생성할 수 있다. 데이터 생성 모듈(102)은 각 CAN 메시지 패킷에 상기 통계 정보를 포함시킬 수 있다. 데이터 생성 모듈(102)은 각 패킷의 통계 정보가 포함된 CAN 메시지 패킷 데이터 셋을 전처리 모듈(104)로 전달할 수 있다.
예시적인 실시예에서, 통계 정보는 CAN 메시지 패킷 데이터 셋에서 해당 패킷과 동일한 Arbitration ID를 갖는 이전 패킷 간의 시간 차이, 해당 패킷과 동일한 Data를 갖는 이전 패킷 간의 시간 차이, CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Arbitration ID를 갖는 패킷의 개수, 및 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Data를 갖는 패킷의 개수를 포함할 수 있다.
전처리 모듈(104)은 CAN 메시지 패킷 데이터 셋에 대해 전처리를 수행할 수 있다. 전처리 모듈(104)은 데이터 변환부(104a) 및 노이즈 삽입부(104b)를 포함할 수 있다.
데이터 변환부(104a)는 CAN 메시지 패킷 데이터 셋의 각 CAN 메시지 패킷을 적대적 공격 생성 모듈(106)에서 사용 가능한 형태로 변환할 수 있다. 예를 들어, 데이터 변환부(104a)는 CAN 메시지 패킷에서 Arbitration ID는 원-핫 인코딩(One-Hot Encoding)을 통해 데이터 변환할 수 있다. 즉, Arbitration ID는 16진수로 이루어져 있는데 이를 원-핫 인코딩(One-Hot Encoding)을 통해 0과 1의 이진수로 변환할 수 있다. 원-핫 인코딩은 특정 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 벡터 표현 방식이다. 데이터 변환부(104a)는 CAN 메시지 패킷에서 Arbitration ID의 숫자에 해당하는 자리는 1을 부여하고, 나머지 자리에는 0을 부여하여 이진수로 변환할 수 있다.
데이터 변환부(104a)는 CAN 메시지 패킷에서 Data는 바이트를 비트로 변환할 수 있다. 즉, CAN 메시지 패킷에서 Data는 8 바이트로 이루어져 있는데, 이를 비트 형태인 이진수로 변환하여 64개(8 바이트 = 64 비트)의 0과 1의 데이터로 변환할 수 있다.
또한, 데이터 변환부(104a)는 통계 정보는 기 설정된 구간의 값으로 스케일링하여 데이터 변환할 수 있다. 예를 들어, 데이터 변환부(104a)는 Min-Max Scaler를 통해 통계 정보를 0과 1 사이의 값으로 데이터 변환할 수 있다. 데이터 변환부(104a)는 다음의 수학식 1을 통해 통계 정보를 0과 1 사이의 값으로 스케일링 할 수 있다.
(수학식 1)
x : 각 통계 정보
min(x) : 통계 정보 중 최소 값
max(x) : 통계 정보 중 최대 값
노이즈 삽입부(104b)는 CAN 메시지 패킷 데이터 셋에서 각 CAN 메시지 패킷의 유형 정보에 기반하여 노이즈(Noise)를 삽입할 수 있다. 여기서, 노이즈는 CAN에 대한 적대적 공격 예제의 생성을 위해 삽입되는 것이다.
구체적으로, 노이즈 삽입부(104b)는 각 CAN 메시지 패킷의 유형 정보 중 클래스 정보에 기반하여 해당 CAN 메시지 패킷에 노이즈를 삽입할지 여부를 결정할 수 있다. 노이즈 삽입부(104b)는 CAN 메시지 패킷의 유형 정보 중 클래스 정보가 "공격"인 경우 해당 CAN 메시지 패킷에 노이즈를 삽입하고, CAN 메시지 패킷의 유형 정보 중 클래스 정보가 "정상"인 경우 해당 CAN 메시지 패킷에 노이즈를 삽입하지 않을 수 있다. 예를 들어, 노이즈 삽입부(104b)는 클래스 정보가 공격인 CAN 메시지 패킷에 0과 1 사이의 노이즈를 삽입할 수 있다.
또한, 노이즈 삽입부(104b)는 CAN 메시지 패킷에 노이즈를 삽입하는 경우(즉, 클래스 정보가 "공격"인 경우), CAN 메시지 패킷의 유형 정보 중 서브 클래스 정보에 기반하여 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정할 수 있다. 즉, 노이즈 삽입부(104b)는 서브 클래스 정보에 따른 공격 유형에 따라 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정할 수 있다.
다시 말하면, 적대적 공격 생성 모듈(106)을 통해 적대적 CAN 메시지가 생성되더라도, 이를 실제 차량에 주입하는 경우 잡음이 사라져 공격의 의미가 없어질 수 있으므로, CAN 메시지 패킷 중 적대적 공격의 기능과 상관없다고 판단되는 피쳐를 선택하여 노이즈를 삽입할 수 있다.
예시적인 실시예에서, 노이즈 삽입부(104b)는 서브 클래스 정보에 포함된 공격 유형에 대한 피쳐 중요도(Feature Importance)에 따라 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정할 수 있다. 여기서, 피쳐 중요도는 차량의 IDS(Intrusion Detection System)에 사용되는 기계 학습 모델의 예측 결과에 CAN 메시지 패킷에 포함된 각 피쳐(예를 들어, Arbitration ID, Data, 및 각 통계 정보 등)가 기여하는 정도를 나타낼 수 있다.
도 4는 본 발명의 일 실시예에서 플러딩 공격에 따른 피쳐 중요도를 나타낸 그래프이다. 플러딩 공격(Flooding Attack)은 우선 순위가 높은 Arbitration ID를 대량으로 전송하는 공격이므로, 각 피쳐 중 Arbitration ID 및 통계 정보가 높은 피쳐 중요도를 나타낸다. 여기서, 통계 정보는 변조하여도(즉, 노이즈를 삽입하여도) 공격의 의미가 사라지는 것은 아니기 때문에, 노이즈를 삽입하는 것으로 한다. 이에, 노이즈 삽입부(104b)는 공격 유형이 플러딩 공격인 경우 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data(즉, Data Field에서 추출한 데이터) 및 통계 정보에 노이즈를 삽입할 수 있다.
도 5는 본 발명의 일 실시예에서 퍼징 공격에 따른 피쳐 중요도를 나타낸 그래프이다. 퍼징 공격(Fuzzing Attack)은 임의로 선택한 Arbitration ID에 무작위 Data를 주입하는 공격이므로, 각 피쳐 중 Data와 통계 정보가 높은 피쳐 중요도를 나타낸다. 그러나, Data가 피쳐 중요도가 높다 하여도 퍼징 공격은 무작위 Data를 주입하여 공격하는 것이어서 Data를 변조해도 퍼징 공격이 다른 공격으로 변경되지 않는다. 이에, 노이즈 삽입부(104b)는 공격 유형이 퍼징 공격인 경우 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입할 수 있다.
도 6은 본 발명의 일 실시예에서 릴레이 공격에 따른 피쳐 중요도를 나타낸 그래프이다. 릴레이 공격(Relay Attack)은 정상 CAN 메시지 패킷을 일정 시간 동안 추출한 후 다시 주입하는 공격이며, 각 피쳐 중 통계 정보가 높은 피쳐 중요도를 나타낸다. 릴레이 공격은 다른 공격과는 다르게 Arbitration ID나 Data가 변조된다면 릴레이 공격의 의미가 사라질 수 있다는 한계점이 존재하므로, 노이즈 삽입부(104b)는 공격 유형이 릴레이 공격인 경우 CAN 메시지 패킷 중 통계 정보에만 노이즈를 삽입할 수 있다.
도 7은 본 발명의 일 실시예에서 스푸핑 공격에 따른 피쳐 중요도를 나타낸 그래프이다. 스푸핑 공격(Spoofing Attack)은 공격자가 임의로 선택한 Arbitration ID에 원하는 공격이 발생할 수 있도록 Data를 조작하여 주입하는 공격으로, 각 피쳐 중 Arbitration ID, Data, 및 통계 정보 등 다양한 피처들이 높은 피쳐 중요도를 나타낸다. 노이즈 삽입부(104b)는 공격 유형이 스푸핑 공격인 경우 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입할 수 있다. 다만, Data 전체에 노이즈를 삽입하면 공격자가 원하는 공격의 기능이 발생하지 않을 수 있으므로, Data의 8 바이트 중에서 공격 기능을 가지는 부분을 제외한 나머지 부분만 선택하여 노이즈를 삽입할 수 있다.
이와 같이, 서브 클래스 정보에 포함된 공격 유형에 대한 피쳐 중요도(Feature Importance)에 따라 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정함으로써, 적대적 공격 예제가 생성된 후 실제 차량에 주입할 때 공격의 의미가 사라지는 것을 방지하고 공격자가 원하는 공격이 발현될 수 있도록 할 수 있게 된다.
적대적 공격 생성 모듈(106)은 전처리 모듈(104)로부터 CAN메시지 중 노이즈가 삽입된 피처를 입력 받아 적대적 CAN 피처를 생성하고 노이즈가 삽입되지 않은 원본 CAN 피처와 합쳐 적대적 CAN 메시지를 생성한다.
도 8은 본 발명의 일 실시예에 따른 적대적 공격 생성 모듈(106)의 구성을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 적대적 공격 생성 모듈(106)의 구성을 나타낸 도면이다.
도 8을 참조하면, 적대적 공격 생성 모듈(106)은 생성자(Generator)(106a) 및 판별자(Discriminator)(106b)를 포함할 수 있다. 적대적 공격 생성 모듈(106)은 생성적 적대 신경망(Generative Adversarial Network)으로서 생성자(Generator)(106a) 및 판별자(Discriminator)(106b)를 포함할 수 있다.
생성자(Generator)(106a)는 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 적대적(adversarial) CAN 메시지를 생성하도록 학습되는 인공 신경망일 수 있다. 예를 들어, 생성자(106a)는 5층 신경망 구조를 가지며 각 층에 ReLU 활성화 함수를 사용할 수 있으나, 그 신경망 구조가 이에 한정되는 것은 아니다. 여기서, 적대적 CAN 메시지는 정상적인 CAN 메시지 패킷인 것처럼 보이나 실제로는 노이즈를 포함하고 있는 것으로, IDS(111)를 회피하여 적대적 공격을 하기 위한 것이다.
여기서, 생성자(106a)가 출력하는 적대적 CAN 메시지는 IDS(Intrusion Detection System)(111)로 입력될 수 있다. 또한, CAN 메시지 패킷 데이터 셋 중 정상적인 CAN 메시지 패킷이 IDS(111)로 입력될 수 있다. IDS(111)는 입력되는 적대적 CAN 메시지 및 정상적인 CAN 메시지 패킷이 공격인지 정상인지(즉, 공격을 위한 메시지인지 정상적인 메시지인지) 여부를 분류할 수 있다. IDS(111)는 입력되는 적대적 CAN 메시지 및 정상적인 CAN 메시지 패킷에 대한 분류 결과를 라벨링 할 수 있다.
이때, IDS(111)는 정상적인 CAN 메시지 패킷은 정상으로 분류하게 되고, 적대적 CAN 메시지는 학습 초기에는 공격으로 분류할 확률이 높으나 학습이 진행될수록(즉, 생성자(106a)가 정상적인 CAN 메시지 패킷와 더욱 유사한 적대적 CAN 메시지를 생성할수록) 정상으로 분류할 확률이 높아지게 된다. IDS(111)는 라벨링 된 분류 결과를 판별자(106b)로 전달할 수 있다.
판별자(Discriminator)(106b)는 생성자(106a)가 출력하는 적대적 CAN 메시지 및 CAN 메시지 패킷 데이터 셋 중 정상적인 CAN 메시지 패킷을 각각 입력 받을 수 있다. 판별자(106b)는 IDS(111)로부터 전달받은 라벨링 된 분류 결과를 정답 값으로 하여 적대적 CAN 메시지 및 정상적인 CAN 메시지 패킷을 공격 또는 정상으로 분류하도록 학습되는 인공 신경망일 수 있다. 예를 들어, 판별자(106b)는 5층 신경망으로 이루어지고, 각 층은 LeakyReLU 활성화 함수를 사용할 수 있으나, 그 신경망 구조가 이에 한정되는 것은 아니다.
여기서, 판별자(106b)의 손실 함수(LD)는 하기의 수학식 2로 나타낼 수 있다. 판별자(106b)는 하기의 손실 함수(LD)가 최소화되도록 학습될 수 있다.
(수학식 2)
S : 판별자(106b)에 입력되는 적대적 CAN 메시지 및 정상적인 CAN 메시지 패킷
D : 판별자(106b)를 구성하는 인공 신경망
: 학습 데이터 셋 중 IDS(111)에서 정상으로 분류한 평균 확률 값
: 학습 데이터 셋 중 IDS(111)에서 공격으로 분류한 평균 확률 값
또한, 생성자(106a)의 손실 함수(LG)는 하기의 수학식 3으로 나타낼 수 있다. 생성자(106a)는 하기의 손실 함수(LG)가 최소화 되도록 학습될 수 있다.
(수학식 3)
M : 노이즈가 삽입된 CAN 메시지 패킷
N : 노이즈
G : 생성자(106a)를 구성하는 인공 신경망
D : 판별자(106b)를 구성하는 인공 신경망
수학식 1 및 수학식 2에 의하면, 생성자(106a)는 판별자(106b)에서 정상으로 분류하는 것과 공격으로 분류하는 것의 차이가 최소화되도록 학습될 수 있다. 즉, 생성자(106a)는 생성자(106a)에서 출력하는 적대적 CAN 메시지가 IDS(111)에서 공격이 아닌 최대한 정상으로 분류되도록 학습될 수 있다.
한편, 생성자(106a)에서 출력하는 적대적 CAN 메시지는 노이즈(예를 들어, 0과 1 사이의 값)를 포함하는 실수 형태의 데이터이므로, 생성자(106a)에서 출력하는 적대적 CAN 메시지를 그대로 차량에 주입하게 되면, 잡음이 사라져 변조한 의미가 사라지거나 원래의 공격이 아닌 다른 공격이 되어 원본 공격의 의미가 달라질 수 있게 된다.
이에 개시되는 실시예에서는, 생성자(106a)에서 출력하는 적대적 CAN 메시지를 차량에 주입할 수 있도록 원래의 CAN 메시지 패킷의 형태로 복원하도록 할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 적대적 공격 생성 모듈(106)의 구성을 나타낸 도면이다. 여기서는 설명의 편의상 적대적 CAN 메시지를 원래의 CAN 메시지 패킷의 형태로 복원하는데 필요한 구성만을 도시하였다. 도 9를 참조하면, 적대적 공격 생성 모듈(106)은 리패킷(Re-Packet)부(113)를 더 포함할 수 있다.
리패킷부(113)는 생성자(106a)에서 출력하는 적대적 CAN 메시지를 원래의 CAN 메시지 패킷의 형태로 복원할 수 있다. 리패킷부(113)는 제1 리패킷부(113-1) 및 제2 리패킷부(113-2)를 포함할 수 있다.
제1 리패킷부(113-1)는 적대적 CAN 메시지에서 Arbitration ID 및 Data를 정수 형태로 복원할 수 있다. 예를 들어, 제1 리패킷부(113-1)는 적대적 CAN 메시지에서 Arbitration ID 및 Data를 하기의 수학식 4를 통해 정수 형태로 복원할 수 있다.
(수학식 4)
x : Arbitration ID 또는 Data 값
[x] : 반올림 함수
즉, 적대적 공격 생성 모듈(106)에 입력되기 전의 CAN 메시지 패킷에서 Arbitration ID는 원 핫 인코딩으로 표현되어 있고, Data는 0과 1의 비트로 표현되어 있으므로, 상기 수학식 4를 통해 실수 형태의 Arbitration ID 및 Data를 0과 1의 정수 형태로 복원할 수 있다.
제2 리패킷부(113-2)는 적대적 CAN 메시지에서 통계 정보를 원래 값으로 복원할 수 있다. 즉, 적대적 공격 생성 모듈(106)에 입력되기 전의 CAN 메시지 패킷에서 통계 정보는 Min-Max Scaler를 통해 0과 1 사이의 값으로 변환되었으므로, 이를 원래 스케일의 값으로 복원할 수 있다.
제2 리패킷부(113-2)는 하기의 수학식 5를 통해 적대적 CAN 메시지에서 통계 정보를 원래 스케일의 값으로 복원할 수 있다. 즉, 제2 리패킷부(113-2)는 Min-Max Scaler의 역(inverse)을 취하여 통계 정보를 원래 스케일의 값으로 복원할 수 있다.
(수학식 5)
한편, 통계 정보의 경우, 원래 스케일의 값으로 복원하였을 때, 복원한 통계 정보의 값이 원래 값과 일치하지 않을 수 있다. 예를 들어, 적대적 CAN 메시지와 동일한 Arbitration ID를 갖는 이전 패킷 간의 시간 차이 또는 적대적 CAN 메시지와 동일한 Arbitration ID를 갖는 패킷의 개수 등이 일치하지 않을 수 있다.
따라서, 적대적 공격 장치(100)는 CAN 메시지 패킷 데이터 셋에서 클래스가 "공격"인 CAN 메시지 패킷과 동일한 Arbitration ID를 갖는 클래스가 "정상"인 CAN 메시지 패킷의 각 통계 정보의 평균(정상 패킷의 통계 정보 평균)을 구한 후, 생성자(106a)에서 출력하는 적대적 CAN 메시지의 통계 정보가 정상 패킷의 통계 정보 평균에 수렴하도록 하여 상기 복원 시 통계 정보의 값이 불일치 되는 것을 극복할 수 있다.
개시되는 실시예에 의하면, CAN 메시지 패킷에 노이즈를 추가하여 인공 신경망을 통해 적대적 CAN 메시지를 생성함으로써 차량의 IDS(Intrusion Detection System)를 회피할 수 있게 된다. 또한, CAN 메시지 패킷 중 공격 유형에 따라 공격 기능과 상관이 없는 일부 데이터만을 추출하여 변조(노이즈 삽입)함으로써, 적대적 CAN 메시지를 실제 차량에 주입하여도 공격의 의미가 사라지지 않도록 할 수 있게 된다. 또한, 적대적 CAN 메시지를 다시 원래의 CAN 메시지 패킷의 형태로 복원하여 실제 차량에 주입하도록 함으로써, 실제 차량에 대해 피지컬 어택(Physical Attack)이 가능하게 된다.
도 10은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 적대적 공격 장치(100)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내어 설명하는 것이며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위내에서 변경 또는 수정이 가능하다. 저술한 실시예는 본 발명의 기술적 사상을 구현하기 위한 최선의 상태를 설명하는 것이며, 본 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.
10 : 컴퓨팅 환경
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스
100 : 적대적 공격 장치
102 : 데이터 생성 모듈
104 : 전처리 모듈
104a : 데이터 변환부
104b : 노이즈 삽입부
106 : 적대적 공격 생성 모듈
106a : 생성자
106b : 판별자
111 : ids
113 : 리패킷부
113-1 : 제1 리패킷부
113-2 : 제2 리패킷부

Claims (10)

  1. 복수의 CAN(Controller Area Network) 메시지를 수집하고, 수집한 상기 복수의 CAN 메시지에 기반하여 CAN 메시지 패킷 데이터 셋을 생성하는 데이터 생성 모듈;
    상기 CAN 메시지 패킷 데이터 셋 중 일부 CAN 메시지 패킷에 노이즈를 삽입하는 전처리 모듈; 및
    상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 생성하는 적대적 공격 생성 모듈을 포함하고,
    상기 데이터 생성 모듈은:
    수집한 상기 복수의 CAN 메시지에서 Arbitration Field 중 ID를 추출하고, Control Field 중 DLC(Data Length Code)를 추출하며, Data Field의 Data를 추출하며, 추출한 정보에 각 CAN 메시지의 타임 스탬프 및 각 CAN 메시지에 대한 유형 정보를 추가하여 CAN 메시지 패킷을 생성하고, 생성된 CAN 메시지 패킷을 집합하여 상기 CAN 메시지 패킷 데이터 셋을 구성하고; 그리고
    상기 CAN 메시지 패킷 데이터 셋에 기반하여 각 CAN 메시지 패킷에 대한 통계 정보를 생성하고, 생성한 상기 통계 정보를 각 CAN 메시지 패킷에 포함시키고,
    상기 통계 정보는,
    상기 CAN 메시지 패킷 데이터 셋에서 해당 패킷과 동일한 Arbitration ID를 갖는 이전 패킷 간의 시간 차이, 해당 패킷과 동일한 Data를 갖는 이전 패킷 간의 시간 차이, 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Arbitration ID를 갖는 패킷의 개수, 및 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Data를 갖는 패킷의 개수 중 하나 이상을 포함하고,
    상기 전처리 모듈은:
    상기 CAN 메시지 패킷 데이터 셋에서 각 CAN 메시지 패킷의 유형 정보에 기반하여 노이즈를 삽입하고; 그리고
    상기 유형 정보 중 클래스 정보에 기반하여 해당 CAN 메시지 패킷에 노이즈를 삽입할지 여부를 결정하고, 상기 CAN 메시지 패킷에 노이즈를 삽입하는 것으로 결정한 경우, 상기 유형 정보 중 서브 클래스 정보에 따른 공격 유형에 기반하여 상기 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정하는, 적대적 공격 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 유형 정보는,
    해당 CAN 메시지 패킷이 정상 패킷인지 공격 패킷인지를 나타내는 클래스 정보 및 해당 CAN 메시지 패킷이 공격 패킷인 경우 플러딩 공격(Flooding Attack), 퍼징 공격(Fuzzing Attack), 릴레이 공격(Relay Attack), 및 스푸핑 공격(Spoofing Attack) 중 어느 유형의 공격인지를 나타내는 서브 클래스 정보를 포함하는, 적대적 공격 장치.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 청구항 1에 있어서,
    상기 전처리 모듈은,
    상기 공격 유형이 플러딩 공격인 경우, 상기 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입하고,
    상기 공격 유형이 퍼징 공격인 경우, 상기 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입하며,
    상기 공격 유형이 릴레이 공격인 경우, 상기 CAN 메시지 패킷 중 통계 정보에만 노이즈를 삽입하고,
    상기 공격 유형이 스푸핑 공격인 경우, 상기 CAN 메시지 패킷 중 Arbitration ID를 제외한 Data 및 통계 정보에 노이즈를 삽입하되, 상기 Data 중 일부에만 노이즈를 삽입하는, 적대적 공격 장치.
  9. 복수의 CAN(Controller Area Network) 메시지를 수집하고, 수집한 상기 복수의 CAN 메시지에 기반하여 CAN 메시지 패킷 데이터 셋을 생성하는 데이터 생성 모듈;
    상기 CAN 메시지 패킷 데이터 셋 중 일부 CAN 메시지 패킷에 노이즈를 삽입하는 전처리 모듈; 및
    상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 생성하는 적대적 공격 생성 모듈을 포함하고,
    상기 데이터 생성 모듈은,
    수집한 상기 복수의 CAN 메시지에서 Arbitration Field 중 ID를 추출하고, Control Field 중 DLC(Data Length Code)를 추출하며, Data Field의 Data를 추출하며, 추출한 정보에 각 CAN 메시지의 타임 스탬프 및 각 CAN 메시지에 대한 유형 정보를 추가하여 CAN 메시지 패킷을 생성하고, 생성된 CAN 메시지 패킷을 집합하여 상기 CAN 메시지 패킷 데이터 셋을 구성하고,
    상기 데이터 생성 모듈은,
    상기 CAN 메시지 패킷 데이터 셋에 기반하여 각 CAN 메시지 패킷에 대한 통계 정보를 생성하고, 생성한 상기 통계 정보를 각 CAN 메시지 패킷에 포함시키고,
    상기 통계 정보는,
    상기 CAN 메시지 패킷 데이터 셋에서 해당 패킷과 동일한 Arbitration ID를 갖는 이전 패킷 간의 시간 차이, 해당 패킷과 동일한 Data를 갖는 이전 패킷 간의 시간 차이, 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Arbitration ID를 갖는 패킷의 개수, 및 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Data를 갖는 패킷의 개수 중 하나 이상을 포함하고,
    상기 전처리 모듈은,
    상기 CAN 메시지 패킷 데이터 셋에서 각 CAN 메시지 패킷의 유형 정보에 기반하여 노이즈를 삽입하고,
    상기 적대적 공격 생성 모듈은,
    상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 적대적 CAN 메시지를 생성하도록 학습되는 생성자(Generator);
    상기 생성자가 출력하는 상기 적대적 CAN 메시지 및 상기 CAN 메시지 패킷 데이터 셋 중 정상적인 CAN 메시지 패킷을 각각 입력 받고, 상기 적대적 CAN 메시지 및 상기 정상적인 CAN 메시지 패킷에 대한 분류 결과를 라벨링하는 IDS; 및
    상기 생성자가 출력하는 상기 적대적 CAN 메시지 및 상기 CAN 메시지 패킷 데이터 셋 중 정상적인 CAN 메시지 패킷을 각각 입력 받고, 상기 IDS의 라벨링 된 분류 결과에 기반하여 상기 적대적 CAN 메시지 및 상기 정상적인 CAN 메시지 패킷을 공격 또는 정상으로 분류하도록 학습되는 판별자(Discriminator)를 포함하는, 적대적 공격 장치.
  10. 데이터 생성 모듈에서, 복수의 CAN(Controller Area Network) 메시지를 수집하고, 수집한 상기 복수의 CAN 메시지에 기반하여 CAN 메시지 패킷 데이터 셋을 생성하는 단계;
    전처리 모듈에서, 상기 CAN 메시지 패킷 데이터 셋 중 일부 CAN 메시지 패킷에 노이즈를 삽입하는 단계;
    적대적 공격 생성 모듈에서, 상기 노이즈가 삽입된 CAN 메시지 패킷을 입력 받아 차량의 IDS(Intrusion Detection System)를 회피할 수 있는 적대적 CAN 메시지를 생성하는 단계;
    상기 데이터 생성 모듈에서, 수집한 상기 복수의 CAN 메시지에서 Arbitration Field 중 ID를 추출하고, Control Field 중 DLC(Data Length Code)를 추출하며, Data Field의 Data를 추출하며, 추출한 정보에 각 CAN 메시지의 타임 스탬프 및 각 CAN 메시지에 대한 유형 정보를 추가하여 CAN 메시지 패킷을 생성하고, 생성된 CAN 메시지 패킷을 집합하여 상기 CAN 메시지 패킷 데이터 셋을 구성하는 단계; 및
    상기 데이터 생성 모듈에서, 상기 CAN 메시지 패킷 데이터 셋에 기반하여 각 CAN 메시지 패킷에 대한 통계 정보를 생성하고, 생성한 상기 통계 정보를 각 CAN 메시지 패킷에 포함시키는 단계를 포함하고,
    상기 통계 정보는,
    상기 CAN 메시지 패킷 데이터 셋에서 해당 패킷과 동일한 Arbitration ID를 갖는 이전 패킷 간의 시간 차이, 해당 패킷과 동일한 Data를 갖는 이전 패킷 간의 시간 차이, 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Arbitration ID를 갖는 패킷의 개수, 및 상기 CAN 메시지 패킷 데이터 셋 중 해당 패킷과 동일한 Data를 갖는 패킷의 개수 중 하나 이상을 포함하고,
    상기 전처리 모듈에서, 상기 CAN 메시지 패킷 데이터 셋에서 각 CAN 메시지 패킷의 유형 정보에 기반하여 노이즈를 삽입하는 단계; 및
    상기 전처리 모듈에서, 상기 유형 정보 중 클래스 정보에 기반하여 해당 CAN 메시지 패킷에 노이즈를 삽입할지 여부를 결정하고, 상기 CAN 메시지 패킷에 노이즈를 삽입하는 것으로 결정한 경우, 상기 유형 정보 중 서브 클래스 정보에 따른 공격 유형에 기반하여 상기 CAN 메시지 패킷 중 어떤 부분에 노이즈를 삽입할지를 결정하는 단계를 더 포함하는, 적대적 공격 방법.
KR1020210183721A 2021-12-21 2021-12-21 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법 KR102615515B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210183721A KR102615515B1 (ko) 2021-12-21 2021-12-21 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법
PCT/KR2022/020543 WO2023121148A1 (ko) 2021-12-21 2022-12-16 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210183721A KR102615515B1 (ko) 2021-12-21 2021-12-21 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230094501A KR20230094501A (ko) 2023-06-28
KR102615515B1 true KR102615515B1 (ko) 2023-12-19

Family

ID=86903316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210183721A KR102615515B1 (ko) 2021-12-21 2021-12-21 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102615515B1 (ko)
WO (1) WO2023121148A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026455B1 (ko) * 2018-08-20 2019-09-27 (주)에이치씨인포 Can 데이터 분석 시스템 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11044260B2 (en) * 2016-04-01 2021-06-22 The Regents Of The University Of Michigan Fingerprinting electronic control units for vehicle intrusion detection
KR101966345B1 (ko) * 2017-06-30 2019-04-08 주식회사 페스카로 Can 통신 기반 우회 공격 탐지 방법 및 시스템
KR102149132B1 (ko) * 2017-11-28 2020-08-31 공주대학교 산학협력단 딥 러닝 환경에서의 적대적 예제 생성 장치 및 방법, 컴퓨터 프로그램
KR102159136B1 (ko) 2018-08-20 2020-09-23 (주)에이치씨인포 비정상 can 데이터 탐지 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026455B1 (ko) * 2018-08-20 2019-09-27 (주)에이치씨인포 Can 데이터 분석 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Eunbl Seo, et al., GIDS: GAN based Intrusion Detection System for In-Vehicle Network, 2018.08.28*
Zilong Lin, at al., IDSGAN: Generative Adversarial Networks for Attack Generation against Intrusion Detection, 2021.04*

Also Published As

Publication number Publication date
KR20230094501A (ko) 2023-06-28
WO2023121148A1 (ko) 2023-06-29

Similar Documents

Publication Publication Date Title
Olufowobi et al. Saiducant: Specification-based automotive intrusion detection using controller area network (can) timing
US9705678B1 (en) Fast CAN message authentication for vehicular systems
Jaskolka et al. Exploring covert channels
Zhao et al. CAN bus intrusion detection based on auxiliary classifier GAN and out-of-distribution detection
CN113111359A (zh) 基于信息安防的大数据资源共享方法及资源共享系统
CN111464513A (zh) 数据检测方法、装置、服务器及存储介质
CN110119621B (zh) 异常系统调用的攻击防御方法、系统及防御装置
Rumez et al. Anomaly detection for automotive diagnostic applications based on N-grams
KR102615515B1 (ko) 차량 can의 공격 기능을 고려하는 적대적 피처 선택 장치 및 방법
KR102606999B1 (ko) 차량의 피지컬 어택을 위한 적대적 can 패킷화 장치 및 방법
Rajapaksha et al. Beyond vanilla: Improved autoencoder-based ensemble in-vehicle intrusion detection system
CN112764791B (zh) 一种增量更新的恶意软件检测方法及系统
Shu et al. A formal methodology for network protocol fingerprinting
CN111490992B (zh) 基于数据流量检测及时序特征提取的入侵检测方法及设备
Lee Evaluation of the architecture alternatives for real-time intrusion detection systems for connected vehicles
CN109347640B (zh) 一种基于区块链动态智能合约的数据处理方法及终端
CN108234491A (zh) 协议关联验证方法、装置及电子设备
CN116070191A (zh) 信息处理方法及其装置、存储介质、程序产品
CN114499923B (zh) 一种icmp模拟报文的生成方法及装置
CN115146737B (zh) 匹配模型的建模方法、防护实现方法及相关设备
DeYoung Dynamic protocol reverse engineering a grammatical inference approach
RU135433U1 (ru) Устройство для обнаружения удаленных компьютерных атак в компьютерной сети военного назначения
EP3959659B1 (en) Methods for protecting pattern classification node from malicious requests and related networks and nodes
CN116483408A (zh) 一种固件ota升级方法
Yli-Olli Machine Learning for Secure Vehicular Communication: an Empirical Study

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant