محققان دانشگاهی حملهای جدید به نام iLeakage طراحی کردهاند که روی تمام دستگاههای اخیر اپل اجرایی است و میتواند اطلاعات حساس را از مرورگر وب سافاری استخراج کند.
بهگزارش تکناک، iLeakage اولین نمونهای از حملهی اجرای گمانهزنی (Demonstration of a Speculative Execution) علیه پردازندههای اپل سیلیکون و مرورگر سافاری است. این حمله با دقت بسیار زیاد اطلاعات را از مرورگر سافاری، فایرفاکس، تور و اج در iOS میتواند بازیابی کند.
در اصل، این حملهی Spectre بدون تایمری است که از محافظتهای استاندارد کانالجانبی (Side-Channel) که تمام تولیدکنندگان مرورگرها پیادهسازی کردهاند، عبور میکند.
فهرست مطالب
سرقت اسرار از سافاری
بهنوشتهی بلیپینگکامپیوتر، تیمی از محققان دانشگاههای جورجیا تِک و میشیگان و روهر بوخوم iLeakage را توسعه دادهاند که انعطافپذیری کانالجانبی سافاری را بررسی میکند و با اجرای روش بدون تایمر و معماری آگنوستیک (مستقل از ساختار)، براساس شرایط رقابتی (Race Conditions)، توانسته است از تدابیر موجود عبور کند.
محققان روی خواندن اطلاعات حساس از سافاری تمرکز کردند و توانستند دادهها را با ایجاد نمونهای اولیه بدزدند. این نمونهی اولیه میتواند هر نشانگر ۶۴بیتی را در فضای آدرسی که مرورگر اپل برای فرایند رندر استفاده میکند، بخواند و فاش کند. آنها این امکان را با شکستدادن محافظتهای کانالجانبی که Apple (American multinational technology company) در مرورگر خود پیادهسازی کرده است، بهدست آوردند؛ ازجمله تایمر نهچندان با کیفیت و آدرسدهی فشردهی ۳۵بیتی و مسمومیت ارزش (Value Poisoning).
همچنین، محققان سیاست جداسازی سایت در سافاری را نیز دور زدند که وبسایتها را براساس دامنهی مؤثر سطحبالا (eTLD) بهعلاوهی یک زیردامنه، در فضاهای آدرسی متفاوت جدا میکند. محققان از تکنیک جدیدی استفاده کردند که با استفاده از window.open API در جاوااسکریپت، به صفحهی مهاجم امکان میدهد تا فضای آدرس را با صفحات هدف بهاشتراک بگذارد.
با استفاده از «سردرگمی نوع گمانهزنی» (Speculative Type Confusion) برای عبور از آدرسدهی فشردهی ۳۵بیتی و «اقدامات متقابل مسمومیت ارزشی» (Value Poisoning Countermeasures) که اپل پیادهسازی کرده است، محققان توانستند از صفحهی هدف مانند رمزهای عبور و ایمیلها، اطلاعات حساس را فاش کنند.
کد اثبات مفهوم حمله در جاوااسکریپت و وبآسمبلی (WebAssembly) برای ارائهی محتوای وب پویا بهکار میرود. ویدئو زیر نشان میدهد که چگونه با استفاده از حملهی iLeakage، پیامهای جیمیل در سافاری در حال اجرا روی آیپد بازیابی میشوند. شرط اساسی برای اجرای حمله این است که کاربر قربانی با صفحهی مهاجم تعامل برقرار کند.
محققان از همان روشی برای بازیابی رمزعبور حساب آزمایشی اینستاگرام استفاده کردند که با استفاده از سرویس مدیریت رمزعبور LastPass در مرورگر وب سافاری بهصورت خودکار پر شده بود. در تجربهای دیگر، محققان نشان دادند که حملات iLeakage روی مرورگر کروم برای iOS نیز کار میکنند و تاریخچهی تماشای یوتوب را میتوانند بازیابی کنند.
بهاعتقاد آنان، سیاست اپل باعث میشود تمام مرورگرهای iOS یا خود مرورگر سافاری روی آنها قرار گیرند و از موتور جاوااسکریپت مرورگر اپل استفاده کنند. iLeakage بر بهرهبرداری از اجرای حدسوگمان در تراشههای سیلیکون اپل (M1 و M2) تکیه میکند؛ جایی که اجرای پیشبینیکنندهی پردازنده، وظایف موردنیاز احتمالی را انجام میدهد؛ اما قبل از دانستن این موضوع که آیا آنها موردنیاز هستند یا نه.
این مکانیزم که در تمامی پردازندههای مدرن وجود دارد، بهطرز چشمگیری عملکرد را بهبود میبخشد. بااینحال، خطاهای طراحی میتوانند به انتشار داده منجر شوند؛ درست مانند حملات Meltdown و Spectre که درحدود شش سال پیش فاش شدند. اطلاعات بیشتر دربارهی حمله و روشهای جداگانهی استفادهشده برای عبور از اقدامات کاهشدهندهی اپل، در مقالهی فنی محققان دردسترس است.
نکات ضربهای و دفاعی
iLeakage بر تمام دستگاههای اپلی که از سال ۲۰۲۰ بهبعد عرضه شدهاند و به پردازندههای ARM سری A و M اپل مجهزند، تأثیر میگذارد. حملهی iLeakage را اصلاً نمیتوان تشخیص دارد و بهجز ورودیای احتمالی از صفحهی مهاجم در حافظهی نهان مرورگر، هیچ اثری بر سیستم قربانی بهصورت لاگها باقی نمیگذارد.
باوجوداین، محققان بیان میکنند که اجرای این حمله مشکل است و به دانش پیشرفته دربارهی حملات کانلجانبی مبتنیبر مرورگر و پیادهسازی سافاری نیاز دارد. iLeakage در ۱۲سپتامبر۲۰۲۲ بهصورت خصوصی به اپل گزارش شد و شرکت برای macOS کاهشدهندههای زیر را توسعه داد:
- در Terminal، عبارت «defaults write com.apple.Safari IncludeInternalDebugMenu 1» را اجرا کنید تا منوِ اشکالزدایی پنهان سافاری فعال شود.
- سافاری را باز کنید و به منوِ اشکالزدایی جدید بروید.
- بخش «WebKit Internal Features» را انتخاب کنید.
- به پایین بروید و گزینهی «Swap Processes on Cross-Site Window Open» را فعال کنید.
این کاهش همراه با هشداری میآید که ممکن است پایداری را بهخطر بیندازد. اگر کاربران میخواهند آن را غیرفعال کنند، از منوِ اشکالزدایی با اجرای دستور «defaults write com.apple.Safari IncludeInternalDebugMenu 0» در ترمینال میتوانند آن را انجام دهند.
علاوهبر تأثیرات واقعی iLeakage، این تحقیق نکاتی را بیان میکند که خطرهای اجرای حدسوگمان را در آن دسته از پلتفرمهای ARM را برجسته میسازد که بهاندازهی معماری x86 بررسی نشدهاند.