테슬라 모델 3 MCU 데스크탑 부팅기: 폐차 부품부터 로컬 네트워크 해킹까지


현업에서 15년 이상 시스템 아키텍처와 보안을 다루다 보면, 가끔 소프트웨어의 경계를 넘어 하드웨어 단에서부터 시스템을 리버스 엔지니어링하는 프로젝트에 강한 끌림을 받게 됩니다. 최근 xdavidhu의 블로그에 올라온 테슬라 모델 3 MCU 데스크탑 부팅 프로젝트가 정확히 그런 사례입니다.

단순히 ‘테슬라 해킹’이라는 자극적인 키워드를 넘어, 이 글은 최신 Automotive OS가 어떻게 구성되어 있고, 하드웨어 레벨의 보안 장벽을 어떻게 우회하는지 보여주는 훌륭한 교보재입니다. 오늘은 이 프로젝트의 기술적 디테일과 함께, Hacker News 커뮤니티에서 벌어진 Right-to-Repair(수리할 권리) 및 자동차 보안에 대한 심도 있는 논의를 제 시각으로 풀어보겠습니다.

자동차는 이제 바퀴 달린 데이터센터다

테슬라의 Bug Bounty 프로그램에 참여하기 위해 저자는 이베이에서 폐차된 모델 3의 부품들을 사모으기 시작합니다. 목표는 차량의 메인 컴퓨터(MCU)와 터치스크린을 책상 위에서 구동하는 것이었죠.

테슬라의 컴퓨터는 크게 두 부분으로 나뉩니다. 인포테인먼트를 담당하는 MCU (Media Control Unit)와 자율주행을 담당하는 AP (Autopilot Computer)가 수냉식 메탈 케이스 안에 겹쳐져 있습니다.

흥미로운 점은 전력 요구사항입니다. 저자는 12V 10A DC 파워 서플라이를 사용했는데, 부팅 시 피크 전류가 무려 8A에 달했다고 합니다. IoT나 Edge 디바이스를 설계해 본 엔지니어라면 아시겠지만, 부팅 시 발생하는 Transient(과도 전류)는 시스템 안정성에 치명적입니다. HN 댓글에서도 언급되었듯, 자동차 환경에서 Alternator가 만들어내는 전압 튐 현상은 15V를 쉽게 넘나들며, 100V 이상의 Transient를 견뎌야 하는 경우도 허다합니다. 테슬라의 보드가 이 정도의 전력 소비를 보인다는 것은 내부 프로세서의 체급이 일반적인 임베디드 보드를 아득히 뛰어넘는다는 것을 의미합니다.

독자 규격 커넥터와 하드웨어 디버깅의 쓴맛

하드웨어 해킹에서 가장 고통스러운 부분은 언제나 ‘커넥터’입니다. 저자 역시 테슬라의 화면과 MCU를 연결하는 6핀 케이블(전원 2핀, 데이터 4핀)에서 막혔습니다. 테슬라가 공개한 전기 회로도(Electrical Reference)를 통해 핀 배열은 알아냈지만, 해당 Rosenberger 커넥터는 시중에서 단품으로 구할 수 없는 부품이었습니다.

BMW에서 사용하는 LVDS 케이블이 비슷해 보여 시도했지만, 결국 핀이 맞지 않아 전선들을 직접 연결(스트리핑)하는 무리수를 둡니다. 결과는? 전선 찌꺼기가 보드에 떨어져 쇼트가 났고, 전원 컨트롤러 칩이 타버렸습니다.

솔직히 이 대목에서 실소를 터뜨렸습니다. 시니어 엔지니어라면 누구나 랩실에서 보드 하나쯤은 태워먹은 경험이 있을 겁니다. 다행히 저자는 지인의 도움으로 타버린 칩이 Maxim Integrated의 MAX16932CATIS/V+T Step-down 컨트롤러임을 알아내고 교체에 성공합니다. 결국 이베이에서 80달러짜리 거대한 대시보드 와이어링 하네스(Loom) 통째로 구매하고 나서야 시스템을 정상적으로 부팅할 수 있었습니다.

내부 네트워크: 테슬라의 아키텍처

