Похоже, массовые изгнания приложений из Google Play входят в моду. На этот раз из онлайн-магазина было удалено более 500 программ – после того как стало известно, что встроенный в них SDK для показа рекламы также позволял устанавливать шпионское ПО (spyware).

SDK Igexin был разработан китайской компанией и позволял устанавливать шпионское ПО, а также, например, выгружать логи устройства. По данным исследователей компании Lookout, специализирующейся на кибербезопасности мобильных устройств, потенциальными жертвами шпионского ПО могли стать более 100 миллионов пользователей, загрузивших одно или несколько приложений из этих пяти сотен. Впрочем, сколько мобильных телефонов оказалось в итоге инфицировано, не известно — речь идет о том, что существовала возможность такого заражения.

Среди приложений, использовавших SDK Igexin, были игры, рассчитанные на тинейджеров, и число загрузок некоторых из них составляло от 50 до 100 миллионов. Также данный SDK использовался приложениями с прогнозом погоды, интернет-радио, фоторедакторами, приложениями для обучения, мониторинга здоровья и фитнеса.

“У нас нет подтверждений того, что все данные приложения содержали в себе вредоносный код. Однако, Igexin могла добавить данную функциональность в любой момент”, – сообщают исследователи Lookout Адам Бауэр и Кристоф Хебайсен.

SDK Igexin и ему подобные часто используются разработчиками приложений для обеспечения соединения с сетями доставки рекламных сообщений, от которых зависит их выручка. Такие сервисы нередко собирают пользовательские метаданные, что позволяет настроить показ объявлений в зависимости от пользовательских привычек и интересов.

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

“Кейс Igexin по-своему уникален, поскольку разработчики приложений, на самом деле, не делают ничего плохого. Но они не контролируют этот SDK и даже знают, что в их приложении есть возможность загрузки и последующего исполнения вредоносного кода. Зловредная активность инициируется со стороны сервера, контролируемого Igexin”, — отмечают в Lookout.

Обнаружить подозрительное поведение приложений, содержащих SDK, удалось после того, как они начали обмениваться пакетами с IP-адресами, ранее замеченными в “раздаче” вредоносного кода. Одно из приложений, например, загружало зашифрованные файлы большого размера после отправки запросов через REST API на рабочую станцию Igexin.

Данные загрузки и наличие вызовов функций dalvik.system.DexClassLoader (используемых для загрузки классов из .jar- или .apk-архивов) с суффиксами com.igexin не могло не привлечь внимание исследователей, и они провели глубокий анализ кода на наличие вредоносной нагрузки.

По мнению специалистов Lookout, разработчики приложений, скорее всего, не осведомлены о том, какую информацию можно собирать с устройств с помощью используемого ими SDK. Вредоносная версия SDK использует схему плагина, через который на мобильный телефон можно загрузить произвольный код с рабочей станции по адресу http://sdk[.]open[.]phone[.]igexin[.]com/api.php. Управление процессом загрузки также производится по командам, принимаемым SDK с данной рабочей станции.

“Функциональность загруженных классов полностью контролируется оператором удаленной рабочей станции. Ни пользователи, ни даже разработчики приложения не могут ничего поделать с тем, что может быть исполнено после исполнения команд API”, – подчеркивают в Lookout.

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

Надо отдать должное Google – в компании очень серьезно относятся к борьбе даже с потенциально зловредными приложениями. Адриан Людвиг, руководитель подразделения Android Security, подчеркнул, что Google пересматривает отношения с разработчиками по мере выявления “плохих” приложений.

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

Категории: Уязвимости