آسیبپذیری پیشرفتهای به نام عملیات Triangulation در iMessage دردسترس بود. این زنجیره حمله را محققان امنیتی کسپرسکی کشف کردند.
بهگزارش تکناک، بین سالهای 2019 تا دسامبر 2022، آسیبپذیری بسیار پیشرفتهای در iMessage دردسترس بود که درنهایت، محققان امنیتی در کسپرسکی آن را کشف کردند. این زنجیره حمله به نام «عملیات Triangulation» شناخته شد.
در کنگره Chaos Communication، محققان امنیتی کسپرسکی، بریس لارین و لئونید بزورشنکو و گئورگی کوچرین، در ارائهای به عملیات Triangulation اشاره کردند. این نخستینبار بود که آنها جزئیات کامل حملات و آسیبپذیریهایی که در حمله پیشرفته iMessage استفاده شده بودند، بهصورت عمومی منتشر کردند.
9to5mac گزارش میدهد که محققان تمام نتایج کار خود را در وبلاگ Kaspersky SecureList بهاشتراک گذاشتند. حمله Pegasus 0-click به iMessage بهعنوان یکی از حملات فنی پیچیده شناخته شده است. عملیات Triangulation نیز به همین میزان ترسناک بهنظر میرسد.
زنجیره حمله با ضعف روز صفر تا حمله 0-click در iMessage
این آسیبپذیری تا زمان انتشار iOS 16.2 در دسامبر 2022 وجود داشت. اینجا زنجیره حمله پیچیده کامل آمده است که شامل چهار ضعف روز صفر برای بهدستآوردن امتیازهای روت دستگاه قربانی است:
- حملهکنندگان پیوست iMessage مخرب ارسال میکنند که برنامه آن را بدون هرگونه نشانهای به کاربر پردازش میکند.
- این پیوست به آسیبپذیری اجرای کد از راه دور با شناسه CVE-2023-41990 در دستور فونت TrueType ADJUST مخصوص اپل نفوذ میکند. این دستور از اوایل دهه ۱۹۹۰ وجود داشته است تا اینکه با پچ، آن را حذف کرده است.
- این از برنامهنویسی بازگشت و پرش و چندین مرحله نوشتهشده به زبان کوئری NSExpression/NSPredicate استفاده و محیط کتابخانه JavaScriptCore را پچ میکند تا ازطریق نوشتن اکسپلویت افزایش امتیاز از طریق جاوااسکریپت اجرا شود.
- این استفاده از جاوااسکریپت مبهم است و کاملاً خواندنی نیست و اندازه آن نیز حداقل شده است. بااینحال، حدود ۱۱,۰۰۰ خط کد دارد که اصلیترین بخش آن مربوط به JavaScriptCore و تجزیهوتحلیل و دستکاری حافظه هستند.
- این از ویژگی اشکالزدایی JavaScriptCore به نام DollarVM ($vm) بهره میبرد تا قابلیت دستکاری حافظه JavaScriptCore را ازطریق اسکریپت و اجرای توابع API native بهدست آورد.
- این طراحی شده است تا از آیفونهای قدیمی و جدید پشتیبانی کند و شامل دورزدن کد احراز هویت اشارهگر (PAC) برای بهرهبرداری از مدلهای اخیر است.
- این از آسیبپذیری سرریزشده عددی با شناسه CVE-2023-32434 در فراخوانیهای حافظه نگارش XNU (mach_make_memory_entry و vm_map) استفاده میکند تا دسترسی خواندن و نوشتن به تمام حافظه فیزیکی دستگاه در سطح کاربر را بهدست آورد.
- این از ثبتهای ورودی و خروجی حافظه (MMIO) سختافزاری برای دورزدن لایه حفاظت از صفحه (PPL) استفاده میکند. این اکسپلویت با شناسه CVE-2023-38606 کاهش یافته است.
- بعد از بهرهبرداری از تمام آسیبپذیریها، استفاده از اکسپلویت جاوااسکریپت به دستگاه امکان انجام هر کاری ازجمله اجرای نرمافزار جاسوسی را فراهم میکند؛ اما حملهکنندگان انتخاب کردند: ۱. فرایند IMAgent را راهاندازی و بارگذاری را در آن درج کنند که آثار اکسپلویت را از دستگاه پاک میکند؛ ۲. یک فرایند سافاری را بهصورت نامرئی اجرا و آن را به صفحه وب با مرحله بعدی هدایت کنند.
- صفحه وب اسکریپتی دارد که قربانی را تأیید میکند و درصورت عبور از بررسیها، مرحله بعدی را دریافت میکند: استفاده از اکسپلویت سافاری.
- این بهرهبرداری سافاری از CVE-2023-32435 برای اجرای یک کد پوسته (Shellcode) استفاده میکند.
- کد پوسته (Shellcode) اکسپلویتی دیگر در هسته را در قالب فایل شیء Mach اجرا میکند. این بهرهبرداری از همان آسیبپذیریها استفاده میکند: CVE-2023-32434 و CVE-2023-38606. ازنظر اندازه و قابلیتها نیز بسیار بزرگ است؛ اما کاملاً متفاوت از بهرهبرداری هسته نوشتهشده به زبان جاوااسکریپت است. بخشهای مربوط به اکسپلویت از آسیبپذیریهای مذکور تنها قسمتی است که دو کد باهم اشتراک دارند. بااینحال، بیشتر کد آن نیز مربوط به تجزیهوتحلیل و دستکاری حافظه هسته اختصاص دارد. این شامل ابزارهای مختلف پسا بهرهبرداری است که بیشتر آنها استفاده نشدهاند.
- این بهرهبرداری امتیازهای روت را بهدست میآورد و به مراحل دیگری ادامه میدهد که نرمافزار جاسوسی را بارگذاری میکنند.
پژوهشگران برجسته میکنند که تقریباً هر جنبهای از زنجیره حمله را بهصورت معکوس تحلیل کردهاند و در سال 2024 مقالات بیشتری را درباره هر آسیبپذیری و نحوه استفاده از آنها با جزئیات بیشتر منتشر خواهند کرد.
جالب است بدانید که لارین و بزورشنکو و کوچرین مشخص میکنند که هنوز رازی درباره CVE-2023-38606 وجود دارد که برای حل آن به کمک نیاز دارند. بهطور خاص، واضح نیست که حملهکنندگان چگونه از ویژگی سختافزاری پنهان آگاهی داشتهاند:
جزئیات فنی را منتشر میکنیم تا سایر پژوهشگران امنیت iOS بتوانند یافتههایمان را تأیید کنند و توضیحاتی ممکن درباره اینکه حملهکنندگان چگونه از این ویژگی سختافزاری آگاه شدند، ارائه دهند.
درنتیجه، لارین و بزورشنکو و کوچرین میگویند سیستمهایی که بر امنیت ازطریق مبهمبودن تکیه میکنند، هرگز بهطور واقعی امن نخواهند بود.