1P by GN⁺ 15시간전 | ★ favorite | 댓글 1개
  • 테슬라 버그 바운티 참여를 위해 eBay에서 Model 3의 MCU와 오토파일럿 컴퓨터를 구입해 데스크탑 환경에서 구동 시도
  • 12V 전원 공급기와 터치스크린 모듈을 추가 연결해 부팅에 성공했으며, 이더넷 포트를 통해 내부 네트워크 접근 가능
  • MCU 내부에는 SSH 서버와 ODIN REST API(8080포트) 가 열려 있었고, SSH 접속에는 테슬라 서명 키가 필요함
  • 초기에는 케이블 호환 문제와 PCB 손상으로 전원 컨트롤러 칩을 교체해야 했으나, 수리 후 시스템 복구에 성공
  • 최종적으로 Dashboard Wiring Harness를 연결해 터치스크린과 차량 OS 완전 부팅을 구현, UI 조작과 펌웨어 분석이 가능해짐

테슬라 Model 3 컴퓨터를 책상 위에서 구동하기

  • 테슬라 버그 바운티 프로그램 참여를 위해 실제 차량 하드웨어가 필요해 eBay에서 Model 3의 MCU(미디어 제어 유닛)오토파일럿(AP) 컴퓨터 부품을 구입함
  • 차량용 컴퓨터는 두 보드가 겹쳐진 구조로, 승객석 글러브박스 뒤에 위치하며 수냉식 금속 케이스로 덮여 있음
  • eBay에서 200~300달러대의 부품을 확보했으며, 대부분은 사고 차량 해체업체가 판매한 제품임
  • 시스템 부팅을 위해 12V DC 전원 공급기, 터치스크린 모듈, 디스플레이 케이블이 추가로 필요했음
  • 전원 공급기로 0–30V 조절형 10A 모델을 사용했고, 화면은 175달러에 구입함

케이블 문제와 전기 배선 정보

  • MCU와 화면을 연결하는 케이블은 대부분 커넥터 직후 절단된 상태로 판매되어 별도 케이블 제작이 필요했음
  • 테슬라는 모든 차량의 Electrical Reference 문서를 공개하고 있어 각 커넥터의 핀 구성과 배선 정보를 확인할 수 있었음
  • 디스플레이는 Rosenberger 99K10D-1D5A5-D 커넥터를 사용하는 6핀 케이블(12V/그라운드 2핀, 데이터 4핀)을 필요로 함
  • 이 커넥터는 일반 소비자가 단품으로 구매할 수 없어, 대체품으로 BMW용 LVDS 케이블을 주문함

전원 연결 및 네트워크 접근

  • 테슬라 회로도와 온라인 자료를 참고해 12V와 그라운드 핀을 찾아 전원을 연결하자 빨간 LED가 점등되며 부팅이 시작됨
  • 화면이 없어 상호작용은 제한적이었으나 이더넷 포트를 통해 노트북과 연결 가능
  • 네트워크에는 DHCP가 없어 수동 IP 설정이 필요하며 192.168.90.X/24 대역을 사용해야 함
  • Reddit에서 공개된 /etc/hosts 파일을 통해 MCU, 게이트웨이, 오토파일럿 등 내부 호스트 IP를 확인함
  • MCU(192.168.90.100)에는 SSH(22포트)웹서버(8080포트) 가 열려 있었음

MCU 내부 서비스와 구조

  • SSH 서버는 “SSH allowed: vehicle parked” 메시지를 표시하며 테슬라 서명 키가 있어야 접속 가능
    • 테슬라 버그 바운티에서 루트 취약점을 찾은 연구자에게는 영구 SSH 인증서가 발급됨
  • 8080 포트에는 ODIN(On-Board Diagnostic Interface Network) 이라는 REST형 API가 열려 있으며, 이는 Toolbox 진단 도구에서 사용됨
  • 금속 차폐를 제거하자 MCU와 오토파일럿 보드가 적층 구조로 배치된 내부를 확인할 수 있었음

케이블 실패와 회로 손상

  • BMW LVDS 케이블은 물리적으로 호환되지 않아 직접 배선 연결을 시도함
  • 얇은 선이 부서지며 PCB 쇼트가 발생했고 전원 컨트롤러 칩이 손상
  • 손상된 칩의 식별이 어려웠으나 협력자 Yasser가 이를 MAX16932CATIS/V+T 스텝다운 컨트롤러로 확인함
  • 새 칩을 주문해 PCB 수리점에서 교체, MCU 복구에 성공함
  • 이후 예비용으로 두 번째 컴퓨터를 추가 확보함

최종 해결과 완전한 부팅

  • Rosenberger 케이블을 구할 수 없어 결국 Dashboard Wiring Harness 전체(80달러) 를 구매함
  • 실제 차량은 개별 케이블이 아닌 대형 배선 하네스(loom) 형태로 제작되어 있었음
  • 하네스를 연결하자 터치스크린이 정상 작동하며 차량 운영체제가 완전히 부팅됨
  • 이후 UI 조작, 네트워크 인터페이스 탐색, CAN 버스 분석, 펌웨어 추출 시도 등이 가능해짐
