News & Update

Google ลดปัญหาช่องโหว่จากหน่วยความจำด้วยการเปลี่ยนไปใช้ภาษา Rust

Google เผยว่าการเปลี่ยนโค้ดพัฒนาระบบปฏิบัติการมาเป็นภาษา Rust ทำให้ Android มีปัญหาช่องโหว่จากหน่วยความจำลดลงจากเดิมมาก

Google Pixel 6a

ปัญหาช่องโหว่จากหน่วยความจำนั้นไม่ใช่เรื่องแปลกใหม่ เพราะระบบปฏิบัติการต่างๆ ก็ได้รับผลกระทบนี้ และในช่วงหลายปีที่ผ่านมา Chrome และ Android มีช่องโหว่ที่เกิดจากหน่วยความจำเป็นสัดส่วนมากถึง 65% ด้วยกัน โดยการพัฒนามีต้นทุนสูงขึ้นเรื่อยๆ ถ้าหากช่องโหว่ไม่ถูกพบอย่างรวดเร็วและแก้ไขให้ทันเวลา

ในช่วงสี่ปีที่ผ่านมา Google ได้นำภาษา Rust มาใช้กับกระบวนการพัฒนาระบบปฏิบัติการ หลังจากนั้นตัวเลขปัญหาช่องโหว่จากหน่วยความจำก็ลดลง ในช่วงระยะเวลาสามปี ตั้งแต่ 2019 – 2022 จำนวนช่องโหว่ที่เกิดจากหน่วยความจำลดลง จากโดยเฉลี่ยปีละ 223 ช่องโหว่ ลดลงมาเหลือ 85 ช่องโหว่เท่านั้น ในภาพรวมช่องโหว่ด้านความปลอดภัยทั้งหมด จากเดิมที่เป็นสัดส่วนมากถึง 76% ก็เหลือเพียง 35% ของช่องโหว่ที่เกิดขึ้น

ทาง Google อธิบายว่าช่องโหว่ที่ลดลงอย่างเห็นได้ชัดเป็นผลของความพยายามที่เปลี่ยนมาใช้ภาษาที่ไม่มีปัญหาด้านหน่วยความจำ (แม้จะไม่พูดชื่อ แต่ก็รู้กันว่าหมายถึง C/C++) โดยปีที่แล้ว Android 12 เริ่มย้ายแพลตฟอร์มมาเป็น Rust และในปีนี้ Android 13 โค้ดใหม่แทบทั้งหมดที่เพิ่มเข้ามาเขียนด้วยภาษาที่มีระบบความปลอดภัยในหน่วยความจำที่ดี ได้แก่ Rust, Java หรือ Kotlin เท่านั้น

แน่นอนว่าช่องโหว่จากปัญหาอื่นๆ ยังคงมีอยู่ และมีการตรวจพบราวๆ เดือนละ 20 ช่องโหว่ แต่พอไม่มีช่องโหว่จากหน่วยความจำแล้วช่องโหว่เหล่านี้มักจะทำอะไรไม่ได้มากนัก

นอกจาก Google แล้วบริษัทอื่นๆ อย่าง Meta ก็เริ่มหันมาใช้ภาษา Rust กันมากขึ้น เนื่องจากตัวภาษามีช่องโหว่เรื่องหน่วยความจำน้อยกว่า C/C++ ส่วน Microsoft นั้นประกาศว่าโปรเจคต์ใหม่ไม่ควรจะใช้ C/C++ อีกต่อไป และถ้าหากเป็นโปรเจคต์ที่ไม่ต้องทำ Garbage Collection ก็ควรจะเลือกใช้ Rust ด้วย

ที่มา – The Register

ร่วมแสดงความคิดเห็น

ความเห็น

To Top

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณและสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • GA

    Google Analytic

Save