Skip to content

Latest commit

 

History

History
61 lines (38 loc) · 1.6 KB

README.md

File metadata and controls

61 lines (38 loc) · 1.6 KB

Car Analysis (CARAL)

ML based in-car Bus traffic analysis. Using regression based analysis, this tool aims to assist the tester to reverse engineer the bus traffic and find the meaning/origin of the messages, respectively its associated ECU.

Functionality

Add actions simultaneously to real actions triggered in the car. Warning: even though the tool supports infinite actions theoratically, the tool works best for less than 10 actions in one cycle.

Actions

Protocol Support

  • CAN(-FD) (beta)
  • Automotive Ethernet (work-in-progress)
  • FlexRay (TbA)
  • LIN (work-in-progress)

Hardware Support

  • Linux socketcan (beta)
  • PEAK PCAN(-FD) (work-in-progress)
  • EtherBadge (work-in-progress)

Examples

CAN

Config:

caral.py --plot --device socketcan can --iface can0 --id 0x300

Plot: CAN, 30s, 2 actions

30s plot

Plot: CAN, 180s, 5 actions

180s plot

Automotive Ethernet

Config:

caral.py --plot --device etherbadge ae --iface eth1 --ip 192.168.1.4 --protocol udp

Plot: Automotive Ethernet, 52s, 3 actions

52s plot

Third Party Packages

  • keyboard: catch keystrokes from user
  • matplotlib, seaborn: Visualization
  • numpy: Numerical operations, regression analysis
  • pandas: DataFrames
  • scapy: Automotive protocol implementations
  • PCANBasic, PLinApi: PEAK PCAN(-FD) and LIN API