Пару месяцев назад лаборатория Каспеского опубликовала статью о фишинге аккаунтов ВК в Google Play, но не рассказали как это реализовано и почему такие приложения задерживаются в маркете. В их статье говорилось о том, что около 1 миллиона пользователей могли стать жертвами фишинга.

Примерно те же приложения я реверсила еще весной. Я тогда поспорила с другом, что в маркете есть вредоносные приложения. Вредоносные приложения найти не получилось, нашлись только фейки для “Вконтакте”. Но возможно, просто мало искала. Но сейчас и их в маркете найти уже не удалось, скорее всего они были удалены, после обнаружения Лабораторией Касперского.

Но на момент моих поисков этих приложений было довольно много. Главной причиной их долгожительства было то что, они используют токены от официального приложения “Вконтакте”, в котором они хранятся в открытом виде. “Вконтакте” не может отозвать/поменять свои токены, потому что далеко не все пользователи хотят или могу обновлять приложение. Например, кто-то просто не хочет, у кого-то места нет на телефоне. А при смене токена старая версия приложения перестала бы работать.
Мне удалось найти токены за пару минут, что уже говорит о том, что они лежат в коде на виду.

Так-как при декомпиляции android приложений код восстанавливается почти до имен переменных. Тут ищем все Activity и классы у которых в именах что-то в духе VkLogin, AuthorizationVk. В них будут переменные для ввода логина и пароля, а так же ссылки на которые идут запросы. В этом месте сразу становится видно, вредоносное ли приложение.
В процессе реверса мне попадались интересные решения, например очень странная конструкция try-catch, в которой сначала авторизация пытается пройти с токенами приложения автора, а в catch токены от официального приложения. Мотивы такого странного решения мне до сих пор не понятны. А большинство сразу использует данные официального приложения.

Один из разработчиков решил успокоить пользователей и сделал почти копию авторизации через Oauth2



А вот как оно должно выглядеть



Все приложения были не обфусцированны и ссылка на гейт (php скрипт, который обрабатывает присылаемые ему данные, например, проверяет на валид и записывает в бд) была так же в открытом виде. Мелькали одинаковые приложения от одного и того же разработчика, отличались только иконки. Приложения сразу после публикации выводят в топ при помощи купленных аккаунтов, с которых пишут отзывы, в которых в процессе теряются сообщения о краже аккаунтов. Приложения представляют из себя не просто форму с полями для авторизации. Это настоящие, и хорошо работающие приложения, которые выполняют все заявленные функции, даже без рекламы. Некоторые из них после публикации продолжают поддерживаться разработчиком. Всё для удобства пользователя, но вот с такой маленькой вредоносной фичей. Потом собранные аккаунты попадут на рынок. Такие рынки стали уже автоматическими. В гугле по запросу “вк аккаунты купить” будет целый список.

Цена одного аккаунта, зависит от “крутизны” — количества друзей, подписчиков, фотографий и etc. И варьируется в среднем начиная от 2 рублей и заканчивая 2000 рублей. Такие аккаунты берут для спама по личным сообщения, раскрутки групп/приложений, публикаций сообщений в паблики и etc.

Так что, перед установкой приложения следовало бы внимательно просматривать отзывы и относиться с опаской к приложениям, которые требуют ваш логин и пароль. А для разработчиков, если запрос логина и пароля — это единственный вариант следует объяснить такое решение.

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


  1. zhovner
    10.12.2015 02:07
    -7

    image


  1. ingumsky
    10.12.2015 02:40
    -2

    По-моему, правило вообще простое — не стоит пользоваться неофициальными клиентами сервисов, которым вы передаёте чувствительную информацию.


    1. Irenica
      10.12.2015 02:54
      +1

      Очень большое количество людей, как оказалось, об этом не знает. Пользователь видит что приложение в официальном магазине и доверяет ему.


      1. stychos
        10.12.2015 03:36
        +3

        Большинство пользователей вообще не отличит официальный магазин от неофициального.


        1. dcoder_mm
          10.12.2015 03:42
          +1

          Ну к google play вроде как все привыкли, потому что оно стоит по дефолту. Собственно из за этого и сформировалось у людей такое доверие к нему


          1. stychos
            10.12.2015 04:10
            +3

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


            1. dcoder_mm
              10.12.2015 04:13
              +1

              В Москве, но это не сильно важно. До этого жил в городе с населением меньше миллиона, и в целом не все так плохо.


              1. stychos
                10.12.2015 04:14
                +1

                Нет, всё плохо — просто конкретно у Вас хороший круг общения.


                1. Snowly
                  10.12.2015 07:16
                  +2

                  Скажи мне кто твой друг, и я скажу — кто ты.*
                  * Это я про круг общения.


    1. ad1Dima
      10.12.2015 09:09
      +1

      Иногда стороннее приложение лучше официального. Вспоминаем многочисленные клиенты для Twitter


      1. kolipass
        10.12.2015 09:24
        +1

        Более того: иногда стороннее приложение может запросить авторизацию через фишинговую форму от популярной соц сети.


  1. likerRr
    10.12.2015 15:41

    странная конструкция try-catch, в которой сначала авторизация пытается пройти с токенами приложения автора, а в catch токены от официального приложения. Мотивы такого странного решения мне до сих пор не понятны. А большинство сразу использует данные официального приложения

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


    1. Irenica
      10.12.2015 15:48

      Так можно было сразу использовать токены от оф приложения и вообще не заморачиваться. Никаких оповещений для автора в коде не было