آشنایی با فرآیند اجرای گمانی پردازنده‌های مرکزی و اهمیت آن در تشکیل حفره‌های امنیتی

آشنایی با فرآیند اجرای گمانی پردازنده‌های مرکزی و اهمیت آن در تشکیل حفره‌های امنیتی


تشخیص حفره‌های امنیتی موجود در محصولات نرم‌افزاری و رویه‌های ایمنی و سوء استفاده از آن‌ها جهت نفوذ به سیستم و دسترسی به اطلاعات شخصی افراد از دیرباز تاکنون در قالب پربازده‌ترین روش‌های موجود طبقه‌بندی می‌گردد، عاملی که امروزه و با پیشرفت شگرفت فناوری و تکنولوژی با درصد فراتری همراه و سطح گستردگی آن به حفره‌های امنیتی سخت‌افزاری نیز راه پیدا کرده است.

اگر به خاطر داشته باشید تشخیص حفره‌های امنیتی هنگفت Spectre و Meltdown که منبع حمله آن‌ها مستقیماً واحد پردازنده مرکزی را هدف قرار داده است چندی پیش به سوژه بسیار داغ رسانه‌ها و تیتر یک روزنامه‌ها مبدل شده بود. حملات صورت گرفته توسط حفره‌های امنیتی نامبرده که موضوع بحث آن به‌تازگی و با عنایت به تشخیص مشکل دیگری تحت عنوان Foreshadow یا L1 Terminal Fault از جانب محققان در پردازنده‌های مرکزی اینتل مجدداً بر سر زبان‌ها افتاده است درزمینهٔ بروز مشکلات بسیار مخرب پیرامون سیستم و دسترسی به اطلاعات شخصی تأثیرات فراوانی را به خود اختصاص داده و نیازمند سطح توجهات بیشتری از جانب کاربران و توسعه‌دهندگان محصولات نرم‌افزاری و سخت‌افزاری می‌باشد، اما چگونه؟ یک واحد پردازنده مرکزی با توجه به طبیعت خود در عمل به‌عنوان مغز رایانه و اجرای دستورات پردازشی و تدارک محاسبات ریاضی چگونه می‌تواند درزمینهٔ تشکیل حفره‌های امنیتی و فراهم آوردن بستر نفوذ به سیستم و دسترسی به اطلاعات محرمانه مثمرالثمر واقع شود؟

اجرای گمانی

پردازنده‌های مرکزی نوین و امروزی به‌منظور افزایش سرعت پردازش اطلاعات و جلوگیری از بروز تاخیرات هرچند کوچک در عملکرد روان و سلیس اپلیکیشن‌های رایانه‌ای و صرفه‌جویی در زمان از قابلیت بسیار خلاقانه‌ای تحت عنوان “اجرای گمانی” برخوردار می‌باشند. ویژگی فوق در حالت کلی به واحدهای پردازنده مرکزی اجازه می‌دهد تا دستورالعمل‌های بعدی نرم‌افزارهای رایانه‌ای را بر پایه حدس و گمانه‌زنی به‌صورت کاملاً خودکار و پیشتر اجرا و در بطن حافظه خود نگهداری نمایند، حال هنگامی‌که برنامه مربوطه در طی روند فعالیت خود به خطوط فرامین پیشتر اجرا شده می‌رسد، واحد پردازنده مرکزی از نتایج خروجی کاملاً آگاه و بدون اجرای مجدد دستورالعمل یا دستورالعمل‌های مربوطه به ارائه پاسخ مناسب و اجرای ادامه فرامین می‌پردازد.

رویه و روش اشاره شده به خودی خود و در نگاه کلی به هیچ عنوان مشکل‌ساز نبوده و زمینه افزایش سرعت پردازش رایانه شخصی را نیز فراهم می‌آورد، اما هنگامی‌که برنامه‌ای مخرب و یا ویروس ساختار خود را به‌عنوان دستورالعمل‌های منتسب به اپلیکیشن اجرایی تغییر و فرآیند اجرای گمانی واحد پردازنده مرکزی را وادار به اجرای پیش از موعد فرامین خود و حفظ نتایج نماید، زمینه بروز مشکلات و نفوذ به سیستم به‌نوعی سریعاً برقرار می‌گردد.

