Поки аналітики з безпеки розробляють нові методи аналізу шкідливого програмного забезпечення, кіберзлочинці шукають витончені способи інфікування та приховування своєї шкідливої діяльності на пристроях користувачів. Для підвищення ефективності атак зловмисники вдаються як до методів соціальної інженерії, метою яких є введення жертв в оману, так і до складних технічних механізмів для перешкоджання виявленню та аналізу шкідливих програм.
Спеціалісти ESET зібрали найбільш поширені за останні кілька років способи поведінки зловмисного коду на пристроях Android.
1. Використання шахрайських облікових записів в магазині Google Play для розповсюдження шкідливого програмного забезпечення.
Шкідливі додатки постійно з’являються в офіційному магазині Google. Для охоплення більшої кількості жертв часто кіберзлочинці маскують власні шкідливі програми під справжні додатки. При цьому, фальшиві облікові записи, які використовуються для розповсюдження небезпечних або шкідливих програм, можуть бути максимально схожими до легітимних облікових записів. Наприклад, нещодавно дослідники ESET виявили фальшивий додаток для оновлення WhatsApp, який використовував Юнікод, щоб створити враження поширення через офіційний обліковий запис.
2. Використання переваг запланованих дат виходу додатків.
Поширеною практикою в світі кіберзлочинності є маскування зловмисного програмного забезпечення під версії додатків, зокрема популярних ігор, вихід яких планується або які недоступні в офіційних магазинах деяких країн. Така ситуація спостерігалась навколо відомих програм Pokémon GO, Prisma і Dubsmash, підробні версії яких інфікували сотні тисяч пристроїв у всьому світі.
3. Техніка «tapjacking» та накладення вікон.
Техніка «tapjacking» передбачає захоплення відтінків екрана користувача шляхом виведення на пристрій жертви двох накладених додатків. Введена в оману жертва думає, що натискає на один додаток, але вона фактично торкається основного додатку, прихованого від перегляду.
Іншою подібною стратегією, яка широко використовується в шпигунських програмах для крадіжки облікових даних на Android, є накладення вікон. У таких випадках шкідливе програмне забезпечення постійно відслідковує додатки, які використовує користувач. Коли легітимна програма збігається з певною шкідливою програмою, загроза відображає власне діалогове вікно, ідентичне до справжнього додатку, та вимагає облікові дані жертви.
4. Приховування серед системних додатків.
Безумовно, найпростіший спосіб для шкідливого коду залишатися непоміченим на пристрої – маскування під системний додаток. Популярними практиками серед кіберзлочинців є видалення піктограми програми після завершення інсталяції або використання імен, пакетів та значків системних додатків, а також інших популярних додатків. Прикладом такого програмного забезпечення є банківський троян, який поширювався під виглядом Adobe Flash Player та викрадав облікові дані жертв.
5. Імітація системи та програм безпеки для запиту прав адміністратора.
Оскільки Android надає обмежене право доступу до програм, часто шкідливий код вимагає прав адміністратора для реалізації своїх функціональних можливостей. У свою чергу, надання цього дозволу ускладнює подальше видалення небезпечної програми. Тому для введення в оману жертв кіберзлочинці маскують шкідливе програмне забезпечення під інструменти для захисту чи оновлення системи.
6. Сертифікати безпеки, які імітують справжні дані.
Для перевірки додатку користувачі також можуть переглядати сертифікат безпеки, який використовується для підписання APK. І хоча більшість кіберзлочинців використовують загальні текстові рядки під час видачі сертифікату, користувачі часто зіштовхуються з проблемою підробки даних відповідно до інформації розробника. Таким чином зловмисники заплутують користувачів, які здійснюють перевірку сертифікатів безпеки.
7. Кілька функціональних можливостей в одному коді.
Останнім часом у світі мобільних пристроїв набирає популярності тенденція, яка полягає в поєднанні різних типів шкідливих програм у єдиний виконуваний файл. Прикладом такої загрози є банківський троян LokiBot, який викрадає інформацію з пристрою жертви, намагаючись залишатися непоміченим якомога довше. Однак під час спроби користувача видалити права адміністратора для деінсталяції шкідливої програми, загроза активує функції вимагача та шифрує файли пристрою.
8. Приховані програми.
Використання завантажувачів, тобто вставлення зловмисного коду в інший APK, є популярною стратегією у поширенні шкідливого програмного забезпечення не лише серед ноутбуків та комп'ютерів, а й серед мобільних пристроїв. Оскільки функція Google Play Protect ускладнює можливість завантаження зловмисного програмного забезпечення в офіційний магазин, зловмисники вирішили застосовувати такий тип поведінки для обходу елементів безпеки. З того часу використання завантажувачів для поширення шкідливих програм стало одним з найбільш часто використовуваних шкідливих методів.
9. Використання багатьох мов програмування та непостійного коду.
Одним з найефективніших способів введення в оману дослідників безпеки є об'єднання мов та середовищ розробки, наприклад, розробка додатків з Xamarin або використання коду Lua для виконання шкідливих команд. Ця стратегія змінює остаточну архітектуру виконуваного файлу і додає рівні складності.
Деякі зловмисники також використовують динамічне завантаження сценарію або частини коду, які завантажуються з віддалених серверів і видаляються після використання. А у разі видалення сервера неможливо точно визначити, які дії виконував код на пристрої.
10. Шкідливе програмне забезпечення, яке діє спільно.
Альтернативою для ускладнення аналізу зразка є розподіл зловмисних функцій між набором додатків, здатних взаємодіяти один з одним. Таким чином, кожен додаток має підмножину дозволів і функцій, які взаємодіють одні з одними для виконання спільних цілей. Для розуміння справжнього функціоналу такого шкідливого програмного забезпечення аналітикам потрібно мати доступ до всіх окремих програм. І хоча це не є поширеною стратегією серед кіберзлочинців, вже існують зразки загроз із таким типом поведінки.
11. Приховані канали та нові механізми з'єднання.
Для з’єднання з командним (C&C) сервером або іншими шкідливими додатками загрозам необхідно передавати інформацію. Це можна зробити за допомогою традиційних відкритих або прихованих каналів (індивідуальні комунікаційні протоколи, інтенсивність яскравості, використання центрального процесора, вільне місце в пам'яті, рівень звуку або вібрації та інші).
Крім того, за останні місяці спеціалісти ESET зафіксували використання соціальних мереж кіберзлочинцями для передачі повідомлень до командного (C&C) сервера. Наприклад, ботнет Twitoor використовує облікові записи Twitter для відправки команд.
Серед інших методів перешкоджання виявленню, які часто зустрічаються серед шкідливого програмного забезпечення для Android, можна виділити пакування, шифрування, заплутування та інші.
У зв’язку з постійним вдосконаленням шкідливого програмного забезпечення для мобільних пристроїв спеціалісти ESET рекомендують завантажувати додатки лише з офіційних магазинів, а також використовувати надійні рішення для захисту мобільних пристроїв від нових загроз.