پژوهشگران دانشگاه صنعتی Graz روشی برای اجرای یک حمله Side-Channel (کانال جانبی) بینپلتفرمی کشف کردهاند که با سوءاستفاده از سرویسهای اعلان فایل (File-Notification Services)، امکان نظارت بر فعالیتهای کاربر در سیستمعاملهای لینوکس، ویندوز و macOS را فراهم میکند.
مکانیزم حمله
این تکنیک از قابلیتهایی نظیر inotify در لینوکس، ReadDirectoryChangesW در ویندوز و FSEvents در مک استفاده میکند. این سرویسها در حالت عادی برای اطلاعرسانی به اپلیکیشنها در هنگام تغییر فایلها طراحی شدهاند، اما مهاجمان آنها را به یک مکانیسم نظارتی تبدیل کردهاند که برای اجرا، نیازی به دسترسیهای مدیریتی (Elevated Privileges) ندارد.
به جای استفاده از آسیبپذیریهای Memory Corruption، این حمله اعلانهای قانونی سیستمعامل را رصد کرده و زمانبندی و مسیر فایلها را با رفتارهای شناساییشده تطبیق میدهد. محققان یک فرآیند نیمهخودکار برای ایجاد Templateهایی ساختهاند که میتواند موارد زیر را شناسایی کند:
- دستورات اجرا شده در ترمینال
- ورودیهای کیبورد و ماوس
- بازدید از وبسایتها و فعالیتهای وبسرور
- تعامل با دستگاههای USB، بلوتوث و تغییرات VPN
- وضعیت ماشینهای مجازی (VM) و کانتینرها
تحلیل اثرات در سیستمعاملهای مختلف
لینوکس: به دلیل دقت بالای inotify، سیگنالهای بسیار دقیقی ارائه میدهد. یک کاربر بدون دسترسی (Unprivileged)، میتواند با نظارت بر دایرکتوریهای والد، اعلانهای مربوط به فایلهایی را دریافت کند که مستقیماً اجازه خواندن آنها را ندارد (از جمله ورودیهای مسیر /dev). این موضوع منجر به شناسایی زمانبندی ضربات کیبورد با دقت بسیار بالا (F1 score بین ۹۳.۱٪ تا ۱۰۰٪) شده است.
ویندوز: بیشترین نشت حریم خصوصی در این پلتفرم مشاهده شد. یک کاربر عادی با نظارت بر ریشه درایو C، میتواند مسیر فایلهای موجود در پروفایل کاربران دیگر را مشاهده کند، حتی اگر اجازه دسترسی به آن دایرکتوریها را نداشته باشد. برای مثال، مسیرهای ذخیرهسازی مرورگر Firefox امکان ردیابی بازدید از وبسایتها را با دقت ۹۷.۸٪ فراهم کرد.
macOS: به دلیل محدودیتهای دسترسی به دایرکتوریهای خصوصی، اطلاعات کمتری نشت میکند، اما همچنان اجرای اپلیکیشنها، تغییرات تنظیمات، فعالیتهای شبکه و وضعیت ماشینهای مجازی VMware قابل رصد است.
ریسکهای امنیتی و توصیهها
خطر اصلی این حمله در نظارت مخفیانه پس از نفوذ (Post-Compromise Surveillance) نهفته است. بدافزارها میتوانند بدون نیاز به خواندن محتوای فایلهای محافظتشده یا تزریق کد به اپلیکیشنها، رفتارهای حساس کاربر را استنباط کنند.
در پاسخ به این گزارش، مایکروسافت این رفتار را «طراحیشده» (By Design) دانست، هرچند اشاره کرد که پالیسی EnforceDirectoryChangeNotificationPermissionCheck میتواند این نشت را محدود کند، اما این گزینه به صورت پیشفرض غیرفعال است.
برای کاهش ریسک، توصیه میشود اقدامات زیر صورت گیرد:
- استفاده از Sandboxing برای اپلیکیشنهای غیرقابل اعتماد.
- جداسازی حسابهای سرویس (Service Accounts).
- بهروزرسانی منظم سیستمعامل و فعالسازی کنترلهای سختگیرانهتر برای مجوزهای اعلان (Notification Permissions).