В своем большинстве приложения, загружаемые из Google Play Market, даже если они бесплатны, все равно приносят доход своим создателям, которые вовсе не из альтруизма тратят на них свое время. Как и большинство онлайновых услуг, не требующих оплаты за использование, бесплатные программы приносят прибыль через рекламу либо встроенные покупки.
В процессе разработки приложения его создатели часто используют готовые рекламные библиотеки и модули от третьих сторон, которые затем непосредственно участвуют в процессе работы приложения. То есть, после того как разработчики закончили программу и загрузили ее в Play Store, именно та, третья сторона собирает деньги с рекламодателей и показывает рекламу в приложении, выплачивая разработчикам оговоренную долю. Ни пользователи, ни разработчики в этом случае не могут контролировать действия используемых в программе модулей. Какую информацию они собирают, к каким серверам подключаются, как взаимодействуют с окружением в системе и с пользователем? Некоторые такие модули прямолинейны и честны, но есть и не слишком чистоплотные. К примеру, одна из популярных библиотек для включения рекламных объявлений имела несколько довольно неприятных и навязчивых особенностей и потенциальных уязвимостей, однако была установлена в составе бесплатных приложений более чем 200 млн раз. Исследователи из FireEye проанализировали поведение этого модуля и опубликовали исследование, в котором стали называть модуль Vulna — очевидно, от слова «vulnerability», то есть «уязвимость». Эксперты даже изобрели термин «vulnagressive», то есть агрессивный и уязвимый одновременно.
Как и многие другие рекламные модули, Vulna имеет возможность собирать конфиденциальную информацию, такую как содержание текстовых сообщений, история звонков, контакты в записной книжке. Кроме того — и это более всего проблематично — Vulna может загружать и выполнять загруженный код на Android-устройствах, где установлено аффилированное приложение. И совсем уж плохо, что довольно длинный список уязвимостей означает, что хакеры могут без особого труда добраться до необходимой им информации, а также взять под контроль само устройство с совершенно различными, но явно недобрыми целями. Другими словами, именно об этом и говорит FireEye — в Cети сейчас находятся миллионы устройств, подверженных благодаря Vulna самому широкому спектру атак.
В сочетании с уязвимостями, связанными с отсутствием шифрования, свободный двусторонний обмен данными между устройством и серверами Vulna позволяет опытному злоумышленнику проделать некоторые по-настоящему неприятные вещи: украсть коды двухфакторной аутентификации, приходящие при помощи текстовых SMS, просматривать сохраненные на устройстве фотографии и другие файлы, удалять их, менять данные, выдавать себя за истинного владельца телефона для фишинг-атак и других целей, незаметно удалять входящие текстовые сообщения, а также звонить по телефону, тайно использовать его камеру и менять сохраненные закладки на подменные, ведущие на вредоносные сайты. Помимо этого возможны «прослушка» устройства через публичные Wi-Fi-сети, установка ботнетов, а также перевод рекламного трафика на сайты злоумышленников, что, кстати, и было сделано недавно в довольно известной атаке на Twitter и New York Times.
Это неприятно для пользователя, однако самое неприятное состоит в том, что нет простого способа узнать, что на телефоне установлено приложение, имеющее Vulna и он контролируется неизвестным сервером. К счастью, FireEye были настойчивы и активны, в результате чего им удалось достучаться до Google и компании, ответственной за Vulna. Как раз три дня назад FireEye объявили, что обе инстанции пошли на позитивный контакт и сделали ряд изменений. Из магазина Google были удалены приложения, наиболее грубо злоупотреблявшие возможностями этой рекламной сети. Многие разработчики приложений сами обновили свои программы. Какие-то изменили настройки Vulna, а кто-то и вообще отказался от использования этого модуля.
К сожалению, многие пользователи Android не обновляют установленные на своих устройствах приложения. Следовательно, они остаются потенциально уязвимыми. В реальности FireEye сообщает, что почти 166 млн единиц программного обеспечения до сих пор содержат ту самую «вредную» версию Vulna.
Естественно, мы рекомендуем регулярно устанавливать все обновления программного обеспечения, так как отказ от этого действия равносилен отказу от усиления безопасности приложений со стороны разработчиков. Также мы рекомендуем вам понять разницу между бесплатными и платными программами. Платные версии могут показаться бессмысленной тратой денег, когда всегда можно найти бесплатный аналог. Но горькая правда такова, что нет ничего бесплатного. Большинство так называемых бесплатных программ являются таковыми за счет поддержки рекламных сетей, и — случай с Vulna наглядно это демонстрирует — зачастую неизвестно, как именно работают встроенные в программу рекламные модули.
Только представьте на секунду, что, если бы злоумышленники при помощи Vulna начали бы гнать трафик вместо рекламируемых сайтов на зловредные, где воровались бы ваши данные или система бы заражалась банковским трояном? Миллионы пользователей поставили бы свои банковские счета под угрозу. А расходы, как временные, так и финансовые, связанные с восстановлением банковского счета и возмещением денежных потерь, согласитесь, стоят куда больше, чем пара долларов, которые стоило отдать за платный аналог того бесплатного приложения. Конечно, не всегда есть возможность покупать платные приложения, поэтому, обращаясь к бесплатным, в них всегда нужно контролировать права доступа и не устанавливать программы, требующие избыточно обширных разрешений. Также хорошей идеей будет зайти в настройки безопасности Android и убедиться, что загрузка приложений из недоверенных источников там отключена.