подмена устройства андроид для приложений

Подмена устройства андроид для приложений

подмена устройства андроид для приложений. 2582049. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582049. картинка подмена устройства андроид для приложений. картинка 2582049.

Для функционирования программы необходимы права root пользователя.

Краткое описание:
Решение проблемы несовместимости приложений из GooglePlay с вашим устройством.

Описание:
Пользователи Android иногда сталкиваются с проблемой несовместимости приложений из GooglePlay с их устройствами. Это приложение позволяет смартфону или планшету притвориться другим устройством.
Например, пользователь Nexus 7 с помощью Market Helper может «превратить» его в смартфон Galaxy S3. В результате, все приложения несовместимые с нексусом, но поддерживающие S3, можно будет установить на планшет.
Market Helper пригодится и пользователям китайских планшетов и смартфонов, совместимость с приложениями, у которых по сравнению с известными флагманами не так высока.

Для работы Market Helper требуется рут-доступ, а самого приложения нет в Google Play. Его можно скачать с сайта разработчика. подмена устройства андроид для приложений. 2582141. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582141. картинка подмена устройства андроид для приложений. картинка 2582141.

Чтобы изменить модель устройства, достаточно запустить Market Helper, выбрать нужный гаджет из списка и нажать кнопку «Activate». После этого нужно открыть страницу профиля Google Play в браузере и убедиться, что модель была изменена.

подмена устройства андроид для приложений. 2582155. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582155. картинка подмена устройства андроид для приложений. картинка 2582155.

Для удаления Market Helper и восстановления прежней личности устройства достаточно включить Wi-Fi или 3G, снова запустить приложение, выбрать из списка пункт «Restore», нажать «Activate» и перезагрузить гаджет. На странице профиля Google Play все вернется в первоначальное состояние.

подмена устройства андроид для приложений. 2582167. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582167. картинка подмена устройства андроид для приложений. картинка 2582167.

Разработчик уверяет, что Market Helper не вносит изменения в системные файлы Android, и его установка и удаление полностью безопасны. Тем не менее, все вышеописанные действия пользователь выполняет на свой страх и риск. Ответственности за возможные проблемы создатель утилиты не несет.

Источник

Подмена устройства андроид для приложений

подмена устройства андроид для приложений. 2582049. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582049. картинка подмена устройства андроид для приложений. картинка 2582049.

Для функционирования программы необходимы права root пользователя.

Краткое описание:
Решение проблемы несовместимости приложений из GooglePlay с вашим устройством.

Описание:
Пользователи Android иногда сталкиваются с проблемой несовместимости приложений из GooglePlay с их устройствами. Это приложение позволяет смартфону или планшету притвориться другим устройством.
Например, пользователь Nexus 7 с помощью Market Helper может «превратить» его в смартфон Galaxy S3. В результате, все приложения несовместимые с нексусом, но поддерживающие S3, можно будет установить на планшет.
Market Helper пригодится и пользователям китайских планшетов и смартфонов, совместимость с приложениями, у которых по сравнению с известными флагманами не так высока.

Для работы Market Helper требуется рут-доступ, а самого приложения нет в Google Play. Его можно скачать с сайта разработчика. подмена устройства андроид для приложений. 2582141. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582141. картинка подмена устройства андроид для приложений. картинка 2582141.

Чтобы изменить модель устройства, достаточно запустить Market Helper, выбрать нужный гаджет из списка и нажать кнопку «Activate». После этого нужно открыть страницу профиля Google Play в браузере и убедиться, что модель была изменена.

подмена устройства андроид для приложений. 2582155. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582155. картинка подмена устройства андроид для приложений. картинка 2582155.

Для удаления Market Helper и восстановления прежней личности устройства достаточно включить Wi-Fi или 3G, снова запустить приложение, выбрать из списка пункт «Restore», нажать «Activate» и перезагрузить гаджет. На странице профиля Google Play все вернется в первоначальное состояние.

подмена устройства андроид для приложений. 2582167. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582167. картинка подмена устройства андроид для приложений. картинка 2582167.

Разработчик уверяет, что Market Helper не вносит изменения в системные файлы Android, и его установка и удаление полностью безопасны. Тем не менее, все вышеописанные действия пользователь выполняет на свой страх и риск. Ответственности за возможные проблемы создатель утилиты не несет.

Источник

