آورده شدن Shadow Stacks به لینوکس؛ غول امنیتی جدید برای Kernel

بیتعارف بگوییم؛ امنیت در دنیای سیستمعاملها مثل یک مسابقه دو ماراتن بین هکرها و توسعهدهندگان است. حالا خبر رسیده که برنامهنویسان اینتل و جامعه لینوکس دارن روی یک قابلیت فوقالعاده خفن و حیاتی به اسم Shadow Stacks برای Kernel کار میکنن تا جلوی یکی از خطرناکوترین روشهای نفوذ هکرها رو بگیرن. اگه تا حالا این تکنولوژی فقط برای برنامههای معمولی یا همون user-space فعال بود، قراره به زودی قلب تپنده لینوکس یعنی همون Kernel رو هم امنتر از همیشه کنه.
داستان از اون جایی جدیتر شد که یکی از مهندسین ارشد اینتل، یعنی Dave Hansen، یک پکیج از کدهای اصلاحی (patch) رو به صورت RFC منتشر کرد تا سر و صدا به پا کنه و نظر بقیه رو جلب کنه. این قابلیت قراره مثل یک حافظه پشتیبان و کاملاً ایزوله عمل کنه تا دست هکرها از دستکاری آدرسهای برگشتی کوتاه بشه.
داستان Shadow Stacks تو لینوکس چیه؟
اجازه بدین خیلی ساده بگیم؛ وقتی یک برنامه اجرا میشه، سیستمعامل باید بداند بعد از انجام هر کار، دقیقاً باید به کجا برگردد (Return Address). هکرهای کلاهسیاه با تکنیکهایی مثل ROP attacks این آدرسها رو دستکاری میکنن تا کنترل سیستم رو به دست بگیرن. اینجاست که Shadow Stacks وارد میشه و یک نسخه موازی و کاملاً محافظتشده از این آدرسها رو نگه میداره تا کسی نتواند دستکاریشون کند.
“Shadow stacks یک قابلیت امنیتی سختافزاری است که یک استک موازی، مجزا و محافظتشده برای ذخیره آدرسهای برگشتی فراهم میکند. این احتمالاً مهمترین مکانیزم امنیتی سختافزاری است که لینوکس تا به امروز از آن استفاده نکرده است.”
البته طبق کدهایی که فعلاً منتشر شده، این قابلیت به پردازندههای جدیدتری مثل Intel Panther Lake به بالا یا AMD Zen 6 به بعد نیاز داره؛ چون تکنولوژی FRED باید به عنوان یک پیشنیاز روی سیستم فعال باشه.
چالشها و محدودیتهای سر راه این پروژه
مثل هر تغییر بزرگ دیگهای توی دنیای لینوکس، این پروژه هم فعلاً چالشهای خودش رو داره. خیلی از قابلیتهای فعلی لینوکس مثل KVM، بخشهای مربوط به Kexec، و ابزارهای تریسینگ هنوز با این مدل امنیتی جدید سازگار نیستن و تیم توسعهدهنده در حال رایزنی و رفع این مشکلات هست تا بتونه کمکم این کدهارا وارد نسخه اصلی لینوکس بکنه.
باید دید در نهایت این سپر دفاعی سختافزاری چقدر سریع راه خودش رو به توزیعهای مختلف لینوکس باز میکنه، اما چیزی که مشخصه اینه که امنیت لینوکس داره یک قدم بسیار بزرگ رو به جلو برمیداره.



