آیا CPU هم هک میشود؟ مروری بر آسیبپذیریهای امنیتی پردازنده مرکزی
همه از خطرات هکهای نرمافزاری و آنلاین خبر داریم. در این موارد هکرها تلاش میکنند با استفاده از برنامههای کاربردی آلوده، لینکهای مشکوک و فایلهای مخرب به کامپیوتر قربانی نفوذ کنند. اما آیا میدانستید سختافزار کامپیوتر هم قابل هک شدن است؟ بله قطعات کامپیوتر از جمله CPU هم میتواند هدف حملات سایبری قرار گیرد. اما هک CPU به چه معناست، چه خطراتی دارد و چگونه میتوان از آن جلوگیری کرد؟
مقدمه
امروزه دیگر از «روند» دیجیتالی شدن دنیای اطرافمان صحبت نمیکنیم چراکه دستگاههای دیجیتال در همه عرصههای حرفهای و خصوصی ما وارد شده است. در قلب تکتک این دستگاهها یک پردازنده مرکزی یا CPU وظیفه پردازش اطلاعات را برعهده دارد. و برای پاسخ به نیاز روز افزون به توان پردازشی، سختافزارهایی مثل CPU و GPU هم پیشرفتهتر و پیچیدهتر شدهاند.
با افزایش پیچیدگی، خطر خطاهای پیشبینی نشده و آسیبپذیریها امنیتی CPU نیز افزایش یافته و فرصتهای جدیدی در اختیار هکرها قرار میگیرد. حملات سختافزاری به CPU تلاش دارند از همین ضعفهای ساختاری و درونی استفاده کنند و امنیت پردازنده را هدف قرار دهند.
درک آسیبپذیریهای CPU نیازمند آشنایی با نحوه کار پردازندههای مدرن است. حملات سایبری به پردازنده میتوانند ابعاد مختلف سختافزار را هدف گیرند، از نحوه پیشبینی و اجرای دستورالعملهای گرفته تا الگوی مصرف توان پردازنده.
در این مقاله ابتدا انواع مختلف حملات سختافزاری به پردازنده مرکزی را معرفی و تعدادی از آسیبپذیریهای شناخته شده را بررسی خواهیم کرد. در ادامه راهکارهای محافظت از CPU در برابر این حملات را مرور خواهیم کرد.
هک CPU به چه معناست؟
هک CPU به معنای استفاده از آسیبپذیریهای پردازنده مرکزی است. هکرها با این حملات تلاش دارند با تأثیرگذاری بر عملیات درونی CPU، به اطلاعات حساس دسترسی غیرمجاز پیدا کنند، کدهای مخرب اجرا کنند یا در عملکرد سیستم اخلال ایجاد کنند.
برخلاف هکهای نرمافزاری که با استفاده از ضعفهای موجود در برنامهها و سیستمعامل انجام میشود، حملات سایبری به CPU در سطح سختافزار انجام میشود و از ضعفهای طراحی و عملیاتی پردازنده استفاده میکنند. در ادامه انواع حملات سختافزاری به پردازنده را معرفی میکنیم.
حملات کانال جانبی
در این روش از هر گونه اطلاعاتی که به صورت ناخواسته از پردازنده درحال کار به بیرون درز میکند برای دستیابی به اطلاعات استفاده میشود. به عنوان مثال با تحلیل تغییرات توان مصرفی یا تشعشعات الکترومغناطیسی پردازنده، به تخمینی از اطلاعات مورد پردازش دسترسی پیدا میکنند.
حملات تزریق خطا
در حملات تزریق خطا تلاش میشود خطاهای عمدی در عملیات پردازنده ایجاد شود. هدف از تزریق خطا میتواند صرفاً اخلال در عملکرد سیستم یا وارد کردن پردازنده به حالتی ناامن برای دور زدن موانع امنیتی، ایجاد رفتار ناخواسته یا دسترسی به اطلاعات حساس مثل کلیدهای رمزنگاری باشد. این حملات با روشهای مختلفی مثل دستکاری ولتاژ، سیگنال ساعت یا Clock، تزریق خطا با لیزر یا روشهای دیگر انجام میشود.
حملات مبتنی بر ریزمعماری پردازنده
این حملات بر ویژگیهای خاص در معماری پردازندههای نوین متمرکز بوده و معمولاً تنها قابل استفاده برای نفوذ به پردازندههای یک شرکت خاص یا نسل به خصوصی از پردازندهها هستند. این حملات میتوانند قابلیتهایی مثل پیشبینی دستورالعملهای بعدی یا نحوه عملکرد حافظه Cache را مورد حمله قرار دهند.
دستکاری فیزیکی
این نوع حملات مستلزم دسترسی فیزیکی به CPU است. دستکاری فیزیکی میتواند شامل برداشتن پکیج محافظ پردازنده و استفاده از تجهیزات مخصوص برای شنود سیگنالهای داخلی پردازنده یا مهندسی معکوس برای فهمیدن نحوه طراحی و کار CPU باشد.
حملات زنجیره تأمین
تراشههای کامپیوتری تجهیزات پیچیدهای هستن که برای ساخته شدن آنها مواد اولیه و تجهیزات توسط تعداد زیادی شرکت مختلف و از مناطق مختلف دنیا تأمین میشود. همچنین ساخت تراشه هم فرایندی چند ماهه است که با ورود ویفر سیلیکونی به کارخانه تولید چیپ شروع میشود و تا پایان عملیات بستهبندی یا Packaging ادامه مییابد.
در طول این فرایند طولانی ممکن است افرادی آسیبپذیریهایی مثل تروجانهای سختافزاری را به تراشه اضافه کنند.
حملات به Firmware
فریمور شامل کدهای سطح پایین است که عملیات پایهای سختافزار را کنترل میکند. هکرها میتوانند از آسیبپذیریهای Firmware استفاده کنند تا کنترل سختافزار را به دست بگیرند یا از آن برای نصب سایر نرمافزارهای مخرب استفاده کنند.
نفوذ از طریق در پشتی
بعضی سازندگان تراشه ممکن است به عمد آسیبپذیریهایی را در پردازنده قرار دهند که تنها خودشان از وجود آن خبر دارند. این آسیبپذیریها که به در پشتی یا Backdoor معروف هستند، میتوانند در مواقع لزوم برای نفوذ به سیستم استفاده شوند.
آسیبپذیریهای CPU تا چه اندازه خطرناک است؟
هرچند به دلیل ماهیتشان، حملات سختافزاری به اندازه هکهای نرمافزاری متداول نیستند، اما از آنجا که بسیاری از ویژگیهای امنیتی سیستمعامل به CPU وابسته است، توصیه میشود آنها را جدی بگیرید.
این نوع حملات معمولاً با در اختیار گرفتن دسترسیهای سطح پایین سختافزاری همراه است که میتوانند موانع امنیتی رایج را دور بزنند. همین موضوع باعث میشود در اکثر مواقع ردی از نفوذ به سیستم نیز بر جای نماند و نرمافزارهای محافظ مثل آنتیویروسها هم کارایی لازم را نداشته باشند.
یکی از ویژگیهای آسیبپذیریهای CPU آن است که رفع اساسی آن معمولا نیازمند بازطراحی پردازنده است و رفع اینگونه تهدیدات امنیتی در سطح سیستمعامل و بایوس معمولا به کاهش عملکرد پردازشی CPU میانجامد.
تهدید اصلی آسیبپذیریهای پردازنده متوجه دیتاسنترها است. چراکه این سیستمها معمولاً میزبان تعداد زیادی کاربر هستن و برای تخصیص منابع از روشهای مجازیسازی بهره میگیرند. از همین رو با نفوذ به یک سرور، هکرها میتوانند به اطلاعات تعداد زیادی از کاربران دسترسی پیدا کنند.
دیتاسنترها معمولا تعداد زیادی از یک نوع پردازنده را سفارش میدهند و همین امر باعث میشود حملاتی که در مقابل مدل یا معماری خاصی از پردازندهها موثرند، برای نفوذ به دیتاسنترهایی که تعداد زیادی از آن نوع CPU را استفاده میکنند، توجیه بیشتری داشته باشد.
چند مورد از آسیبپذیریهای شناخته شده CPU
در این بخش تعدادی از جدیترین آسیبپذیریهای شناخته شده در سالهای اخیر که امنیت پردازندهها را به خطر انداخته اند معرفی میکنیم.
برای اندازهگیری میزان خطر آسیبپذیریهای سایبری استانداردی با نام سیستم مشترک امتیازبندی آسیبپذیریها یا CVSS وجود دارد که برای اندازهگیری میزان خطرناک بودن آسیبپذیریها استفاده میشود.
در CVSS معیارهایی مثل میزان گستردگی حمله، پیچیدگی، دسترسیهای مورد نیاز، نیاز به دریافت ورودی از کاربر، امکان تغییر در اطلاعات کاربر و چند معیار دیگر برای امتیاز بندی به کار میرود. در حال حاضر از نسخه 4 این استاندارد در صنعت استفاده میشود.
Spectre
امتیاز CVSS: 5.6
یکی از راههایی که CPU برای سرعت بخشیدن به اجرای برنامه استفاده میکند، اجرای پیش از موعد دستورالعملها یا Speculative Execution است. در این روش پردازنده سعی میکند دستورالعملهایی که برنامه در آینده اجرا خواهد کرد را پیشبینی کرده و از قبل آنها را اجرا کند.
حمله Spectre از همین ویژگی در پردازندههای اینتل میکرد و از همین رو میتوان آن را در دسته حملات به ریزمعماری قرار داد. در این حمله، هکر با فریب پردازنده مرکزی برای اجرای پیش از موعد دستورالعملهای خاص و تحلیل زمان اجرای دستورالعملها، به اطلاعات حساس موجود در حافظه کش پردازنده که از حافظه رم بارگذاری شدهاند دسترسی پیدا میکند و به این ترتیب میتواند به اطلاعات سایر برنامهها در حافظه رم دسترسی پیدا کند.
به علت شیوه دسترسی به اطلاعات ممنوعه، Spectre جزء حملات کانال جانبی نیز محسوب میشود.
Meltdown
امتیاز CVSS: 5.6
این آسیبپذیری نیز مانند Spectre از حملات به ریزمعماری محسوب شده و از قابلیت Speculative Execution برای دسترسی به اطلاعات استفاده میکند. این حمله از یک حالت رقابت یا Race Condition بین دو ویژگی امنیتی یعنی دسترسی به حافظه و بررسی مجوزهای دسترسی در پردازندههای اینتل استفاده کرده و موانع امنیتی سیستمعامل برای دسترسی به اطلاعات حافظه را دور میزند.
تفاوت اصلی Meltdown با Spectre آن است که در حملات Spectre تنها اطلاعات سایر برنامهها قابل شنود بود اما در Meltdown تمامی فضای آدرسدهی پردازنده از جمله قسمت مربوط به سیستمعامل قابل دسترسی است.
این آسیبپذیری نیز علاوه به حمله به ریزمعماری، در دسته حملات کانال جانبی نیز قرار میگیرد.
Zenbleed
امتیاز CVSS: 6.5
پردازندههای AMD هم از حملات مربوط به اجرای پیش از موعد دستورالعملها مصون نبودهاند. در سال 2019 یکی از محققان امنیتی گوگل مقالهای منتشر کرد و در آن فرایندی را تشریح نمود که میتوانست موجب لو رفتن اطلاعات برنامهها در صورت استفاده از دستورالعملهای AVX شود. این آسیبپذیری در پردازندههای مبتنی بر معماری Zen 2 ای ام دی وجود داشته و در نسلهای بعدی برطرف شده است.
به گفته این پژوهشگر امنیتی گوگل، با فریب پردازنده برای اجرای پیش از موعد رشته دستورالعملهایی که به ریست ناموفق رجیسترهای 256 بیتی YXM منجر میشود، میتواند اطلاعات باقی مانده در این رجیسترها که متعلق به سایر برنامه هستند را خواند.
Hertzbleed
امتیاز CVSS: 6.5
تعدادی از پژوهشگران دانشگاههای تگزاس، ایلینوی و واشنگتن با تحلیل رابطه توان مصرفی و فرکانس کاری پردازندههای X86 موفق به دستیابی به اطلاعات حساس مثل کلیدهای رمزنگاری شدند.
قسمت ترسناک این آسیبپذیری که پژوهشگران آن را Hertzbleed نام نهادهاند آن است که نیازی نیست برای استفاده از آن به کامپیوتر قربانی دسترسی فیزیکی وجود داشته باشد.
بنابر اطلاعاتی که در مقاله Hertzbleed آورده شده، این حمله از حملات کانال جانبی مبتنی بر توان مصرفی محسوب میشود که از قابلیت مقیاس پذیری پویای ولتاژ و فرکانس (DVFS) در پردازندههای مدرن استفاده میکند.
گیمرها ممکن است این قابلیت را با نامهایی مثل PBO در پردازندههای AMD یا IPM در پردازندههای اینتل بشناسند. با تغییر ولتاژ و فرکانس این پردازندهها که به طور مستقیم به تغییر در انرژی مصرفی آنها منجر میشود میتوان به اطلاعات حساسی دسترسی پیدا کرد.
GoFetch
امتیاز CVSS: در زمان نگارش مقاله فاقد امتیاز
اگر گمان کردهاید با استفاده از پردازندههای اپل از شر حملات سختافزاری در امان خواهید بود، سخت در اشتباهید. چندی پیش گروهی از محققان امنیتی حملهای به نام GoFetch را علیه چیپهای M1 و M2 اپل ترتیب دادند که از قابلیت memory-dependent prefetcher یا DPM در پردازندههای مبتنی بر معماری ARM اپل استفاده میکرد.
به گفته این پژوهشگران این قابلیت هنگامی که دادههای واقع در یک سلول حافظه «شبیه» یک اشارهگر به آدرس دیگری در حافظه باشد وارد عمل میشود. محققان در این حمله موفق شدند رشته دستورالعملهایی را بیابند که در آنها قابلیت DPM تنها زمانی فعال میشود که ورودیهای داده شده از طرف هکرها شبیه به بخشی از کلیدهای رمزنگاری باشند. از این طریق این امکان به وجود میآید که با سعی و خطا ساختار کلیدهای رمزنگاری لو بروند.
از طریق GoFetch پژوهشگران موفق شدند تعدادی از رمزنگاریهای سرتاسری مثل OpenSSL Diffie-Hellman Key Exchange و Go RSA را بشکنند و حتی روشهای رمزنگاری که برای مقابله با کامپیوترهای کوانتومی توسعه یافتهاند مثل Go RSA decryption و CRYSTALS-Dilithium نیز در برابر این حمله آسیبپذیر بودهاند.
Indirector
امتیاز CVSS: در زمان نگارش مقاله فاقد امتیاز
این آسیبپذیری را میتوان نسخه جدیدی از Spectre به حساب آورد که پردازندههای Alder Lake و Raptor Lake اینتل را تحت تأثیر قرار میدهد. محققان دانشگاه کالیفرنیا واحد سن دیگو در مقالهای این حمله را تشریح کردهاند.
در Indirector فرایند نفوذ با حمله به واحد پیشبینی انشعاب غیر مستقیم (IBP) و بافر هدف انشعاب (BTB) انجام که بخشی از پردازنده در معماریهای جدید اینتل هستند رخ میدهد.
راههای محافظت از CPU در برابر حملات سختافزاری
حملات سایبری به پردازنده مرکزی هرچند نادر، اما یکی از مشکلترین حملات برای محافظت هستند چرا که بسیاری از قابلیتهای امنیتی پردازنده برای امنیت نرمافزارها و سیستمعامل ضروری است. همچنین استفاده از راهکارها نرمافزاری در سطح سیستمعامل و Firmware، اغلب گامهای اضافی به فرایند پردازشی اضافه میکنند و که باعث کاهش عملکرد CPU میشود و برای رفع اساسی بسیاری از آسیبپذیریها نیاز به اعمال تغییراتی در معماری پردازنده است.
با این وجود برای افزایش امنیت پردازنده در برابر نفوذ راهکارهایی وجود دارد که توصیه میشود آنها را مد نظر داشته باشید:
آپدیت نگه داشتن نرمافزارها
همانطور که گفتیم تغییر در معماری پردازندهها بعد از ساخت غیرممکن است و برای بسیاری از آسیبپذیریهای کشف شده در سطح سیستمعامل یا BIOS آپدیتهایی عرضه میشود. بنابراین توصیه میشود همیشه سیستمعامل خود را به روز نگه دارید و از آخرین نسخه بایوس مادربرد استفاده کنید.
استفاده و بروزرسانی مداوم آنتیویروسها
آنتیویروسها ممکن است برای حفاظت از آسیبپذیریهای CPU کارایی چندانی نداشته باشند اما برای حملات سختافزاری به CPU در بسیاری مواقع لازم است ابتدا نرمافزار مخرب روی کامپیوتر قربانی اجرا شود که آنتیویروس میتوانند در این مورد از سیستم محافظت کنند.
ماژولهای امنیت سختافزاری
برای حفاظت از کلیدهای رمزنگاری در بعضی پلتفرمها از ماژولهای سختافزاری استفاده میشود که توصیه میکنیم در صورتی که رایانه شما از چنین قابلیتی پشتیبانی میکنند، آن را فعال کنید. به عنوان مثال یکی از نیازمندیهای ویندوز 11 برای نصب، مجهز بودن سیستم به ماژول امنیتی TPM 2.0 است.
جمعبندی
پردازنده مرکزی یکی از مهمترین قطعات کامپیوتر به شمار میرود که امنیت تمام سیستم به آن وابسته است. به همین دلیل افراد سودجو انگیزه زیادی برای نفوذ و حملات سایبری به CPU دارند چراکه در صورت موفقیت، این نوع حملات دسترسی زیادی به هکرها میدهد.
حملات به CPU در روشهای مختلفی انجام میشود که شایعترین و خطرناکترین آنها اغلب از نوع حملات به ریزمعماری پردازنده و حملات کانال جانبی هستند.
خوشبختانه محققان امنیتی به طور پیوسته مشغول یافتن آسیبپذیریهای CPU هستند و بسیاری از تهدیدات سایبری علیه پردازنده که در این مقاله معرفی کردیم، اولین بار توسط پژوهشگران حوزه امنیت کشف شدهاند.
برای حفظ امنیت سختافزار راههایی مثل آپدیت نگه داشتن سیستمعامل و بایوس یا استفاده از ماژولهای رمزنگاری سختافزاری در دسترس هستند که توصیه میکنیم از آنها برای حفظ امنیت اطلاعاتتان استفاده کنید.
آیا تا به حال از پردازندههایی که آسیبپذیریهای امنیتی در آنها کشف شده استفاده کردهاید؟ تجربه خود در این زمینه را با ما در میان بگذارید.
سوالات پرتکرار
چگونه میتوان فهمید که CPU به حملهای سایبری دچار شده است؟
معمولاً هک CPU قابل تشخیص نبوده و در لاگهای سیستم ردی از خود به جا نمیگذارد. اما اگر بدون اخطاری از سمت آنتیویروس متوجه عملکرد غیرعادی سیستم یا تغییری در فایلها شدید این احتمال را در نظر بگیرید که شاید امنیت پردازنده کامپیوتر به خطر افتاده باشد.
آیا تمامی پردازندهها در برابر حملات یکسان آسیبپذیر هستند؟
به طور کلی خیر! بسیاری از حملات سایبری به CPU با استفاده از ویژگیهای ریزمعماری یک مدل یا معماری خاص پردازنده انجام میشود و با همان شیوه برای سایر CPUها قابل پیادهسازی نیستند.
چه نوع بهروزرسانیهایی میتواند از آسیبپذیریهای CPU جلوگیری کند؟
در بسیاری از موارد برای رفع اساسی آسیبپذیریهای CPU نیاز به بازطراحی آن است اما راهکارهایی در سطح سیستمعامل و بایوس نیز معمولاً به قیمت کاهش قدرت پردازشی، میتوانند امنیت پردازنده را در برابر تهدیدات سایبری افزایش دهند.
نشانه های هک شدن کامپیوتر شما چیست؟
هک شدن کامپیوتر نشانههای زیادی مثل عملکرد نامتعارف، کاهش قدرت پردازشی، لود زیاد CPU بدون دلیل قابل ذکر، جابجایی یا دستکاری فایلها و ... دارد. در این موارد رایانه شما ممکن است مورد حملات سختافزاری یا نرمافزاری قرار گرفته باشد.
لپ تاپ شما چگونه هک می شود؟
تمام روشهای معمول هک کردن روی لپتاپها نیز قابل اجرا است اما لپتاپ به دلیل قابل حمل بودن ممکن است در فضای بیرون از منزل مورد دسترسی هکرها قرار بگیرد و در این فرصت نرمافزارهای مخرب روی لپتاپ شما نصب شود.
آیا هکر می تواند سیستم شما را روشن کند؟
بعضی کامپیوترها دارای قابلیت روشن شدن از طریق شبکه هستند و در صورتی که شبکهای که به آن متصل شدهاید مورد نفوذ واقع شده باشد، ممکن است هکرها بتوانند سیستم شما را روشن کنند.
آیا هکر می تواند کامپیوتر شما را مسدود کند؟
هکرها میتوانند با هک CPU اطلاعات حساس مثل کلیدهای رمزنگاری و رمز ورودهای شما را به دست آورند و از این طریق کنترل رایانه را به دست گیرند یا حتی کامپیوتر شما را مسدود کنند.
منبع: شهر سخت افزار