امروز: شنبه، 29 مهر 1396

 

اخیرا حدود 132 برنامه اندرویدی در گوگل پلی یافت شدند که آلوده به تگ­های IFrame کوچک نهفته­ای بودند که به دامنه­های مخرب در صفحات HTML محلی خودشان متصل می­شدند و محبوب­ترین آن­ها بیش از 10000 بار نصب شده بود. تحقیقات حاکی از آن است که توسعه دهندگان این برنامه­ها خود قربانی هستند و نباید مورد سرزنش قرار گیرند. پلتفرم­های توسعه اپلیکیشن به مخربی آلوده هستند که بدنبال صفحات HTML گشته و محتوای آسیب­رساننده­ای در انتهای صفحاتی که می­یابد تزریق می­کند که بدون آگاهی توسعه دهنده اتفاق می­افتد. این موارد به تیم امنیتی گوگل گزارش شدند و تمامی برنامه­های آلوده از گوگل پلی حذف شدند. شکل زیر، تعدادی از برنامه­های آلوده در گوگل پلی را نشان می­دهد.

چیزی که همه این برنامه­ها در آن مشترکند این است که از Android WebView  برای نمایش صفحات HTML ایستا استفاده می­کنند. در نگاه اول، در هر صفحه چیزی بجز تعدادی تصویر که بصورت محلی ذخیره شدند و متن ساده بارگیری نمی­شود. اما با تحلیل عمیق کد HTML مشخص شد که یک تگ IFrame نهان به دامنه­های مخرب شناخته شده­ای متصل می­شود. هرچند دامنه­های لینک داده شده در زمان تحقیق کار نمی­کردند اما اینکه تعداد زیادی برنامه در گوگل پلی به آن آلوده بودند، قابل توجه است.

جالبتر این است که یکی از آن­ها سعی در بارگیری و نصب یک فایل اجرایی ویندوز داشت اما از آنجایی که سیستم عامل دستگاه مبتنی بر ویندوز نیست، اجرا نمی­شد. این رفتار جز رده تهدیدات غیراندرویدی (Non-Android Threat) که اخیرا توسط تیم امنیت اندروید گوگل منتشر شده، قرار می­گیرد. تهدید غیراندرویدی به برنامه­هایی اشاره دارد که به کاربر و دستگاه اندرویدی آسیبی نمی­زند اما حاوی اجزایی است که برای سایر پلتفرم­ها مخرب به حساب می­آیند.

نحوه عملکرد مخرب

تمامی این برنامه­ها نیاز به مجوز دسترسی به INTERNET دارند و حاوی دو اکتیویتی هستند؛ یکی برای بارگیری تبلیغات و دیگری برای بارگیری برنامه اصلی. اکتیویتی دوم مولفه Android WebView را استفاده کرده و یک صفحه HTML محلی را نمایش می­دهد. مولفه WebView متد javascriptInterface را فعال می­کند. این متد داخل نمونه­هایی که پیدا شدند فعال نشده بود، اما به کدهای جاوا اسکریپت بارگیری شده اجازه دسترسی به قابلیت­های برنامه را می­داد.

هر صفحه HTML فقط عکس و متن نمایش می­دهد. هرچند، در انتهای هر صفحه HTML یک تگ IFrame

نهان اضافه شده است. از دو روش برای مخفی کردن این تگ استفاده شده است. در اولین روش با قرار دادن طول و عرض این تگ به اندازه 1 پیکسل، آن را می­توان کوچک کرد. روش دوم این است که ویژگی display را None قرار داد. در پایان، به منظور فرار از تشخیص از طریق تطابق رشته­ای، URL مبدا با استفاده از HTML number codes مبهم سازی می­شود. در مثال زیر مرورگر به طور خودکار تبدیلات زیر را انجام می­دهد:

  • ‘.’ → ‘.’
  • ‘i’ → ‘i’
  • ‘u’ → ‘u’

در نهایت همه منابع IFrame به دو دامنه همگرا می­شوند:

  • www[.]Brenz[.]pl/rc/
  • jL[.]chura[.]pl/rc/

Polish CERT  (cert.pl) در سال 2013 هر دوی این دامنه­ها را تحت کنترل در آورد و از آسیب رساندن به کاربران جلوگیری کرد. با این حال در زمان تحقیقات این دامنه­ها میزبان بدافزار نبودند اما پیشینه بدی دارند [1,2,3,4,5].

132 برنامه آلوده متعلق به 7 توسعه­دهنده متفاوت و کاملا بدون رابطه با هم هستند. اما بین آن­ها یک ارتباط جغرافیایی وجود دارد: همه آن­ها با اندونزی در ارتباط هستند. واضح­ترین سرنخ از اسم آن­ برنامه­ها می­آید که کلمه «Indonesia» را در نام خود دارند. یکی از وبسایت­های توسعه­دهندگان به وبلاگی وصل می­شود که به زبان اندونزی نوشته شده است.­ مجوز یکی دیگر از آن­ها هم متعلق به همانجاست.

این برنامه­های آلوده به خود دستگاه­های اندرویدی آسیبی نمی­زنند بلکه مخرب را بدون اینکه متوجه شویم روی سایر پلتفرم­ها پخش می­کنند. از طریق این مدل حملات، تمامی منابع درون برنامه برای مهاجم قابل دسترسی خواهند بود و تحت کنترل وی قرار خواهند گرفت و شهرت و اعتبار برنامه نویس زیر سوال می­رود.

مشتریان WildFire به طور خودکار از این برنامه­های آلوده در امان هستند. موتور تحلیل APK درون WildFire نه تنها قادر به تشخیص IFrameهای کوچک مخفی می­باشد، بلکه با دامنه­های تعبیه شده نیز همبستگی دارد.

منبع :

 http://researchcenter.paloaltonetworks.com/2017/03/unit42-google-play-apps-infected-malicious-iframes/