2 분 소요

들어가며

이번 포스팅에서는 차량 네트워크 시뮬레이터인 ICSim을 구축하고 사용하는 방법을 다룰려고 한다. ICSim 자동차 해킹 실습 환경을 위해서 구축 하기도 한다. 왜냐하면 ICSim은 차량 내부의 CAN 네트워크를 시뮬레이션하여 차량 보안 연구에 유용하다. 생각보다 설치 하는 방법도 실행 하는 방법도 간단하다. 따라서 쉽게 따라할수 있을 것이다.

실습 환경

VMware 17과 Ubuntu 24.04.1

의존성 설치

ICSim을 사용하기 전에 필요한 소프트웨어와 라이브러리를 설치해야 한다. 아래 명령어를 터미널에 입력하여 설치를 진행한다.

sudo apt-get install can-utils libsdl2-dev

ICSim 다운로드

다음 명령어로 GitHub에서 ICSim을 클론하여 다운로드 한다.

git clone https://github.com/zombieCraig/ICSim.git

컴파일

다운로드한 ICSim을 컴파일하려면, ICSim 디렉토리로 이동 후 make 명령어를 사용한다.

cd ICSim
make

ICSim 실행

ICSim을 실행하려면 가상 CAN 인터페이스인 vcan0을 사용하여 클러스터 시뮬레이터를 시작한다.

./icsim vcan0

Control 실행

차량 내부에서 CAN 메시지를 조작하거나 시뮬레이션된 차량을 제어하려면 다음 명령어로 Control 프로그램을 실행한다.

./controls vcan0

ICSim 명령어 (controls 프로그램에서)

ICSim의 controls 프로그램을 사용하면 키보드로 차량의 상태를 제어할 수 있따. 아래 테이블은 ICSim의 주요 명령어를 정리한 것이다.

기능
i 시동 켜기/끄기 (Ignition on/off)
w 와이퍼 작동 (Wipers on/off)
t 방향 지시등 작동 (Turn signal on/off)
h 경적 작동 (Honk horn)
l 헤드라이트 켜기/끄기 (Lights on/off)
1 좌측 방향 지시등 켜기 (Left signal)
2 우측 방향 지시등 켜기 (Right signal)
Space 비상등 켜기/끄기 (Hazard lights on/off)
가속 (Accelerate)
/ 좌/우 방향 지시등 (Left/Right Turn Signal)
Right Shift+A/B 앞 좌/우 문 잠금 해제 (Unlock Front L/R Doors)
Right Shift+X/Y 뒤 좌/우 문 잠금 해제 (Unlock Back L/R Doors)
Left Shift+A/B 앞 좌/우 문 잠금 (Lock Front L/R Doors)
Left Shift+X/Y 뒤 좌/우 문 잠금 (Lock Back L/R Doors)
Right Shift + Left Shift 모든 문 잠금 (Lock All Doors)
Left Shift + Right Shift 모든 문 잠금 해제 (Unlock All Doors)

CAN 메시지 모니터링

CAN 메시지를 실시간으로 모니터링하려면 candump 명령어를 사용하한다. 아래 명령어를 통해 vcan0에서 송수신되는 CAN 메시지를 확인할 수 있다.

candump vcan0

이 가이드를 따라하면 ICSim을 성공적으로 설치하고 사용할 수 있다. 다음은 최종적으로 설치하고 실행한 모습이다.


접기/펼치기

Virtual CAN Bus 설정 및 ICSim 트래픽 분석

Block Harbor Cybersecurity와 함께 가상 CAN 버스를 설정하고 ICSim 트래픽을 분석 할 수 있다고 한다. 아래 명령어들을 따라하면 간단하게 가상 CAN 환경을 구축할 수 있다.

Block Harbor 웹사이트: https://blockharbor.io

ICSim GitHub: https://github.com/zombieCraig/ICSim

시스템 업데이트 및 ICSim 클론


sudo apt-get update
sudo apt-get upgrade
git clone https://github.com/zombieCraig/ICSim.git

의존성 설치


sudo apt-get install libsdl2-dev libsdl2-image-dev

가상 CAN 인터페이스 설정


sudo modprobe can
sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

ICSim 실행


cd ICSim
make all
./icsim vcan0

Control 실행 및 CAN 트래픽 분석


./controls vcan0
candump vcan0
cansniffer vcan0

ICSim 리셋 및 시드 기반 제어


./icsim -r vcan0
./controls -s [seed] vcan0
./controls -s [seed] -l 2 vcan0

위 명령어를 따라하면 CAN 버스를 설정하고 ICSim 트래픽을 분석할 수 있다고 한다. 트래픽을 모니터링하며 다양한 공격 시나리오를 공부해 볼 수 있지 않을까 생각한다.

Car Hacking 101: Practical Guide to Exploiting CAN Bus Using Instrument Cluster Simulator - Part I


저의 글을 읽어 주셔서 감사합니다. 작성한 글이 저작권 등에 의해 문제가 있거나 글 자체에 문자가 있다면 바로 삭제하겠습니다. 댓글과 피드백 또한 감사합니다.

연구 목적으로 사용하지 않고 악의적인 목적으로 이용할 시 발생할 수 있는 법적인 책임은 진행한 본인에게 있습니다. 악의적인 목적으로 사용하지 마세요. 본 포스팅 사진에 대한 모든 저작권은 블로그 소유자에게 있습니다.

맨 위로 올라가기

저의 글을 읽어 주셔서 감사합니다. 문제가 있으면 저의 메일로 연락 주시면 감사하겠습니다. 댓글과 피드백 또한 감사합니다.
Thank you for visiting my blog. If you have any problems, please contact me by e-mail. Thanks also for the comments and feedback.

태그: ,

카테고리: ,

업데이트:

댓글남기기