شرح کلی
نوع: باج افزار (Ransomware)
درجه تخریب: متوسط
میزان شیوع: متوسط
باج افزار (Ransomware) چیست؟
باج افزارها نوعی از بدافزار محسوب میشوند که اقدام به رمزگذاری اطلاعات مهم کاربر میکنند و برای بازگردانی آن فایلها از کاربر طلب باج میکنند. روش رمزگذاری اکثرا روشی غیرقابل رمزگشایی بوده و یکی از راههای رایج برای پرداخت باج استفاده از پول الکترونیکی میباشد که دلیل آن مخفی ماندن و شناسایی نشدن طرفین میباشد. در اکثر باج افزارها هیچ راهی برای بازگشت فایل وجود ندارد و کاربر برای بازگردانی اطلاعات مهم مجبور به پرداخت مبلغ به حساب باج گیر است. باج افزارها یکی از زیان بارترین بدافزارها هستند که میتوانند باعث ضررهای مالی سنگینی شوند.
بدافزار Locker چیست؟
Locker، نوعی باج افزار است که صفحه نمایش کاربر را قفل کرده و مانع از دسترسی به دادهها و فایلهای موجود در گوشی کاربر میشود. فایلهای مورد هدف مهاجم در مسیرهای مشخصی در گوشی کاربر میباشد که با استفاده از الگوریتم رمزنگاری AES، آنها را رمز میکند.
توضیحات فنی
این بدافزار با عنوان “Bitcoin” یا “Bitcoin free” و از خانواده باج افزارها محسوب میشود. بعد از نصب و اجرای برنامه ابتدا صفحهای با پیغام “please wait setup will take few minute” به کاربر نمایش داده میشود. پس از خارج شدن از برنامه و دوباره اجرا کردن آن با نمایش صفحهای با عنوان “You are hacked” به کاربر هشدار میدهد که گوشی توسط یک باجگیر هک شده و فایلهای موجود در گوشی رمز شده و غیرقابل دسترس میباشند. برای جلوگیری از حذف کامل فایلهای گوشی به کاربر 24 ساعت فرصت میدهد تا username مشخص شده در کادر برنامه را به ایمیل ذکرشده ارسال نماید تا private key برای او فرستاده شود. فایلهای کاربر پس از چند دقیقه رمز شده و صفحه زمینه گوشی نیز مطابق تصویر تغییر میکند. username و password (private key) مورد نیاز برای رمزگشایی برنامه داخل خود برنامه ایجاد میشود.
بدافزار تمام فایلهای گوشی را رمز کرده و پسوند آنها را به xdrop. تغییر میدهد. طی دو حالت فایلهای کاربر را پاک میکند که یکی پس از گذشت 24 ساعت، در صورت واریز نشدن مبلغ باج و وارد نکردن کلید و حالت دوم با اولین بوت گوشی میباشد. همچنین، جهت دریافت اطلاعات از گوشی کاربر با سرور C&C خود یعنی "hxxps[:]//muazam-zaky-faqih[.]000webhostapp[.]com/web/helow/index.php/addslave.php"
ارتباط برقرار میکند.
اکتیویتی MainActivity
در فایل پایگاه داده برنامه برای متغیری به نام “userinfo” مقدار username به طول 15 کاراکتر به صورت زیر ایجاد میشود:
public static String k() {
StringBuilder stringBuilder = new StringBuilder();
Random random = new Random();
while (stringBuilder.length() < 15)
stringBuilder.append("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".charAt((int)(random.nextFloat() * "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".length())));
return stringBuilder.toString();
}
و همچنین مقدار password به طول 32 کاراکتر به صورت زیر در پایگاه داده برنامه ذخیره میشود:
public static String o() {
StringBuilder stringBuilder = new StringBuilder();
Random random = new Random();
while (stringBuilder.length() < 32)
stringBuilder.append("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz".charAt((int)(random.nextFloat() * "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz".length())));
return stringBuilder.toString();
}
سپس بدافزار برای ارتباط با سرور C&C خود با استفاده از متد “POST” یک کانکشن ایجاد کرده و مقادیر username و password ایجاد شده را به سرور خود ارسال مینماید.
سرویس MyService
بدافزار جهت رمزگذاری، فایلهای قرار گرفته در مسیرهای مشخص شده زیر را در یک آرایه قرار میدهد:
/storage/emulated/0/
/storage/sdcard0/
/storage/sdcard/
متد Encryption
بدافزار با مجموعه فایلهای موجود در دایرکتوریهایی که در بالا ذکر شدند، ابتدا پسوند فایلها را حذف کرده و با پسوند xdrop. جایگذاری میکند، در نهایت مطابق شکل زیر با استفاده از الگوریتم “AES” اقدام به رمزگذاری فایلها مینماید. عدد “1” مشخص شده در متد init از کلاس cipher نشانه راهاندازی روال Encryption فایلها میباشد.
اکتیویتی Main2Activity
در این اکتیویتی برنامه، صفحه هشدار هک شدن را به همراه تایمر زمان باقی مانده برای بازیابی فایلها به کاربر نشان میدهد. در ادامه در صورتی که تایمر مشخص شده (24 ساعت) به پایان برسد، با استفاده از یک intent سرویس delonboot اجرا میشود. این سرویس همچنین با استفاده از دریافتکننده تعریف شده، به محض بوت شدن گوشی اجرا میشود. در این سرویس فایلهای قرار گرفته در مسیرهای مشخص شده زیر حذف میگردد و در ادامه، بدافزار تصویر پس زمینه گوشی را تغییر میدهد.
/storage/emulated/0/
/storage/sdcard0/
/storage/sdcard/
متد Decryption
در صورتی که کاربر باج مورد نظر را پرداخت کرده و private key را که در واقع همان پسوردی است که در برنامه ساخته میشود، به درستی وارد کند، بدافزار به فایلهای قرار گرفته در مسیرهای ذکر شده پسوند “Dcry.” اضافه کرده که به معنی شروع عملیات رمزگشایی فایلها میباشد و سپس با استفاده از الگوریتم “AES” مطابق تصویر فایلها را رمزگشایی مینماید (پسورد ایجاد شده در اکتیویتی اصلی برنامه همان کلید خصوصی این الگوریتم میباشد). مقدار عدد 2 مشخص شده در متد init از کلاس cipher نشانه راه اندازی روال Decryption فایلها میباشد.
روش مقابله و پاکسازی سیستم
1. این بدافزار توسط آنتیویروس پادویش شناسایی میشود.
2. گوشیهای خود را به روز نگه دارید، در حالت ایده آل آنها را تنظیم کنید تا به صورت خودکار بهروز شوند.
3. به مجوزهای دسترسی برنامه تمرکز کنید. اگر به نظر میرسد آنها برای عملکردهای برنامه پیش از اندازه هستند، از نصب برنامه خودداری کنید.
4. دقت کنید که برنامههای خود را از مارکتهای معتبر دانلود و یا خریداری کنید و از کانالهای تلگرامی، اینستاگرام و وب سایتهای نامعتبر آنها را دانلود نکنید. همچنین برروی لینکهای مشکوکی که از طریق sms دریافت میکنید، کلیک نکنید.