روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ محققین دانشگاههای آلمان و آمریکا اخیراً از حملهای جذاب رونمایی کردند- بهتر است بگوییم دو حمله با نامهای Slap و Flop که دو آسیبپذیری مختلف را در سیپییوهای اپل اکسپویت میکنند. فرض کنید:
فردی برای شما لینکی در چت میفرستد. وقتی روی آن کلیک میکنید، در ابتدا چیزی مشکوک به نظر نمیرسد. رمز عبور ایمیل کاری شما را نمیخواهد، سعی نمیکند شما را وادار به دانلود یک فایل ترسیم کند. این صفحه حتی ممکن است حاوی چیزهای سرگرم کننده یا مفید باشد. اما در حالی که مشغول مرور آن هستید، کد مخفی مخفیانه دادهها را از برگه مرورگر دیگری جمعآوری میکند - مکان شما، خریدهای آنلاین اخیر را بررسی نموده و حتی ایمیلهای شما را میدزدد. شرح حمله به اندازه کافی ساده به نظر می رسد، اما در واقعیت، ما در مورد یک حمله بسیار پیچیده صحبت میکنیم که از ویژگیهای به اصطلاح اجرای گمانه زنی توسط سیپییو سوء استفاده میکند.
اما صبر کنید! ما در این مورد قبلاً نشنیده بودیم؟
بلکه شاید شنیدید: ایده اصلی حملات جدید به حملات مختلف نوع Spectre شباهت دارد که آسیبپذیریهای دیگر اما مشابه را در سیپییوهای اینتل و ایامدی را اکسپلویت میکنند. سال 2022، چهار سال پس از کشف اولین آسیبپذیری Spectre، به این نتیجه رسیدیم که هیچ راه واقعی، آسان یا مؤثری برای بهرهبرداری از این آسیبپذیریها وجود ندارد. اگرچه بهرهبرداری از این آسیبپذیریهای جدید تراشههای اپل نیز ساده نیست، اما تفاوت این بار این است که محققین قبلاً سناریوهای حمله نسبتاً واقعی را ارائه و امکانسنجی آنها را ثابت کردهاند. برای اینکه بفهمیم این آسیبپذیریها چقدر خطرناک هستند، اجازه دهید به طور خلاصه اصول اساسی پشت همه این حملات را بدون گرفتار شدن در تحقیقات پیچیده مرور کنیم.
اکسپلویتِ منطق گمانهزن اجرا
"اجرای گمانهزنی"[1] به وضعیتی اشاره دارد که در آن پردازنده دستور بعدی را بدون انتظار برای اتمام دستور قبلی اجرا میکند. بیایید یک قیاس کمی عجیب و در عین حال مفید در اینجا با یک ماشین ترسیم کنیم. تصور کنید ماشین شما هر بار که به آن نزدیک می شوید موتور را به طور خودکار روشن میکند. اگر فقط در حال عبور هستید، موتور متوقف می شود (به این ترتیب، عملیات غیر ضروری است). اما اگر قصد دارید رانندگی کنید، به محض اینکه وارد شدید، آماده حرکت است. به طور مشابه، یک CPU می تواند تصمیم بگیرد که یک عملیات را در حالت اجرای حدسی اجرا کند. و تا زمانی که محاسبات قبلی کامل شود، منطق برنامه ممکن است تغییر کرده باشد و این عملیات غیرضروری باشد. در این مورد کنار گذاشته میشود. طراحان CPU از تکنیکهای مختلفی برای بهبود قابلیت پیشبینی شاخه برای پیشبینی دستورالعملهایی که به احتمال زیاد در آینده اجرا میشوند، استفاده میکنند. برای انجام این کار، آنها آمار اجرای دستورالعمل را جمعآوری میکنند: اگر یک بخش کد خاص همیشه تحت شرایط خاص فراخوانی شود، احتمال دارد که دوباره تحت شرایط مشابه فراخوانی شود.
چنین محاسباتی ممکن است شامل عملیات نسبتاً حساسی مانند دسترسی به مناطق حفاظتشده حافظه حاوی دادههای مخفی شود. مسئله در این واقعیت نهفته است که حتی اگر برنامهای نباید به چنین دادههایی دسترسی داشته باشد، همچنان میتواند به طور بالقوه الگوریتم اجرای گمانهزنی را برای دسترسی به آن آموزش دهد. قبل از اینکه حمله Spectre در آگوست 2018 کشف شود، این یک خطر نشت داده در نظر گرفته نمیشد. اطلاعات محرمانه، مانند کلیدهای رمزگذاری و دادههای خصوصی کاربر، در حافظه پنهان CPU با دسترسی محدود ذخیره میشود. با این حال، محققینی که اسپکتر را کشف کردند دریافتند که دادههای کش را میتوان به طور غیرمستقیم استخراج کرد - با انجام صدها و هزاران عملیات خواندن و اندازهگیری زمان اجرای این دستورالعملها. آنها دریافتند که میتوان مقادیر ذخیرهشده را از این طریق «حدس زد» کرد: اگر حدس درست باشد، دستورالعمل کسری از ثانیه را سریعتر اجرا میکند.
بنابراین، دو مؤلفه حیاتی برای حمله شبه Spectre وجود دارد. یکی از آنها توانایی فریب الگوریتم اجرای حدس و گمان برای دسترسی به یک منطقه حافظه ممنوع است. دیگری قابلیت خواندن این داده ها به صورت غیر مستقیم از طریق یک کانال جانبی است.
حملات SLAP و FLOP روی سیپییوهای اپل
محققین آلمانی و ایالات متحده همزمان دو مقاله جداگانه نوشتند - زیرا آنها دو آسیبپذیری مختلف را در سیییوهای اپل کشف کرده بودند. یک مشکل در Load Address Predictor پیدا شد. این یکی از بسیاری از سیستمهای اجرایی گمانهزنی است که آدرس RAM را پیشبینی میکند که برنامه در حال اجرا به احتمال زیاد به آن دسترسی خواهد داشت. دومین آسیبپذیری در سیستم Load Value Predictor پیدا شد. این علاوه بر این تلاش می کند تا مقدار واقعی را که از RAM بازیابی میشود، پیش بینی کند. محققین دو حمله را SLAP و FLOP مخفف Speculative Load Address Prediction و False Load Output Prediction نامگذاری کردند. گرچه هر دو حمله یک اصل مشترک دارند و نتیجه مشابهی دارند، روشهای بهرهبرداری از این آسیبپذیریها بهطور قابلتوجهی متفاوت است - از این رو دو مطالعه متفاوت هم رویشان صورت گرفته. در مورد اول، محققین نشان دادند که چگونه میتوان از Load Address Predictor برای خواندن دادههای محدود استفاده کرد. در مورد دوم، در حالی که هیچ داده ای واقعا خوانده نشده است، پیش بینی دقیق سیستم از آنچه خوانده میشود میتواند دوباره اطلاعات حساس را در معرض نمایش بگذارد.
این دو حمله چقدر خطرناکند؟
تقریباً تمام حملات نوع Spectre دارای محدودیتهای متعددی هستند که مانع استفاده عملی از آنها برای اهداف مخرب میشود:
- «کد مخرب» که از یک آسیبپذیری در سیستم اجرای گمانهزنی سوء استفاده میکند، باید بر روی همان هسته CPU که فرآیند هدفمند است اجرا شود.
- توانایی سرقت دادهها اغلب به وجود کد با ویژگیهای خاص در هسته سیستم عامل یا سایر نرمافزارها بستگی دارد که مهاجم هیچ کنترلی بر آنها ندارد.
- انجام یک حمله از راه دور از طریق یک شبکه یا از طریق یک مرورگر بسیار دشوار است زیرا اندازه گیری زمان اجرای دستورالعمل برای به دست آوردن دادهها از طریق یک کانال جانبی بسیار پیچیدهتر میشود.
بنابراین، تمام حملات قبلی را میتوان بهعنوان بسیار پیچیده طبقهبندی کرد و فقط برای تلاشها برای دسترسی به دادههای بسیار ارزشمند قابل استفاده است، که به این معنی است که مهاجم برای توسعه چنین حملهای به منابع قابلتوجهی نیاز دارد. در مجموع، این خبر خوبی است، زیرا اصلاح برخی آسیبپذیریهای سختافزاری در CPUهای تولیدی یا عملاً غیرممکن است یا با کاهش قابل توجهی در عملکرد همراه است.
SLAP و FLOP چشم انداز متفاوتی دارند. آنها بر آخرین پردازندههای ساخته شده توسط اپل تأثیر میگذارند. Load Address Predictor روی دسکتاپ و لپ تاپها با مدل CPU Apple M2 و دستگاههای تلفن همراه با Apple A15 معرفی شد. Load Value Predictor پیشرفته تر برای اولین بار به ترتیب در Apple M3 و A17 ظاهر شد. اجرای این حملات هنوز یک چالش است. با این حال، تفاوت کلیدی در این مطالعه نسبت به مطالعات قبلی این است که بلافاصله امکانپذیری حملات عملی را پیشنهاد و تأیید کرد. محققین نشان دادند که چگونه میتوان از SLAP و FLOP برای دور زدن چندین لایه امنیتی هم در CPU و هم در مرورگر سافاری برای دسترسی به دادههای حساس استفاده کرد. این ممکن است به تنهایی دلیل کافی برای مجرمان سایبری برای توسعه بدافزارهای کاربردی برای هدف قرار دادن دستگاههای اپل نباشد. با این حال، دلایل دیگری وجود دارد که چرا تلاش برای استفاده از SLAP و FLOP ممکن است در طبیعت انجام شود.
دستگاههای اپل به خوبی محافظت میشوند. سوء استفادههایی که به فرد اجازه میدهد سیستم امنیتی آیفون را دور بزند و به داده های خصوصی صاحب آن دسترسی پیدا کند، قیمت های گزافی را در بازارهای خاکستری و سیاه اعمال میکند. بنابراین، منطقی است که فرض کنیم آسیبپذیری سختافزاری که به احتمال زیاد حداقل تا حدی رفع نشده باقی میماند، در حملات هدفمند زمانی که دادههای با ارزش بهویژه جستجو میشود، مورد سوء استفاده قرار میگیرد. بنابراین دور از ذهن نیست که شاهد سوء استفاده از چنین آسیبپذیریهایی در حملات هدفمند به دستگاههای اپل باشیم.
[1] Speculative execution
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.