آزمایشگاه امنیتی کسپراسکی در گزارشی به تشریح نرمافزاری پرداخته است که در ابتدا به عنوان یک نرمافزار اندرویدی معمولی برای تحلیل به این آزمایشگاه ارسال شده است و پس از بررسی مشخص شده است که این نرمافزار درواقع یک تروجان اندرویدی بسیار پیشرفته است. در ادامه گزارش این گروه امنیتی در مورد این تروجان آورده شده است.
این نرمافزار کاربردیِ ویژهی سامانه عامل اندروید، در نگاه اول نیز حتی مشکوک به نظر میرسد، تمامی رشتههای پروندهی DEX رمزشدهاند و کدهای این نرمافزار از حالت ساده خارج شده و به وضعیت مبهم تبدیل شده است. پروندهی DEX پروندهای است که کامپایل شده در سامانه عامل اندورید قابل اجرا است. (Dalvik Executable File)
اما سپس مشخص شد که این برنامه درواقع یک تروجان چند منظوره ویژه سامانه عامل اندروید است. این تروجان قادر است فعالیتهای زیر انجام دهد
- ارسال پیامک به شمارههای ویژه که معمولاً به علت خدمات خاص دارای هزینه بیشتری هستند.
- بارگیری سایر برنامههای بدافزاری
- نصب برنامههای مخرب بارگیری شده و یا ارسال آنها از طریق بلوتوث.
- اجرای از راه دور فرمانها در کنسول آلوده
- محصولات ضدبدافزاریِ به روز شدهی کسپراسکی این تروجان را با نام Backdoor.AndroidOS.Obad.a شناسایی میکنند.
این بدافزار سعی میکند تا جایی که امکان دارد کد را در هنگام نصب خود ایجاد کند و به این ترتیب تا حدودی از دید محصولات ضدبدافزاری دور بماند.
خصلتهای تروجانی
در ابتدا بهتر است یادآور شویم که سازندگان بدافزار Backdoor.AndroidOS.Obad.a یک خطا در نرمافزار محبوب DEX۲JAR که برای تبدیل پروندههای DEX به پروندههای JAR است پیدا کردهاند. این آسیبپذیری منجر میشود تبدیل پروندههای اجرای DEX به JAR با مشکل مواجه شود که در نتیجه تحلیل تروجان را پیچیدهتر میکند.
همچنین مهاجمین یک خطا در سامانه عامل اندروید پیدا کردهاند که مربوط به پردازش پروندهی AndroidManifest.xml میباشد. این پرونده در همهی نرمافزارهای اندرویدی وجود دارد و ساختار پرونده را شرح میدهد.
این بدافزار چنان پروندهی AndroidManifest.xml را تغییر میدهد که دیگر با استانداردهای گوگل مطابقت نمیکند، اما به علت آسیبپذیریهای شناختهشدهی اندروید این پروندهی دستکاری شده همچنان میتواند در تلفن هوشمند مورد نظر، استفاده گردد. به هرحال با همهی این آسیبپذیریهای موجود، تحلیل پویای این تروجان بسیار سخت است.
همچنین باید یادآور شویم که توسعهدهندگان این تروجان به تمام آسیبپذیریهای شناخته شدهی اندروید بسیار مسلط بودهاند، چرا که از آسیبپذیریای استفاده کردهاند که قبلاً حتی کدهای سوءاستفاده از آن به صورت عمومی منتشر شده، و به برخی نرمافزارها این امکان را میدهد که امتیاز مدیریت به دست آورند، بدون این که نام آنها در فهرست نرمافزارهایی ثبت شود که چنین حقی در سامانه عامل دارند.
لازم به ذکر است که حذف برنامههایی که امتیاز مدیریت دارند در سامانه عامل اندروید غیرممکن است و به همین دلیل نمیتوان این بدافزار را حذف کرد.
و در آخر این که این تروجان، دارای یک واسط نیست و در پشت صحنه به فعالیتهای مخرب میپردازد.
تحلیل کد
در این نرمافزار مخرب، تمامی توابع خارجی از طریق reflection صدا زده میشوند، در این شیوه تمامی توابع در حین اجرا صدا زده میشوند. تمامی رشتهها رمز شدهاند، حتی نامهای کلاسها و نام توابع.
هر کلاس دارای یک تابع توصیف محلی است، که رشتههای رمزشدهی مورد نیاز خود را از یک آرایهی به روز شدهی محلی دریافت میکند. تمامی رشتههای این آرایه «مخفی » هستند.
گروه امنیتی کسپراسکی توانسته است تمامی رشتههای مورد استفاده را رمزگشایی کند.
دستسری به امتیاز مدیریت
همانطور که بیان شد این برنامه با استفاده از آسیبپذیری موجود در سامانه عامل اندروید اقدام به دریافت حق امتیاز مدیریت و مخفی کردن این امتیاز میکند.
با دسترسی به این امتیاز، امکان حذف این برنامه وجود نخواهد داشت و بدتر از همه با توجه به آسیبپذیری شناختهشدهی مورد استفاده در این بدافزار، این برنامه در فهرست نرمافزارهایی که امتیاز مدیریتی دارند، مشاهده نمیشود
البته شرکت گوگل از این آسیبپذیری با خبر است، ولی هنوز هیچ اقدامی برای رفع آن انجام نداده است.
این تروجان قادر است با استفاده از امتیاز مدیریتی، اقدام به خاموشی صفحه نمایش تا مدت زمان ۱۰ ثانیه داشته باشد، این اتفاق زمانی رخ میدهد که دستگاه اندرویدی به یک شبکهی وای-فای آزاد متصل شود و یا سرویس بلوتوث این دستگاه روشن شود، در این حالت دستگاه میتواند تروجان مذکور و سایر برنامههای مخرب را به سایر دستگاههای اندرویدی موجود در نزدیکی خود منتقل کند.
پس از این که امتیاز مدیریتی توسط این نرمافزار دریافت میشود، تروجان فرمان «su id» را اجرا میکند.
ارتباط با کارگزار کنترل و فرماندهی
همانطور که میدانیم استفاده از وضعیت امتیاز مدیریت، شرایط را برای اجرای فرمان در کنسول آلوده بسیار سادهتر میکند. پس از ارتباط با کارگزار کنترل و فرماندهی اطلاعات زیر به این کارگزار ارسال میشود:
- نام خدماتدهنده یا اپراتور تلفن همراه
- شماره همراه
- مک آدرس مربوط به سرویس بلوتوث دستگاه
- زمان محلی
- وضعیت دقیق امتیاز مدیریتی کسبشده توسط دستگاه و …
اطلاعات جمعشده از طریق شی رمز شدهی JSON ارسال میشوند. (JavaScript Object Notation)