กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see


ข่าว กูเกิลเล่าประสบการณ์แปลงโค้ด C/C++ เป็น Rust ในเฟิร์มแวร์ของ Android, บอกว่าทำง่าย

  • ผู้เริ่มหัวข้อ ผู้เริ่มหัวข้อNews 
  • วันที่เริ่มต้น วันที่เริ่มต้น

News 

Moderator
สมาชิกทีมงาน
Moderator
Verify member
กูเกิลเผยรายละเอียดผ่าน Google Security Blog ถึงการเปลี่ยนโค้ดเฟิร์มแวร์ Android จากของเดิมที่เป็น C/C++ มาเป็น Rust เพื่ออาศัยจุดเด่นเรื่องความปลอดภัยหน่วยความจำ (memory-safe) ที่ระดับภาษา

กูเกิลเริ่มใช้ Rust ใน Android มาตั้งแต่ปี 2021 และได้ผลเป็นอย่างดี กรณีนี้ กูเกิลบอกว่าต้องการโชว์ให้เห็นว่าการเปลี่ยนโค้ด C/C++ มาเป็น Rust โดยตรงชนิดใช้แทนกันได้เลย (drop-in replacement) เป็นเรื่องที่สามารถทำได้จริงที่ระดับเฟิร์มแวร์

กูเกิลบอกว่าเฟิร์มแวร์เป็นจุดรั่วให้โดนโจมตีได้ง่าย เพราะโค้ดระดับของเฟิร์มแวร์ขาดระบบความปลอดภัยที่ใช้กันในซอฟต์แวร์ระดับสูงขึ้น และมักเต็มไปด้วยโค้ดเก่าๆ ที่เขียนด้วย C/C++ สั่งสมกันมายาวนาน การแก้ปัญหาโดยเปลี่ยนโค้ดเป็น Rust ที่สามารถทดแทน C ได้เลยโดยไม่เสียประสิทธิภาพ (no overhead) จึงเป็นทางออกที่เหมาะสม

แนวทางที่กูเกิลใช้งานคือค่อยๆ เริ่มเปลี่ยนจากโค้ดส่วนที่มีความเสี่ยงสูง (highest risk) ก่อน โดยสร้างเลเยอร์ที่ทำหน้าที่แปลง Rust API เป็น C API ของเดิม ปัญหาที่พบในระหว่างทางคือต้องแปลงโค้ด Rust ที่เรียกไลบรารี std (รันบนระบบปฏิบัติการตัวเต็ม) มาเป็นสภาพแวดล้อมแบบ no_std (รันแบบ bare metal บนฮาร์ดแวร์เพียวๆ ในกรณีของเฟิร์มแวร์) ซึ่งกูเกิลได้เล่าเทคนิคการแก้ปัญหานี้ในบล็อกอย่างละเอียด

กูเกิลบอกว่าการเปลี่ยนผ่านครั้งนี้ "ง่าย" (ใช้คำว่า easy) และได้ประโยชน์เรื่องความปลอดภัยหน่วยความจำ โดยยังรักษาประสิทธิภาพระดับเดียวกับ C เอาไว้ได้ กูเกิลจึงแนะนำให้องค์กรอื่นๆ ที่อยากเปลี่ยนผ่านโค้ดเก่าในเฟิร์มแวร์ ให้เดินตามแนวทางที่กูเกิลลองจนประสบความสำเร็จมาแล้วได้

ที่มา - Google Security Blog via The Register

764b7f9da17c5c0234719cfa8439a354.jpg


Topics:
Rust
Android
Google
Programming
C
C++
Firmware

Continue reading...
 

กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see
กลับ
ยอดนิยม ด้านล่าง