นักพัฒนาเจาะระบบสกู๊ตเตอร์ไฟฟ้า Egret GT เขียนเฟิร์มแวร์ใหม่ด้วยภาษา Rust เพื่อปิดช่องโหว่ความปลอดภัย

จุดเริ่มต้นของโครงการนี้เกิดจากการที่ Ben พบช่องโหว่ร้ายแรงบนหน้าจอแสดงผลของ Egret GT ซึ่งหากผู้ใช้งานเผลอเข้าสู่โหมดอัปเดตเฟิร์มแวร์ ระบบจะอนุญาตให้เข้าสู่โหมดใช้งานได้ทันทีโดยไม่ต้องระบุรหัสความปลอดภัย (Security PIN) นอกจากนี้ จากการวิเคราะห์รับส่งข้อมูลผ่าน Bluetooth ยังพบว่าตัวแอปพลิเคชันมีการแอบส่งข้อมูลการใช้งานส่วนตัวกลับไปยังเซิร์ฟเวอร์ของผู้ผลิตพร้อมระบุรหัสประจำตัวของรถ ซึ่งสร้างความกังวลด้านความเป็นส่วนตัวอย่างมาก

ในการวิเคราะห์ระบบภายใน Ben ได้ใช้เครื่องออสซิลโลสโคปและตัวถอดรหัส CAN bus ที่ทำขึ้นเอง จนกระทั่งค้นพบเรื่องน่าประหลาดใจว่า สัญญาณ CAN bus ของตัวรถเชื่อมต่อเข้ากับพินข้อมูลของพอร์ต USB-C ซึ่งตามสเปกแล้วมีไว้สำหรับชาร์จโทรศัพท์มือถือเท่านั้น นั่นหมายความว่าอุปกรณ์ที่นำมาเสียบชาร์จอาจได้รับสัญญาณข้อมูลแปลกปลอมเหล่านี้โดยไม่รู้ตัว

การย้อนรอยกระบวนการอัปเดตเฟิร์มแวร์ดั้งเดิมถือเป็นกุญแจสำคัญในการติดตั้งระบบปฏิบัติการใหม่ เนื่องจากเฟิร์มแวร์ของสกู๊ตเตอร์นี้แบ่งออกเป็น 3 ส่วนหลัก ได้แก่ ส่วนแสดงผล ส่วนแผงป้อนข้อมูล และตัวควบคุมหลัก ซึ่งการเปลี่ยนมาใช้เฟิร์มแวร์ภาษา Rust ที่เขียนขึ้นใหม่นี้ ไม่เพียงแต่ช่วยอุดช่องโหว่ด้านความปลอดภัย แต่ยังเป็นกรณีศึกษาเชิงลึกที่ยอดเยี่ยมสำหรับผู้ที่สนใจในกระบวนการ Reverse Engineering ทั่วไป


🏷️ หมวดหมู่: Reverse Engineering, Transportation Hacks, bluetooth, CAN, e-scooter, Egret, reverse engineering

🔗 อ่านบทความฉบับเต็ม: hackaday