반응형

vECU와 controlpanel, candump, cansend로 Spoofing을 진행해보며, 브레이크 값이 어떤 것인지 찾아내서
변조해보는 시간을 가질 것이다.


스푸핑 하기위해 먼저 vECU와 controlpanel을 실행시켜 준다.


좌측은 vECU를 실행시키고 가운데는 controlPanel실행시키고 우측은 candump를 통해 실시간으로 전달되는 것을 확인한다.



가운데 컨트롤패널에서 숫자를 입력하고 엔터를 하면 해당값이 바뀌는 것을 알 수 있고
11을 입력하면 현재 상태를 확인할 수 있다.



candump를 실행시킨 상태에서 컨트롤패널에서 값을 계속 바꿔준다.
그러면 컨트롤패널에서 데이터값이 candump에 입력이 되고 거기서 값을 유추하여 바꿀 수 있다.


vcandump에서 dump뜬 값을 아래와 같이 엑셀에서 보기좋게 정리를 했다.
그리고 하나씩 어떤 값이 바뀌었는지 찾아낸다.
(전 단계에서 브레이크 값을 찾기위해 지속적으로 break ON,OFF 값을 발생)


찾다보니 ID 306값에서 4번째에서 1과2가 바뀌는 것을 확인할 수 있었다.


위에서 ID 306값이 브레이크를 조작하는 데이터라는 것을 유추할 수 있었으며, 정말 브레이크값을 조작하는 값이 맞는지 확인하기 위해 cansend를 통해서 데이터를 보내봄으로써 확인을 진행할 것이다.
먼저 아래에서 Break Pedal이 ON 인것을 확인한다.


엑셀값에서 찾은 값을 토대로 cansend를 보낸다.
(cansend vcan3 306#7324F00289941A1A)
위의 cansend값에서 01을 보내면 break가 on이 될 것이고 02를 보내면 break가 off가 될 것으로 추측한다.
그래서 위에 빨간색으로 표시한 부분을 임의로 바꿔서 send한다.

그러면 좌측에 Break Pedal이 OFF가 된 것을 확인할 수 있다.


CANDUMP로 ControlPanel에서 데이터값이 넘어가는 것을 확인하고, 거기서 어떤 값이 브레이크를 조작하는지 유추하였고,
그 값을 변조 및 송신하여 검증까지 끝냈다.
차량에서 candump와 cansend를 사용할 수 있다면 악의적인 공격자는 CAN통신을 변조하여 가던 차량의
브레이크가 작동안하게 하거나, 급정거를 발생시킬 수 있다.



반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기