Rasmus Moorats, SD카드에 묶인 르노 내비 시계 설정을 루트 권한으로 변경
보안 기술자 Rasmus Moorats는 자신의 2014년 르노 라티튜드에서 지도 SD카드가 없어 막힌 Carminat LIVE 시계 설정을 우회했습니다. 부팅 스크립트의 파일 쓰기·실행 기능을 코어 덤프 처리 경로와 조합해 루트 권한을 얻고, GPS 시간 오프셋을 180분에서 120분으로 바꿨습니다.

본문
보안 기술자 Rasmus Moorats는 2026년 11월 2일 개인 블로그에 자신의 2014년 Renault Latitude에 장착된 TomTom Carminat LIVE 내비게이션을 역공학해 시계 설정을 바꾼 경험을 공개했습니다. 전 차주는 지도 SD카드가 없으면 시계도 바꾸기 어렵다고 했지만, Moorats는 이를 믿지 않았습니다. 지도 기능이 제대로 작동하지 않아 카드를 받지 않았고, 에스토니아가 여름 시간 UTC+3에서 겨울 시간 UTC+2로 바뀐 뒤 계기판 시각이 한 시간 어긋나자 설정 메뉴를 찾았습니다. 시계와 날짜를 조정할 항목은 메뉴에 없었고, 해당 설정 버튼을 누르면 지도 SD카드를 찾을 수 없다는 안내가 떴습니다.
펌웨어를 분석한 Moorats는 설정 애플릿으로 이어지는 메뉴 정의가 SD카드에서 읽힌다는 점을 확인했습니다. 카드에 적절한 메뉴 파일이 없으면 시스템이 설정 화면에 들어갈 경로를 구성하지 않았습니다. 장치는 카드의 고유 CID와 그 값에 묶인 서명도 검사했습니다. 따라서 일반 SD카드에 파일을 복사하는 방법으로 지도용 카드를 대신할 수 없었습니다. Moorats가 온라인에서 찾은 대체 카드의 가격은 에스토니아 배송비를 더해 약 60유로였습니다. 지도는 휴대전화로 이용하던 그에게는 시계 하나를 바꾸려고 지불하기 아까운 비용이었습니다.
내비게이션 장치인 TomTom Carminat LIVE의 코드명은 beaumont이며, TomTom이 만든 Linux 2.6.28.10 기반 운영체제를 사용했습니다. Moorats는 업데이트 파일에서 ttsystem이라는 ext3 파일시스템을 추출해 루트 파일을 살펴봤습니다. 수정한 업데이트 이미지를 장치에 설치하는 시도는 성공하지 않았고, 그는 QEMU에 같은 2.6 계열 커널과 간단한 CAN 에뮬레이터를 구성해 시스템의 부팅과 파일 처리를 시험했습니다. 에뮬레이터를 통해 SD카드에서 읽는 파일과 파티션의 마운트 상태도 살폈습니다. 루트 파일시스템은 읽기 전용이었고, SD카드를 포함한 여러 마운트에는 실행을 막는 noexec 옵션이 적용돼 있었습니다.
부팅 때 읽히는 master.script는 화면 조작을 자동화하는 자체 스크립트였습니다. 처리기 ttn을 분석한 Moorats는 스크립트의 SHEX 명령이 시스템에 이미 있는 바이너리를 실행한다는 점을 찾았습니다. 하지만 명령은 공백으로 나뉜 토큰 하나만 받았으므로 실행할 프로그램에 인자를 넘기지 못했습니다. SD카드에 저장한 실행 파일이나 스크립트도 noexec 마운트 때문에 직접 실행할 수 없었습니다. 다른 명령인 LOG는 파일을 비우고 출력 가능한 ASCII 한 줄을 기록했습니다. 파일 경로를 상위 디렉터리로 이동시키는 경로 탐색도 가능했고, 스크립트 처리기 ttn이 루트 권한으로 동작해 쓰기 권한 자체는 강했습니다. 그러나 루트 파일시스템은 읽기 전용이었고 다른 파티션은 실행을 막아 두어, 두 기능만으로는 코드를 실행하지 못했습니다.
Moorats는 두 기능을 Linux의 코어 덤프 처리 설정과 연결했습니다. LOG가 쓰는 경로를 /proc/sys/kernel/core_pattern으로 돌리고, 이 설정이 코어 덤프를 명령으로 전달할 수 있는 형식의 문자열을 기록했습니다. 이어 SHEX로 시스템 바이너리인 dbus-monitor를 실행했습니다. 장치에 시스템 버스가 없어 dbus-monitor가 중단되면 코어 덤프가 발생했고, 커널은 설정된 처리 명령을 실행했습니다. 그 명령은 루트 파일시스템의 셸로 SD카드에 저장한 스크립트를 읽었습니다. 이 과정은 SD카드를 꽂은 뒤 부팅 화면에서 master.script 실행을 승인하는 방식으로 진행됐습니다.
코드 실행을 확인한 Moorats는 먼저 내부 eMMC 전체를 백업했습니다. 이어 시간 설정이 들어 있는 /mnt/flash/settings.dat을 분석했습니다. 장치는 시간대 이름을 따로 처리하지 않고 GPS에서 받은 시각에 적용할 현지 오프셋을 분 단위 숫자로 저장했습니다. 값은 180분이었고, 이를 120분으로 바꾸자 계기판 시계가 에스토니아 겨울 시간에 맞았습니다. 이 글은 작성자의 2014년 Renault Latitude 한 대에서 SD카드 의존 메뉴를 우회하고 내부 설정을 수정한 기록입니다.