전원이 들어오고 부팅이 완료되자, 저자는 이더넷 케이블을 연결해 내부 네트워크 스캐닝을 시작합니다. 테슬라 내부 네트워크는 DHCP를 사용하지 않고 정적 IP 할당 방식을 사용합니다. 192.168.90.X/24 서브넷을 사용하며, Reddit에서 발굴된 구형 /etc/hosts 파일의 구조는 다음과 같습니다.

192.168.90.100 cid ice # mcu
192.168.90.100 ic # only in Model X/S | IC = instrument cluster
192.168.90.102 gw # gateway
192.168.90.103 ap ape # ap = autopilot
192.168.90.104 lb # no clue
192.168.90.105 ap-b ape-b # also autopilot
192.168.90.30 tuner # Also no clue
192.168.90.60 modem # this has the ftp server

이 구조는 매우 전형적이고 직관적인 마이크로서비스 아키텍처를 연상시킵니다. Gateway(102), MCU(100), Autopilot(103, 105)이 각각의 IP를 가지고 통신합니다.

스캔 결과 8080 포트에서 테슬라 진단 툴(Toolbox)이 사용하는 ODIN(On-Board Diagnostic Interface Network) API가 열려 있었고, 22번 포트에서는 SSH가 열려 있었습니다. 단, SSH는 테슬라 본사에서 서명한 인증서가 있어야만 접근이 가능했습니다.

Hacker News의 시선: 소유권, 책임, 그리고 Right-to-Repair

이 글이 HN에 올라간 후, 기술적인 칭찬만큼이나 뜨거웠던 주제는 루트 권한과 소유권 에 대한 논쟁이었습니다.

테슬라는 버그 바운티에서 유효한 루트 취약점을 찾은 연구자에게 ‘영구적인 SSH 인증서’를 발급해 줍니다. 애플의 SRD(Security Research Device) 프로그램과 유사한 접근 방식이죠. 하지만 많은 유저들이 “내가 돈 주고 산 내 차인데, 왜 제조사에서 루트 권한을 허락받아야 하는가?”라며 불만을 표했습니다.

  • 소유권의 분리: 우리는 자동차라는 ‘하드웨어’를 샀을 뿐, 그 안에서 구동되는 ‘소프트웨어’는 라이선스를 대여받은 것에 불과합니다. 농기계 회사인 John Deere가 겪고 있는 Right-to-Repair 소송전과 정확히 같은 맥락입니다.
  • 안전과 책임: 반대 의견도 만만치 않습니다. 자동차는 “수 톤짜리 고속 살상 무기”입니다. 만약 모두에게 루트 권한이 주어진다면, 자율주행 시 운전자 모니터링 시스템을 비활성화하는 불법 개조(예: OpenPilot 포크 버전 등)가 판을 칠 것이고, 이는 도로 위 타인의 생명을 위협하게 됩니다.

제 생각은 이렇습니다. 테슬라의 접근 방식은 현재로서는 가장 현실적인 타협점 입니다. 테슬라는 다른 레거시 제조사들과 달리 정비 매뉴얼을 무료로 공개하고 있으며, 진단 소프트웨어(Toolbox)도 합리적인 비용에 제공합니다. 무분별한 루트 권한 개방은 보안과 인명 사고의 리스크를 기하급수적으로 높입니다. 능력이 입증된 연구자에게만 제한적으로 권한을 열어주는 Bug Bounty 연계 모델은, 폐쇄적인 생태계를 유지하면서도 보안성을 높이는 영리한 전략입니다.

Verdict: 프로덕션 레벨의 해킹, 그리고 다음 단계

이 프로젝트는 단순한 호기심을 넘어, 최신 차량의 ECU와 네트워크 토폴로지가 어떻게 구성되어 있는지 엿볼 수 있는 귀중한 자료입니다. 특히 CAN 버스를 넘어 이더넷 기반의 통신이 주를 이루는 현대 Automotive 아키텍처의 현실을 여과 없이 보여줍니다.

만약 당신이 보안에 관심 있는 시니어 엔지니어라면, 웹이나 클라우드를 넘어 이런 Cyber-Physical System(CPS)으로 눈을 돌려보는 것을 강력히 추천합니다. 물론, 책상 위에 굴러다니는 전선 부스러기가 100달러짜리 보드를 순식간에 태워버릴 수 있다는 점은 항상 명심하시길 바랍니다.


References: