محققان امنيتي سرانجام جزئيات بدافزار سرسخت اندرويدي xHelper را كشف كردند
يكي از محققان امنيتي فوريهي سال جاري مقالهاي دربارهي بدافزار درِ پشتي در اندرويد منتشر كرد كه جزئيات مهمهي از آن را دراختيار رسانهها ميگذاشت. طبق تحقيقات اوليه، اين بدافزار «جانسخت» حتي از بازيابي كارخانهاي موبايل هم جان سالم بهدر ميبرد و در سيستمعامل باقي ميماند؛ درنتيجه، ازبينبردن بدافزار مذكور به روشهايي غيرمرسوم نياز داشت.
تحليل اوليه روي بدافزار جانسخت اندرويدي نشان داد اشكال مقاومت آن دربرابر بازيابي كارخانهاي، وجود پوشهاي بود كه نصبكنندهي تروجان در داخل آن قرار داشت. پس از بازيابي كارخانهاي دستگاه اندرويدي، فايل نصب و پوشه از بين نميرفتند. بهمحض راهاندازي مجدد دستگاه، فايل نصبكنندهي تروجان مجددا درِ پشتي امنيتي را نصب ميكرد. محققي كه جزئيات ابتدايي بدافزار را منتشر كرد، اطلاعي از چگونگي اجراي اين نوع مقاومت نداشت. حال محقق امنيتي ديگري پس از چند ماه مطالعه، جزئيات مقاومت بدافزار را منتشر كرده است. پيش از توضيح يافتههاي جديد، ابتدا ببينيم بدافزار xHelper چه كارهايي انجام ميدهد.
بدافزار xHelper يا درِ پشتي با دسترسي بالا
نرمافزار مخرب اندرويدي كه شامل تروجان درِ پشتي ميشود، با ظاهر سرويسي براي بهبود كارايي دستگاه و پاككردن فايلهاي بياستفاده منتشر ميشود. سرويس آنتيويروس Malwarebytes نصب اين اپليكيشن را روي ۳۳ هزار دستگاه اندرويدي تأييد ميكند كه اكثر آنها نيز در ايالات متحده قرار دارد. سرويس آنتيويروس ديگر كه به غول روسي دنياي امنيت، يعني كسپرسكي، تعلق دارد، تعداد دستگاههاي آلوده را ۵۰ هزار دستگاه بيان ميكند. درنهايت، شواهدي وجود ندارد كه xHelper ازطريق گوگلپلي توزيع شده باشد.
بدافزار xHelper پس از نصب، درِ پشتي در دستگاه آلوده اجرا ميكند. سپس، درِ پشتي اپليكيشنهايي را از سرور تحتكنترل هكرها روي دستگاه نصب ميكند. بهعلاوه، درِ پشتي توانايي اجراي دستورهايي با دسترسي متخصص سطح بالا (Superuser) را نيز دارد. دسترسي اينچنيني، قابليتهاي نامحدودي در سطح سيستمي دراختيار بدافزار قرار ميدهد. بهعلاوه، درِ پشتي به اطلاعات حساس متخصص نيز دسترسي پيدا ميكند كه از ميان آنها ميتوان به كوكيهاي مرورگر اشاره كرد كه براي ورود خودكار به حسابهاي متخصصي در وبسايتها استفاده ميشوند. پس از نصب درِ پشتي، اپليكيشن مخرب و ظاهرساز آن از صفحهي اصلي موبايل و منو برنامهها حذف ميشود و تنها در تنظيمات سيستم ميتوان آن را ديد.
پست اطلاعرساني فوريه را نيتان كالير، محقق شركت Malwarebytes، نوشته بود. او تحقيقات خود را پس از گزارش متخصص قرباني انجام داد كه بدافزار xHelper پس از دوبار پاكشدن بهوسيلهي آنتيويروس، بازهم در دستگاه اندرويدي او اجرا ميشد و حتي پس از بازيابي كارخانهاي دستگاه، بازهم بدافزار شروع به كار ميكرد.
كالير در نتايج تحقيق خود متوجه شد نصب و اجراي مجدد بدافزار بهدليل وجود فايل نصبي بوده است كه در پوشهاي مخفي در دستگاه قرار دارد. پوشهي مذكور با روشهاي مرسوم پاكشدني نبود و نحوهي ورود و كپيشدن پوشه در دستگاه آلوده نيز مشخص نميشد. كالير ابتدا تصور كرد پوشه بهصورت پيشفرض و از ابتدا در موبايل وجود داشته است؛ البته اين فرضيهي او بازهم چرايي ناتواني آنتيويروس در پاككردن آن را مشخص نميكرد. بهعلاوه، او نميدانست چرا پس از پاكشدن احتمالي فايل مخرب يا بازيابي كارخانهاي دستگاه، بازهم بدافزار نصب ميشود.
بدافزاري بهنام Triada
بدافزار با دردستگرفتن كنترل سيستمي، خود را دربرابر هرگونه اقدام براي پاككردن مقاوم ميكند
ايگور گالوين، محقق آزمايشگاه امنيتي كسپرسكي، هفتهي گذشته مقالهاي منتشر كرد كه به بسياري از پرسشها دربارهي بدافزار جانسخت پاسخ داد. او ميگويد آلودگي مجدد دستگاهها بهدليل دانلود و نصب مجدد فايلها بهوسيلهي تروجان مشهوري بهنام Triada بوده است. اين تروجان پس از نصب بدافزار xHelper روي دستگاه قرباني اجرا ميشود. Triada ابتدا دستگاه را روت و سپس با بهرهگيري از دسترسيهاي سيستمي سطح بالا، تعدادي فايل مخرب در پارتيشن سيستمي نصب ميكند. اين روند با تغيير حالت پارتيشن سيستمي به نوشتن Triada براي مقاومتركردن فايلهاي مخرب، «صفت تغييرناپذير» در مشخصات آنها اضافه ميكند كه مانع از پاكشدنشان حتي بهدست متخصص با دسترسي سطح بالا ميشود. البته ميتوان اين صفت را با دستور chattr پاك كرد.
فايلي بهنام install-recovery.sh فايلهاي موجود در پوشهي /system/xbin را فراخواني ميكند. اين اقدام به بدافزار امكان ميدهدبا هر بار بارگذاري مجدد دستگاه اجرا شود؛ درنتيجه بهگفتهي گالوين، با آلودگي «جانسخت» روبهرو ميشويم كه كنترل فوقالعادهاي روي سيستم قرباني دارد.
گالوين در مصاحبهاي با توضيح عملكرد بدافزار ميگويد:
آلودهشدن به xHelper آنچنان دشوار نيست. دستگاههايي كه با حملهي اين بدافزار مواجه ميشوند، احتمالا به حفاظهاي امنيتي سيستمي مجهز نيستند و دربرابر نصب اين نوع بدافزارها آسيبپذير هستند. بهعلاوه پس از نصب بدافزار، پاككردن آن براي متخصص بسيار دشوار ميشود؛ درنتيجه، تعداد متخصصان آلوده به xHelper احتمالا با سرعت زيادي افزايش پيدا ميكند و بدافزار تا مدتي طولاني در دستگاههاي قرباني باقي ميماند.
محقق امنيتي كسپرسكي ابتدا احتمال داد شايد با تنظيم مجدد پارتيشن سيستمي به حالت نوشتن، بتوان بدافزار را پاك كرد. البته او كمي بعد انديشه متخصصينيهي خود را پس گرفت. گالوين دربارهي اين انديشه متخصصينيه ميگويد:
توسعهدهندگان Triada اين راهكار را نيز مسدود كردهاند. آنها روش محافظتي ديگري براي فايل خود اجرا كردهاند كه با تغيير جزوه رايگانخانهي سيستمي /system/lib/libc.so ممكن شده است. اين جزوه رايگانخانه شامل كدهاي مرسومي ميشود كه تقريبا تمامي فايلهاي اجرايي موجود در دستگاه از آنها استفاده ميكنند. Triada كدهاي اختصاصي خود را براي عملكرد mount در حافظهي سيستمي جايگزين كدهاي پيشفرض ميكند؛ درنتيجه، متخصص نميتواند مجددا پارتيشن سيستمي را به حالت نوشتن تغيير دهد.
خوشبختانه روش آلودهسازي مجدد كه در مقالهي اخير كشف شد، تنها روي دستگاههاي اندرويدي مجهز به نسخههاي قديمي سيستمعامل اجرا ميشود كه آسيبپذيريهاي سطح روت دارند. بههرحال، گالوين هنوز احتمال ميدهد در برخي موارد، شايد xHelper ازطريق فايلهاي مخرب نصبشده بهصورت پيشفرض در موبايل هوشمند يا تبلت، حضور خود را حفظ ميكند.
كاربران قرباني ميتوانند با استفاده از حالت Recovery موبايل هوشمند (درصورت وجود)، فايل مخرب libc.so را با فايل اصلي و پيشفرض موجود در فرمور اصلي تعويض كنند. آنها سپس ميتوانند فايلهاي بدافزار را از پارتيشن سيستمي پاك يا براي اطمينان نهايي دستگاه را فلش كنند.
تحقيقات گالوين جزئيات بسياري از روش هوشمندانهي آلودهسازي دستگاه را شرح ميدهد كه شايد در حملههاي مشابهي در آينده استفاده شود. درواقع، اگر آسيبپذيريهاي سطح روت جديد در نسخههاي جديد اندرويد پيدا شوند، شايد شاهد پيادهسازي حملههاي امنيتي مشابه در نسخههاي جديد هم باشيم.
هم انديشي ها