ЗАРАЖЕННЯ ВИРУСАМИ В андроїд
Найпростіший і найпоширеніший спосіб зараження - взяти популярну програму, розколупати її і вставити всередину нехороший код. Потім запакувати і видати за безкоштовну версію або версію з додатковими функціями. Такі програми «з сюрпризом» з'являються не тільки в неофіційних магазинах додатків для Android, періодично вони просочуються і на офіційний Play Market.
Реалізується такий фальсифікація дуже просто.
Розпаковує додаток утилітою apktool:
apktool - d lt; ім'я файлу програми gt;
Пише код зловреда, наприклад одержувач широкоформатних повідомлень, який спрацьовує після перезавантаження пристрою і починає посилати команди іншим частинам зловреда кожну секунду:
Тут один з модулів реагує на подію android.trojan.action. EXTERMINATE і знищує все контактні дані користувача:Залишилося упакувати програму-жертву назад все тієї ж утилітою apktool, і додаток «з подарочком» готове.
apktool b lt; папка з додатком gt;
Якщо в якості жертви вибрати програму з відповідними дозволами, то воно не викличе у користувача жодних підозр! Якщо ж підібрати необхідні дозволи не виходить, то вірусам доводиться змушувати користувача дати їм розширені права, показуючи свій діалог поверх системного. Наприклад, так роблять Trojan-Banker.AndroidOS. Asacub і Trojan-SMS.AndroidOS.Tiny.aw. Так-так, Android дозволяє створювати вікна, які будуть відображатися поверх всіх інших додатків і діалогів, в тому числі і системних. Для цього знадобиться всього лише створити потрібний View і додати його в WindowManager:
Прапор TYPE_SYSTEM_ERROR зловмисники зазвичай використовують, щоб перекрити системне вікно своїм View, прапор TYPE_SYSTEM_OVERLAY - щоб перекрити тільки кнопку системного вікна своїм View з потрібним текстом.Запросити права адміністратора пристрою можна за допомогою ІНТЕНТ, де VirusDeviceAdminReceiver успадковує DeviceAdminReceiver:
У AndroidManifest потрібно оголосити слухач VirusDeviceAdminReceiver, а також прописати ресурс virus_device_admin, в якому міститься інформація про необхідні права, і фільтр подій, на які реагує слухач, в даному випадку - отримання адмінських прав:
І хоча в 5-й версії Андроїда заборонили показувати вікна поверх системних повідомлень, ця функціональність використовується в таких віруси, як Acecard, щоб демонструвати користувачеві фейковий діалоги введення кредитних даних поверх Play маркету, діалогів входу в соцмережі та програм для мобільного банкінгу.Чому Віруси для андроїд так популярні?
- Відкритим кодом. Завжди можна подивитися, як працює та чи інша системна утиліта.
- Поширеністю. Оновлення безпеки надходять на різні моделі пристроїв в різний час, багато хто взагалі залишаються без оновлень, що дозволяє безперешкодно використовувати вельми несвіжі уразливості.
- Недосконалістю антивірусних програм. Скільки б процесорів не було в пристрої, антивіруси все одно значно уповільнюють роботу ОС, тому користувачі неохоче їх ставлять.
- Слабкою системою перевірки додатків в маркеті. Незважаючи на всі запевнення фахівців Google про «багатоступінчастої перевірці», в маркет легко проникають клони віддалених інфікованих програм, а до розробників таких програм не застосовуються ніякі заходи.
- Відсутністю централізованого контролю за прошивками. Розробник прошивки може безперешкодно вставляти будь-шпигунський софт на свій розсуд.
ОБХІД антивірусного сканера
Часи вільного доступу будь-якої програми в Play Market добігають кінця. Хлопці з Google зрозуміли, що треба приймати хоч якісь заходи, щоб зупинити навалу величезної кількості вірусів, і ввели систему перевірки додатків. Творці вірусів миттєво відреагували і почали вставляти механізми обходу перевірки.
Один з цікавих методів - відкладений старт шкідливої активності. Наприклад, додаток місяць поводиться як звичайна іграшка або довідник, тисячі користувачів скачують його і залишають захоплені відгуки, залучаючи все більшу аудиторію. А через деякий час в додатку раптом прокидається зло, і воно починає показувати фейковий діалоги, завантажувати та встановлювати небажаний софт.
Після завантаження класу можна спокійно смикати його методи за допомогою рефлексії. Зовнішню бібліотеку можна як розмістити в самому APK, так і завантажити з Мережі після установки. Щоб ще більше ускладнити виявлення шкідливого коду, зловмисники шифрують такі програмні модулі і дають їм трудноугадиваемие імена.
Деякі автори вірусів йдуть далі і викладають в маркет додатки, які після установки скачують і встановлюють вірусні апплікухі самостійно, маскуючи їх під системні утиліти. Так що, навіть якщо користувач видалить початкове додаток, вірус буде спокійнісінько жити на пристрої і далі. Такий підхід реалізований, наприклад, в додатку BrainTest.
Для установки нових додатків без відома користувача зловмисники використовують утиліту pm:
Щоб використовувати цю утиліту, додаток повинен або запитувати дозвіл android.permission.INSTALL_PACKAGES в маніфесті, або володіти правами рута. Перевірити, чи встановлено додаток, можна, скориставшись методом getPackageInfo класу PackageManager:
СПОСОБИ ЗБАГАЧЕННЯ на віруси для андроїд
Між іншим, кількість завантажень у подібних «корисних додатків» іноді перевалює за 100 тисяч! Так що, якщо додаток просить тебе залогінитися в соцмережу в своєму вікні, саме час насторожитися і згадати, що конкретно тобі відомо про це додатку.
Інший набирає популярність спосіб збагачення - віруси-вимагачі. Потрапивши на пристрій, вони отримують права рута, часто шифрують призначені для користувача дані і показують вікно з вимогою викупу, запобігаючи спроби користувача запустити інші програми. Так поводяться, наприклад, віруси сімейства Fusob.
Першочергове завдання програми-здирника - отримати рут на пристрої жертви. На жаль простих користувачів, в Мережі гуляє безліч експлойтів, що дозволяють непомітно підвищити права додатки до суперпользовательскіх. Наприклад, Towelroot постійно оновлюється і вдосконалюється своїм творцем. Непогану базу експлойтів зібрала група Offensive Security. ну і звичайно, всі найсвіжіші уразливості можна подивитися на CVE.
Отримавши рут, зловредів за допомогою класу ActivityManager починає контролювати роботу інших додатків, вбиваючи небажані:
Нерідко для управління вірусом-здирником використовується GCM - хлопці з Google розробили ідеальну систему для відправки команд з додатком і отримання від нього відповідей. Досить зареєструватися на сервері, попередньо отримавши токен для роботи. Тепер можна приймати будь-які команди, в тому числі на оновлення вірусу, що дає зловмиснику практично необмежену владу.