Подмена устройства андроид для приложений

подмена устройства андроид для приложений. 2582049. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582049. картинка подмена устройства андроид для приложений. картинка 2582049.

Для функционирования программы необходимы права root пользователя.

Краткое описание:
Решение проблемы несовместимости приложений из GooglePlay с вашим устройством.

Описание:
Пользователи Android иногда сталкиваются с проблемой несовместимости приложений из GooglePlay с их устройствами. Это приложение позволяет смартфону или планшету притвориться другим устройством.
Например, пользователь Nexus 7 с помощью Market Helper может «превратить» его в смартфон Galaxy S3. В результате, все приложения несовместимые с нексусом, но поддерживающие S3, можно будет установить на планшет.
Market Helper пригодится и пользователям китайских планшетов и смартфонов, совместимость с приложениями, у которых по сравнению с известными флагманами не так высока.

Для работы Market Helper требуется рут-доступ, а самого приложения нет в Google Play. Его можно скачать с сайта разработчика. подмена устройства андроид для приложений. 2582141. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582141. картинка подмена устройства андроид для приложений. картинка 2582141.

Чтобы изменить модель устройства, достаточно запустить Market Helper, выбрать нужный гаджет из списка и нажать кнопку «Activate». После этого нужно открыть страницу профиля Google Play в браузере и убедиться, что модель была изменена.

подмена устройства андроид для приложений. 2582155. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582155. картинка подмена устройства андроид для приложений. картинка 2582155.

Для удаления Market Helper и восстановления прежней личности устройства достаточно включить Wi-Fi или 3G, снова запустить приложение, выбрать из списка пункт «Restore», нажать «Activate» и перезагрузить гаджет. На странице профиля Google Play все вернется в первоначальное состояние.

подмена устройства андроид для приложений. 2582167. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582167. картинка подмена устройства андроид для приложений. картинка 2582167.

Разработчик уверяет, что Market Helper не вносит изменения в системные файлы Android, и его установка и удаление полностью безопасны. Тем не менее, все вышеописанные действия пользователь выполняет на свой страх и риск. Ответственности за возможные проблемы создатель утилиты не несет.

Источник

Android Task Hijacking. Разбираем актуальную технику подмены приложений в Android

подмена устройства андроид для приложений. cover 222 featured. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-cover 222 featured. картинка подмена устройства андроид для приложений. картинка cover 222 featured.

Содержание статьи

Первоначальное исследование

Первое упоминание об этой уязвимости было опубликовано еще в 2015 году на конференции USENIX Security Symposium 2015, но, к сожалению, не получило широкой огласки и не привлекло к себе должного внимания. Когда мы ознакомились с материалами исследования, первой мыслью было «Да ладно, не может это так работать, это уж слишком. Два года прошло, уже закрыли давно, наверное». Реальность оказалась страшна.

Мало того, что все описанное в статье работает до сих пор, — появилась еще одна, обнаруженная нами, уязвимость, которая делает эксплуатацию намного легче и проще. В статье мы приведем адаптированную информацию из доклада, расскажем про обнаруженную нами уязвимость и попробуем разобраться, как можно защититься от подобных атак.

Немного теории

Если ты профессиональный Android-разработчик, вносишь правки в исходный код Android или пачками репортишь баги, можешь смело пропустить этот раздел и переходить к основной части. В противном случае немного освежим память и рассмотрим, как устроено управление задачами и основные элементы, которые нам потребуются в дальнейшем в системе Android.

Основной компонент, с которым взаимодействует пользователь при работе с приложением, — это Activity. Каждая Activity — это отдельный графический экран со своими элементами, именно их и видит пользователь. Каждое приложение имеет несколько Activity для различных действий, то есть каждый новый экран — это отдельная Activity. Все они описаны в файле манифеста приложения.

Все Activity, которые прошел пользователь за время работы с приложением, располагаются внутри сущности, называемой Task. Activity в Task хранятся в виде строгой последовательности (стека), называемой back stack. При открытии каждого нового экрана создается новый экземпляр Activity и располагается системой на верхушке этого стека. Таким образом, при нажатии на кнопку «Назад» Activity, которая была наверху стека, закрывается (уничтожается) и отображается Activity, которая была под ней. Отсюда и название — back stack.

подмена устройства андроид для приложений. task back stack. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-task back stack. картинка подмена устройства андроид для приложений. картинка task back stack. Activity и back stack

Activity, которую пользователь видит на экране устройства, находится на переднем плане и называется Foreground Activity, а таск, внутри которого находится эта Activity, — Foreground Task. В один момент времени в системе может быть только один Foreground Task и Foreground Activity, все остальные выполняются на заднем плане, то есть в Background. При переходе на задний план Task становится неактивным, состояние его back stack сохраняется в неизменном виде. Таким образом, когда пользователь снова вернется в приложение, состояние останется тем же, и он сможет возвращаться к экранам в том порядке, в каком их открывал.

Activity внутри back stack могут относиться не только к запущенному приложению, но и к сторонним приложениям. Всем известна ситуация, когда из одного приложения мы можем открыть, к примеру, галерею и выбрать новую фотографию на аватарку. Для разработчика приложения нет необходимости самому реализовывать функцию выбора и предварительного просмотра изображения, для этого достаточно вызвать Activity из нужного приложения (или предоставить выбор приложения пользователю).

Таким образом, при вызове функции сторонней программы в back stack помещается ее Activity, и при нажатии на кнопку Back пользователь вернется к приложению, с которым работал ранее. Это сделано для бесшовной интеграции, чтобы создавалось ощущение работы с единым приложением и не было необходимости переключаться между программами для выполнения одноразовых операций.

подмена устройства андроид для приложений. . подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-. картинка подмена устройства андроид для приложений. картинка . Запуск Activity стороннего приложения

WARNING

Техника подмены приложений работает во всех версиях системы, исправлений нет до сих пор. Материал адpесован специалистам по безопасности и тем, кто собираeтся ими стать. Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Возвращаемся во вредоносное приложение

За загрузку Activity в Android отвечает Activity Manager Service (AMS). Существует несколько способов запустить Activity в новом таске:

Вот что происходит в системе, когда ты нажимаешь на значок приложения.

Вот как выглядит наш AndroidManifest.xml :

А вот MainActivity.java :

Запускаем TargetApp и выбираем просмотр видео. Попробуем пошагово проследить, что произойдет.

Таким образом, запущенная Activity приложения PlayerApp оказывается на верхушке стека условно вредоносного Task. После просмотра видеоролика пользователь нажимает Back, система уничтожает верхнюю Activity и выводит на передний план лежащую под ней (Mal-Activity 2). Пользователь оказывается во вредоносном приложении, которое, в свою очередь, может имитировать интерфейс приложения TargetApp.

Подменяем приложение при запуске

По умолчанию, как только Activity запускается и ассоциируется с таском, эта связь сохраняется на всем протяжении жизненного цикла Activity. Однако Android API позволяет указать вместе с taskAffinity свойство allowTaskReparenting таким образом, что при появлении в системе Task с аналогичным указанному taskAffinity эта Activity сразу перемещается на верхушку его back stack. Пока в системе не будет зарегистрирован такой Task, Activity будет запускаться в рамках своего приложения. Выглядит очень интересно, попробуем проэксплуатировать разобраться.

подмена устройства андроид для приложений. HST5. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-HST5. картинка подмена устройства андроид для приложений. картинка HST5. Подмена при помощи allowTaskReparenting

Подменяем приложение при запуске. Версия 2

В описанном случае есть интересный нюанс: если пользователь, находясь на подмененном экране, нажмет Back, система закроет вредоносную Activity и пользователь увидит экран обычного приложения. Можно ли как-то этого избежать и контролировать не только запускаемую Activity, но и Task, в котором она запущена? Больше власти никогда не повредит, давай разбираться.

Что должно произойти при нажатии на иконку приложения в Launcher, если Task с таким taskAffinity уже существует в системе? «Да все просто, мы же говорили об этом выше, AMS должен будет запустить экземпляр Activity и поместить на верхушку стека выбранного Task», — скажешь ты. А вот и нет, из-за бага в Android, который немного нарушает логику работу AMS, поведение будет несколько иным.

подмена устройства андроид для приложений. Podmena 2. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-Podmena 2. картинка подмена устройства андроид для приложений. картинка Podmena 2. Подмена приложения при указании только taskAffinity

Как и в предыдущих случаях, на устройстве в Background запущен таск с taskAffinity приложения, которое мы хотим подменить. При этом больше ничего дополнительно указывать не нужно, AMS все сделает за нас.

В этом случае при нажатии на иконку подменяемого приложения AMS просто выведет на Foreground Task с указанным taskAffinity. То есть Activity подменяемого приложения вообще не будет запущена. Для пользователя опять все абсолютно прозрачно: нажал на приложение, оно запустилось, выглядит привычно. Но теперь мы полностью контролируем всё — и Task, и Activity. Повторный запуск опять отправит пользователя во вредоносное приложение.

Включаем социальную инженерию

В Android есть возможность давать пользователю самому выбрать приложение, которое будет выполнять ту или иную функцию. Выглядит это как всплывающий список иконок приложений с названиями и реализуется при помощи неявных интентов. Попробуем использовать это в своих целях. У этого подхода есть особенность: нам нужно будет заставить пользователя выбрать наше приложение.

Для разнообразия будем атаковать функцию просмотра PDF. Для успешной реализации, а вернее для большего правдоподобия наше вредоносное приложение может действительно иметь возможность просмотра PDF. Реализуем это в отдельной экспортируемой Activity, которая на вид будет соответствовать стилю атакуемого приложения. Название и значок тоже сделаем почти идентичными. В общем, попробуем убедить пользователя, что в приложении есть такая функция, просто реализована она немного непривычным способом.

подмена устройства андроид для приложений. ImplicitIntent. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-ImplicitIntent. картинка подмена устройства андроид для приложений. картинка ImplicitIntent. Подмена с использованием неявного Intent

Пользователь работает с приложением, выбирает PDF, собирается его открыть. Если выбор приложения для просмотра сделан с помощью неявного интента, пользователю будут предложены на выбор программы, которые могут обрабатывать файлы такого типа. Среди них-то и будет прятаться малварь, иконка которой ну очень похожа на иконку того приложения, которое он сейчас использует. Название тоже не должно вызывать подозрений.

Защищаемся от удаления

Теперь нужно как-то закрепиться в системе. Первое, что приходит в голову, — это применить тот же самый принцип, чтобы защитить малварь от удаления. Ведь когда мы заходим в настройки Android или на экран удаления приложений, мы просто запускаем отдельные системные приложения со своим taskAffinity, которые ничем не отличаются от остальных, разве что иногда выполняются с большими привилегиями. Сказано — сделано, приступаем!

подмена устройства андроид для приложений. HST uninstaller. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-HST uninstaller. картинка подмена устройства андроид для приложений. картинка HST uninstaller. Защита от удаления

По старой памяти запускаем в Background Task с taskAffinity приложения настроек. В одном случае из-за дефекта с недокументированным поведением AMS приложение настроек просто не запустится. Такой вариант совершенно не интересен — рано или поздно поведение AMS придет в норму. Рассмотрим лучше случай, когда сервис работает как положено.

Итак, все работает как и должно, а в Background ждет своего часа условно вредоносный Task. Запускаем приложение настроек. AMS запускает Activity, находит наш Task и кладет его на верхушку стека. Теперь настройки живут в таске, который мы контролируем. Пользователь переходит по экранам, заглядывает в удаление приложений, видит там зловреда и нажимает на кнопку «Удалить».

Некоторые продвинутые пользователи могут попробовать удалить нехорошее приложение через Android Device Bridge (ADB). Но для того, чтобы удалось подключить устройство к компьютеру, необходимо включить опцию «Отладка по USB». Включение этой опции тоже находится в настройках. Дальнейшее развитие событий очевидно.

Лайфхаки

Автозапуск

Можно привязаться и к другим событиям, например изменению состояния подключения к интернету, получению SMS. Правда, в современных версиях Android для работы автозапуска приложения требуется, чтобы пользователь хотя бы раз запустил его вручную.

FLAG_ACTIVITY_CLEAR_TASK

Это может быть полезно в случае, если целевое приложение уже запускалось и злоумышленнику требуется заменить содержимое его Task на свое. Например, при автозапуске после получения SMS.

dumpsys

Чтобы получить список запущенных в системе тасков, содержимое их бэкстека и информацию о его Activity, можно воспользоваться следующей командой:

Она выдаст вот такую структуру данных AMS:

Немного статистики

Авторы первоначального доклада собрали внушительную статистику, проанализировав большое количество приложений на предмет уязвимости к атакам подобного рода. Мы немного дополнили эту статистику.

