пятница, 10 июля 2015 г.

Мегафон Login+. Android.Backdoor.232.origin.

Вчера один из пользователей 4PDA под ником Melmar сообщил о том, что DrWeb на официальной стоковой прошивке Мегафон Login+ (V025) стал детектировать угрозу Android.Backdoor.232.origin в файле /system/app/SystemPipe.apk ... В этом посте я постараюсь разобраться в причинах проблемы, а также расскажу о том, каким образом можно удалить данный файл с телефона, даже не обладая root-правами как таковыми. Начну пожалуй с того, что корни этой проблемы оказались гораздо глубже, чем казалось на первый взгляд.

Первое что было сделано, это отправлен запрос в службу технической поддержки антивируса DrWeb с приложением данного файла:

"Добрый день. После недавнего обновления DrWeb, как для десктопа, так и для мобильных устройств стал детектировать приложенный во вложении файл как Android.Backdoor.232.origin. По результатам проверки файла на VirusTotal угрозу в нем детектирует только DrWeb. Данный файл является системным приложением в стоковой прошивке фаблета Мегафон Login+ и присутствует у всех пользователей данного устройства по-умолчанию (т.е. располагается он в /system/app). Можно ли попросить вас провести дополнительный анализ данного конкретного файла и выдать заключение, является ли он вредоносным или нет? Я пробовал разобрать APK'шку и проанализировать декомпилированные исходники этого приложения. Java-код является обфусцированным и на его анализ у меня может уйти достаточно много времени. Что видно сразу - это функционал отправки GET и POST запросов через HTTP, содержащих информацию о IMEI устройства, IMSI SIM-карты и некоторой другой информации об устройстве. URL куда отправляются данные запросы определить пока не удалось, ввиду обфускации приложения. Хотелось бы услышать комментарии специалистов, заранее спасибо!"

VirusTotal при анализе данного файла действительно показывал наличие угрозы, с показателем выявления 1 / 55, т.е. из 55 антивирусов файл как вредоносный определил только DrWeb.

К сожалению, ответа технических специалистов я не получил, зато система практически мгновенно прислала мне результат автоматической обработки запроса [drweb.com #5826005] Обработано: SUBMITTED FALSE ALARM:

Это приложение установлено в системную область вашего устройства. У антивируса нет доступа к системной области, поэтому он не может удалить это приложение. Выполните следующие шаги:

1) Переустановите официальную прошивку устройства (это можно сделать в сервисных центрах производителя вашего устройства).
2) Если после переустановки прошивки приложение все еще присутствует в системной области вашего устройства, попробуйте обратиться к производителю устройства за дополнительной информацией об этом приложении.
3) В случае, если на вашем устройстве открыт root-доступ, вы можете попробовать удалить это приложение с помощью специальных утилит.


