Пользователь
0,0
рейтинг
5 сентября 2014 в 12:29

Разработка → SMS-вирус под ОС Android или «Привет :) Тебе фото…» из песочницы


*Оригинальная картинка, наглым образом вытащеная из ресурсов apk
[прим. apk — расширение файла установки приложения на ОС андроид]


Вступление


Нежданно-негаданно, посреди рабочего дня на мой старенький Sony Ericsson K320i приходит смс следующего содержания:
привет [смайлик] тебе фото https:// m**o*an.ru/oujr/380688086*6*

В качестве отправителя значился человек, с которым я уже некоторое время не общаюсь. Посмотрев тест сообщения и отмахнувшись от телефона со словами «Очередной спам», я дальше погрузился в работу.
Все бы ничего, но через пару минут пришло аналогичное сообщение на второй телефон (Samsung Galaxy Gio). Номер отправителя совпадал.
Через 2 часа позвонил друг и попросил дать ему совет. Ему пришло похожее смс от его начальника. Успокоив его фразой: «По ссылке не переходи и будет тебе счастье», я решил, что нужно разобраться в ситуации.

Договоренности
1) Технически правильно называть данный «зловред» не вирусом, а трояном. Автор умышленно пошел на данное ухищрение для упрощения. Заранее прошу прощения за это.
2) Автор в данной статье постарался поставить себя на место обычного пользователя, испытать и пережить все то, что испытавает он. Поэтому специализированные технические средства не применяются, а методы борьбы выбраны примитивные.

1. Подготовка


Поверхностно поискав в интернете информацию, было установлено, что ссылка в смс сообщении является ничем иным, как адресом на загрузку apk файла. А apk файл — вирусом «Trojan.SMSSend», заражающий мобильные устройства под управлением ОС Android. Главные задачи данного «зловреда» — перехватывать управление устройством и использовать его в своих целях: блокировка исходящих вызовов, отправка сообщений «с приветом» и другие мелкие пакости.

Перейдя по ссылке из браузера я благополучно получил ответ «403 Forbidden».



Понятно, значит, стоит фильтр по браузеру. Что ж, буду проверять «на кошках», как говорится.

Недолго думая, решил «положить на алтарь науки» свой планшет Samsung Galaxy Tab 2. Сделав бэкап, со спокойной совестью нажал на кнопку «Общий сброс». На всякий случай убедился, что на sim-карте нет денег и приступил к установке.

2. Установка


Захожу в настройки, в пункте меню «Неизвестные устройства», убираю галочку «Разрешить установку приложений из других источников, кроме Play Маркет».
Перейдя по ссылке из смс-сообщения, получил предупреждение браузера, следующего характера:



Соглашаюсь и нажимаю кнопку «Продолжить». Скачалось приложение F0T0_ALB0M.apk:



Устанавливаю. Ужасаюсь количеством permission (разрешений). Операционная система любезно предупреждает:
Это приложение может нанести вред устройству
Но я же не ищу легких путей, поэтому, «скрепя сердце», ставлю галочку «Я понимаю, что это приложение может нанести вред».

Процесс установки





Когда приложение запрашивает права администратора, понимаю, что это последний этап. Нажимаю «Отмена», но диалог появляется снова. Эх, была не была, буду идти до конца, и нажимаю «Включить».



3. Вирус-приложение


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



В этом месте, я немного забегу вперед (см. п.6) и приведу, код AndroidManifest.xml для лучшего понимания статьи.
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="4" android:versionName="4.0" android:installLocation="internalOnly" package="com.android.systgec"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <application android:label="@string/app_name" android:icon="@drawable/icon" android:manageSpaceActivity=".ClearActivity" android:allowClearUserData="false" android:allowBackup="true">
        <activity android:label="@string/app_name" android:name=".AppActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".ClearActivity" />
        <receiver android:name=".SmsReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
        <receiver android:name=".OnBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver android:name=".IncomingCallReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>
        <receiver android:name=".OutCallReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>
        <receiver android:name=".NetworkReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            </intent-filter>
        </receiver>
        <receiver android:name=".AdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">
            <meta-data android:name="android.app.device_admin" android:resource="@xml/policies" />
            <intent-filter>
                <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLED" />
                <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLE_REQUESTED" />
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>
        <receiver android:name=".ServiceController" />
        <service android:name=".SystemService" android:enabled="true" />
        <service android:name=".DelService" android:enabled="true" />
    </application>
