Thursday, December 26, 2024
Technology

ไมโครซอฟท์เริ่มเขียนบางส่วนของ Windows ด้วย Rust แก้ปัญหาหน่วยความจำ แถมประสิทธิภาพดีขึ้น – SMS Marketing ราคาถูกที่สุด

217views

David Weston หัวหน้าฝ่ายความปลอดภัยระบบปฏิบัติการของ Windows ไปพูดในงานสัมมนาความปลอดภัย BlueHat IL 2023 ที่อิสราเอล เปิดเผยว่าไมโครซอฟท์เริ่มใช้ภาษา Rust เขียนบางส่วนของ Windows เพื่อแก้ปัญหาช่องโหว่หน่วยความจำแล้ว

Weston เล่าว่าช่องโหว่ด้านหน่วยความจำ มีสัดส่วนเป็น 70% ของช่องโหว่ทั้งหมดของ Windows ทำให้ไมโครซอฟท์ต้องหาวิธีแก้ไขที่ยั่งยืนในระยะยาว โดยวิธีการหนึ่งคือใช้ภาษาโปรแกรมที่ป้องกันเรื่องนี้ตั้งแต่ระดับของตัวภาษาเลย

แต่ความซับซ้อนของ Windows ทำให้ไมโครซอฟท์ต้องค่อยๆ ลองเปลี่ยนโค้ดจาก C++ มาเป็น Rust อย่างช้าๆ โดยเริ่มจากชิ้นส่วนที่ไม่ค่อยมี dependency กับส่วนอื่นมากนัก คือ DWrite เอนจินสำหรับวิเคราะห์และเรนเดอร์ข้อความบนหน้าจอ ไมโครซอฟท์เขียนมันใหม่ด้วย Rust เป็น DWriteCore ในปี 2020 ตอนนี้มีโค้ดที่เป็น Rust ราว 152,000 บรรทัดแล้ว เหลือส่วนที่เป็น C++ ราว 96,000 บรรทัด และนอกจากความปลอดภัยที่ดีขึ้นแล้ว ไมโครซอฟท์ยังพบว่าประสิทธิภาพดีขึ้นด้วย 5-15% ถือเป็นผลพลอยได้จาก Rust

ถัดมา ไมโครซอฟท์เริ่มเขียน Win32k GDI ไลบรารีส่วนที่ใช้วาด UI ขอบหน้าต่างแบบเก่าที่ใช้มาตั้งแต่ยุค 80s/90s ตอนนี้มีโค้ด Rust ราว 36,000 บรรทัด และ Win32k GDI ตัวใหม่ถูกผนวกเข้ามาใน Windows 11 รุ่นภายในแล้ว บูตผ่านแล้ว เทสต์ผ่านด้วย แต่ยังปิดการใช้งานเป็นค่าดีฟอลต์อยู่

Weston ยังเผยข้อมูลว่าตอนนี้ไมโครซอฟท์เริ่มเขียน SysCall ของเคอร์เนล Windows ด้วย Rust บ้างแล้วเช่นกัน แต่ยังไม่บอกรายละเอียดเหมือน 2 โครงการข้างต้น

ความนิยมใน Rust เพิ่มขึ้นเรื่อยๆ ในช่วงหลัง นอกจากไมโครซอฟท์แล้ว อีกองค์กรที่เริ่มใช้ Rust อย่างจริงจังคือ กูเกิลที่เขียนบางส่วนของ Android เป็น Rust รวมถึง Chrome

My presentation slides for “Windows 11: security by-default” from @BlueHatIL covering:Rust in win32k, Adminless Windows, Token Binding, Sandboxing win32, and more! posted here: https://t.co/mfOcOh8f84 pic.twitter.com/WDAbbIjaEv

— David Weston (DWIZZZLE) (@dwizzzleMSFT) April 18, 2023

ที่มา – The Register

Bulk SMS และ SMS OTP

ราคาถูกพิเศษ สำหรับปริมาณมาก ติดต่อ LINE @deecom

Generated by Feedzy