18 คะแนน โดย xguru 2024-09-10 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อไม่นานมานี้ Google ได้เขียนเฟิร์มแวร์สำหรับ protected virtual machine ของ Android Virtualization Framework ใหม่ด้วยภาษา Rust และแนะนำว่าหากคุณทำงานด้านเฟิร์มแวร์ ก็ควรทำแบบเดียวกัน
  • ในบทความ "Deploying Rust in Existing Firmware Codebases" ที่เผยแพร่บน Google Security Blog วิศวกร Android ได้เจาะลึกรายละเอียดทางเทคนิคของการแทนที่โค้ด C และ C++ แบบเลกาซีด้วย Rust
    • "คุณจะเห็นได้ว่าการเสริมความปลอดภัยด้วยการแทนที่แบบ drop-in ด้วย Rust นั้นง่ายเพียงใด และยังจะมีการสาธิตว่า toolchain ของ Rust สามารถรองรับเป้าหมาย bare metal แบบเฉพาะทางได้อย่างไร"
  • คำว่า "ง่าย" ไม่ใช่คำที่มักใช้กับภาษาโปรแกรมที่ถูกพูดถึงว่ามี "เส้นโค้งการเรียนรู้ที่ชัน"
  • การทำให้นักพัฒนา C และ C++ มองโลกผ่านเลนส์ของ Rust ก็ไม่ใช่เรื่องง่ายเช่นกัน
    • หนึ่งในผู้ดูแลโครงการ Rust for Linux เพิ่งลาออกเมื่อไม่นานนี้ โดยให้เหตุผลว่าเกิดจากแรงต้านของนักพัฒนา Linux kernel
    • ผู้มีส่วนร่วมใน Linux kernel รายหนึ่งยังเคยกล่าวระหว่างการอภิปรายสดในงานประชุมเมื่อต้นปีนี้ว่า "คุณจะบังคับให้พวกเราทุกคนไปเรียน Rust ไม่ได้"
  • ถึงกระนั้น Google ก็ยังคงผลักดันการใช้ Rust
    • เฟิร์มแวร์มักขาดกลไกความปลอดภัยระดับสูง ซึ่งส่วนหนึ่งเป็นเพราะมักถูกเขียนด้วยภาษาไม่ปลอดภัยด้านหน่วยความจำอย่าง C หรือ C++
    • Rust มอบแนวทางหลีกเลี่ยงบั๊กด้าน memory safety เช่น buffer overflow และ use-after-free ซึ่งคิดเป็นสัดส่วนใหญ่ของช่องโหว่สำคัญในโค้ดเบสขนาดใหญ่
    • "Rust เป็นทางเลือกที่ปลอดภัยด้านหน่วยความจำสำหรับ C และ C++ โดยให้ประสิทธิภาพและขนาดโค้ดใกล้เคียงกัน"
    • "และยังรองรับการทำงานร่วมกับ C ได้โดยไม่มี overhead"
  • การสนับสนุนจากรัฐบาลและบริษัทเทคโนโลยี
    • เมื่อไม่นานมานี้ รัฐบาลสหรัฐฯ ได้เน้นย้ำให้มีการเขียนโครงการและองค์ประกอบโอเพนซอร์สที่สำคัญใหม่ด้วย Rust โดยได้รับการสนับสนุนจากบริษัทเทคโนโลยีรายใหญ่และโครงการไม่แสวงหากำไร (memorysafety.org)
    • เมื่อปีที่แล้ว Cybersecurity and Infrastructure Security Agency (CISA) ได้แนะนำผู้จำหน่ายซอฟต์แวร์ให้ "กำหนดให้การลดและท้ายที่สุดคือการกำจัดช่องโหว่ด้าน memory safety ในสายผลิตภัณฑ์ของตน เป็นเป้าหมายสูงสุดของบริษัท"
    • Google หลงใหลกับแนวคิดนี้อยู่แล้ว และเคยสรุปว่านักพัฒนา Rust มีประสิทธิภาพมากกว่าวิศวกร C++ ถึงสองเท่า
  • การใช้ Rust ของ Google ยังคงเพิ่มขึ้นอย่างต่อเนื่อง

"ที่ Google เรากำลังขยายการใช้ Rust ใน Android, Chromium และอื่นๆ เพื่อลดช่องโหว่ด้าน memory safety
เรามุ่งมั่นที่จะทำงานร่วมกับ ecosystem ของ Rust เพื่อเร่งการนำ Rust มาใช้ และมอบทรัพยากรและการฝึกอบรมที่นักพัฒนาต้องการ
งานในการนำ Rust เข้าสู่ระบบ embedded และเฟิร์มแวร์นี้ ช่วยจัดการอีกส่วนสำคัญหนึ่งของสแตก"

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

 
test01 2024-09-11

อ่านได้เพลินดีครับ