امنیت

December 25, 2023
9:03 دوشنبه، 4ام دیماه 1402
کد خبر: 155567

کشف آسیب‌پذیری در نرم‌افزار Imou Life

منبع: ماهر

یک آسیب‌پذیری در نرم‌افزار Imou Life نسخه 6.7.0 شناسایی شده است که منجر به سرقت Session خواهد شد و به مهاجم این امکان را خواهد داد تا به‌دلیل عدم فیلتر کردن صحیح کدهای QR هنگام اسکن یک دستگاه جدید و اجرای مستقیم WebView بدون نمایش یا هشدار به کاربر، حساب‌های کاربری را کنترل کند. این آسیب‌پذیری ممکن است حملات فیشینگ را فعال کند. مهاجم از راه دور می‌تواند کد دلخواه خود را از طریق پردازش نادرست کد intent اجرا کند و فعالیت com.mm.android.easy4ip.MainActivity در برنامه com.mm.android.smartlifeiot بدون بررسی صحیح URLها از طریق داده‌های intent عمل بارگذاری را انجام دهد.
یک برنامه مخرب third party می‌تواند از این نقص سوءاستفاده کرده و بارگذاری محتوای مخرب وب را انجام دهد؛ عملیات استخراج جاوا اسکریپت غیرمجاز یا اجرای کد از راه دور در WebView قابل انجام است. برای این کار هیچ مجوزی مورد نیاز نیست. برای مثال، یک برنامه مخرب third party (com.example.d3m0) می‌تواند یک intent را به ‌صورت زیر ایجاد و راه‌اندازی کند:

 

 

پس از اجرای این کد، com.mm.android.easy4ip.MainActivity فراخوانی می‌شود تا محتوا از https://maliciouswebsitetest.com بارگذاری شود.
در com.mm.android.easy4ip.MainActivity، URLها بدون اعتبارسنجی کافی از داده‌های intent بارگذاری می‌شوند:

this.url = getIntent().getExtras().getString(“url”);

دستور زیر نشان می‌دهد که اجرای جاوا اسکریپت در WebView فعال می‌شود:

this.webView.getSettings().setJavaScriptEnabled(true);

با دستور زیر بارگذاری مستقیم محتوای وب با استفاده از URL دریافت شده:

progressWebView.loadUrl(str);

 

مهاجم می‌تواند از این آسیب‌پذیری جهت اجرای جاوا اسکریپت دلخواه خود بهره‌برداری کرده و منجر به اجرای کد از راه دور شود، شروع عملیات استخراج جاوا اسکریپت غیرمجاز، منابع دستگاه را مصرف می‌کند و دسترسی به اینترنت از دستگاه قربانی را بدون مجوزهای لازم درخواست خواهد کرد.

محصولات تحت تأثیر
این آسیب‌پذیری در نرم‌افزار Imou Life نسخه 6.7.0 وجود دارد.

راهکارهای امنیتی
جهت جلوگیری از آسیب‌پذیری مذکور می‌توان از راهکارهای زیر استفاده کرد:
1. اعتبارسنجی داده‌های Intent: اطمینان حاصل کنید که هر داده‌ای که از Intent دریافت می‌شود، به ویژه URLها، به دقت اعتبارسنجی شود. از روش‌های مانند استفاده از Regex جهت اعتبارسنجی آدرس‌های وب استفاده کنید. اگر یک URL اعتبارسنجی نشود، نباید به WebView ارسال شود.
2. غیرفعال کردن اجرای جاوا اسکریپت: اگر برنامه شما نیازی به اجرای جاوا اسکریپت در WebView ندارد، بهتر است JavaScript را غیرفعال کنید. این امر می‌تواند از اجرای کدهای مخرب در WebView جلوگیری کند.
3. استفاده از فیلترینگ محتوای وب: پیاده‌سازی یک سیاست فیلترینگ برای WebView به وسیله‌ی یک لیست سفید از دامنه‌ها یا URLهای مجاز می‌تواند کمک‌کننده باشد. همچنین امکان بارگذاری محتوا تنها از منابع مورد اعتماد وجود داشته باشد و سایر منابع را مسدود کنید.
4. اگر فعالیت MainActivity نیازی به استفاده از برنامه‌های third party ندارد، از طریق اعلام در manifest آن را به عنوان «Non-Exporte» در نظر بگیرید. این اقدام می‌تواند از دسترسی برنامه‌های مخرب جلوگیری کند.
5. اعمال به‌روزرسانی به آخرین نسخه

  • مشترک شوید!

    برای عضویت در خبرنامه روزانه ایستنا؛ نشانی پست الکترونیکی خود را در فرم زیر وارد نمایید. پس از آن به صورت خودکار ایمیلی به نشانی شما ارسال میشود، برای تکمیل عضویت خود و تایید صحت نشانی پست الکترونیک وارد شده، می بایست بر روی لینکی که در این ایمیل برایتان ارسال شده کلیک نمایید. پس از آن پیامی مبنی بر تکمیل عضویت شما در خبرنامه روزانه ایستنا نمایش داده میشود.

    با عضویت در خبرنامه پیامکی آژانس خبری فناوری اطلاعات و ارتباطات (ایستنا) به طور روزانه آخرین اخبار، گزارشها و تحلیل های حوزه فناوری اطلاعات و ارتباطات را در هر لحظه و هر کجا از طریق پیام کوتاه دریافت خواهید کرد. برای عضویت در این خبرنامه، مشترکین سیمکارت های همراه اول لازم است عبارت 150 را به شماره 201464 و مشترکین سیمکارت های ایرانسل عبارت ozv ictn را به شماره ۸۲۸۲ ارسال کنند. دریافت موفق هر بسته خبری که محتوی پیامکی با حجم ۵پیامک بوده و ۴ تا ۶ عنوان خبری را شامل میشود، ۳۵۰ ریال برای مشترک هزینه در بردارد که در صورتحساب ارسالی از سوی اپراتور مربوطه محاسبه و از اعتبار موجود در حساب مشترکین سیمکارت های دائمی کسر میشود. بخشی از این درآمد این سرویس از سوی اپراتور میزبان شما به ایستنا پرداخت میشود. مشترکین در هر لحظه براساس دستورالعمل اعلامی در پایان هر بسته خبری قادر خواهند بود اشتراک خود را در این سرویس لغو کنند. هزینه دریافت هر بسته خبری برای مشترکین صرفا ۳۵۰ ریال خواهد بود و این هزینه برای مشترکین در حال استفاده از خدمات رومینگ بین الملل اپراتورهای همراه اول و ایرانسل هم هزینه اضافه ای در بر نخواهد داشت.