Tags:
Node Thumbnail

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

No Description

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

No Description

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

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

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

ที่มา - chromium-security

Get latest news from Blognone

Comments

By: artiya4u
AndroidUbuntu
on 26 May 2020 - 15:00 #1160048
artiya4u's picture

ใช้ JavaScript Runtime เป็น Deno ด้วยสิ

By: lew
FounderJusci's WriterMEconomicsAndroid
on 26 May 2020 - 15:14 #1160056 Reply to:1160048
lew's picture

Deno ตัว Runtime เป็น V8 ครับ (C++ นี่ล่ะ)

ถ้าบอกว่าใช้ท่า Deno คือใช้ท่า Rust เพราะ Deno ทำ Rust binding ให้ V8 แล้วเขียน component อื่นเป็น rust ซึ่งก็เป็นทางเลือกหนึ่งที่ทีม Chrome เขียนไว้


lewcpe.com, @wasonliw