قابلیت اجرای گمانی واحدهای پردازنده مرکزی اگرچه درزمینهٔ صرفه‌جویی در زمان ممکن است مفید واقع شود، اما پشت سر گذاشتن برخی از اطلاعات به‌عنوان عاملی مخرب تأثیرگذار می‌باشد. به‌عنوان مثال با توجه به مدت زمان مورد نیاز فرآیند اجرای نظری جهت تدارک برخی از درخواست‌ها، نرم‌افزارهای مختلف می‌توانند به استنباط و کسب نتیجه از داده‌های موجود در بخشی از حافظه که میزبان نتایج خروجی می‌باشد مبادرت ورزند، حتی اگر امکان دسترسی مستقیم به اطلاعات به دلیل سدهای امنیتی میسر نباشد. بر همین اساس از آنجایی که استفاده از تکنیک‌های مشابه اجرای گمانی توسط برنامه‌های مخرب جهت خوانش حافظه‌های محافظت شده به‌عنوان یک گزینه کاملاً امکان‌پذیر می‌باشد، لذا دسترسی به اطلاعات موجود در بطن حافظه کش سطح 1 واحدهای پردازنده مرکزی که بستری جهت میزبانی کلیدهای رمزنگاری کریپتوگرافی به شمار می‌رود نیز میسر می‌باشد. به همین دلیل حملات منتسب به حفره‌های امنیتی این‌چنینی تحت عنوان L1 Terminal Fault یا به‌اختصار L1TF نیز شناخته می‌شوند.

به‌منظور استفاده از مزیت به ارمغان آورده شده توسط حفره امنیتی Foreshadow و یا نمونه‌های مشابه آن از جمله Spectre و Meltdown، فرد حمله‌کننده تنها باید از توانایی اجرای کدهای مخرب خود در رایانه شخصی شما برخوردار باشد. این دسته از دستورالعمل‌ها به هیچ عنوان نیازمند مجوزهای ویژه جهت اجرا از جانب سیستم‌عامل نبوده و ماهیت آن می‌تواند در قالب یک نرم‌افزار معمولی مورد استفاده کاربر بدون هیچ‌گونه دسترسی سطح پایین به حافظه‌های ویژه نظیر کش سطح 1 و یا محیط ماشین مجازی باشد.

حملات Foreshadow به‌‌طور مشخصی قابلیت Software Guard Extension یا به‌اختصار SGX پردازنده‌های مرکزی اینتل را هدف قرار می‌دهند. ویژگی سخت‌افزاری نامبرده در حالت کلی بستری برای تشکیل قلمروهای ایمن و تحت محاصره از حافظه به‌منظور نگهداری اطلاعات خود جهت عدم دسترسی توسط دیگر نرم‌افزارهای رایانه‌ای را برای اپلیکیشن‌های قابل پشتیبانی فراهم می‌آورد. قابلیت مذکور در حالت تئوری حاکی از آن است که برنامه‌های مخرب و ویروس‌های گوناگون از دستیابی به داده‌های حفظ شده در قلمرو موجود عاجز بوده و این مهم درصد ایمنی فراتری را برای برخی از نرم‌افزارهای ویژه همچون اپلیکیشن‌های رمزگذاری اطلاعات و … فراهم می‌آورد. هنگامی‌که حفرات امنیتی Spectre و Meltdown معرفی شدند، محققان فعال در عرصه امنیت دریافتند که بخش محافظت شده از حافظه توسط قابلیت SGX از آن‌ها ایمن بوده و نگرانی از بابت آن وجود ندارد، اما حفره امنیتی Foreshadow از این قاعده مستثنی بوده و ضعف ویژگی نامبرده از پردازنده‌های مرکزی اینتل را مستقیماً هدف قرار داده است.

اجرای گمانی

همان‌طور که پیشتر نیز اشاره شد، حملات منتسب به حفره‌های امنیتی Spectre ،Meltdown و Foreshadow با استفاده از ضعف ایمنی موجود در فرآیند اجرای گمانی واحدهای پردازنده‌های مرکزی به‌منظور دسترسی به اطلاعات محرمانه و حیاتی استفاده می‌نمایند که گستردگی این مهم در سطح سخت‌افزاری قابل بررسی می‌باشد. از هنگام معرفی حفره‌های امنیتی نامبرده تاکنون، تعداد حملات منتسب به آن‌ها نظیر Speculative Store Bypass یا به‌اختصار SSB که طیف وسیعی از انواع و اقسام پردازنده‌های مرکزی کمپانی اینتل، ای‌ام‌دی و برخی از پردازشگرهای مبتنی بر معماری ARM را تحت تأثیر خود قرار داده است با شمارش فراتری همراه گشته و این مهم لایه‌های امنیتی فراتری را طلب می‌نماید.

پست های مرتبط

دیدگاه خود را بنویسید