สรุปสั้น
เครื่องนำทางและระบบความบันเทิงในรถ (head unit) มักรันซอฟต์แวร์ที่ออกแบบไว้ตั้งแต่ตอนผลิตรถ แล้วใช้งานต่อไปอีก 10-15 ปีโดยแทบไม่ได้รับแพตช์ ล่าสุดเมื่อวันที่ 2 พฤศจิกายน 2569 นาย Rasmus Moorats นักวิจัยชาวเอสโตเนีย เผยแพร่งานวิจัยบนบล็อก NNS.ee ว่าพบวิธีรันคำสั่งใดก็ได้ด้วยสิทธิ์ root บนเครื่องนำทาง TomTom Carminat LIVE ใน Renault Latitude ปี 2014 ซึ่งรันระบบปฏิบัติการเฉพาะของ TomTom บน Linux 2.6.28.10 เขาไม่ได้ตั้งใจจะแฮ็ก แค่อยากแก้นาฬิกาหลังสิ้นสุดเวลาออมแสงในเอสโตเนีย แต่เมนูตั้งเวลาหายไป และเมนูตั้งค่าเปิดไม่ได้ถ้าไม่มี SD card แผนที่แท้ วิธีที่เขาพบ คือ ต่อจุดอ่อนเล็ก ๆ 2 จุดในโปรแกรมที่อ่านสคริปต์จาก SD card เข้ากับเทคนิคที่ยืมมาจากการเจาะเคอร์เนล จนได้สิทธิ์ควบคุมเครื่องเต็มรูปแบบ
การโจมตีนี้ต้องเข้าถึงตัวรถ เสียบ SD card ที่เตรียมไว้ และคนขับต้องกดยืนยันให้รันสคริปต์ จึงไม่ใช่ภัยจากระยะไกล แต่สถานการณ์อย่างรถเช่า รถใช้ร่วมกัน หรือการส่งรถเข้าอู่ก็เปิดโอกาสนั้นได้ และเครื่องลักษณะนี้มักเก็บรายชื่อผู้ติดต่อจากโทรศัพท์และประวัติตำแหน่งไว้หลายปี ประเด็นใหญ่กว่าตัวรถรุ่นนี้ คือ รูปแบบการออกแบบที่ผิดซ้ำ ๆ ในอุปกรณ์ฝังตัว เจ้าของรถรุ่นเก่าควรไม่ใส่ SD card หรือ USB ที่ไม่รู้ที่มา และซื้อการ์ดแผนที่จากผู้ขายที่เชื่อถือได้เท่านั้น
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 3 พฤศจิกายน 2569 โดยอ้างงานวิจัยของ Moorats ว่าเครื่องนำทางรุ่นนี้ (ชื่อรหัส “beaumont” ใช้ชิป Samsung S5P6440) มีการป้องกันมากกว่าที่คาดจากซอฟต์แวร์ปี 2554 พาร์ทิชันส่วนใหญ่เป็นแบบอ่านอย่างเดียว (read-only) หรือ noexec ซึ่งห้ามรันโปรแกรม หรือทั้งสองอย่าง ระบบตรวจ SD card ด้วย DRM จึงไม่รับการ์ดเปล่าหรือการ์ดที่คัดลอกมา และไฟล์อัปเดตมีลายเซ็นดิจิทัล เขาจึงแฟลชระบบที่ดัดแปลงเองไม่ได้ เพื่อศึกษาโดยไม่เสี่ยงทำเครื่องเสีย เขาสร้างอีมูเลเตอร์ด้วย QEMU และพบว่าตอนบูตเครื่องอ่านไฟล์ master.script จาก SD card ซึ่งเป็นสคริปต์อัตโนมัติสำหรับสั่งงานหน้าจอ โดยโปรแกรม ttn ที่ทำหน้าที่อ่านสคริปต์นี้รันด้วยสิทธิ์ root
หลังได้สิทธิ์ root การพิสูจน์ครั้งแรกเป็นแค่สั่งให้เครื่องรีบูต จากนั้นเขาใช้คำสั่ง dd สำรองหน่วยความจำภายใน พบค่าเวลาในไฟล์ /mnt/flash/settings.dat และแก้ค่าชดเชยจาก UTC+3 เป็น UTC+2 ได้สำเร็จ ข้อจำกัดของข้อมูล คือ งานนี้ทดสอบบนรถคันเดียวโดยเข้าถึงตัวรถจริง รายงานไม่ได้ระบุว่า Renault หรือ TomTom ตอบสนองอย่างไร หรือมีอัปเดตสำหรับเครื่องรุ่นนี้หรือไม่ และไม่ได้แสดงว่าการควบคุมเครื่องนำทางต่อไปถึงระบบอื่นของรถ เช่น เบรกหรือพวงมาลัยได้
วิธีการโจมตี
จุดเริ่ม คือ สคริปต์จาก SD card ที่ถูกอ่านด้วยสิทธิ์ root — โปรแกรม ttn อ่าน master.script จาก SD card แล้วทำตามคำสั่งในนั้นด้วยสิทธิ์ root เครื่องจะถามคนขับว่า “Execute master.script?” ก่อน ถ้ากด “Yes” สคริปต์จะทำงาน ปัญหา คือ เครื่องเชื่อถือไฟล์จากสื่อที่ถอดเสียบได้ และให้ตัวอ่านทำงานด้วยสิทธิ์สูงสุด
จุดอ่อนที่ 1: คำสั่ง LOG เขียนไฟล์นอกโฟลเดอร์ได้ — คำสั่ง LOG เขียนข้อความหนึ่งบรรทัดลงไฟล์ แต่ไม่ตรวจ path ใส่ “../” ก็ออกนอกโฟลเดอร์ที่ตั้งใจได้ (path traversal) เพราะ ttn เป็น root การเขียนทุกครั้งจึงเป็นการเขียนในนาม root
จุดอ่อนที่ 2: คำสั่ง SHEX รันโปรแกรมของระบบได้ — SHEX รันโปรแกรมที่มีอยู่ในเครื่อง แต่รับได้คำเดียว ส่งอาร์กิวเมนต์ไม่ได้ ลำพังสองคำสั่งนี้ยังไม่พอ เพราะระบบไฟล์หลักเขียนไม่ได้และ SD card รันโปรแกรมไม่ได้
ต่อสองจุดด้วยเทคนิค core_pattern — /proc/sys/kernel/core_pattern คือ ค่าตั้งของ Linux ที่บอกว่าเมื่อโปรแกรมแครชให้ทำอะไร ถ้าค่าขึ้นต้นด้วยเครื่องหมาย pipe เคอร์เนลจะรันโปรแกรมที่ระบุไว้ด้วยสิทธิ์สูงสุด Moorats ใช้ LOG เขียนค่าลงไฟล์นี้ให้เคอร์เนลเรียก /bin/sh พร้อมสคริปต์บน SD card แล้วใช้ SHEX สั่ง /bin/dbus-monitor ซึ่งจะแครชเองเมื่อหา system bus ไม่เจอ เมื่อโปรแกรมแครช เคอร์เนลจึงรันสคริปต์ของเขาในฐานะ root สคริปต์สุดท้ายยาวเพียง 3 บรรทัด เทคนิคนี้ได้ผลบนเคอร์เนลรุ่นเก่าอย่าง 2.6.28 ที่ไม่ได้จำกัดการใช้ core_pattern แบบนี้
ร่องรอยและสิ่งที่ใช้ระบุ — อุปกรณ์ที่กระทบ คือ TomTom Carminat LIVE (ชื่อรหัส “beaumont”) ใน Renault Latitude ปี 2014 ระบบปฏิบัติการ TomTom บน Linux 2.6.28.10 ชิป Samsung S5P6440 และไฟล์ที่ใช้ คือ master.script บน SD card
ผลกระทบ
กลุ่มที่เกี่ยวข้องโดยตรง คือ เจ้าของ Renault Latitude และรถที่ใช้เครื่องนำทาง TomTom Carminat LIVE รุ่นเดียวกัน ความเสี่ยงจริงอยู่ในวงจำกัด เพราะผู้โจมตีต้องเข้าถึงตัวรถและต้องให้คนขับกดยืนยัน แต่เมื่อทำได้สำเร็จ ผู้โจมตีจะควบคุมเครื่องนำทางได้ทั้งหมด รวมถึงข้อมูลที่เก็บไว้ เช่น รายชื่อผู้ติดต่อที่ซิงก์จากโทรศัพท์และประวัติการเดินทาง และอาจฝังโค้ดไว้ทำงานต่อเมื่อเจ้าของใช้รถ ผู้ที่มีโอกาส คือ ผู้ที่เข้าถึงรถได้ชั่วคราว เช่น ในรถเช่า รถใช้ร่วมกัน หรืออู่ซ่อม
บทเรียนที่ใหญ่กว่า คือ เรื่องการออกแบบ เครื่องนี้เชื่อสคริปต์จากสื่อถอดเสียบ รันตัวอ่านด้วยสิทธิ์ root และไม่ทำความสะอาด path ซึ่งเป็นความผิดพลาดที่พบบ่อยในอุปกรณ์ฝังตัว และจะค้างอยู่ตราบเท่าที่รถยังวิ่ง รายงานยกตัวอย่างว่าปัญหาลักษณะเดียวกันยังพบในรถรุ่นใหม่ เช่น ช่องโหว่ระบบ infotainment ของ Nissan Leaf ที่รัน Linux 3.14 และนำไปสู่การควบคุมประตู กระจกมองข้าง และพวงมาลัย รวมถึงมัลแวร์ที่ใช้ช่องทางอัปเดตของจอรถ Android ดึงจอเข้าบ็อตเน็ตโฆษณาปลอมและ proxy
คำแนะนำ
- เจ้าของรถ — ทำทันที: อย่าใส่ SD card หรือ USB ที่ไม่รู้ที่มาลงเครื่องนำทาง และกด “No” ถ้าเครื่องถามให้รันสคริปต์ที่ไม่ได้ตั้งใจ
- เจ้าของรถ: ซื้อการ์ดแผนที่จากผู้ขายที่เชื่อถือได้เท่านั้น และสอบถามศูนย์บริการว่ามีอัปเดตความปลอดภัยสำหรับเครื่องนำทางรุ่นนี้หรือไม่
- ผู้ให้บริการรถเช่าและรถใช้ร่วมกัน: ตรวจช่องเสียบ SD card และ USB ระหว่างผู้เช่าแต่ละราย และลบข้อมูลโทรศัพท์ที่ผู้เช่าก่อนหน้าซิงก์ไว้
- ผู้ขายรถมือสอง: รีเซ็ตเครื่องนำทางและลบรายชื่อผู้ติดต่อกับประวัติตำแหน่งก่อนส่งมอบรถ
- ผู้ผลิตอุปกรณ์ฝังตัว — ระยะยาว: อย่ารันตัวอ่านไฟล์จากสื่อถอดเสียบด้วยสิทธิ์ root ตรวจและทำความสะอาด path ทุกครั้ง และจำกัดการเขียนค่าใน /proc/sys/kernel/core_pattern
Indicators of Compromise (IoCs)
ตารางนี้เป็นข้อมูลระบุอุปกรณ์และไฟล์ที่เกี่ยวข้องตามต้นฉบับ ไม่ใช่ IoC เครือข่าย
| ประเภท | ตัวบ่งชี้ | คำอธิบาย |
|---|---|---|
| อุปกรณ์ | TomTom Carminat LIVE (ชื่อรหัส “beaumont”) | เครื่องนำทางที่กระทบใน Renault Latitude ปี 2014 |
| ระบบปฏิบัติการ | TomTom custom OS บน Linux 2.6.28.10 | เคอร์เนลรุ่นเก่าที่รองรับเทคนิค core_pattern |
| ฮาร์ดแวร์ | Samsung S5P6440 SoC | ชิปภายในเครื่อง |
| ไฟล์บน SD card | master.script | สคริปต์ที่ใช้เริ่มการโจมตี |