</manifest>


В диспетчере приложений наш «зловред» гордо именуется «Google Play».



4. Удаление?


Благополучно заразив устройство, перехожу к фазе лечения. Сначала пробую удалить приложение. Захожу в «Диспетчер приложений» и вижу, что все кнопки заблокированы.



Понятно, значит, у приложения имеются права администратора и так просто удалить его не получится. Не беда, сейчас я их уберу. Захожу в пункт меню «Безопасность»->«Администраторы устройства» и убираю галочку напротив приложения.



Но, нет, не тут то было. Устройство благополучно переходит в настройки управления WiFi и зависает. Пришлось «прибивать» окно настроек.



Дальше хотелось решить вопрос «на корню», так сказать, и воспользоваться общим сбросом системы. Ну да, легко мне выбирать такой вариант — мои личные данные в бэкапе хранятся.

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

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

5. Dr Web против вируса


Памятуя про хорошую лечащую утилиту «Dr.Web CureIt!», решил бороться с зловредом с помощью аналога под Android. Захожу на официальный сайт и качаю бесплатную версию антивирусника «Dr.Web для Android Light 9».
Устанавливаю, по WiFi обновляю сигнатуры.
Запускаю быструю проверку ― ничего.
Запускаю полную проверку ― тоже ничего.

Ход проверки




Я разочарован! Печально вздохнув, удаляю антивирусник.

UPD от 6.09.14. На данный момент антивирусник успешно опознает данный зловред под детектом Android.SmsBot.origin.165. Алгоритм удаления такой же, как и при использовании Avast (см. ниже).

5. Avast против вируса


Мнение автора
Никогда особо не любил антивирусник данной фирмы. Особенно после истории об удалении файла отвечающего за протокол tcp/ip в Windows XP. Но, чем «черт не шутит», установим.

Скачиваю и устанавливаю версию «Avast-Mobile-Security-v3-0-7700».
При старте запускается экспресс-сканирование, которое никаких вирусов в системе не находит.



Ну и ладно, мозг подсказал очередную идею: вот есть какой-то пункт меню «Управление приложениями», а что если…
Да, действительно загрузился список приложений в системе.



Пункта «Удалить» нет. Поэтому, пробую остановить приложение. Остановилось.
Жду 2-3 секунды, приложение снова в работе.

Ладно, попробую с другой стороны. Запускаю принудительную проверку системы. О_о, обнаружено вредоносное ПО. Нажимаю «Устранить все» [прим. как-то это звучит в духе Дарта Вейдера или Далеков]. Avast сообщает, что удалить приложение не может, а нужно сначала отобрать права администратора у приложения. Появляется системный диалог:
Удалить все данные с устройства и вернуть заводские настройки? Нажмите «Да» если согласны, или «Нет» для отмены

И сразу же, поверх этого диалогового окна открывается «злополучное» окно настроек wi-fi. Нажимаю «Возврат», снова открываются настройки. Хорошо, хоть окно настроек не зависает.



Опять на тропу читерства меня толкают. Будем искать другое решение…

6. Реверс-инжиниринг


Посмотрим в исходный код приложения, благо на Android это не такая большая проблема. Много всего интересного…
Например, в классе SystemService указан url сайта lamour.byethost5.com (дизайн-студия).
Но больше всего мне понравился класс AdminReceiver, который является наследником системного класса DeviceAdminReceiver.
В этом классе есть переопределенный метод onDisableRequested, который срабатывает при отключении админполномочий для данного приложения. Полностью заблокировать кнопки в системном диалоге нельзя, поэтому разработчик вируса пошел на хитрость, он изменил текст сообщения на «Удалить все данные с устройства и вернуть заводские настройки? Нажмите «Да» если согласны, или «Нет» для отмены» и обильно прикрыл сверху назойливым окном настроек.

