Chrome พบช่องโหว่ร้ายแรงสูง 70% เป็นช่องโหว่หน่วยความจำ เตรียมหาทางแก้ระยะยาว อาจใช้ภาษา Rust

by lew
26 May 2020 - 04:59

โครงการ Google Chrome ออกรายงานวิเคราะห์ช่องโหว่ความร้ายแรงสูงถึงความร้ายแรงวิกฤติจำนวน 912 รายการ พบว่าในจำนวนนี้เป็นช่องโหว่หน่วยความจำถึง 70% แบ่งเป็นช่องโหว่ใช้หน่วยความจำหลังคืนค่าให้ระบบ (use-after-free) ถึง 36.1% และช่องโหว่หน่วยความจำอื่นๆ อีก 32.9% ทำให้ทีมงานเตรียมวางโครงการใหญ่เพื่อขจัดปัญหาในระยะยาว

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

ทีมงานเตรียมหาทางปรับปรุงกระบวนการพัฒนาเพื่อลดช่องโหว่เหล่านี้ โดยเปิดทางเลือกไว้หลากหลาย ตั้งแต่การปรับไปใช้ไลบรารี C++ ที่ปลอดภัยมากขึ้น, อาศัยกระบวนการตรวจสอบของคอมไพล์เลอร์เพื่อห้ามใช้งาน pointer โดยตรง, หรือการใช้ภาษาอื่นที่ปลอดภัยกว่า C++ ในการพัฒนา เช่น Java/Kotlin, JavaScript, Rust, Swift แต่ภาษา Rust ถูกระบุเป็นพิเศษอยู่ในแผนภาพ

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

ก่อนหน้านี้ไมโครซอฟท์ก็เคยแสดงความสนใจในการใช้ภาษา Rust มาพัฒนาบางส่วนเพื่อลดช่องโหว่หน่วยความจำ โครงการใหม่ๆ ที่ต้องการความปลอดภัยหลายโครงการก็หันมาใช้ภาษา Rust กันแล้ว เช่น 1Password, FIDO2 ของกูเกิล, VPN ของแอปเปิล, และ Deno โครงการที่เตรียมมาแทนที่ Nodejs

ที่มา - chromium-security

Blognone Jobs Premium