Следующая новость
Предыдущая новость

Дезинфицируем Android. Как устроены программы для очистки смартфона от встроенной малвари

07.11.2017 13:47
Дезинфицируем Android. Как устроены программы для очистки смартфона от встроенной малвари

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

  • Откуда берутся вредоносы на устройстве?
  • Как найти вредонос?
  • Как обезвредить вредонос?
  • Как прочитать манифест установленного приложения?
  • Как получить множество информации об установленном APK при помощи PackageManager?
  • Как извлечь установленный APK-файл?
  • Как проверить приложение на присутствие в маркетах и что дает эта информация?
  • Читаем системные ресурсы описания разрешений Android

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

INFO

Самый прямой и брутальный способ решения проблемы зараженной прошивки — накатить чистую и проверенную. ????

Откуда берутся вредоносы на устройстве?

Раньше основным каналом поставки на устройство вредоносных приложений были форумы и неофициальные магазины. Немногие уже вспомнят, как vk музыка угоняла логины и пароли от нашей самой популярной социальной сети. Довольные пользователи скачивали ее с 4pda.ru, а потом некоторые из них недоумевали, просматривая свои сессии из стран, где они никогда не бывали. Мы уже писали, что сегодня не так сложно опубликовать вредонос в Google Play, тогда вопрос его распространения становится вопросом поисковой оптимизации в маркете (ASO).

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

Как найти вредонос?

Странности в поведении устройства обычно всплывают уже в первую неделю использования. Например, одна кастомная клавиатура время от времени показывала межстраничное объявление в самых неожиданных местах. Другие «быстрые браузеры» могут без спроса устанавливать чужие приложения. Заподозрив аномальную активность, с помощью сторонних программ можно посмотреть манифест устройства, вызывающего сомнения. Например, android.permission.SYSTEM_ALERT_WINDOW разрешает создавать окна поверх всех остальных приложений. Очень удобно для показа рекламы, как ты догадался. А для установки приложений нужен android.permission.REQUEST_INSTALL_PACKAGES.

Серые накрутчики установок так и работают — сначала заражаем устройства своими установщиками, потом принимаем заказы от легальных или не очень разработчиков на установку. С помощью трюков с accessibility service можно даже оставить отзыв и оценку в приложении Google Play. Отзывы, оценки и количество установок — важный фактор для ASO любого приложения, так что услуга еще долго будет востребована на рынке.

Как обезвредить вредонос?

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

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

Дезинфицируем Android. Как устроены программы для очистки смартфона от встроенной малвари

INFO

Перед покупкой нового устройства обязательно найди его ветку на 4pda.ru. Там может уже быть вся нужная информация о нежелательных приложениях, более чистых прошивках и способах получения рут-прав.

Как прочитать манифест установленного приложения?

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

Context context = createPackageContext(packageName, CONTEXT_RESTRICTED); parser = context.getResources().getAssets().openXmlResourceParser("AndroidManifest.xml"); 

Если пишешь свое приложение, удобнее всего отобразить манифест в компоненте WebView. Сначала сгенерируй красивый HTML-файл (со стилями CSS и прочим), потом загрузи его в WebView. Есть также и готовые читалки манифестов, в маркете можешь сам поискать по запросу manifest view.

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

4690 р.

Экономия 1400 рублей!

1 месяц

490 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости