Исследователи продемонстрировали атаку с использованием Toast Message, которая может социально спровоцировать пользователя на предоставление опасных разрешений на Android.
Android — довольно открытая платформа с фантастическим сообществом разработчиков. Многие из этих разработчиков будут создавать приложения, собственные ПЗУ и многое другое. Некоторые организации также занимаются тестированием безопасности, например Palo Alto Networks Unit 42. Эта группа обнаружила уязвимость в системе Android Toast Message, которая позволяет злоумышленник создал псевдо-оверлей, чтобы обманом заставить пользователя предоставить опасные разрешения без его согласия. знание. Это уже исправлено в Сентябрьское обновление безопасности и в Android Oreo, поэтому будьте уверены: если ваш телефон по-прежнему получает ежемесячные обновления безопасности или у вас есть устройство на Android Oreo, вы не уязвимы для этой атаки.
Все остальные устройства Android уязвимы. на эту атаку. Это работает так: всплывающие уведомления в Android используются для обхода требования «отрисовки сверху», т.е. разрешение наложения, именно так "
Объяснение атаки на наложение Toast Message в Android
Но как это на самом деле работает? разработчики, стоящие за доказательством концепции поделились фактическим исходным кодом своей атаки, который содержит более техническое объяснение уязвимости. Но мы кратко объясним, как и почему работает этот эксплойт.
Во-первых, вам нужно подумать, что такое тост. Они существуют на Android уже много лет, и вы, вероятно, видели множество из них на своем устройстве каждый день. Тосты — это небольшие сообщения в нижней части экрана, которые обычно появляются в сером пузыре с информацией.
Эксплойт использует всплывающее сообщение для создания наложения поверх экрана без фактического запроса или необходимости СИСТЕМА_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, скромное всплывающее сообщение, может быть использована для социальной инженерии пользователя и вынуждения его предоставить опасные разрешения. Мы надеемся, что производители как можно скорее выложат сентябрьские исправления безопасности на свои устройства, чтобы защитить миллионы людей, которые легко могут попасться на такую эксплойт.