1 คะแนน โดย GN⁺ 2026-03-26 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เพื่อเข้าร่วม Tesla Bug Bounty จึงซื้อ MCU และคอมพิวเตอร์ Autopilot ของ Model 3 จาก eBay แล้วพยายามเปิดใช้งานในสภาพแวดล้อมเดสก์ท็อป
  • เชื่อมต่อ แหล่งจ่ายไฟ 12V และโมดูลหน้าจอสัมผัส เพิ่มเติมจนบูตสำเร็จ และสามารถเข้าถึงเครือข่ายภายในผ่าน พอร์ตอีเธอร์เน็ต ได้
  • ภายใน MCU มี SSH server และ ODIN REST API (พอร์ต 8080) เปิดอยู่ โดยการเชื่อมต่อ SSH ต้องใช้ กุญแจลายเซ็นของ Tesla
  • ในช่วงแรกต้องเปลี่ยน ชิปควบคุมพลังงาน เนื่องจาก ปัญหาความเข้ากันได้ของสายเคเบิลและความเสียหายของ PCB แต่หลังซ่อมแล้วสามารถกู้ระบบกลับมาได้
  • สุดท้ายเชื่อมต่อ Dashboard Wiring Harness เพื่อให้ หน้าจอสัมผัสและระบบปฏิบัติการของรถบูตได้อย่างสมบูรณ์ ทำให้สามารถควบคุม UI และวิเคราะห์เฟิร์มแวร์ได้

เปิดคอมพิวเตอร์ Tesla Model 3 ใช้งานบนโต๊ะ

  • เพื่อเข้าร่วม โปรแกรม Tesla Bug Bounty จำเป็นต้องใช้ฮาร์ดแวร์จากรถจริง จึงซื้อชิ้นส่วน MCU (Media Control Unit) และคอมพิวเตอร์ Autopilot (AP) ของ Model 3 จาก eBay
  • คอมพิวเตอร์ในรถมีโครงสร้างเป็นบอร์ดสองแผ่นวางซ้อนกัน อยู่หลังกล่องเก็บของฝั่งผู้โดยสาร และถูกครอบด้วย เคสโลหะระบายความร้อนด้วยน้ำ
  • ได้ชิ้นส่วนจาก eBay ในช่วงราคาประมาณ 200–300 ดอลลาร์ โดยส่วนใหญ่เป็นสินค้าที่ขายโดย ผู้ประกอบการรื้อรถอุบัติเหตุ
  • เพื่อบูตระบบ ยังต้องมี แหล่งจ่ายไฟ DC 12V, โมดูลหน้าจอสัมผัส และ สายดิสเพลย์ เพิ่มเติม
  • ใช้แหล่งจ่ายไฟแบบปรับได้ 0–30V 10A และซื้อหน้าจอมาในราคา 175 ดอลลาร์

ปัญหาสายเคเบิลและข้อมูลการเดินสายไฟ

  • สายที่ใช้เชื่อม MCU กับหน้าจอส่วนใหญ่ถูกขายมาในสภาพ ถูกตัดถัดจากคอนเน็กเตอร์ทันที จึงจำเป็นต้องทำสายขึ้นเอง
  • Tesla เปิดเผยเอกสาร Electrical Reference ของรถทุกคันต่อสาธารณะ ทำให้สามารถตรวจสอบผังขาและข้อมูลการเดินสายของคอนเน็กเตอร์แต่ละตัวได้
  • จอแสดงผลต้องใช้สาย 6 พินที่ใช้คอนเน็กเตอร์ Rosenberger 99K10D-1D5A5-D (12V/กราวด์ 2 พิน, ข้อมูล 4 พิน)
  • คอนเน็กเตอร์นี้ไม่สามารถหาซื้อแยกชิ้นได้สำหรับผู้บริโภคทั่วไป จึงสั่ง สาย LVDS สำหรับ BMW มาใช้แทน

