گامی مهم برای مقابله با روزنههای امنیتی؛ پردازنده Morpheus هکرها را به چالش میکشد
به لطف قانون مور، هر دو سال تعداد ترانزیستورها در دستگاههای رایانهای دو برابر میشود و متعاقب آن، سرعت و توانایی کامپیوترهای شخصی، گوشیهای هوشمند، تبلتها و سایر محصولات مجهز به پردازنده افزایش مییابد؛ اما از سوی دیگر، قانون Wirth’s حاکی از آن است که رشد نرمافزار نسبت به پیشرفت سختافزار با سرعت بیشتری کاهش مییابد. نتیجه نهایی این است که سختافزار و نرمافزار پیچیدهتر میشوند و به موجب آن، آسیبپذیریهای نرمافزاری کشفشده بهصورت روزافزون افزایش مییابد. برای مثال، فقط در سال گذشته بیش از ۱۷ هزار آسیبپذیری گزارش شده است.
شرکتهای سازنده پردازنده به دنبال دستیابی به پردازندههای امنی هستند که در برابر آسیبپذیریهای نرمافزار مقاوم باشند و بهعنوان لایهای محکم، از حملات مخرب جلوگیری کنند. این دقیقا همان جایی است که مُرفییِس (Morpheus) بر آن متمرکز شده. مُرفییِس یک CPU (پردازندهی مرکزی) امن محسوب میشود که در دانشگاه میشیگان توسط گروهی از دانشجویان تحصیلات تکمیلی و برخی از اعضای هیئت علمی طراحی شده است. این پردازنده رایانه را به معما و هزارتویی تبدیل میکند که میتواند کابوسی برای هکرها یا کدها و نرمافزارهای مخرب باشد.
طراحی جدید ریزپردازنده به خاطر ویژگیهای امنیتی آن مورد ستایش قرار گرفته است؛ زیرا تاکنون نزدیک به ۶۰۰ متخصص موفق به هک آن نشدهاند. پردازنده مذکور بهطور مداوم معماری خاص خود را بازنویسی میکند و رسیدن به هدف را برای مهاجم غیر ممکن میسازد و درنهایت، انواع نقایصی که به روزنههایی همچون Spectre و Meltdown اجازه حملهی کانال جانبی به پردازندههای معمولی x86 میدهند، بیاستفاده میکند.
تابستان سال گذشته، ۵۲۵ محقق امنیتی سه ماه تلاش کردند تا پردازنده Morpheus و همچنین پردازندههای دیگر را هک کنند. در مجموع ۱۰ آسیبپذیری در بین پنج پردازنده توسعهیافته برای SSITH (امنیت از طریق سختافزار و میانافزار یکپارچه) کشف شد؛ اما هیچ نقطهضعفی در پردازنده دانشگاه میشیگان یافت نشد و همه تلاشها علیه مُرفییِس به شکست انجامید. این مطالعه بخشی از برنامهای بود که توسط آژانس برنامه تحقیقات پیشرفته دفاعی ایالات متحده آمریکا (DARPA) برای طراحی پردازندهای امن که میتوانست از نرمافزار آسیبپذیر محافظت کند، حمایت میشد. DARPA نتایج این برنامه را برای اولینبار در ژانویه ۲۰۲۱ برای عموم منتشر کرد.
برای درک بهتر عملکرد پردازنده جدید بیایید موضوع را بهصورت ساده شرح بدهیم، پردازندهی قطعهای از سختافزار رایانه است که برنامههای نرمافزاری را اجرا میکند و از آنجا که زیربنای تمام سیستمهای نرمافزاری محسوب میشود، پردازنده امن این امکان را دارد که از هر نرمافزاری که روی آن اجرا میشود در برابر حمله محافظت کند. گفته میشود دانشگاه میشیگان اولینبار در سال ۲۰۱۹ پردازنده مُرفییِس را بهمنظور تبدیل کردن کامپیوتر به یک معما در برابر حملات، توسعه داده است.
مُرفییِس برای مقابله با تهدیدات امنیتی، بهطور مداوم محیط را تصادفیسازی میکند
بهطور کلی هر پردازنده دارای معماری است و برای اکثر لپتاپها از معماری x86 و برای گوشیهای هوشمند از آرم استفاده میشود که در حقیقت، مجموعه دستورالعملهای مورد نیاز نرمافزار برای پردازش را تأمین میکند. پردازندهها همچنین دارای یک ریزمعماری هستند که امکان اجرای مجموعه دستورالعملها، سرعت اجرا و کنترل مقدار انرژی مصرفی را فراهم میکند. هکرها باید از نزدیک با جزئیات ریزمعماری آشنا باشند تا کد مخرب یا بدافزار خود را با سیستمهای آسیبپذیر پیوند بدهند.
برای جلوگیری از حملات، مُرفییِس جزئیات را تصادفی پیادهسازی میکند تا سیستم را به پازلی تبدیل کند که هکرها قبل از سوءاستفادهی امنیتی، باید آن را حل کنند. پردازنده مذکور از یک دستگاه به دستگاه دیگر، جزئیاتی مانند دستوراتی که پردازنده اجرا میکند یا قالب دادههای برنامه را بهصورت تصادفی تغییر میدهد. حال ازآنجاکه این اتفاق در سطح ریزمعماری رخ میدهد، نرمافزاری که روی پردازنده اجرا میشود کاملا بیتأثیر خواهد بود.
یک هکر ماهر در صورت داشتن فرصت، میتواند در عرض چند ساعت ریزمعماری را مهندسی معکوس کند. برای مقابله با این موضوع، مُرفییِس ریزمعماری را هر چند صد میلیثانیه تغییر میدهد؛ بنابراین مهاجمان باید مهندسی معکوس ریزمعماری را بسیار سریع انجام بدهند. با بهرهگیری از این پردازنده، یک هکر با رایانهای روبهرو میشود که قبلاً هرگز آن را ندیده است و دیگر نخواهد دید.
شیوهی رایج دیگر این است که برای سوءاستفاده امنیتی، هکرها از آسیبپذیریهای نرمافزار برای ورود به دستگاه استفاده میکنند. پس از ورود، آنها بدافزار خود را با دستگاه پیوند میدهند. بدافزار برای آلوده کردن دستگاه میزبان و سرقت اطلاعات حساس یا جاسوسی از کاربران طراحی شده است. روش معمول برای امنیت رایانه، رفع آسیبپذیریهای نرمافزاری منفرد برای جلوگیری از هکرها است. برای موفقیت تکنیکهای مبتنی بر پَچ، برنامهنویسان باید نرمافزار کاملی را بدون هیچگونه خطایی بنویسند؛ اما قطعا ایده ایجاد یک برنامه کامل و بینقص خندهآور خواهد بود. نواقص در همهجا وجود دارد و یافتن اشکالات امنیتی سختترین چالش است؛ زیرا عملکرد طبیعی برنامه را مختل نمیکند و شناسایی را بسیار دشوار میکند.
مُرفییِس با افزایش پردازش اصلی، از رویکردی کاملا متمایزی برای امنیت استفاده میکند تا از پیوند بدافزار به دستگاه توسط مهاجمان جلوگیری کند. با استفاده از این روش، پردازنده از هر نرمافزار آسیبپذیری که روی آن اجرا شود، محافظت میکند. برای طولانیترین زمان، طراحان پردازنده امنیت را برای برنامهنویسان نرمافزار در نظر گرفتهاند؛ زیرا برنامهنویسان اشکالات نرمافزاری را ایجاد میکنند که منجر به نگرانیهای امنیتی میشود. البته اخیرا طراحان کامپیوتر کشف کردهاند که سختافزار میتواند به محافظت از نرمافزار کمک شایانی کند.
تلاشهای آکادمیک در دانشگاه کمبریج، مانند دستورالعملهای پیشرفته توانمندی RISC، محافظت قوی در برابر اشکالات حافظه را نشان میدهند. افزون بر این، تلاشهای تجاری نیز آغاز شده است. برای مثال، پردازندههای اینتل بهزودی با فناوری جریان کنترل عرضه میشوند. مُرفییِس، رویکردی جدید در نادیده گرفتن اشکالات در پیش میگیرد و در عوض اجرای داخلی آن را تصادفی میکند تا بهرهبرداری از آسیبپذیری را خنثی کند. خوشبختانه اینها تکنیکهایی مکمل هستند و ترکیب آنها احتمالا حمله به سیستم را دشوارتر خواهد کرد. تاد آستین، استاد علوم کامپیوتر و مهندسی در دانشگاه میشیگان میگوید:
ما در حال بررسی چگونگی استفاده از جنبههای اساسی طراحی Morpheus برای محافظت از دادههای حساس در دستگاههای افراد و در فضای ابری هستیم که علاوه بر تصادفیسازی جزئیات در پیادهسازی یک سیستم، چگونه میتوانیم دادهها را بهگونهای تصادفی کنیم که حریم خصوصی را حفظ کند؛ درحالیکه بار اضافهای را برنامهنویسان نرمافزار ایجاد نکند.
بهگفتهیآستین، رویکردهای امروزی برای ازبینبردن اشکالات امنیتی یکبهیک با شکست مواجه میشوند. مردم دائما در حال نوشتن کد هستند و تا زمانیکه کد جدیدی وجود داشته باشد، اشکالات و آسیبپذیریهای امنیتی جدیدی وجود خواهد داشت. به لطف پردازنده جدید حتی اگر یک هکر روزنهای پیدا کند، اطلاعات موردنیاز برای بهرهبرداری از آن ۵۰ میلیثانیه بعد از بین میرود. این شاید نزدیکترین چیز به یک سیستم ایمن ضد نفوذ آینده باشد.
مُرفییِس با استفاده از شبیهساز gem5 روی دستگاه منطقی برنامهریزیشده زایلینکس FPGA و یک میکروپردازنده چهار مرحلهای اجرا شد که هستههای سفارشی آن در سرعت کلاک ۲٫۵ گیگاهرتز با ۳۲ کیلوبایت حافظه کش L1i و ۳۲ کیلوبایت L1d کار میکنند. علاوه بر این، حافظه کش L2 بالغ بر ۲۵۶ کیلوبایت است. بهعبارتدیگر، این یک پردازنده x86 با کارایی بالا نیست که بتوانید آن را برای پردازشهای سنگین استفاده کنید.
طبق گفته آستین، کانون توجه تیم تحقیقاتی وی در دانشگاه میشیگان بهجای تمرکز بر ساخت تراشهای که بتواند طبقه خاصی از سوءاستفادهها را شکست بدهد، بر این بوده است که مُرفییِس را بهعنوان یک هدف دشوار برای هرگونه سوءاستفاده از CPU در نظر بگیرند. تاد آستین با پرداختن به ایدهی پردهبرداری از یک کلاس داده معروف به معناشناسی میگوید «در آن مقطع سؤال این بود که چگونه اطلاعات مهم را از مهاجم پنهان میکنیم، بهطوری که لطمهای به کار برنامهنویسان وارد نشود.»
معناشناسی تعریفنشده اطلاعاتی است که کاربر نهایی یا برنامهنویس برای کارکرد یک سیستم نیازی به دانستن ندارد. آستین برای شرح آن از قیاس رانندگی با اتومبیل استفاده میکند. برای رانندگی با وسیله نقلیه، باید بدانید که چگونه فرمان، تعویض دنده و پدال را بکار بگیرید. بااینحال، نیازی نیست که بدانید موتور چند اسببخار توان دارد یا اینکه آیا ماشین از روغن تقلبی یا استاندارد استفاده میکند و ضد یخ چه مارکی در موتور دارد. از نظر آستین، این نوع صفات معنای تعریفنشده وسیله نقلیه هستند.
مُرفییِس با رمزگذاری نشانگرهای حافظه در هر ۱۰۰ میلیثانیه، بارها و بارها به این مهم دست مییابد. این پروژه با رمزگذاری مداوم دادهها، مهاجمان را از پنجره زمانیکه برای انجام موفقیتآمیز حمله ابتدا نیاز دارند، محروم میکند. آستین این امر را به تلاش برای حل مکعب روبیکی تشبیه میکند که هر بار پِلک میزنید، خود را به هم میریزد. به گفته آستین، کاهش عملکرد برای این نوع رمزگذاری حدود ۱۰ درصد است. به عبارت دیگر، استفاده از قابلیتهای امنیتی، عملکرد پردازنده را تا حداکثر ۱۰ درصد کاهش میدهد.
تیم طراحی Morpheus از این طرح رمزگذاری اشارهگر ثابت با عنوان «churn» یاد میکنند و آنها تأثیر عملکرد را نیز اندازهگیری کردهاند. بر اساس نتایج، در ۱۰۰ میلیثانیه، تأثیر عملکرد بسیار کم است. افزایش سرعت چرخش بر عملکرد نیز تأثیر میگذارد؛ اما حتی چرخش هر ۵۰ میلیثانیه، عملکرد را در حالت متوسط قابل قبول نگه میدارد. در ردههای بعدی تأثیر مشهود میشود؛ اما این پردازنده مرکزی نیست که در وهله اول SPEC را اجرا کند؛ بنابراین قبل از نتیجهگیری قاطعانه باید تأثیر چنین طرحی را روی تراشههای با کارایی بالاتر ببینیم.
همانطور که آستین میگوید، این روش رمزگذاری حافظه، هر نوع حملهای که میتوانید علیه یک سیستم انجام بدهید، متوقف نمیکند. حملات سطح بالا مانند تزریق SQL و حملات سرور موسوم به مرد میانی (حملهی ژانوس) هنوز هم بهطور کامل کار میکنند؛ تکنیکهای اسپایفیشینگ که افراد را هدف قرار میدهند تحت تأثیر قرار نخواهد گرفت. در همین حال، کار ارائهشده در اینجا روش ساده پردازشی را ارائه نمیدهد تا به اینتل و AMD امکان استفاده از آن را بدهد. البته پیشنهاد میشود که محافظت بهتر در برابر حملات کانال جانبی امکانپذیر است و کاربران نهایی ممکن است مایل باشند ۵ الی ۱۰ درصد عملکرد نظری را در ازای امنیت بیشتر معامله کنند.
این پردازنده در برخی از نشریات غیر قابل کنترل یا غیر قابل نفوذ خوانده میشود؛ درحالیکه تیم آستین با این دیدگاه مخالفت میکند و میگوید که این پردازنده قابل نفوذ است؛ اما هک کردنش بسیار سخت خواهد بود.
نظرات