در گذشته، رمزنگاری بر روی درایو انجام میگرفت و به همین دلیل، دادههای قرار گرفته روی رم تا مسیر انتقال به درایو، در معرض هک و دستکاری شدن قرار میگرفتند. با این نوآوری اینتل، دیگر غم به دلتان راه ندهید! هدف اصلی Intel SGX این است تا با ایجاد بخشی جداگانه تحت عنوان Enclave، وظیفه نگهداری از کدها و دادهها را درون حافظه بر عهده آن قرار دهد. کلید رمزگشایی این بخش در داخل پردازنده قرار میگیرد و از این رو، امنیت بیشتری را نسبت به حالت قبلی تجربه خواهید کرد.
قابلیت Intel Security Guard Extensions که با نام Intel SGX نیز شناخته میشود، همزمان با ورود پردازندههای خانواده Skylake به بازار معرفی شد. هدف SGX این است تا با فراهم کردن یک لایه امنیتی اضافی، از اجرای نرم افزارهای مخرب جلوگیری کند. حتی اگر اجازه انجام آن نرم افزار از سوی ادمین صادر شده باشد، باز هم این قابلیت سد معبر خواهد شد. با به کارگیری این تکنولوژی در زیرساختها، محیطی قابل اعتماد برای پردازش دادههای حساس ایجاد خواهد شد. از این رو، در این مقاله قصد داریم تا به صورت عمیق به تکنولوژی Intel SGX بپردازیم و با نحوه استفاده، مزایا، شیوه فعالسازی و غیرفعال کردن آن آشنا شویم، با ما همراه باشید.
SGX (Software Guard Extensions) چیست؟
هدف اینتل از ایجاد این قابلیت، افزایش سطح امینت کدهای اپلیکیشنها، اطلاعات و دادههای مهم است. این قابلیت امنیتی پردازنده محور، به اپلیکیشنها اجازه میدهد تا در فضای امن حافظه اجرا شوند. از این رو، خطر افشا شدن اطلاعات در حملات تا حد زیادی کاهش پیدا میکند.
در نظر بگیرید مورد حملات سایبری قرار گرفتهاید و تمامی بخشهای زیرساختی شما درگیر شدهاند. فضای امنی که Intel SGX ایجاد میکند سبب میشود تا در شرایط حملات سایبری نیز بتوانید اطلاعات خود را نجات داده و بستری امن برایشان فراهم کنید. در ادامه به چگونگی تضمین امنیت توسط Intel SGX خواهیم پرداخت.
اطلاعات مهم یک سازمان میتوانند شامل BIOS، سیستم عامل، دسترسی به root، مدیریت ماشین مجازی و غیره باشد که افشا شدن آنها میتواند تبعات زیان باری برای آن سازمان به همراه داشته باشد. هنگامی که یک برنامه با Intel SGX محافظت میشود، عملکرد و یکپارچگی آن در صورت حمله تحت تأثیر قرار نمیگیرد. چراکه سایر فرآیندها نمیتوانند به آن دسترسی داشته باشند.
منظور از SGX Enclave چیست؟
به ناحیههایی از حافظه که اطلاعات مهم و محرمانه را در خود نگهداری میکنند و توسط پردازنده محافظت میشوند، SGX Enclave گفته میشود. برای دسترسی به اطلاعات مهم و کدهای ذخیره شده تنها راه ممکن نفوذ به بخش Enclaveهاست.
زمانی که یک برنامه در داخل Enclave اجرا میشود، پردازنده به سرعت آن را رمزگذاری کرده و سپس کلید آن را در خود ذخیره میکند. از این رو، به دلیل قرارگیری کلید در داخل پردازنده، مهاجم با زیر و رو کردن حافظه هم نمیتواند به این اطلاعات دسترسی داشته باشد. آن فضای امنی که بالاتر از آن صحبت کردیم در واقع همین Enclave قرار گرفته در حافظه است.
امنیت Enclaveها چگونه تضمین میشود؟
اگر هنوز هم در مورد امنیت Enclaveها دو به شک هستید، ما به شما تضمین میدهیم که با محیط کاملا امنی روبه رو هستید. چرا که سطح دسترسی این بخشهای حافظه کاملا سفت و سخت تعیین شده و به قولی مو لای درز آن نخواهد رفت.
چیزی که امنیت این بخش را تضمین میکند، رمزگذاری اتوماتیک سخت افزار است. تکنولوژی SGX از پردازنده برای رمزگذاری اطلاعات و ذخیره سازی کلید در آن استفاده میکند. از این رو، شخص ثالت یا مهاجم نمیتواند به کلید دست پیدا کرده و اطلاعات آن را افشا کند. نکته قابل توجه این است که حتی فراهم کنندگان محیط Cloud نیز نمیتوانند به این بخش دسترسی داشته باشند.
Intel SGX چگونه کار میکند؟
تعیین اینکه دقیقا کدام بخش از حافظه به Enclave اختصاص پیدا کند، حین کار با Intel SGX به خود برنامه نویس و توسعه دهنده آن بستگی دارد. هر اپلیکیشن در حین کار با SGX دارای دو قسمت است:
بخش Untrusted
در این بخش، ساخت Enclave و ارتباطات System-wide شکل میگیرد. اپلیکیشن تنها دستورات Trusted را از این قسمت فراخوانی میکند تا به اطلاعات آن دسترسی پیدا کند.
بخش Trusted
این بخش، Enclaveهایی را که برای پردازش و نگهداری دادههای حساس ایجاد شدهاند، در خود نگهداری میکند. کدها و اطلاعات به صورت یک متن واضح در داخل Enclave نشان داده میشوند. تمامی درخواستهای خارجی که به این بخش وارد میشوند توسط قابلیت Intel SGX بازگشت خورده و از این رو اطلاعات داخلی این بخش کاملا امن میمانند.
اگر بخواهیم فرآیند اجرای یک اپلیکیشن را به کمک Intel SGX توصیف کنیم، این فرآیند به شرح تصویر زیر است:
- هنگام راه اندازی اپلیکیشن، Enclave در بخش Untrusted ساخته میشود.
- تابع Trusted توسط بخش Untrusted فراخوانی میشود که تنها کد درون Enclave میتواند دادههای آن را ببیند.
- حالا اپلیکیشن، Enclave را در بخش Trusted به کار میاندازد.
- تابع اطلاعات حساس و مهم را بر میگرداند.
- این اطلاعات در داخل Enclave باقی میمانند و دسترسی خارجی به آنها ممنوع است.
- اپلیکیشن دوباره اجرای خود را در بخش Untrusted از سر میگیرد.
نکته: بخشی از اپلیکیشن که اطلاعات امن را دریافت میکند در بخش Untrusted قرار گرفته است. اپلیکشن تنها زمانی میتواند اطلاعات را خارج از Enclave ذخیره کند که پردازنده آن را رمزگذاری کرده باشد.
چه حوزههای کاری میتوانند از Intel SGX استفاده کنند؟
هر زمانی که پای پردازشهای محرمانه در میان باشد، از Intel SGX تحت عنوان ابزار عالی این کار یاد میشود. خدمات استثنایی این تکنولوژی فقط شامل حال مشاغل IT نمیشود، بلکه در هر حوزه کاری که باشید میتوانید از خدمات بینظیر این تکنولوژی بهرهمند شوید. از جمله این مشاغل میتوان به امور مالی و بیمه، مراقبتهای بهداشتی و اجتماعی، ارتش، تجارت و بازرگانی اشاره نمود.
نکته: تمامی پردازندههای اینتل Xeon برای سرور از این قابلیت پشتیبانی میکنند و میتوانید به راحتی آن را به کار بگیرید.
نحوه فعالسازی Intel SGX در بایوس
در صورت پشتیبانی پردازنده سرور و بایوس از قابلیت Intel SGX، میتوان به راحتی آن را فعال کرد. (این امکان برای سرورهای +HPE g10 و g11 موجود میباشد).
کافیست ابتدا وارد بایوس شوید. پس از ورود با این تنظیمات مواجه خواهید شد:
غیر فعال: حالت پیش فرض Intel SGX است. در این حالت، SGX غیر فعال بوده و اپلیکیشنها نمیتوانند آن را فعال کنند.
فعال: در این حالت، اپلیکیشنها میتوانند از Intel SGX استفاده کنند. توجه داشته باشید که پیکربندی PRMRR مناسب سیستم شما باشد.
کنترل شده توسط نرم افزار: در این حالت، به اپلیکیشن مجوز داده میشود تا طی ارسال دستور به بایوس برای فعالسازی SGX، آن را فعال کند.
نکته: در برخی رابطهای کاربری (UEFI BIOS)، گزینه SGX زیر مجموعه گزینه Advanced -> CPU configuration قرار گرفته است. اما در بایوسهای قدیمی (legacy BIOS) این گزینه در بخش Configuration قرار گرفته است.
آیا میتوان Intel SGX را غیر فعال کرد؟
این جمله را به عنوان یک هشدار در نظر بگیرید! تحت هیچ شرایطی نباید Intel SGX را غیر فعال نمود. اگر تصمیم دارید که اطلاعات و دادههای حساستان توسط این قابلیت ایمن شوند، اصلا فکر غیر فعال کردن آن به سرتان نزند. چراکه غیر فعال کردن آن نه تنها ایمنی برای شما حاصل نمیکند، بلکه غیر فعال بودن SGX سبب میشود که نتوانید حتی نرم افزار پلتفرم Intel SGX را نصب کنید.
مزایای Intel SGX
با استفاده از قابلیت Software Guard Extensions از مزایای زیادی بهرهمند میشوید، از جمله مهمترین مزیتها میتوان به موارد زیر اشاره نمود:
- افزایش امنیت دادههای مهم و حیاتی
- با استفاده از Intel SGX، اطلاعاتی که نیازمند verify هستند میتوانند به جای ارسال به سرور راه دور، در دستگاه باقی بمانند. این قابلیت از تهدیداتی که بایوس، تجهیزات سیستم، پروفایل کاربر با مجوز root و… را به خطر میاندازد محافظت میکند.
- علاوه بر این، مهر و موم کردن اطلاعات، امنیت آنها را حتی خارج از Enclave نیز حفظ میکند.
سخن آخر
در این مقاله، در خصوص قابلیت Software Guard Extensions (Intel SGX) صحبت کردیم و دیدیم که چگونه حتی با داشتن مجوز دسترسی به اطلاعات توسط ادمین، این قابلیت اطلاعات شما را در بخش Enclave محفوظ نگه میدارد.
آداک فناوری مانیا با دارا بودن چندین سابقه درخشان و پرچم داری در عرصه فروش سرور و تجهیزات شبکه، در کنار شما خواهد بود تا بهترین انتخاب را داشته باشید. اگر به دنبال سرور با بهترین قیمت در بازار هستید، از صفحه سرورهای مانیا غافل نشوید. برای انتخاب پردازنده مناسب سرور خود نیز کافیست با متخصصین فنی ما در تماس باشید تا بهترین پردازنده را متناسب با نیازتان به شما معرفی کنند.
ادامه دارد…