การจ่ายไฟและการเข้าถึงเครือข่าย

  • อ้างอิงจากแผงวงจรของ Tesla และข้อมูลออนไลน์ เมื่อต่อไฟเข้าที่ พิน 12V และกราวด์ ก็เริ่ม บูตพร้อมไฟ LED สีแดงติดขึ้น
  • แม้จะยังมีข้อจำกัดในการโต้ตอบเพราะไม่มีหน้าจอ แต่สามารถเชื่อมต่อกับโน้ตบุ๊กผ่าน พอร์ตอีเธอร์เน็ต ได้
  • เครือข่ายนี้ไม่มี DHCP จึงต้องตั้งค่า IP เอง และต้องใช้ช่วง 192.168.90.X/24
  • ใช้ไฟล์ /etc/hosts ที่เผยแพร่บน Reddit เพื่อตรวจสอบ IP ของโฮสต์ภายใน เช่น MCU, เกตเวย์ และ Autopilot
  • บน MCU (192.168.90.100) มี SSH (พอร์ต 22) และ เว็บเซิร์ฟเวอร์ (8080) เปิดอยู่

บริการภายใน MCU และโครงสร้าง

  • SSH server แสดงข้อความ “SSH allowed: vehicle parked” และต้องมี กุญแจลายเซ็นของ Tesla จึงจะเข้าใช้งานได้
    • ใน Tesla Bug Bounty นักวิจัยที่ค้นพบช่องโหว่ระดับรูทจะได้รับ ใบรับรอง SSH ถาวร
  • บนพอร์ต 8080 มี REST API ชื่อ ODIN (On-Board Diagnostic Interface Network) เปิดอยู่ ซึ่งถูกใช้โดย เครื่องมือวินิจฉัย Toolbox
  • เมื่อถอดแผ่นชิลด์โลหะออก ก็สามารถเห็นภายในที่มีบอร์ด MCU และ Autopilot วางอยู่ใน โครงสร้างแบบซ้อนชั้น

ความล้มเหลวของสายเคเบิลและความเสียหายของวงจร

  • สาย BMW LVDS ไม่เข้ากันทางกายภาพ จึงลองต่อสายเองโดยตรง
  • สายเส้นเล็กเปราะหักจนเกิด PCB ลัดวงจร และทำให้ ชิปควบคุมพลังงานเสียหาย
  • ตอนแรกระบุชิปที่เสียหายได้ยาก แต่ผู้ร่วมงาน Yasser ช่วยยืนยันว่าเป็น MAX16932CATIS/V+T step-down controller
  • หลังสั่งชิปใหม่และให้ ร้านซ่อม PCB เปลี่ยนให้ ก็สามารถกู้ MCU กลับมาได้สำเร็จ
  • หลังจากนั้นจึงหา คอมพิวเตอร์ตัวที่สอง มาเก็บไว้เป็นอะไหล่สำรอง

ทางออกสุดท้ายและการบูตสมบูรณ์

  • เนื่องจากหาเคเบิล Rosenberger ไม่ได้ สุดท้ายจึงซื้อ Dashboard Wiring Harness ทั้งชุด (80 ดอลลาร์)
  • รถจริงไม่ได้ใช้สายเดี่ยวแยกเส้น แต่ผลิตมาในรูปแบบ ชุดสายไฟหลักขนาดใหญ่ (loom)
  • เมื่อต่อฮาร์เนสแล้ว หน้าจอสัมผัสทำงานได้ตามปกติ และระบบปฏิบัติการของรถก็บูตขึ้นมาอย่างสมบูรณ์
  • หลังจากนั้นจึงสามารถ ควบคุม UI, สำรวจอินเทอร์เฟซเครือข่าย, วิเคราะห์ CAN bus และ พยายามดึงเฟิร์มแวร์ ได้

2 ความคิดเห็น

 
xguru 2026-03-27

สิ่งที่น่าสนใจที่สุดคืออันนี้นี่แหละ
"โปรแกรม Root access ของ Tesla"
ถ้าหาช่องโหว่สำหรับการรูทที่ยังใช้ได้เจอได้สักหนึ่งรายการ ก็จะได้รับ "ใบรับรอง SSH ถาวร" สำหรับรถของตัวเอง ทำให้ล็อกอินเป็น root ได้