Hacker News 의견들
  • Tesla의 Root access 프로그램이 흥미로움
    연구자가 유효한 루팅 취약점을 하나라도 찾으면 자신의 차량에 대한 영구 SSH 인증서를 받아 root로 로그인할 수 있게 됨
    Apple의 Security Research Device Program과 비슷한데, 자격 요건이 명확함
    root 권한을 모두에게 주면 악의적 행위자에게 취약점 탐색이 쉬워지므로 Tesla의 접근이 이해됨

    • 차량 소유자라면 원래 root 권한을 가져야 하는 것 아닌가 하는 생각이 듦. 제조사를 위해 무료로 연구해야만 root를 얻는 구조가 아쉬움
    • 루트 취약점을 지속적으로 찾는 프로그램이라면, Tesla가 자사 플랫폼의 보안 안정성에 자신이 없는 것처럼 보임
    • 쉘 접근은 추가 연구에 매우 유용함. 만약 Tesla가 버그를 패치하고 접근을 막아버린다면, 연구자들은 공개 대신 비공개로 남길 가능성이 큼
    • 이 프로그램은 인포테인먼트 시스템에만 해당되고, 오토파일럿 컴퓨터에는 적용되지 않음. Tesla가 과거 연구자 차량의 인증서를 취소한 적도 있음
    • root를 주지 않으면 연구자가 취약점을 비밀로 유지할 유인이 생기므로, 이 정책은 합리적으로 보임
  • 예전에 서드파티 스캔 툴을 만드는 회사에서 일했음
    실제 차량 대신 ECU를 랙에 연결해 테스트했고, BMW의 비표준 바이트 오프셋 문제를 찾아냄. 경쟁사 툴은 문제를 못 잡았지만, 공식 BMW 툴은 DTC를 표시했음

    • DTC가 Diagnostic Trouble Codes의 약자임을 설명함
    • 1999년식 Mercedes E300 Turbodiesel의 스캔 툴 문제로 고생 중임. 예전 Autel 장비가 벽돌이 되어 iCarsoft로 교체했지만 ECU와는 통신이 안 됨
      모델을 다르게 설정하면 ECU DTC를 지울 수는 있어서 임시로 사용 중임. 이 분야는 오픈 하드웨어/소프트웨어 접근이 절실함
    • 최근 일주일간 Claude + Ghidra를 이용해 차량과 스캔 툴을 리버스 엔지니어링
      비싼 상용 소프트웨어로 만든 결과물을 공개할지 고민 중이며, 차량 통신 프로토콜 정의 같은 정보는 모두에게 열려야 한다고 생각함
  • LVDS가 자동차용 케이블로 불리는 게 재밌음. 원래는 노트북 디스플레이와 메인보드를 연결할 때 많이 봤던 것임

    • Wikipedia에 따르면, 초기에 노트북 제조사들이 FPD-Link 대신 LVDS라는 용어를 잘못 사용하면서 혼동이 생겼다고 함
      Low-voltage differential signaling 문서 참고
    • 요즘 노트북은 LVDS 대신 eDP(embedded DisplayPort) 를 사용함. 자동차 디스플레이에는 LVDS가 남아 있지만, 스마트폰 등은 MIPI DSI로 대체됨
    • SpaceWire도 LVDS 기반의 초경량 라우팅 프로토콜로, 위성에서 많이 사용됨
  • Tesla의 UI 앱인 QtCar를 QEMU에서 실행할 수 있음
    펌웨어만 있으면 가능하며, 관심 있으면 DM 달라고 함
    시연 영상

  • Tesla Model Y에 견인 브레이크 컨트롤러를 직접 설치한 경험을 공유함
    14.4V 전압에 맞는 컨트롤러를 찾아 케이블을 제작하고, eBay에서 커넥터를 구입해 장착했음
    작년 여러 번 캠핑 트레일러를 문제없이 견인했으며, 이런 DIY 해킹 정신이 멋지다고 느낌

    • 일반 차량도 2000rpm에서 15V까지 올라가므로, 14.4V는 특별히 높은 전압이 아님을 지적함
    • 대부분의 내연기관 차량이 14.4V 근처 전압을 내므로, 표준 컨트롤러로도 충분했을 것 같다고 언급함
  • 문제의 핵심이 단순한 6핀 커넥터였다는 점이 흥미로움
    도면과 치수가 있었는데도 3D 프린팅으로 커넥터를 직접 만들 생각을 안 한 게 의외였음

  • 이 프로젝트가 정말 멋짐
    플러그 앤 플레이인지, 주행거리 정보가 어디 저장되는지 궁금함
    가능하다면 적응형 서스펜션을 구형 모델에 이식해보고 싶음. Raspberry Pi로 별도 제어 시스템을 만드는 아이디어도 있음

  • 차량이 예상된 주변 장치 없이도 운영체제가 완전히 부팅된다는 점이 놀라움

  • Tesla에 대해 뭐라 하든, 해킹 관점에서는 정말 멋진 프로젝트

  • 80달러에 전체 배선을 사야 했다는 말이 있었는데, 미국에서는 이를 wiring harness라고 부름. loom은 피복 재질을 뜻함

    • 사실 그 케이블은 더 저렴하게 구할 수 있음. 약 15달러짜리 Violet HSD Code D 4+2 Pin Female to D Female Jack Connector가 대체 가능함
      AliExpress 링크