Повідомлення Toast Android можна використовувати для надання доступу або прав адміністратора пристрою

Дослідники продемонстрували атаку за допомогою Toast Message, яка може соціально спровокувати користувача надавати небезпечні дозволи на Android.

Android — досить відкрита платформа з фантастичною спільнотою розробників. Багато з цих розробників створюватимуть програми, спеціальні ПЗУ тощо. Деякі організації також займаються тестуванням безпеки, наприклад Palo Alto Networks Unit 42. Ця група виявила вразливість у системі Android Toast Message, яка дозволяє зловмисник, щоб створити псевдонакладання, щоб обманом змусити користувача надати небезпечні дозволи без їх знання. Це вже зафіксовано в Вересневе оновлення безпеки і в Android Oreo, тож будьте впевнені: якщо ваш телефон усе ще отримує щомісячні виправлення безпеки або у вас є пристрій на Android Oreo, ви не вразливі до цієї атаки.

Усі інші пристрої Android сприйнятливі до цього нападу. Це працює таким чином, що він використовує тостові сповіщення в Android, щоб обійти вимогу «малювати зверху», тобто. дозвіл на накладання, тобто "Плащ і кинджал

"експлойт спрацював. Дослідники використали цей експлойт для соціальної інженерії, щоб користувачі надали послугу доступності їхнім атакуючим програмам, дозволяючи їм потім читати весь вміст екрана, ключові введення тощо. на пристрої. Потім вони використовували той самий метод, щоб спонукати користувачів програми надати доступ адміністратора, абсолютно не підозрюючи про доступ, який вони щойно надали. Це дозволяє зловмиснику встановлювати програми, контролювати пристрій, а також відкриває потенціал програм-вимагачів.

Пояснення атаки Android Toast Message Overlay

Але як це насправді працює? The розробники за підтвердження концепції поділилися фактичним вихідним кодом своєї атаки, який містить більш технічне пояснення вразливості. Але ми коротко пояснимо, як і чому працює цей експлойт.

По-перше, вам потрібно розглянути, що таке повідомлення тосту. Вони існують на Android уже багато років, і ви, мабуть, щодня бачили їх багато на своєму пристрої. Тости – це невеликі повідомлення внизу екрана, які зазвичай з’являються у вигляді сірої підказки з інформацією.

Експлойт використовує сповіщене повідомлення, щоб створити накладення на екрані без фактичного запиту чи потреби SYSTEM_ALERT_WINDOW дозвіл, який має бути обов’язковим для будь-якої програми для малювання на вашому екрані. Замість цього він проштовхує накладення через сповіщення, створюючи кнопки, які виглядають так, ніби вони призначені для законного надання доброякісного дозволу або прийняття безглуздої підказки, але насправді призначені для надання доступу адміністратора пристрою або доступності до додаток. Це створює два види всередині накладення тосту.

Все це може бути зроблено через невдалу перевірку дозволу. Система Android (оновлення безпеки до Oreo та до вересня) насправді не перевіряє те, що подається через систему Android Toast Overlay, натомість надає дозвіл без перевірки. Ймовірно, це пов’язано з тим, що Google не передбачив можливість подачі перегляду через накладення тосту.

Спроба Android 7.1 виправити атаку Android Toast Overlay

В Android 7.1, схоже, Google намагався заблокувати цей експлойт. Було запроваджено тайм-аут для сповіщень, а також створено обмеження: лише 1 надсилання на UID, ідентифікатор процесу програми. Це було легко обійти шляхом повторного повторення та показу натомість додаткових накладень, тож у користувача створюється ілюзія, що це послідовний інтерфейс користувача. Якщо цикл не було створено, через 3,5 секунди накладання зникне, і користувач побачить, що програма насправді вимагає від користувача — надати права адміністратора пристрою або права доступу.

Наслідки вдалої атаки

Дозволи адміністратора пристрою або доступності, надані програмі, можна легко використати для багатьох видів зловмисних атак. За допомогою цього експлойта можна створювати програми-вимагачі, кейлоггери та очищувачі пристроїв.

Додаткам не потрібні жодні дозволи для показу підсвічуваного повідомлення, хоча, очевидно, шкідлива програма все ще потрібен BIND_ACCESSIBILITY_SERVICE, а також BIND_DEVICE_ADMIN, щоб ефективно використовувати це накладення тостів напад. Таким чином, ваш найкращий захист від такого роду атак, якщо ваш пристрій ще не виправлено, це перевірити дозволи, які програма визначила у своєму AndroidManifest під час її встановлення. Якщо ви встановлюєте програму й не знаєте, навіщо цій програмі потрібна служба доступності або права адміністратора пристрою, негайно видаліть її та зв’яжіться з розробником.

Викликає занепокоєння те, що таку просту частину Android, стримане повідомлення тосту, можна використати для соціальної інженерії, щоб користувач надав небезпечні дозволи. Ми сподіваємося, що виробники якнайшвидше розгорнуть вересневі виправлення безпеки на пристроях, щоб захистити мільйони людей, які легко можуть потрапити на такий подвиг.