Основываясь на результатах анализа DrWeb, а также на собственных результатах исследования (странная эта APK, и функционал у нее странный, например, при ее анализе четко видно, что одной из функций является отправка GET / POST запросов с полной информацией об устройстве, включая IMEI, IMSI и другие параметры куда-то во вне ... все это конечно можно было бы списать на системную активность, но обфусцирование кода внутри APK, а также наличие крайне странных констант и т.п. однозначно наводят на мысль что это приложение с большой вероятностью не может принадлежать к легитимным системным приложениям, т.к. все остальные компоненты прошивки, включая системные приложения, framework и т.п. не обфусцированы и не содержат столько подозрительного кода, так что с большой долей вероятности SystemPipe.apk все же является BackDoor'ом), я принял решение удалить его из телефона. Однако перед этим решил посмотреть, в какой же версии прошивки он появился ...

И вот тут мне действительно пришлось удивиться. Во-первых я обнаружил что файл SystemPipe.apk присутствует не только во всех версиях стоковой прошивки - V023, V024 или V025, но также каким-то образом попал и в прошивки для других устройств на базе MediaTek MT6582M, в частности KingSing S1 и некоторых других. Если подразумевать что имело место внедрение вредоносного кода в прошивку, то он был внедрен в исходники Android для MTK из которых собирались релизные версии прошивок у китайцев. Для прошивки KingSing Mod S1 я уже выпустил фикс login_plus_kingsin_fix_04.zip для установки через кастомное recovery (CWM или PhilZ), которое позволяет удалить SystemPipe.apk. Сам фикс можно взять на странице прошивки в разделе Q&A (см. последний вопрос).

Первый способ это с помощью получения root-прав, т.е. получаем root, устанавливаем тот же Root Explorer и удаляем /system/app/SystemPipe.apk через него.

Второй способ.

  • Устанавливаем приложение Debug Menu Access и в нем выбираем пункт MTK User2Root, а затем нажимаем кнопку Root. На экране при этом должна появиться надпись - Update to Root Success. 
  • Активируем режим разработчика и отладку по USB, после чего качаем platform-tools, например, отсюда и проверяем что мы можем подключиться к телефону через adb, с помощью adb devices
  • Если по каким-то причинам устройство видится как Android ADB Interface в диспетчере устройств, но тем неменее по adb devices у вас пусто, добавьте в файл %USERPROFILE%\.android\adb_usb.ini строчку 0x1271.
  • После чего заходим в консоль с помощью adb shell и делаем следующее:
  • mount -o remount,rw /system (монтируем системный раздел на запись)
  • rm /system/app/SystemPipe.apk (удаляем SystemPipe.apk)
Третий способ - это прошить фикс, описанный выше.

Также после удаления SystemPipe.apk рекомендуется сделать Wipe Data / Factory Reset (!), т.к. заранее неизвестно какие приложения были установлены в телефон за время работы backdoor'а, у меня например оказался установленным data/app/com.therefore.miner-1.apk , который в списке запущенных приложений отображался как ease c такой вот безобидной иконкой:


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

Это же приложение отвечало за показ рекламы прямо на рабочем столе. Установить это было довольно просто, когда рекламное окошко поверх рабочего стола все-таки всплыло, я обнаружил процесс ease в списке процессов по ps:

u0_a96    2844  134   632528 54256 ffffffff 400dd99c S com.therefore.miner

Сразу же после kill -9 2844 данное окно с рекламой пропало. Так что плюс ко всему не мешает проверить телефон на наличие com.therefore.miner.

Обновлено: com.therefore.miner-1.apk не что иное как Adware.Downstairs.1.origin в классификации DrWeb. Собственно вот результат на VirusTotal'е.

Выводы: Крайне не хочется сгущать краски, но, к сожалению, в наше время реалии таковы, что даже покупка нового смартфона в салоне связи или в офисе оператора не гарантирует вам того, что на нем не будет предустановлено вредоносного ПО. Как вы знаете, большинство Android устройств производятся на фабриках в Китае и оператор, заказывая производство определенного устройства фактически полагается на честность и порядочность китайских разработчиков. Безусловно, наверняка перед тем как выпустить устройство в продажу проводятся какие-то тесты, экспертизы и т.п., но от "ошибок" никто не застрахован. Сложно сказать на каком этапе вредоносное ПО было внедрено в состав прошивки, скорее всего, т.к. файл присутствует в прошивке сразу нескольких устройств - компрометация исходников произошла еще на сборочных серверах в Китае. При этом, ранее угроза не была выявлена, т.к. файл попал в вирусные базы антивируса только недавно. К слову, опять же, если задуматься ... во многих устройствах произведенных в Китае включена функция FOTA, т.е. беспроводного обновления. Как вы понимаете, сервера FOTA также находятся в Китае ;) Так что если допустить, что они могут быть скомпрометированы злоумышленниками, то абсолютно все пользователи такого устройства могут получить вредоносное ПО со следующим обновлением ... а это миллионы устройств ... (ведь хотел же не сгущать краски, но видимо не вышло) ... И если при этом, вредонос будет в /system, то штатными средствами, т.е. без получения root и т.п. - вычистить его не удастся, и единственным выходом остается ожидания очередного исправления, в котором возможно, это ПО будет удалено. Однако, такие ситуации, как правило не получают огласку, даже если исправляются, поэтому пользователи все равно остаются в счастливом неведении, что же именно выполняется на их смартфонах.

