Predator با دسترسی سطح کرنل، نشانگرهای میکروفن و دوربین iOS را غیرفعال میکند
جاسوسافزار Predator با هوککردن فرآیند SpringBoard در iOS قادر است نشانگرهای فعالیت میکروفن و دوربین را مخفی کند.
Intellexa، شرکت فعال در حوزه ابزارهای نظارتی که تحت تحریم ایالات متحده قرار دارد، جاسوسافزار تجاری Predator را توسعه داده است؛ بدافزاری که میتواند هنگام استریم مخفیانه دادههای دوربین و میکروفن به سمت زیرساخت اپراتورهای خود، نشانگرهای ضبط iOS را غیرفعال یا پنهان کند.
این بدافزار از آسیبپذیری جدیدی در iOS سوءاستفاده نمیکند، بلکه بر پایه دسترسی سطح کرنل که پیشتر در زنجیره آلودگی به دست آورده، اقدام به هوککردن مکانیزمهای سیستمی میکند؛ مکانیزمهایی که در شرایط عادی باید فعالیتهای ضبط صدا و تصویر را به کاربر اطلاع دهند.
اپل از نسخه iOS 14 نشانگرهای ضبط را به نوار وضعیت سیستم اضافه کرد. این قابلیت هنگام فعال بودن:
- دوربین → یک نقطه سبز
- میکروفن → یک نقطه نارنجی
را نمایش میدهد تا کاربران از هرگونه دسترسی به این سنسورها آگاه شوند.
Predator در حملات هدفمند از طریق بهرهبرداری از آسیبپذیریهای Zero-Day در محصولات Apple و مرورگر Chrome و همچنین از طریق مکانیزمهای آلودگی Zero-Click توزیع شده است. با وجود اینکه قابلیت این بدافزار در سرکوب نشانگرهای فعالیت دوربین و میکروفن پیشتر شناخته شده بود، جزئیات فنی نحوه پیادهسازی این مکانیزم تاکنون بهطور شفاف مشخص نشده بود.
نحوه پنهانسازی نشانگرهای ضبط توسط Predator
محققان شرکت مدیریت دستگاههای موبایل Jamf با تحلیل نمونههای جاسوسافزار Predator، سازوکار فنی پنهانسازی نشانگرهای حریم خصوصی را مستندسازی کردند.
بر اساس گزارش Jamf، Predator برای مخفیکردن تمامی نشانگرهای ضبط در iOS 14 تنها از یک تابع هوک با نام HiddenDot::setupHook() در فرآیند SpringBoard استفاده میکند. این هوک در هر بار تغییر وضعیت سنسورها (مانند فعالشدن دوربین یا میکروفن) فراخوانی میشود.
با رهگیری این فراخوانی، Predator مانع از رسیدن بهروزرسانی وضعیت سنسورها به لایه رابط کاربری میشود؛ در نتیجه نقطه سبز یا نارنجی مربوط به فعالیت دوربین یا میکروفن هرگز در نوار وضعیت نمایش داده نمیشود.
به گفته پژوهشگران Jamf:
«متد هدف با نام _handleNewDomainData: هر زمان که وضعیت سنسورها تغییر میکند — مانند روشن شدن دوربین یا فعال شدن میکروفن — توسط iOS فراخوانی میشود.»
آنها توضیح میدهند:
«با هوککردن همین یک متد، Predator تمامی بهروزرسانیهای وضعیت سنسورها را پیش از رسیدن به سیستم نمایش نشانگرها رهگیری میکند.»
جزئیات فنی بیشتر از مکانیزم اختفای Predator در iOS
محققان Jamf در ادامه تحلیل خود اعلام کردند که هوک مورد استفاده Predator با Null کردن شیء مسئول بهروزرسانی وضعیت سنسورها در SpringBoard عمل میکند؛ شیئی با نام SBSensorActivityDataProvider.
در زبان Objective-C، فراخوانی متد روی یک شیء nil بدون ایجاد خطا نادیده گرفته میشود. در نتیجه، زمانی که SpringBoard تلاش میکند تغییر وضعیت دوربین یا میکروفن را پردازش کند، بهدلیل Null بودن آبجکت مربوطه، هیچ پردازشی انجام نمیشود و نشانگر ضبط هرگز فعال نمیشود.
از آنجا که SBSensorActivityDataProvider تمامی فعالیتهای سنسورها را تجمیع میکند، این هوک واحد بهصورت همزمان هر دو نشانگر دوربین و میکروفن را غیرفعال میکند.
کد رهاشده و مسیر توسعه قبلی
پژوهشگران همچنین به وجود بخشی از «کد مرده» اشاره کردند که تلاش میکرد مستقیماً کلاس SBRecordingIndicatorManager را هوک کند.
با این حال، این بخش اجرا نمیشود و احتمالاً مسیر توسعهای اولیه بوده که بعداً کنار گذاشته شده است؛ زیرا رهگیری دادههای سنسور در لایه بالادست رویکرد مؤثرتری محسوب میشود.
پشتیبانی از VoIP و وابستگی به HiddenDot
در سناریوی ضبط مکالمات VoIP — قابلیتی که Predator از آن پشتیبانی میکند — ماژول مسئول فاقد مکانیزم مستقل برای سرکوب نشانگرها است. بنابراین برای حفظ اختفا، به همان تابع HiddenDot متکی است.
دور زدن مجوزهای دوربین با تکنیکهای سطح پایین
Jamf توضیح میدهد که دسترسی به دوربین از طریق ماژولی جداگانه فعال میشود که:
با استفاده از Pattern Matching روی دستورالعملهای ARM64، توابع داخلی دوربین را شناسایی میکند.
از تکنیک Pointer Authentication Code (PAC) Redirection برای دور زدن بررسیهای مجوز دسترسی (Camera Permission Checks) بهره میبرد.
این موضوع نشاندهنده سطح پیشرفته مهندسی معکوس و درک عمیق سازندگان Predator از معماری داخلی iOS است.
عدم نمایش نشانگر = اختفای کامل برای کاربر عادی
در غیاب روشنشدن نشانگرهای نوار وضعیت، فعالیت جاسوسافزار برای کاربر عادی کاملاً نامرئی باقی میماند و هیچ هشدار بصری مبنی بر فعال بودن میکروفن یا دوربین وجود ندارد.
نشانههای فنی قابل کشف در تحلیل تخصصی
با این حال، Jamf تأکید میکند که در تحلیل فنی میتوان ردپاهایی از فعالیت مخرب را شناسایی کرد، از جمله:
- Memory Mappingهای غیرمنتظره
- Exception Portهای مشکوک در فرآیندهای SpringBoard و mediaserverd
- هوکهای مبتنی بر Breakpoint
- فایلهای صوتی نوشتهشده توسط mediaserverd در مسیرهای غیرعادی





