관리 메뉴

TEAM EDA

[정보보호 R&D 2019] 자동차용 침입탐지 분석 본문

EDA Project/정보보호 R&D 데이터 챌린지

[정보보호 R&D 2019] 자동차용 침입탐지 분석

초코 오호힛 2019. 11. 24. 23:02

아래의 자료는 정보보호 R&D 2019 챌린지 [차량 내부 네트워크 탐지]분야에서 진행한 자료입니다. 

1. 개요 

목적 : 정상적인 차량 네트워크에서 차량공격에 대한 침입탐지 

  • 데이터 : SONATA, SOUL에 대한 데이터 셋(fuzzy 공격, malfunction 공격)
  • 요약 : 
    • Rule1 : CANID에 의한 1차 분류. 
    • Rule2 : DataField에 의한 2차 분류. 
    • Tree : Catboost에 의한 분류 
2. 데이터 탐색 

가정 : 공격 메세지의 경우 짧은 시간에 중점적으로 메세지를 보낼 것이다. 
-> 공격 메세지 및 정상 메세지의 경우 구간이 나뉠 것이다.  

특징 : 시간의 간격(DT.max - DT.min)에 따라 공격 메세지 및 정상 메세지가 다른 구간을 보임. 

  • 공격의 경우 window size 1000에서 평균 0.3의 시간간격을 가짐. 
  • 정상의 경우 window size 1000에서 평균 0.45의 시간간격을 가짐. 
  • 시간간격을 통해서 차종의 구분이 가능. 실제로 기아차의 경우 소나타와 모습은 똑같으나 시간간격이 0.4, 0.3x으로 다름. 
  • 이상치의 모습을 DT 90000부근에서 확인가능. 
  • 공격부근의 시간간격에서 진동이 있는 것을 보아서, 공격부근에서 정상도 같이 존재함. 

특징 : 시간의 간격(DT.max - DT.min)에 따라 공격 메세지 및 정상 메세지가 다른 구간을 보임. 

  • 공격과 정상의 경우 구간이 나뉘나 뚜렷한 구분은 없음. 
  • 공격구간에 정상구간이 섞여 있음. 
가정 : CANID 및 DataField에 따라 공격과 정상의 유형이 나뉠 것이다. 

특징 : 대부분의 유형이 클래스를 R또는 T만 가짐. CANID의 경우 50% 정도만 그러한 특징을 가지고 DataField의 경우 99% 이상 그러한 모습을 보임. 

특징

  • 클래스의 갯수가 2인 경우 CANID는 ['0316', '316'] 둘 중에 하나를 가짐. 
  • 0316의 경우 Class는 R, T 둘중에 하나이고 316의 경우 Class는 R만 가짐. 

이러한 Rule이 실제로 Test에 작동하는지 확인. 

  • CANID의 경우 50%가 Train과 Test가 겹침. 
  • DataField의 경우 30%가 Train과 Test가 겹침. 
  • 두가지 방식을 통해서 33%를 채울 수 있지만 67%의 경우 채울 수가 없음. 
3. 모델링 

Rule Based 기반의 모델 
  • CANID가 정상군에 속하면 정상, 공격군에 속하면 공격으로 분류 
  • DataField가 정상군에 속하면 정상, 공격군에 속하면 공격으로 분류 
Tree Based 기반의 모델 
  • Rule로 채울 수 없는 부분을 Tree 모형을 이용해서 분류 
Feature Set 
  • Timestap : minute, second 
  • DataField : 학습이 가능한 형태로 1번부터 8번까지 분할. DataField의 경우 기존과 아예 다른게 아니라 특정 부분만 다른것을 확인할 수 있음. 
  • Window 1000 : 이전 1000개의 신호의 시간 간격 (DT.max - DT.min) 

변수중요도 

4. 결과 

  • 1차의 경우 라벨 실수로 점수가 F1 score가 20%로 낮았으나 2차의 경우 66%정도로 3위였음. 
  • Catboost의 경우 0.81정도로 0.66과 스코어의 차이가 꽤 나는데, 모델의 오버피팅이 의심됨. 

5. 한계 

  • 예선 및 1차의 데이터셋을 활용하지 않았기 때문에 Rule을 작동시에 데이터셋 부족. 
  • Test와 Train의 시간이 겹치므로 window를 계산할 때 합쳐서 계산했어야 했음. 


0 Comments
댓글쓰기 폼