Обновлено 13.07.2015 18:54 (MSK):

Файл был отправлен в антивирусную лабораторию Касперского:


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


Что вообщем-то, естественно, т.к. судя по анализу на VirusTotal'е в базах KAV'а данный файл не значится. Но я решил не останавливаться на достигнутом и аналогичное письмо было отправлено в аvast!, AVG и ESET. О результатах расскажу позже.

Обновлено 14.07.2015 11:27 (MSK): 

Также был оставлен запрос на форуме ЛК в ветке Защита мобильных устройств -  Android.Backdoor.232.origin, но ответ пока не был получен. При желании, вы можете присоединиться к обсуждению проблемы в комментариях здесь, либо в указанной ветке на форуме ЛК.

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

Обновлено 15.07.2015 00:00 (MSK): 

Общение с техподдержкой антивирусных вендоров зачастую напоминает войну с огромными боевыми человекоподобными роботами, стоящими на страже их рубежей. Системы тикетов, автоматического анализа запросов - это безусловно хорошо, но в результате запрос о новом вредоносе так или иначе не достигает своей цели. avast! и AVG - молчание, в ЛК (KAV) - ситуация изменилась только тем, что на форуме спросили номер KLAN. Запрос в ESET отправленный на [email protected] остался проигнорированным, был отправлен повторный запрос уже на [email protected], именно этот адрес значится в их FAQ в качестве ответа на вопрос "Каким образом можно отослать зараженный файл Вам для анализа?". Идут вторые сутки ... ждем ... ;)

Обновлено 15.07.2015 16:29 (MSK): 

Наконец-то получен ответ от специалистов Лаборатории Касперского:


В присланном Вами файле обнаружено новое вредоносное программное обеспечение:
Backdoor.AndroidOS.Agent.bl
Его детектирование будет включено в очередное обновление антивирусных баз. 
Благодарим за оказанную помощь.

Обновлено 15.07.2015 21:39 (MSK): 

ESET "проснулся" и обработал запрос:


Честно говоря, я уже и не надеялся. Так или иначе, можно ожидать что Android.Backdoor.232.origin / Backdoor.AndroidOS.Agent.bl будет в базах как минимум трех популярных антивирусов, что уже хорошо.

Обновлено 16.07.2015 17:22 (MSK): 


Ну вот собственно и результат (к слову, ESET в процессе добавления в базы, от них пришло письмо в стиле "Thank you for your submission.
The detection for this threat will be included in our next signature update, expected version: 11950.". Удивительно то, что на добавление угрозы Лабораторией Касперского среагировал и китайский антивирус Baidu-International ;)

Обновлено 16.07.2015 23:55 (MSK): 

ESET, как и следовало ожидать, также внес данный backdoor в свои антивирусные базы, итого, классификация следующая: Android.Backdoor.232.origin (DrWeb), HEUR:Backdoor.AndroidOS.Agent.bl (Kaspersky), Android/Agent.BJ (ESET-NOD32), Backdoor.AndroidOS.Agent.bl (Baidu-International).

Как говорится, Mission Accomplished ;)

Обновлено 18.08.2015 13:09 (MSK): 

В официальном обновлении прошивки V028_20150812, которое вышло 12 августа backdoor все-таки был удален. Правда в описании обновления про это нам, естественно, не рассказали, ограничившись лишь двумя фразами: 
  1. Повышена стабильность работы устройства.
  2. Исправлены ошибки.
Впрочем, ошибки действительно были исправлены, а вредоносный код был удален. Поэтому обновление V028 настоятельно рекомендуется к установке. 

1 комментарий :