อา อยากได้จัง!!

 
GN⁺ 2026-03-26
ความคิดเห็นจาก Hacker News
  • โปรแกรม Root access ของ Tesla น่าสนใจมาก
    หากนักวิจัยพบช่องโหว่สำหรับการรูทที่ยังใช้ได้อย่างน้อยหนึ่งรายการ ก็จะได้รับ ใบรับรอง SSH ถาวร สำหรับรถของตนเองและสามารถล็อกอินเป็น root ได้
    คล้ายกับ Security Research Device Program ของ Apple แต่มีคุณสมบัติที่ชัดเจน
    หากให้สิทธิ์ root กับทุกคน ก็จะทำให้ผู้ไม่หวังดีค้นหาช่องโหว่ได้ง่ายขึ้น จึงเข้าใจแนวทางของ Tesla

    • แต่ก็อดคิดไม่ได้ว่า ถ้าเป็นเจ้าของรถ ก็น่าจะมีสิทธิ์ root อยู่แล้ว โครงสร้างที่ต้องทำวิจัยฟรีให้ผู้ผลิตก่อนถึงจะได้ root นั้นน่าเสียดาย
    • ถ้าเป็นโครงการที่ต้องคอยหาช่องโหว่ root อย่างต่อเนื่อง ก็ทำให้ Tesla ดูเหมือนไม่มั่นใจใน เสถียรภาพด้านความปลอดภัย ของแพลตฟอร์มตัวเอง
    • การเข้าถึงเชลล์มีประโยชน์มากสำหรับการวิจัยเพิ่มเติม ถ้า Tesla แพตช์บั๊กแล้วปิดกั้นการเข้าถึง นักวิจัยก็มักจะเก็บไว้เป็นความลับแทนที่จะเปิดเผย
    • โปรแกรมนี้ใช้ได้เฉพาะกับ ระบบอินโฟเทนเมนต์ เท่านั้น และไม่ครอบคลุมคอมพิวเตอร์ Autopilot อีกทั้ง Tesla เคยเพิกถอนใบรับรองของรถนักวิจัยในอดีตด้วย
    • ถ้าไม่ให้ root ก็จะยิ่งสร้างแรงจูงใจให้นักวิจัยเก็บช่องโหว่ไว้เป็นความลับ ดังนั้นนโยบายนี้จึงดูสมเหตุสมผล
  • เคยทำงานที่บริษัทที่สร้าง เครื่องมือสแกนของบุคคลที่สาม
    ตอนทดสอบ เราต่อ ECU ไว้ในแร็กแทนการใช้รถจริง และพบปัญหา byte offset แบบไม่มาตรฐานของ BMW เครื่องมือของคู่แข่งจับปัญหานี้ไม่ได้ แต่เครื่องมือทางการของ BMW แสดง DTC ได้

    • อธิบายว่า DTC ย่อมาจาก Diagnostic Trouble Codes
    • ตอนนี้กำลังปวดหัวกับปัญหาเครื่องมือสแกนของ Mercedes E300 Turbodiesel ปี 1999 เครื่อง Autel ตัวเก่าพังจนใช้การไม่ได้ เลยเปลี่ยนเป็น iCarsoft แต่กลับสื่อสารกับ ECU ไม่ได้
      ถ้าตั้งรุ่นรถเป็นอีกแบบหนึ่ง ก็ยังพอลบ ECU DTC ได้ เลยใช้ชั่วคราวอยู่ วงการนี้ต้องการแนวทางแบบ ฮาร์ดแวร์/ซอฟต์แวร์แบบเปิด อย่างมาก
    • ตลอดสัปดาห์ที่ผ่านมาได้ใช้ Claude + Ghidra เพื่อ ทำวิศวกรรมย้อนกลับ รถและเครื่องมือสแกน
      ตอนนี้กำลังคิดว่าจะเผยแพร่ผลงานที่ทำด้วยซอฟต์แวร์เชิงพาณิชย์ราคาแพงดีหรือไม่ และมองว่าข้อมูลอย่างนิยามโปรโตคอลการสื่อสารของรถควรเปิดให้ทุกคนเข้าถึงได้
  • น่าสนใจที่ LVDS ถูกเรียกว่าเป็นสายเคเบิลสำหรับรถยนต์ ทั้งที่เดิมมักเห็นมันใช้เชื่อม จอแสดงผลโน้ตบุ๊ก กับเมนบอร์ด

    • ตาม Wikipedia ระบุว่า ช่วงแรกผู้ผลิตโน้ตบุ๊กใช้คำว่า LVDS ผิดแทน FPD-Link จึงเกิดความสับสน
      ดู บทความ Low-voltage differential signaling
    • ทุกวันนี้โน้ตบุ๊กใช้ eDP(embedded DisplayPort) แทน LVDS แล้ว ส่วนจอรถยนต์ยังคงใช้ LVDS อยู่ แต่ในสมาร์ตโฟนและอุปกรณ์อื่น ๆ ถูกแทนที่ด้วย MIPI DSI
    • SpaceWire ก็เป็นโปรโตคอลการกำหนดเส้นทางน้ำหนักเบามากที่อิงกับ LVDS และถูกใช้ในดาวเทียมบ่อยครั้ง
  • สามารถรัน QtCar ซึ่งเป็นแอป UI ของ Tesla บน QEMU ได้
    แค่มีเฟิร์มแวร์ก็ทำได้ ถ้าสนใจให้ DM มา
    วิดีโอสาธิต

  • มีการแชร์ประสบการณ์ติดตั้ง ตัวควบคุมเบรกพ่วง ด้วยตัวเองบน Tesla Model Y
    เขาหาตัวควบคุมที่รองรับแรงดัน 14.4V ทำสายเคเบิลขึ้นเอง และซื้อคอนเน็กเตอร์จาก eBay มาติดตั้ง
    ปีที่แล้วลากแคมป์ปิงเทรลเลอร์หลายครั้งโดยไม่มีปัญหา และรู้สึกว่าจิตวิญญาณแบบ DIY hacking นี้ยอดเยี่ยมมาก

    • มีคนชี้ว่า รถทั่วไปก็ขึ้นไปถึง 15V ได้ที่ 2000rpm ดังนั้น 14.4V ไม่ใช่แรงดันที่สูงเป็นพิเศษ
    • มีการกล่าวว่ารถเครื่องยนต์สันดาปภายในส่วนใหญ่จ่ายไฟใกล้ 14.4V อยู่แล้ว ดังนั้นใช้ตัวควบคุมมาตรฐานก็น่าจะเพียงพอ
  • น่าสนใจที่แก่นของปัญหาคือแค่ คอนเน็กเตอร์ 6 พิน ธรรมดา
    ทั้งที่มีแบบและขนาดอยู่แล้ว ก็ยังแปลกใจที่ไม่ได้คิดจะทำคอนเน็กเตอร์ขึ้นเองด้วยการพิมพ์ 3 มิติ

  • โปรเจ็กต์นี้เจ๋งมากจริง ๆ
    อยากรู้ว่าเป็นแบบ plug-and-play หรือไม่ และข้อมูลระยะทางวิ่งถูกเก็บไว้ที่ไหน
    ถ้าเป็นไปได้ก็อยากย้าย adaptive suspension ไปใส่รุ่นเก่าด้วย มีไอเดียว่าจะทำระบบควบคุมแยกด้วย Raspberry Pi

  • น่าทึ่งที่รถยัง บูตระบบปฏิบัติการได้สมบูรณ์ แม้ไม่มีอุปกรณ์รอบข้างตามที่คาดไว้

  • จะพูดอย่างไรเกี่ยวกับ Tesla ก็ตาม แต่ในมุมมองของการแฮ็ก มันเป็น โปรเจ็กต์ที่ยอดเยี่ยม จริง ๆ

  • มีคนบอกว่าต้องซื้อชุดสายไฟทั้งหมดในราคา 80 ดอลลาร์ แต่ในอเมริกาจะเรียกว่า wiring harness ส่วน loom หมายถึงวัสดุหุ้มสาย

    • จริง ๆ แล้วสายเส้นนั้นหาซื้อได้ถูกกว่านี้ มี Violet HSD Code D 4+2 Pin Female to D Female Jack Connector ราคาไม่ถึง 15 ดอลลาร์ที่ใช้แทนได้
      ลิงก์ AliExpress