یک محقق امنیتی با انتشار جزئیات یک آسیب‌پذیریZero-day در جاروبرقی‌های رباتیک Shark، حیطه تهدیدات اینترنت اشیاء (IoT) را در مقیاس منطقه‌ای AWS گسترش داد. استخراج یک گواهی دیجیتال از حافظه فلش یک دستگاه، کلید اصلی ورود به هزاران جاروبرقی دیگر در همان ناحیه ابری شده است.

جاروبرقی رباتیک شارک مدل RV2320EDUS تحت نفوذ محقق امنیتی

مکانیزم حمله: از یک پیچ‌گوشتی تا کنترل کامل ربات

محقق شناخته شده با نام مستعار tokay0 نشان داد که با دسترسی فیزیکی کوتاه به مدل RV2320EDUS، می‌توان گواهی‌ها و کلیدهای خصوصی را از مسیر UART و کنسول U-Boot (بدون رمز عبور) استخراج کرد. این گواهی‌ها در مسیر /mnt/res/vapp/certs/ به صورت فایل‌های متنی ساده ذخیره شده‌اند.

نکته بحرانی این است که پلیسی (Policy) گنجانده شده در گواهی، هرگز به دستگاه मालک محدود نشده بود. بر خلاف بهترین شیوه‌های امنیتی AWS که موضوع (Topic) را به ${iot:Connection.Thing.ThingName} می‌پینند، این گواهی اجازه انتشار و اشتراک روی $aws/things/* را می‌دهد.

قدرت یک گواهی «کلید اصلی» (Skeleton Key)

  • شناسایی اهداف: اشتراک در $aws/things/# ترافیک تمام دستگاه‌های منطقه را آشکار می‌کند (شماره سریال، مدل، وضعیت).
  • اجرای کد دلخواه: فیلد Exec_Command در Device Shadow AWS، توسط دیمون appd خوانده شده و از طریق popen (حداکثر ۱۰۰۰ بایت) اجرا می‌شود.
  • تأثیرات عالمه: دیدن زنده دوربین، راندن ربات، دزدیدن نقشه خانه، و استخراج رمز وای‌فای به صورت متن ساده.

تقسیم وظایف: «کلیدها» در برابر «اهداف»

تحلیل توکای0 نشان می‌دهد همه جاروبرقی‌ها یکسان نیستند:

نقش مدل نمونه وضعیت گواهی قابل نفوذ؟
کلید اصلی (Attacker's Key) RV2320EDUS پلیسی بیش‌ازحد اجازه‌دهنده (Wildcard) ✅ بله (منبع حمله)
هدف (Target) AV1102ARUS پلیسی به‌درستی محدود شده (Scoped) ✅ بله (اگر Exec_Command داشته باشد)

مدل AV1102ARUS گواهی درستی داشت (نمی‌توانست wildcard-subscribe کند) اما چون پردازش Exec_Command را پیاده‌سازی کرده بود، هدف شد. این نشان‌دهنده یک رفع در تهیه‌وری (Provisioning Fix) است که فقط برای ناوگان جدیدتر اعمال شده و دستگاه‌های قدیمی را در معرض خطر رها کرده است.

هشدارهای نادیده‌گرفته شده: AWS Device Defender

آمازون به طور خودکار این پیکربندی نادرست را شناسایی می‌کند. سرویس AWS IoT Device Defender بررسی IOT_POLICY_OVERLY_PERMISSIVE_CHECK را با سطح خطر Critical ثبت می‌کند. مستندات AWS صراحتاً هشدار می‌دهد:

"یک گواهی در معرض خطر با چنین Полиسی اجازه می‌دهد مهاجم «سایه‌ها، وظایف یا اجرای وظایف را برای همه دستگاه‌های شما بخواند یا تغییر دهد."

این یعنی ابزارهای حسابرسی ابری خودِ AWS، حفره امنیتی را سال‌ها پیش از گزارش محقق پرچم‌گذاری کرده بودند، اما SharkNinja اقدام اصلاحی انجام نداده بود.

آمار واقعی: فراتر از عناوین خبری

محقق در پست خود از "ملیون‌ها" صحبت کرد، اما داده‌های تأییدشده در ۲۴ ساعت نظارت بر یک منطقه AWS مشخص‌تر است:

۱،۵۱۷،۶۰۵

شماره سریال منحصربه‌فرد شارک مشاهده شده

۶۷۳،۸۱۶ (۴۴٪)

پاسخ Exec_Response دادند (تأیید اجرای هندلر دستور)

این دستگاه‌های پاسخ‌دهنده هستند، نه دستگاه‌های هک‌شده. محقق معتقد است عدد واقعی بالاتر است چون بسیاری ممکن است در بازه ۲۴ ساعته فعال نبوده باشند.

۴ ماه بی‌اعتنایی: کرونولوژی افشاگری

  1. ۱ مارس: تماس اولیه توکای0 با SharkNinja.
  2. ۱۱ مارس: ارسال جزئیات فنی کامل.
  3. ۱۲ مارس: تأیید دریافت توسط شرکت.
  4. ۲۷ آوریل: شرکت اعلام می‌کند گزارش "در حال بررسی" است.
  5. ۳ ژوئیه: وعده ارسال تاریخ تکمیل تا ۱۰ ژوئیه (جمعه).
  6. انتشار عمومی: با عدم پاسخدهی، محقق روش را به صورت کامل منتشر کرد.

این تأخیر ۴ ماهه در برابر یک آسیب‌پذیری که نیاز به دسترسی فیزیکی کوتاه دارد اما تأثیر کنترل از راه دور منطقه‌ای دارد، نگرانی جدی در مورد مدیریت آسیب‌پذیری در شرکت‌های IoT را تقویت می‌کند.

پیامدها و توصیه‌های امنیتی

  • برای کاربران: تا انتشار پچ، اگر امکان دارد دستگاه را از اینترنت قطع کنید. رمز وای‌فای را تغییر دهید (چون در متن ساده دزدیده می‌شود).
  • برای توسعه‌دهندگان IoT: هرگز گواهی‌ها را با Полиسی Wildcard تهیه نکنید. از ${iot:Connection.Thing.ThingName} برای پین کردن موضوع استفاده کنید. کلیدها را در حافظه امن (Secure Element/TPM) نگه دارید، نه فایل‌سیستم خام.
  • برای شرکتها: حسابرسی‌های Device Defender را جدی بگیرید و فرآیند پاسخ به گزارش‌های امنیتی (VDP) را سریع‌تر کنید.

این مقاله بر اساس گزارش فنی محقق tokay0 تهیه شده است. جزئیات کامل بر روی پلتفرم‌های فنی مربوطه در دسترس است.