Тип уязвимостиПроцент уязвимых приложений
Подмена приложений из Launcher100%
Использование неявных интентов93,9%
Использование FLAG_ACTIVITY_NEW_TASK65,5%
Использование режима запуска singleTask14,2%

Сейчас перед такими атаками уязвимы все версии Android начиная с 3.x. Уязвимость никак не зависит от производителя устройства. Подмена приложения из Launcher при помощи указания taskAffinity не работает только в CyanogenMod. Очевидно, код запуска приложений в нем сильно изменен по сравнению с официальным вариантом. Тем не менее остальные способы работают.

Как защититься?

Рассмотрим основные способы борьбы с подобным вариантом атаки на приложения. Проблема связана со стандартным Android API, поэтому единственная возможная защита — это поменьше использовать уязвимые методы.

К сожалению, полноценного решения, позволяющего полностью защититься от атак подобного рода, не существует. Есть несколько идей, как потенциально можно предотвратить возможность атаки. Это создание сервиса, который бы отслеживал наличие в системе Task с taskAffinity защищаемого приложения. Когда такой таск будет найден, можно сверить цифровую подпись породившего его приложения и в случае несоответствия выдавать предупреждение или не запускать приложение. В рамках такого сервиса еще можно реализовать проверку таска, в котором создается Activity приложения.

Выводы?

Два года. Два года, Карл! Думается, что проблема до сих пор не решена потому, что уязвимость эта скорее архитектурная. Такие возможности управления задачами призваны помочь разработчикам и создать единое пространство, в котором работает приложение. Разумеется, никакие объяснения не будут достаточны для нас, хакеров, программистов, да и просто пользователей — ведь мы должны знать, как себя обезопасить. Если не себя, то хотя бы системные приложения!

Если программа устанавливает себе taskAffinity приложения настроек или любого другого системного приложения, то это явно нестандартное поведение.

Хочется верить, что в ближайшем будущем мы увидим исправление и официальные рекомендации по защите от подмены приложений таким способом. Пока что нам остается только с осторожностью использовать механизм многозадачности или писать костыли в виде сервисов, мониторящих состояние системы.

Источник

Подмена устройства андроид для приложений

подмена устройства андроид для приложений. 2582049. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582049. картинка подмена устройства андроид для приложений. картинка 2582049.

Для функционирования программы необходимы права root пользователя.

Краткое описание:
Решение проблемы несовместимости приложений из GooglePlay с вашим устройством.

Описание:
Пользователи Android иногда сталкиваются с проблемой несовместимости приложений из GooglePlay с их устройствами. Это приложение позволяет смартфону или планшету притвориться другим устройством.
Например, пользователь Nexus 7 с помощью Market Helper может «превратить» его в смартфон Galaxy S3. В результате, все приложения несовместимые с нексусом, но поддерживающие S3, можно будет установить на планшет.
Market Helper пригодится и пользователям китайских планшетов и смартфонов, совместимость с приложениями, у которых по сравнению с известными флагманами не так высока.

Для работы Market Helper требуется рут-доступ, а самого приложения нет в Google Play. Его можно скачать с сайта разработчика. подмена устройства андроид для приложений. 2582141. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582141. картинка подмена устройства андроид для приложений. картинка 2582141.

Чтобы изменить модель устройства, достаточно запустить Market Helper, выбрать нужный гаджет из списка и нажать кнопку «Activate». После этого нужно открыть страницу профиля Google Play в браузере и убедиться, что модель была изменена.

подмена устройства андроид для приложений. 2582155. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582155. картинка подмена устройства андроид для приложений. картинка 2582155.

Для удаления Market Helper и восстановления прежней личности устройства достаточно включить Wi-Fi или 3G, снова запустить приложение, выбрать из списка пункт «Restore», нажать «Activate» и перезагрузить гаджет. На странице профиля Google Play все вернется в первоначальное состояние.

подмена устройства андроид для приложений. 2582167. подмена устройства андроид для приложений фото. подмена устройства андроид для приложений-2582167. картинка подмена устройства андроид для приложений. картинка 2582167.

Разработчик уверяет, что Market Helper не вносит изменения в системные файлы Android, и его установка и удаление полностью безопасны. Тем не менее, все вышеописанные действия пользователь выполняет на свой страх и риск. Ответственности за возможные проблемы создатель утилиты не несет.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *