بدافزار SoumniBot با سوءاستفاده از ضعفهای فرایند استخراج و تجزیهوتحلیل فهرست توصیفی اندروید، از تدابیر امنیتی استاندارد در تلفنهای اندرویدی عبور میکند.
بهگزارش تکناک، بدافزار بانکی جدیدی برای اندروید با نام SoumniBot کشف شده است که از روشی کمتر رایج برای پنهانسازی خود استفاده میکند. این روش شامل سوءاستفاده از ضعفهای موجود در فرایند استخراج و تجزیهوتحلیل فهرست توصیفی برنامههای اندرویدی (Android Manifest) است. این ترفند به SoumniBot اجازه میدهد تا از تدابیر امنیتی استاندارد گوشیهای اندرویدی عبور کند و عملیات سرقت اطلاعات را انجام دهد.
بلیپینگکامپیوتر مینویسد که محققان کسپرسکی این بدافزار را کشف و تجزیهوتحلیل کردهاند. آنان جزئیات فنی روشهایی را ارائه کردهاند که این بدافزار برای سوءاستفاده از روال اندروید برای خواندن و استخراج فهرست توصیفی برنامهها (APK Manifests) بهکار میبرد.
فهرست مطالب
فریبدادن تجزیهگر اندروید
فایلهای فهرست توصیفی (Manifest) با پسوند AndroidManifest.xml در پوشه اصلی برنامههای اندرویدی قرار دارند. این فایلها حاوی اطلاعاتی درباره اجزای برنامه (سرویسها و گیرندههای پیامهای سیستمی و ارائهدهندگان محتوا) و مجوزها و دادههای برنامه هستند.
درحالیکه ترفندهای فشردهسازی مختلفی بهواسطه فایلهای APK مخرب برای فریب ابزارهای امنیتی و دورزدن تجزیهوتحلیل وجود دارد، تحلیلگران کسپرسکی کشف کردهاند که SoumniBot از سه روش مختلف برای دورزدن بررسیهای تجزیهگر استفاده میکند.
- اولین روش این است که SoumniBot هنگام بازگشایی فایل فهرست توصیفی APK، از مقدار فشردهسازی نامعتبری استفاده میکند. این مقدار با مقادیر استاندارد موردانتظار کتابخانه libziparchive اندروید که شامل ۰ یا ۸ هستند، متفاوت است. با وجود این مقدار نامعتبر بهدلیل وجود باگ در سیستم تجزیهگر APK، اندروید بهطور پیشفرض دادهها را بهعنوان غیرفشرده در نظر میگیرد و بدینترتیب به APK اجازه میدهد تا بررسیهای امنیتی را دور بزند و همچنان روی دستگاه اجرا شود.
- روش دوم به گزارش اشتباه اندازه فایل فهرست توصیفی در فایل APK مربوط میشود. در این روش، بدافزار اندازهای بزرگتر از اندازه واقعی فایل را گزارش میکند. ازآنجاکه در روش قبلی فایل بهعنوان غیرفشرده علامتگذاری شده است، مستقیماً از آرشیو کپی و دادههای اضافی و بیاستفاده «پوششی» برای پرکردن اختلاف اندازه اضافه میشود. این دادههای اضافی بهطور مستقیم به دستگاه آسیب نمیزنند؛ زیرا اندروید طوری تنظیم شده که آنها را نادیده بگیرد. بااینحال، دادههای گفتهشده نقش مهمی در گیجکردن ابزارهای تحلیل کد ایفا میکنند.
- روش سوم استفاده از رشتههای بسیار طولانی برای نام XML در فایل فهرست توصیفی است. این کار بررسی آنها ازطریق ابزارهای تحلیل خودکار را بسیار دشوار میکند؛ زیرا این ابزارها اغلب حافظه کافی برای پردازش چنین رشتههای طولانی را ندارند.
تهدید SoumniBot
هنگام راهاندازی، SoumniBot پارامترهای پیکربندی خود را از آدرس سروری که بهسختی در بدنه آن کدگذاری شده است، درخواست و اطلاعات پروفایل دستگاه آلودهشده، ازجمله شماره تلفن را ارسال میکند. سپس، این بدافزار سرویس مخربی را راهاندازی میکند که درصورت متوقفشدن، هر 16 دقیقه مجدداً راهاندازی میشود و هر 15 ثانیه دادههای سرقتشده را از قربانی ارسال میکند.
جزئیات استخراجشده عبارتاند از: آدرسهای IP، فهرست مخاطبان، جزئیات حساب، پیامهای SMS، عکسها، فیلمها و گواهیهای دیجیتال بانکداری آنلاین. استخراج دادهها بهوسیله دستورهایی که بدافزار ازطریق سرور MQTT دریافت میکند، کنترل میشود. این دستورها ازاینقرارند:
- حذف مخاطبان موجود یا اضافهکردن مخاطبان جدید
- ارسال پیام SMS (فرستادن)
- تنظیم سطح صدای زنگ
- روشن یا خاموش کردن حالت بیصدا
- روشن یا خاموش کردن حالت اشکالزدایی دستگاه
هنوز مشخص نیست که SoumniBot چگونه به دستگاهها راه مییابد؛ اما روشهای توزیع آن عبارتاند از: توزیع ازطریق فروشگاههای اندروید شخص ثالث و وبسایتهای ناامن و بهروزرسانی برنامههای قانونی در مخازن معتبر با کد مخرب.
SoumniBot کاربران کرهای را هدف قرار میدهد و مانند بسیاری از برنامههای مخرب اندرویدی، پس از نصب آیکون خود را پنهان میکند تا حذف آن دشوارتر شود. بااینحال، این بدافزار در پسزمینه فعال باقی میماند و دادهها را روی دستگاه قربانی آپلود میکند.
شرکت کسپرسکی مجموعه کوتاهی از شاخصهای آلودگی (IoC) را ارائه میدهد که شامل هشهای مربوط به بدافزار و دو دامنهای است که اپراتورهای بدافزار برای فعالیت فرماندهی و کنترل از آنها استفاده میکنند.