مایکروسافت اعلام کرده که کتابخونه های اصلی (core) ویندوز رو داره با Rust بازنویسی میکنه، تا جلوی اکسپلویت آسیب پذیری های مرتبط با مموری رو بگیره.
Rust یه زبان برنامه نویسی هستش که روی ایمنی نوع، عملکرد و همزمانی تاکید داره. این زبان تا حدود زیادی جلوی اکسپلویت کردن آسیب پذیری های مموری رو میگیره. توسعه دهنده نرم افزار Graydon Hoare موقع کار در موزیلا، در سال 2006 این زبان رو بعنوان پروژه شخصی ایجاد کرد، اما در سال 2009 موزیلا به این پروژه علاقمند شد و از اون حمایت کرد. اولین نسخه پایدار اون در سال 2015 منتشر شد . این زبان در پروژه های مختلفی توسط کمپانی بزرگی مانند: مایکروسافت، دیسکورد، گوگل ، متا ، آمازون و Dropbox مورد استفاده قرار گرفته. همچنین باج افزار BlackCat هم در این زبان توسعه داده شده.
کد زیر ،برنامه “Hello, World” ،در این زبان هستش:
1 2 3 |
fn main() { println!("Hello, World!"); } |
آقای David Weston ، مدیر امنیت سیستم عامل ویندوز ، ماه گذشته در کنفرانس BlueHat IL 2023 که در تل آویو برگزار شد، این خبر داده و گفته که Rust در کرنل سیستم عامل ویندوز استفاده شده.
ایشون گفتن که در هفته ها یا ماههای آتی، ویندوزی رو استفاده میکنیم که در کرنلش کدهای Rust وجود داره و این عالیه. هدف اصلی اینه که ،برخی انواع داده ای سی پلاس رو میخوان، به Rust تبدیل کنن.
مایکروسافت، چند سال پیش به Rust بعنوان راهی برای شناسایی و رفع باگ های مرتبط با حافظه قبل از اینکه محصول به دست کاربر برسه، علاقه مند شد.
آسیب پذیری های مرتبط با حافظه، در کل 70 درصد آسیب پذیری های امنیتی موجود در محصولات مایکروسافت از سال 2006 به بعد شامل میشن.
سپتامبر 2022، آقای Mark Russinovich مدیر ارشد Microsoft Azure اعلام کرده بود پروژه های نرم افزاری جدید، باید از Rust به جای C/C++ استفاده کنن.
بازنویسی ویندوز با Rust از سال 2020 با DWriteCore شروع شده. DWriteCore یه پیاده سازی Windows App SDK از DWrite هستش، که برای انالیز متن، layout و رندرینگ مورد استفاده قرار میگیره. DWriteCore الان 152هزار خط کد Rust و 96هزار خط کد سی پلاس داره.
علاوه بر ایمنی حافظه، استفاده از Rust منجر به افزایش سرعت 5 تا 15 درصدی در Shaping (substituting) glyphs با OTLS (OpenType Library Services) شده.
همچنین Win32 GDI هم داره با Rust بازنویسی میشه و الان 36000 خط کد به زبان Rust داره .
آخرین نسخه ویندوز 11 الان با Rust بوت میشه و همه تست های GDI طی میکنه. آقای Weston گفتن که در حقیقت یه SysCall در کرنل ویندوز هستش که به زبان Rust پیاده سازی شده. البته ایشون در ادامه گفتن که بازنویسی کامل ویندوز در Rust به این زودی ها اتفاق نمی افته.
پشتیبانی مایکروسافت از Rust و مشارکت کد، باعث قدرتمند شدن این زبان و به نفع جامعه متن باز هستش. آقای Armin Ronacher توسعه دهنده نرم افزارهای متن باز، سازنده Flask در پایتون و مهندس امنیتی در Sentry ، این مسئله رو تایید کرده و گفته که حمایت مایکروسافت از Rust برای این زبان عالیه.
Samuel Colvin ، بنیانگذار Pydantic و یه توسعه دهنده که از Rust و پایتون استفاده میکنه، در این خصوص گفته که من از اینکه مایکروسافت اینطوری فکر میکنه خوشحالم اما تعجب نمیکنم. مطمئن هستم که این کار به دلیل فشار مهندسین مایکروسافت هستش. امروزه اگه بخوایید یه برنامه حیاتی یا سطح پایین توسعه بدید، استفاده از Rust بدیهیه.
Colvin در ادامه گفته: اگرچه نمیشه هر جایی به سادگی یه توسعه دهنده Rust خوب پیدا کرد اما پیدا کردن یه توسعه دهنده Rust خوب، ساده تر از توسعه دهنده C/C++ هستش. اگرچه توسعه دهنده Rust با تجربه کمه ، اما مهندسین زیادی تمایل به یادگیری این زبان دارن. سختی نوشتن کد امن در Rust ساده تر هستش.