테슬라 모델 3 온보드 컴퓨터: 폐차 부품에서 보안 연구 환경 구축까지
사이버 보안 전문가이자 연구원이 폐차된 차량에서 회수한 부품들을 활용하여 작동 가능한 테슬라 모델 3 온보드 컴퓨터를 성공적으로 재현했습니다. 이 프로젝트의 목표는 테슬라 버그 바운티 프로그램의 일환으로 취약점 발견 및 펌웨어 분석을 위한 테스트 환경을 구축하는 것이었습니다. 이 사례 연구는 정교한 자동차 전장 부품을 본래의 환경 밖에서 작동시키기 위해 필요한 심오한 기술적 복잡성과 비전통적인 해결책을 강조하며, 역공학 노력에 있어 문서화의 중요한 역할을 부각합니다.
테스트 벤치 조립: 부품부터 전원까지
이 프로젝트는 버그 바운티 프로그램 참여를 위해 테슬라 모델 3 하드웨어를 확보하는 것에서 시작되었습니다. 온보드 컴퓨터의 핵심 구성 요소는 미디어 제어 장치(MCU)와 오토파일럿(AP) 장치이며, 이들은 일반적으로 글로브 박스 뒤에 위치합니다. 이 장치들은 대략 태블릿 크기만 하고 500페이지짜리 책만큼 두꺼우며, 수랭식 금속 하우징에 싸여 있습니다. 이 부품들을 구하기 위해 연구원은 이베이를 찾았고, 그곳에서 손상된 차량 해체 전문 업체들의 수많은 판매 목록을 발견했습니다. MCU 가격은 200달러에서 300달러 사이였습니다.
메인 장치 외에, 시동을 위해 다음 항목들이 필요했습니다:
- 12V를 공급할 수 있는 DC 전원 공급 장치. 시스템이 최대 8A까지 소모할 수 있었기 때문에, 조절 가능한 10A 장치를 선택한 것은 올바른 결정으로 판명되었습니다.
- 손상된 모델 3의 터치스크린 모듈(디스플레이). 디스플레이는 예상외로 비쌌으며, 하나를 175달러에 구매했습니다.
- MCU와 디스플레이를 연결하는 특수 케이블.
마지막 항목이 가장 큰 난관으로 판명되었습니다. 컴퓨터와 디스플레이 모두 케이블이 잘려 있었기 때문에 원래 커넥터를 찾아야 했습니다. 테슬라 서비스 웹사이트에 공개된 "전기 회로도(Electrical Schematics)" 덕분에 디스플레이가 특수 로젠버거(Rosenberger) 99K10D-1D5A5-D 커넥터가 있는 6핀 케이블을 사용한다는 것을 알 수 있었습니다. 시장에서 이러한 케이블을 찾으려는 시도는 성공적이지 못했습니다. BMW에서 흔히 사용되는 유사한 자동차 LVDS 케이블을 사용하려는 노력 또한 커넥터 비호환성으로 인해 실패했습니다.
테슬라의 네트워크 인프라 및 소프트웨어 인터페이스
MCU를 확보하고 전원에 연결한 후, 깜빡이는 빨간색 LED가 관찰되었는데, 이는 시동을 나타냈습니다. 디스플레이가 없으면 시스템과의 상호 작용이 제한적이었지만, 이전 연구에 따르면 일부 구성 요소에 웹 서버가 있는 내부 네트워크가 존재했습니다. MCU의 포트에 이더넷 케이블을 연결하여 노트북과의 네트워크 연결을 설정했습니다.
이 내부 네트워크에는 DHCP가 없으므로 IP 주소를 수동으로 설정해야 했습니다. 권장 IP 주소 범위는 192.168.90.X/24이며, 다른 호스트와의 충돌을 피하기 위해 X는 105보다 커야 합니다. 테슬라 차량의 오래된 /etc/hosts 파일을 연구하여 표준 IP 할당을 식별할 수 있었습니다:
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
MCU(IP 192.168.90.100)에서는 두 가지 주요 서비스가 발견되었습니다: 22번 포트의 SSH 서버와 8080번 포트의 REST-like API입니다.
- SSH 서버: 연결을 시도하자 "SSH 허용: 차량 주차됨(SSH allowed: vehicle parked)."이라는 메시지가 나타났습니다. 접근하려면 테슬라가 생성한 특별히 서명된 SSH 키가 필요합니다. 특히, 버그 바운티 프로그램의 일환으로 테슬라는 루트 권한을 허용하는 유효한 취약점을 발견한 연구원들에게 루트 액세스를 위한 영구 SSH 인증서를 제공합니다. 이는 추가적인 취약점 탐색을 크게 간소화합니다.
- ODIN API: 8080번 포트의 REST-like API로, ODIN(On-Board Diagnostic Interface Network)으로 알려져 있으며, '작업' 기록을 반환하고 테슬라의 "툴박스(Toolbox)" 진단 도구에서 사용하도록 고안되었습니다.
MCU의 내부 구조는 두 개의 보드가 위아래로 쌓여 있어 모듈식 아키텍처를 확인시켜 줍니다.
하드웨어 난관 극복: LVDS에서 배선 하네스까지
디스플레이와 MCU를 BMW LVDS 케이블로 연결하려던 초기 시도는 물리적 커넥터 비호환성으로 인해 실패했습니다. 잘린 전선을 직접 연결하려는 필사적인 노력은 단락을 일으켰고, 보드에 있는 전원 마이크로컨트롤러 칩 중 하나가 고장 났습니다. 이로 인해 새로운 MCU를 주문해야 했습니다. 하지만 전문가 친구의 도움으로 타버린 부품이 "MAX16932CATIS/V+T" 벅 컨트롤러임을 확인했습니다. 이 칩을 주문하여 수리점에서 성공적으로 교체했고, 손상된 MCU를 복원하여 두 개의 작동 가능한 장치를 확보할 수 있었습니다.
독립형 로젠버거 케이블을 찾는 것이 불가능하다는 것을 깨달은 연구원은 실제 테슬라 차량이 디스플레이에 별도의 케이블을 사용하지 않는다는 결론을 내렸습니다. 대신, 크고 통합된 배선 하네스가 인접 영역의 수많은 케이블을 결합합니다. 테슬라의 전기 회로도를 사용하여 필요한 하네스(1067960-XX-E)의 부품 번호를 찾았습니다. 부피가 크고 약 80달러의 비용이 들었지만, 이러한 하네스를 구하는 것이 유일한 실행 가능한 해결책임이 입증되었습니다.
완전한 배선 하네스를 설치한 후, 시스템은 올바르게 작동했습니다. 터치스크린이 켜졌고, 운영 체제가 실행되는 완전히 작동하는 테슬라 모델 3 온보드 컴퓨터가 이제 테스트 벤치에서 작동하게 되었습니다. 이는 향후 연구를 위한 포괄적인 테스트 환경을 만드는 데 중요한 이정표가 되었습니다.
연구 전망 및 다음 단계
테슬라 모델 3 온보드 컴퓨터를 테스트 벤치에서 작동시키는 것은 그 기능과 보안에 대한 심층 연구를 위한 광범위한 기회를 열어줍니다. 완전히 작동하는 시스템을 통해 연구원은 다음 영역에 집중할 계획입니다:
- 사용자 인터페이스(UI) 탐색: 시스템 상호 작용 분석, 숨겨진 기능 및 잠재적 진입점 식별.
- 네트워크 인터페이스 상호작용: 발견된 SSH 및 ODIN API에 대한 보다 상세한 조사, 그리고 다른 열린 포트 및 서비스 검색.
- CAN 버스 연구: 내부 자동차 CAN 네트워크를 통해 전송되는 데이터를 분석하여 다양한 차량 구성 요소 간의 통신 이해.
- 펌웨어 추출: 운영 체제 펌웨어에 접근하여 정적 분석 및 낮은 수준에서의 취약점 발견 시도.
이러한 단계들은 테슬라의 시스템 아키텍처 및 작동에 대한 더 깊은 이해를 제공할 뿐만 아니라, 버그 바운티 프로그램 참여의 주요 목표인 치명적인 취약점을 잠재적으로 발견할 수 있게 할 것입니다.
주요 시사점
- 하드웨어 플랫폼 접근: 테슬라 차량에 대한 효과적인 사이버 보안 연구를 위해서는 온보드 컴퓨터에 대한 물리적 접근이 중요하며, 이는 손상된 차량에서 부품을 확보함으로써 이루어집니다.
- 공개 문서의 가치: 테슬라가 상세한 전기 회로도를 공개한 것은 역공학 프로세스와 본래 환경 밖에서의 구성 요소 조립을 크게 간소화합니다.
- 특수 장비의 어려움: 자동차 전장 부품은 고유한 커넥터와 배선 하네스를 사용하며, 이는 조달하기 어렵거나 통합을 위해 비전통적인 해결책이 필요할 수 있습니다.
- 내부 네트워크 아키텍처: 테슬라 온보드 컴퓨터는 미리 정의된 IP 주소와 SSH 및 ODIN API와 같은 특수 서비스를 갖춘 자체 격리된 네트워크를 특징으로 합니다.
- 연구자를 위한 인센티브: 테슬라의 버그 바운티 프로그램은 발견된 취약점에 대해 루트 액세스를 제공함으로써 전문가들이 심층 분석을 수행하고 자동차 시스템의 보안을 강화하도록 동기를 부여합니다.
— Editorial Team
아직 댓글이 없습니다.