Бинго. Значит теперь я смело смогу нажать в данном диалоговом окне «Удалить» и планшет будет «здоров».

Послесловие


Таким образом, выполнив повторно пункт 5 данной публикации (не останавливаясь на последнем шаге), вирус версии 4.0 (согласно манифест-файлу) был побежден.

Почему не удалось напрямую из настроек убрать галочку админправ для приложения, а только используя Avast? Скорее всего, стоит очередная ловушка с переопределенным методом.

Выводы


Разработчики вирусов находят все новые лазейки.
Но, так или иначе, браузер и операционная система стали лучше защищать пользователей.
Мне необходимо было нажать 2 подтверждения и поставить галочку в настройках «Неизвестные устройства».

Будьте здоровы, вы и ваши девайсы!
Сергей @rootes
карма
12,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (89)

  • +56
    «Разработчики вирусов находят все новые лазейки»
    А в чем новизна? Всё тот же старый добрый метод «на дурака»: скачай вирус, проигнорируй все предупреждения о небезопасности содержимого от ОС, сам установи, наслаждайся результатом.
    • +1
      Значит стало много дураков, ибо данное смс приходит почти всем. Знакомый рассказывал что даже в военных училищах о нём предупреждают.
      • +1
        % дураков неизменный, а вот людей стало больше, это да.
        • +14
          Увеличился % дураков со смартфонами.
          • +18
            То время, когда телефоны стали умнее хозяинов.
        • +3
          А один из «законов Мерфи» гласит:

          Количество интеллекта на планете — величина постоянная. А на селение растёт…
          • +6
            на селение
            ой растёт… ;)
            • 0
              Это я не досмотрел за автозаменой
    • +3
      Нигде в статье не написано, что общий подход с заражением претендует на новизну. По-сути данный смс-вирус — это все тот же метод социальной инженерии. Лучший друг/подруга прислал(а) ссылку на фото. Друзья ведь плохого не посоветуют…
      То что пользователь заразился по невнимательности/доверчивости уже рассматривается, как произошедшее событие.
      В выводе имеется в виду, что в целом, разработчики вирусов ищут и находят новые лазейки (уязвимости). Применительно к данной статье, новое — это изменение текста в системном сообщении и обильное покрытие его системными окнами. Лично я использования такого подхода на андроиде не видел.

      • +12
        Лазейки все старые, спросите у Митника. Данная программа не эскплуатирует никаких уязвимостей системы, вы ей предоставили права администратора устройства, она вам меняет системные сообщения, все честно и вполне открыто. Уязвимость только в пользователе, ничего нового в этом нет.
    • +2
      А в чем новизна?

      Исключен этап «скомпилировать»
  • +11
    Не разу еще не ловил вирус на свой телефон. Подскажите все ли вирусы нужно устанавливать таким образом? Если да, то каким идиотом нужно быть чтобы подхватить вирус на Android?
    • +8
      не факт, что все так же. но идиотом совсем не обязательно быть, можно просто быть среднестатистическим пользователем, для которого FOTO_ALB0M.apk не может содержать ничего кроме фотографий, и для которого список разрешений — непонятное окно, содержащее кучу ненужной информации, где главное найти кнопку ОК/продолжить.
      • +5
        Давно уже пора пойти дальше чем FOTO_ALB0M.apk. Действительно эксплуатировать уязвимости Андроида.
        Например: Выкатить в Гугл Плэй, какую-нибудь программу которая устанавливает игры на смартфон (или что угодно). При первом запуске предлагает скачать список всех игр (отдельным apk или модулем), пусть даже эта программа и ставит всякие Тетрисы (марио). Но параллель еще качает патченый Framaroot на MTK устройства, активирует рута. Качает патченый суперюзер (без системных окошек), кастует права на зловредную программу. Та прописывается в системные приложения. Качает себе модуль торента, рассылки спама и пр. «ништяки. Начинает раздавать себя по торенту, для новых пользователей, параллельно занимается рассылкой спама и смс-ками на платные номера и пр. пакастью тихонечко. При следующей перезагрузке сносит суперпользователя, и остается тихонько пакостить. Эдакий ботнет на MTK устройства и пользователь играет в „тетрис“, ну не может его удалить потому, что это системное приложение „да и хай с ним пущай стоит“. И сервис тихонечко делает свои дела.
        • +7
          Угадайте, сколько такое приложение проживет в Google Play?
          • –3
            Да годик легко продержится. Есть программы которые докачивают доп. модули, не из Маркета, и вполне нормально и долго существуют, например Disa IM, никаких претензий у Гугла не возникает. Учитывая, что приложение будет нацелено только на МТК устройства, остальные пользователи не будут испытывать проблем, ну скачают ну посмотрят ну удалят, ну оставят отзывы нейтральные в Плэй Маркете, тем лучше. Можно вообще наглым стать и сделать приложение платным :)
        • 0
          Такое приложение исчезнет из плея вместе с аккаунтом разработчика в течении недели.
    • +6
      Если да, то каким идиотом нужно быть чтобы подхватить вирус на Android?

      Таким же, который запускает image.exe в Windows.
      • –1
        Windows без антивируса предупреждает пользователя, что приложение может нанести вред компьютеру и не рекомендует его устанавливать?
        • +4
          Вообще-то, да
          image
        • +1
          UAC, появившийся в Vista именно для этого и предназначен.
        • +1
          SmartScreen из модных… В Windows 8 появился. По функционалу похож на гугловский Verify Apps — отправляет куда-то в Microsoft на проверку. Кроме того «Файл %filename.exe% скачивается редко и может причинить вред компьютеру» — без комментариев, просто факт из IE11.
          Chromium, кстати говоря, оказался более непримиримым: %filename.exe% is malicious, and Chromium has blocked it. Из загрузок можно, конечно, восстановить «recover malicious file»->«Recover malware? This file will harm your computer. ...» -> «Hurt me plenty» (button). И все это из-за лично собранной на коленке программы, что будет перезапускать раз в N секунд скрипт (не имеющий отношение к программе), нажатием одной клавиши?))
  • +5
    Бедный котёнок. Автор вируса изверг.
    • +2
      да лааадно, он же не в стакане…
      • +10
        image
  • +3
    Почему вирус? Троян же. Сам скачал, сам запустил, сам разрешил. Вирус самостоятельно должен распространяться, файлы инфицировать. От сюда и название.
    • 0
      вирус звучит более устрашающе )
      я не очень в теме, а под андроид есть ли какие-то настоящие вирусы, для которых не нужно скачал/запустил/разрешил?
    • +1
      Да, вы правы, троян.
      Для специалистов в области информационной безопасности непростительный ляп.
      Но для обычных пользователей слово вирус привычнее. Поэтому пришлось пойти на преступление и выдать желаемое за действительное. Уж, простите.
      • +14
        Ура! Хабр — для домохозяек!
      • +6
        Нет, за такое не прощают. Во имя Тьюринга, Фон-Неймана и Товальдса, используйте правильную терминологию! А то из за таких-вот популяризаторов неправильный термин и закрепился.
        • +1
          Тогда уж и то самое славное имя фон Неймана надо бы тоже правильно писать :)
          • +1
            Признаю свою вину, меру, степень, глубину.
    • +1
      А смс-ку отправлял кто? Вирус же и отправлял по всем контактам. То есть он сам распространяется.

      Если бы участие человека вообще не требовалось — это был бы уже сетевой червь.
      • 0
        Вообще говоря, тот же Love Letter распространялся точно по такому же механизму, и назывался червем. Троян — это когда пользователь сам качает с файлообменников.
  • +3
    я правильно понял, максимум с десятой попытки можно будет к вам дозвониться?
    • 0
      Да, теперь все домохозяйки будут знать, к кому обращаться )
      Автору явно не стоило светить свой номер.
      • +1
        А кто вам сказал, что это мой номер?
        Мой номер в начале статьи с закрытой последней цифрой, и то рабочий.
        В скриншоте браузера используется случайный номер.
        • +4
          > с закрытой последней цифрой
          > максимум с десятой попытки
          Это и имелось в виду.
          • +1
            «Вы ошиблись, это не я писал ту статью на хабре». И так по всем десяти.
  • +3
    Есть же безопасный режим. Долгий тап по кнопке Отключить питание.
  • 0
    Я кстати не понял из статьи, этот троян проявлял какую-либо активность? Отправлял смс или звонил куда? Есть ли у него командный сервер?
    • –1
      Сейчас покручу, если автор не против.
      • 0
        Не против.
        Троян с зараженного устройства рекурсивно рассылает смс «привет. тебе фото...» всем контактам из телефонной книги. Причем, после перехода по ссылке твой номер помечается, как зараженный и больше на него смс не приходит.
        • 0
          Это тоже Сбербанковский троян. Отправляет сообщения на номер 900.
          • +2
            В общем, в вирусе используется своя реализация base64 для декодирования, как я понял, одной единственной строки — домена CnC *******.ru (на данный момент сервер почти не отвечает).

            Вирус умеет отправлять на сервер информацию о телефоне, получать СМС от Сбербанка, получать номера входящих звонков, перехватывать СМС, посещать ссылки, звонить, обновлять себя (в /mnt/sdcard/download/update.apk), ну и распространять себя по телефонной книге.
            Еще есть глупенькая проверка на запуск внутри sandbox или эмулятора.
            • 0
              Получается, что теперь у нас есть обзор одного и того же вида зловреда изнутри и снаружи.
              • +1
                Нет, это не тот же самый.
  • +1
    Еще Касперским прогоните для полноты картины.
    И проверьте их реакцию если они будут установлены перед установкой зловреда.

    И активные ссылки бы убрали. Мало ли что у них там.
  • +2
    Автор, у вас друзья — работники спецслужб РФ. Вы там поосторожнее.
    В Украине Android-пользователей атаковал SMS-вирус
    Комментарий пресс-службы СБУ:

    Служба безопасности Украины предупреждает, что в течение последних суток с российских информационных ресурсов происходит спланированная спецслужбами РФ информационная диверсия по заражению вредительскими программными продуктами мобильных телефонов украинских граждан.

    СБУ установила, что с помощью этого вируса преступно собирается информация об IMEI (уникальный номер терминала) инфицированного телефона, балансе счета и персональных данных простых граждан. Именно эти данные могут быть использованы для массовой DoS-атаки на определенные ресурсы.
    • +2
      «Теория шести рукопожатий»?
    • +4
      О да! Пропаганда, такая пропаганда. Думал помру со смеху когда случайно услышал это по «ящику»
      • 0
        Нет худа без добра — теперь вы знаете, как правильно относиться ко всему. что вы слышите по «ящику».
        • 0
          То, что говорят головы в «ящике» очень часто приходиться делить на 8/16/32, а потом и перепроверять т.к. в конкретном случае на субъективность журналистов накладывается ещё и «ура патриотизм»
  • 0
    Для простых пользователей, когда они хотят включить установку из непроверенных источников, надо включать принудительный видео ролик, рассказывающий о подобных зловредах.
    Ведь почему они такие доверчивые? Они просто не знают, что какая-то опастность существует.
    А так грамотность точно повысится. Другое дело, что это будет сложно реализовать…
    • +3
      Проблема ещё в том, что многие приложения реально требуют таких прав. На счёт администратора спорно, так как если пользователю понадобилось такое приложение, то он уже продвинутый пользователь, и в большинстве случаев знает, что делает.

      А вот доступ в интернет, к звонкам, телефонной книге, к карте памяти и т.д. — стандартное поведение большинства нормальных приложений. А предупреждающее окно одно и то же. То есть пользователей надо ещё научить как-то идентифицировать угрозу не только по источнику (даже установка с Google Play не всегда безопасна), но и по другим признакам, зачастую косвенным (к примеру, зачем калькулятору понадобилась телефонная книга?)
      • +1
        зачем калькулятору понадобилась телефонная книга?

        Отослать результат вычислений другу по смс? :)
      • +3
        Как-то захотел установить «фонарик» (включатель «вспышки»). Перебрал с десяток вариантов и был озадачен тем, что все требую целую кучу разрешений (начиная с контактов и заканчивая доступом в Интернет). Не совсем понятно чем при этом руководствуются разработчики. Лично меня настораживает такое поведение программы и я предпочту ее не устанавливать и не использовать.
        • +2
          Ну с доступом в интернет можно смириться — хотят рекламу гнать. Остальное действительно не понятно.
          • +2
            Просто Android-кодеры обленились, программы уже никто не набирает средствами одного лишь Android SDK, все пользуются фреймворками, которые как раз и требуют кучи разрешений (особенно если не озаботиться даже минимальной настройкой проекта).
            Вот и выходит, что обычный фонарик весит от 20Мб, требует всех разрешений, какие только существуют в природе, и жрёт столько процессорных ресурсов, что пользователю приходится надевать асбестовые перчатки.
            • +1
              А, вон оно как. Ситуация, как и с большим братом. Но там это хотя-бы оправдано.
              • 0
                ИМХО, нигде не оправданы калькуляторы однофункциональные приложения, которые весят 20+ мегабайт и требуют полного набора дотнет фреймворков, часть из которых уже не установится на целевую ОС, и часть из которых еще не установится на целевую ОС (пришлось попотеть как-то раз с установкой старых дотнет фреймворков на Windows 8… врагу не пожелаешь).
      • 0
        А что там с эмуляцией ресурсов системы? Я хочу, к примеру, дать программе доступ к одной папке — и чтобы она думала, что это целая SD-карта. Хочу дать доступ в интернет по прописанным мной маскам — и чтобы приложение думало, что так и должно быть. Хочу дать доступ к фейковому слоту для SMS и к фейковым пайпам голосового ввода-вывода вместо реальных.
        Это бы сильно помогло в отладке и сильно повысило безопасность системы.

        А то когда для подобной платформы начали появляться антивирусы, это почти что роспись Гугла в неспособности организовать вменяемые механизмы изоляции процессов, ресурсов и данных.
        • 0
          А что там с эмуляцией ресурсов системы?

          Таки да, это к гуглу. Но ось ориентирована на обычного пользователя, и скорее всего этого не сделано, чтобы упростить им жизнь, а то наэмулируют. Хотя вполне можно разделить функционал на несколько уровней сложности.
    • +1
      В некоторых устройствах что бы включить установку из непроверенных источников нужно стать разработчиком. Из того, что мне попадалось (Lenovo сток RU вроде бы) нужно тапнуть 10 раз по строке версии в Settings-About.
      Меня этот подход несколько раздразил, т.к. я 10 минут не мог найти привычный чекбокс, без которого AdFree не ставится, но возможно для рядового пользователя это даже полезно.
  • 0
    Ув. автор, вы забыли упомянуть, что у вас стоит галочка «Разрешить установку из непроверенных источников».
    • +2
      Ув. пользователь, в выводе это упоминалось. Для того, чтоб «не искать» добавил в тело поста.
  • +11
    Я — Албанский вирус, но в связи с очень плохим развитием технологии в моей стране к сожалению я не могу причинить вред вашему компьютеру.
    Пожалуйста будьте так любезны стереть один из важных файлов с вашего компьютера самостоятельно и перешлите меня другим, можно просто ссылку на меня.
    Заранее благодарен за понимание и сотрудничество.

    Теперь и для андроида!
  • +1
    Мне не совсем понятно зачем вирус тестить вот так вот прямо в боевых условиях.

    Если у вас не пошла скачка по директ-линку с компа, то разве не проще подменить user-agent + реферер? То есть просто напросто передать замаскированный запрос?

    Причем я бы не рискнул проводить такое даже со своего компа (разве что только с вм), вдруг там связка стоит а вы вот так лезете… Просто пишите скрипт на том же curl например, пара заголовков, строк 10 кода и все, .apk-файл у вас скачан на сервер, а в случае риска со связкой так курлу на нее все равно.

    Ну и далее лучше сперва расковырять сам файл, а уж только потом запускать, примерно представляя что он будет делать.
    • +2
      А если и хочется побороться с вирусом в боевых условиях, то есть же avd. Запустил виртуалочку — и хоть целый зоопарк плоди там.
      • 0
        avd

        Есть даже попроще вариант: Bluestacks. И даже есть x86 версия под любую виртуалку.
        А троян не может понять, что его запускают не на реальном устройстве, а на виртуальной машине? Помнится у некоторых вирусов для PC была такая проверка.
    • –6
      То есть просто напросто передать замаскированный запрос?
      Что такое «замаскированный запрос»?

      вдруг там связка стоит а вы вот так лезете
      Что такое «связка»?

      Просто пишите скрипт на том же curl например
      Что такое «скрипт на curl»?

      а в случае риска со связкой так курлу на нее все равно.
      Риск с чем? Что такое «курл»?
      • 0
        Что такое «замаскированный запрос»?

        Замаскированный под браузер андроида (или что там у автора) запрос. Обычный http запрос с подделанными заголовками user-agent и referer.
        Что такое «связка»?

        Связка, сплойтпак, експлойт-пак, exploit-pack — это комплекс серверных и клиентских скриптов (и не только), способных пробить ваш браузер и загрузить на компьютер или другое устройство заразу без вашего ведома.
        Что такое «скрипт на curl»?

        Скрипт на курле (curl) это как пример автоматизированной скачки, можно скачать apk файл и другими способами, просто курл это как швейцарский нож при работе с http, заголовки андроидного браузера там подделать проще простого.
        Риск с чем? Что такое «курл»?

        Риск с тем, что если вы зайдете на зловредную страницу для андроидов — она может оказаться зловредной не только для андроидов и заразить ваш компьютер (если вы это сделаете без виртуальной машины и других мер безопасности). Обычно у связок выдается javascript-роутер который проверяет устройство/браузер на версии и плагины и исходя из этого выдает нужный эксплойт.
        Короче говоря, курл не подвержен пробиву никакой известной на данный момент связкой, поэтому загружать им зловредов и ходить по левым ссылкам безопасно.
        • –6
          Замаскированный под браузер андроида
          Жду статью «маскируем запросы под браузеры».

          комплекс серверных и клиентских скриптов (и не только), способных пробить ваш браузер и загрузить на компьютер или другое устройство заразу без вашего ведома
          Также жду статью «пробитие браузера». С примерами таких скриптов, которые способны.

          Скрипт на курле (curl)
          Вы, видимо, из тех, кто говорят «ок», «эксéль», «язык программирования Це плюс плюс» или даже «я программирую сайты под аштиэмэль»?
          Читается «кёрл»: en.wiktionary.org/wiki/curl#Pronunciation

          Раз уж вы теперь в курсе, как читается cURL, то и вы нас, пожалуйста, научите скриптовому языку программирования «curl». Интересно же, очень! И как обычно, жду статью.

          Риск с тем, что если вы зайдете на зловредную страницу для андроидов — она может оказаться зловредной не только для андроидов и заразить ваш компьютер (если вы это сделаете без виртуальной машины и других мер безопасности). Обычно у связок выдается javascript-роутер который проверяет устройство/браузер на версии и плагины и исходя из этого выдает нужный эксплойт.
          Короче говоря, курл не подвержен пробиву никакой известной на данный момент связкой, поэтому загружать им зловредов и ходить по левым ссылкам безопасно.
          Пожалуй, статья о массовых, повсеместно работающих (то есть 0-day, не закрытых) уязвимостях в браузерах, позволяющих выполнять произвольный код просто при переходе по ссылке, или, как вы их называете, связками, будет также очень интересна всем хабражителям.

          Вы вообще почему уверены, что подобные дыры существуют? Я вам из-под суперпользователя зайду на любую страницу, какую вы только назовёте, окей? Чтобы вообще закрыть эту тему.

          «Хакер» в сабжевом случае полагается исключительно на недалёкость пользователя, которому для того, чтобы привести «вирус» в действие, необходимо двадцать раз проигнорировать все предупреждения.

          И вы в таком случае действительно думаете, что если пройти по ссылке в любом современном браузере, то хакер сразу же пробьёт ваш браузер, проникнет на ваш компьютер, обойдёт системы защиты,^W^W^W получит права суперпользователя, удалит все данные, испортит BIOS, и через вредный кинескопный экран пошлёт смертоносные лучи пользователю прямо в моск?

                     

          Честно говоря, повеселили, спасибо. (^_^)
          • +1
            уязвимостях в браузерах, позволяющих выполнять произвольный код просто при переходе по ссылке

            Мне вот вспоминается недавняя атака на Tor через уязвимость в Firefox, входящий в состав TBB. Там как раз выполнялся определенный код, который демаскировал IP адрес пользователя (конечно, если тот не включил NoJS).
            Да, один раз я умудрился подцепить винлокер просто зайдя на страницу (браузер был Opera, версия 12). То есть компьютер тут же ушел в ребут, а после загрузки выскочил винлокер. При этом был включен UAC и антивирус.
            Так что такое возможно.
          • 0
            Ну у вас еще много открытий впереди. И да, судя по вашему ответу — просто совет, сделайте бекап важных данных.
            • –3
              Ну у вас еще много открытий впереди.
              Ага, и на порядок больше, если я продолжу читать ваши комментарии.

              А про бекап шутку не понял. Вы таки собрались меня взламывать? :D

              P. S. Хабр всё же уже не тот…
              • 0
                Мне незачем вас взламывать. Просто с вашей логикой вы рано или поздно можете поймать зловреда, поэтому и совет — сделайте копию данных.
                • –4
                  Просто с вашей логикой вы рано или поздно можете поймать зловреда
                  О господи, вы это серьёзно?

                  Человек, если вы ещё не поняли, вы на хабре. Коллективном блоге IT-профессионалов. Угу?
    • +3
      Это отличный способ увидеть и почувствовать все то, что видит и чувствует при установке трояна обычный пользователь. Если есть отдельное устройство, на котором можно все протестировать «вживую» с минимальным риском, то зачем все усложнять?
      • +1
        Трояны тестируются в полевых условиях, безусловно. Но не так. За редким исключением компьютерные криминалисты будут запускать подозрительный файл в рабочем пространстве пусть даже чистого компьютера. Обычно все это делается в виртуалках.
  • 0
    по поводу удаления… а что мешало подключить телефон к компьютеру и написать adb uninstall [package name]?
    • +1
      Ну, это, конечно, скорее всего решит проблему, да и данные буду сохранены… но OP вроде бы пытался найти алгоритм, по которому сможет относительно просто проследовать любой заразившийся пользователь (а как мы уже поняли, такие пользователи не очень умны хотя бы потому, что смогли заразиться). А с подключением планшетника к компьютеру у некоторых людей может возникнуть проблема просто за неимением компьютера, то есть до установки adb дело может и не дойти…
  • 0
    Вирус? Не увидел никаких вирусовых свойств у этой программы. Я думаю это просто вредоносная программа.
    • 0
      Вирус, троян и червь — это не вредоносная программа?
      Я просто оставлю это здесь вредоносная программа, она же малварь, она же «зловред».
      Как уже было отмечено в комментариях mayorovp (см. выше), данный зловред, помимо того, что он относится к группе троянов, обладает и вирусными свойствами — рассылает ссылку на себя другим пользователям.
      А смс-ку отправлял кто? Вирус же и отправлял по всем контактам. То есть он сам распространяется.
      • 0
        Вы в обратную сторону мыслите. Это есть вредоносная программа, но не думаю что это вирус, о чем и сказал. Я согласен с тем, что вирус, троян и червь — это вредоносная программа, и о том не спорю.
    • 0
      Это sms-червь =)
  • 0
    del
  • 0
    человек хотел суть передать а вы к слову уцепились вирус это или нет, какая разница как его назвать? Видать спецы большие

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.