Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке.

Как я уже упоминал в прошлом своем посту, я занимаюсь реверс-инжинирингом приложений на платформу Android.

Сегодня я хочу поговорить о массовом распространении приложений для обхода блокировки сайтов (и проч.) - клиентах vpn-туннелей, или попросту VPN-приложениях.

В связи с блокировкой некоторых сайтов в разных странах (опустим политические и финансово-правовые аспекты этих блокировок) в магазине Google Play началось "наступление" бесплатных и не очень приложений для обхода этих самых блокировок. Принцип обхода я не буду описывать, это легко "гуглится" в интернете. Сейчас я хочу поговорить о бесплатном сыре в мышеловке.

Из самых известных приложений выделяются только два самых-самых: SurfEasy VPN и OperaVPN. Не для кого не секрет, что бесплатные приложения так или иначе должны "отрабатывать" свой хлеб побочными функциями, выполняя их скрыто или открыто для пользователя. В 99% случаев эти функции выполняет реклама и аналитика, собираемая и передаваемая на удаленные сервера для якобы отчета о правильности функционирования приложения, отчета о всевозможных багах и прочем. Реклама же призвана "оплачивать" бесплатную работу приложения для поддержки разработчиков оного.

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

Например: OperaVPN.

Приложение построено на основе движка SurfEasy VPN, однако, в отличие от оригинала имеет полностью бесплатный вариант распространения и автоматически продлевает т.н. премиум-подписку (безлимитный трафик), что настраивает крайне положительно пользователя по отношению к разработчику и самому сабжу. Одно огромное "но": OperaVPN содержит в своем коде сервисы агрессивной рекламы, которая работает в фоне и сильно загрязняет трафик через VPN-туннель. Кроме того, приложение имеет в коде микро-сервисы Google, которые собирают аналитические данные и отсылает их на серваки Гугла для анализа и предложения контекстной рекламы Google Ads. Кроме того, есть отдельный сервис аналитики Segment, который занимается тем же, но отправляет данные уже на другие сервера. В результате мы имеем большое потребление памяти ОЗУ приложением, влияние на заряд аккумулятора и лишний трафик, мусором льющийся по vpn-соединению.

Не так давно на сайте 4PDA в ленте новостей была реклама приложения VPN Unblocker FREE Unlimited (GooglePlay) которое также предоставляло услуги бесплатного vpn-соединения, гарантируя сохранность данных и анонимность в интернете.

Я решил покопаться в потр@шках приложения и посмотреть, можно ли сделать мод на него, аналогичный тому, что я сделал с приложением OperaVPN.

Разобрав приложение с помощью BAT by Bursoft (за тулзу автору огромный респект), и зайдя в код java я ахуел. Я не думал, что в отечественном приложении (а приложение - плод труда харьковской команды ArtJoker) будет настолько много говна мусорного кода, что я не то, что не захочу делать мод на него, а я бы крайне не рекомендовал даже его устанавливать на свое Андроид устройство!

Вот список того, что было обнаружено внутри VPN Unblocker FREE Unlimited:

-реклама adcolony/jirbo ads

-реклама  amazon ads

-реклама applovin native ads

-реклама appodeal ads

-реклама appsflyer ads

-аналитика chartboost analytics

-реклама cmcm ads

-реклама facebok ads

-реклама flurry ads

-реклама google ads

-аналитика google analytics

-аналитика/метрика google measurement

-реклама inmobi ads

-аналитика moat analytics

-реклама mopub ads

-реклама my.target ads

-реклама unity3d ads

-аналитика/метрика yandex metrica

-реклама yandex ads

-аналитика io.fabric analytics

-реклама org.nexage ads

-встроенный сервис mindpipe для отправки логов logcat на удаленный сервер

-встроенный сервис логгирования avocarrot (собирание данных из logcat)

-реклама supersonic ads

-реклама startup ads

-аналитика tapjoy moat analytics

-реклама tapjoy ads

-реклама vungle ads

-реклама integral ads

-реклама io.presage ads


Красным я отметил "мусорный код" внутри приложения (т.е. он вообще не нужен в приложении vpn-туннеля):

Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке. Реверс-инжиниринг, Приложения на смартфон, Длиннопост, VPN, Моды, Шапочка из фольги
Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке. Реверс-инжиниринг, Приложения на смартфон, Длиннопост, VPN, Моды, Шапочка из фольги
Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке. Реверс-инжиниринг, Приложения на смартфон, Длиннопост, VPN, Моды, Шапочка из фольги

Теперь по поводу самой работы приложения. Сравним его работу с OperaVPN.

Запустим по очереди каждое приложение и проверим IP устройства используя любой сайт в интернете для проверки IP.

Т.к. я сейчас нахожусь в отпуске в Украине, будем сравнивать и по провайдеру.

Вот что выдал нам сайт проверки IP при работе VPN Unblocker FREE Unlimited:

Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке. Реверс-инжиниринг, Приложения на смартфон, Длиннопост, VPN, Моды, Шапочка из фольги

А вот, что выдал нам тот же сайт при работе OperaVPN:

Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке. Реверс-инжиниринг, Приложения на смартфон, Длиннопост, VPN, Моды, Шапочка из фольги

Выводы каждый для себя сделаем сам.

И напоследок, товарищи-разработчики VPN Unblocker FREE Unlimited предлагают КУПИТЬ у них версию приложения без рекламы (т.е. отключить ее при работе приложения) за сущий пустяк - 800 гривень (30$) за год (12 месяцев).

Об многочисленности VPN-приложений, или бесплатный сыр в мышеловке. Реверс-инжиниринг, Приложения на смартфон, Длиннопост, VPN, Моды, Шапочка из фольги

Ребята, вы с дуба на кактус не упали ума не сошли? Есть тот же OperaVPN, при чем абсолютно бесплатно, с рекламой меньшей в разы, чем у вас!

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


Всего хорошего, с уважением Андрей Aeron Li

Вы смотрите срез комментариев. Показать все
6
Автор поста оценил этот комментарий

Давно есть идея создать сообщество людей "платящих по минимуму".

К примеру поднять сервис vpn на vps где-нибудь в европе (в нидерландах к примеру) можно за пару дней. Стоимость VPS будет мизерная (в пределах 5 долларов в месяц). На одной vps можно тунелить не один комп, но штук 5 потянет. Все в сообществе скидываются на хостинг и пользуются. Те, кто что-то создает в сообществе - пользуется бесплатно, другие просто платят, но самый минимум. И чтобы всё это было openSource.

раскрыть ветку (24)
4
Автор поста оценил этот комментарий
Я арендовал личный vps, денег не намного больше платных vpn, зато что хочу то творю. Логи и система в моих руках и никакой рекламы в принципе
раскрыть ветку (10)
1
Автор поста оценил этот комментарий

Больше 100 рублей в месяц?

раскрыть ветку (9)
Автор поста оценил этот комментарий
99 :)
раскрыть ветку (8)
Автор поста оценил этот комментарий

1200р в год. Некоторые люди подарки на др выбирают в диапозоне 1000р своим детям, я знаком лично с такими. А тут в год отдавать 1200р за впн частный. Вот для таких людей моё предложения было бы идеально))

раскрыть ветку (7)
2
Автор поста оценил этот комментарий
Давать свой vps комуто очень чревато, если этот ктото натворит песец, то прижмут владельца и особо разбираться не будут
раскрыть ветку (6)
Автор поста оценил этот комментарий

Бля, ну я же не просто так сказал "сообщество" В сообщество без приглашения не попасть.

раскрыть ветку (5)
3
Автор поста оценил этот комментарий
Даже ваш лучший друг может подкинуть проблем, если например у него на компе окажется вирус
раскрыть ветку (4)
Автор поста оценил этот комментарий

И как же, если не секрет? Впн не хранит данных сервере. А установить сеть между компами в сети можно только при наличии открытых портов для smb серверов. Но даже на этот случай у меня только nix системы. В общем риски минимальны. И как я уже сказал - если будет нужна изолированность, то lxd в помощь.

раскрыть ветку (3)
Автор поста оценил этот комментарий
Тут вопрос компрометации ip адреса, если зараза начнет рассылать например спам, адрес попадет в черный список, что очень не понравится провайдеру
раскрыть ветку (2)
Автор поста оценил этот комментарий

Довольно маловероятно, что вирусня начнет рассылать спам или чего в этом роде, это уже паранойя.

Автор поста оценил этот комментарий

сейчас уже нет практически этого, эра таких виусов ушла.

Автор поста оценил этот комментарий

Не покатит:
1. Как будете делить трафик ? А если кто торент запустит ?

2. 5 баксовая VPS будет иметь лимит по трафику и он вам не понравится а если вас будет пятеро то не понравится еще больше

3. OpenVPN - награда и проклятье пользователей и админов: пролазит в практически в любую щель (я лично проходил китайский фаервол), но тугой до ужаса, причем последнее отрицается разработчиками -они обижены на весь мир потому что никто не покупает платные версии, их даже поймали были на том что сетевой интерфейс в Windows 10mb/s, рассказывали басни "то типа так ваш виндовс отображает" пока их в код не ткнули. Счас сетевой интерфейс 100mb/s но выдавить что то интересное по скорости весьма проблематично. Потому IPSec - но там не слабых духом.

3. Не смотря на Европу - хостеры реагируют на абузы, потому если сильно влезете "в залупу" то одним емейлом роскомпозор прикроет вашу канторку.

раскрыть ветку (12)
Автор поста оценил этот комментарий

Очень покатит. Говорю, как админ такого сервиса. После введения блокировок в Украине был арендован VPS от digitalocean за $5/мес. За час настроен openvpn. VPN настроен так, что только на заблокированные в Украине сайты ходится через vpn, а все остальное по прямому соединению. Доступы разданы на работе и близким друзьям (сейчас это устройств 25). Лимит по трафику на vps за $5 терабайт в месяц.

раскрыть ветку (7)
Автор поста оценил этот комментарий
VPN настроен так, что только на заблокированные в Украине сайты ходится через vpn, а все остальное по прямому соединению

делали сами или по какому-то гайду?

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

Все делается очень просто: в конфиге сервера прописываем push "route 5.45.192.0 255.255.192.0"


И так для всех нужных ip. Тут главная проблема собрать ip и обновлять. Но сейчас можно подсмотреть у кого-то. Например, https://github.com/zhovner/zaborona_help/blob/master/config/...

раскрыть ветку (5)
Автор поста оценил этот комментарий

А почему не пользоваться доменами? Вместо ip?

Сама не пробовала, но по докам если это добавить

--allow-pull-fqdn

то все ок будет


А еще вы не напомнили из конфигов сервера убрать "push default gateway", там вроде по умолчанию весь трафик перенаправляется.


Ну или можно на клиенте прописывать route, мне кажется, так лучше. Типа свой конфиг для разных целей для каждого клиента. Млжет, он потом захочет весь трафик со смартфона, анпример, шифровать, а ноутбук не трогать?

Я бы лучше в клинетском конфиге доавила

route no-pull
route КУДАВАМТАМНУЖНО

Вроде как-то так

раскрыть ветку (2)
Автор поста оценил этот комментарий
--allow-pull-fqdn

Я тоже не пробовал и не знаю, как оно работает. Считаю, что отловить нужный ip куда проще, чем домен, когда что-то не работает. Тем более у нас некоторые приложение для своей работы используют ip яндекса, а не домены.


push default gateway

Чтобы его убрать, его нужно было сначала добавить) Я же не знаю исходные настройки сервера спрашивающего. Может у него все с чистого листа.


клиенте

Другие пользователи моего vpn вообще ничего в этом не понимают. Для большинства даже установить само клиентское приложение оказалось непосильной задачей. Там более у openvpn есть возможность на сервере задавать свои правила для каждого отдельного клиента (client-config-dir), что в моем случае куда предпочтительнее.


В любом случае openvpn довольно мощный и гибкий. Так что каждый может настраивать его исходя из своих задач.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Чтобы его убрать, его нужно было сначала добавить) Я же не знаю исходные настройки сервера спрашивающего. Может у него все с чистого листа.

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


Другие пользователи моего vpn вообще ничего в этом не понимают. Для большинства даже установить само клиентское приложение оказалось непосильной задачей. Там более у openvpn есть возможность на сервере задавать свои правила для каждого отдельного клиента (client-config-dir), что в моем случае куда предпочтительнее.

О, прикольно про индивидуальные правила, я о таком не знала O_O

Ну товарищ как бы настраивает для себя, поэтому ему все равно придется что-то ковырять и устанавливать, неважно на сервере или на клиенте. Лично для своего пользования мне кажется куда удобней делать все на клиенте, у меня, например, именно так и было - разные настройки для разных устройств.

Ну это навкрное уже кому как больше нравится


Имхо ему было бы удобнее просто заплатить за какой-нибудь готовый впн сервис и не заморачиваться.

Автор поста оценил этот комментарий

т.к. не шарю в этих делах, то вопрос насчет синтаксиса команды

5.45.192.0 - айпи заблок ресурса

255.255.192.0 - айпи впна?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

255.255.192.0 - маска подсети.

Если не умеете настраивать openvpn, но решили попробовать, то я бы советовал сделать все самому с нуля по такому гайду:

digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04

Кстати, на DO можно легко нагуглить промокод и со старта получить несколько месяцев бесплатного использования vps, что с головой хватит для тестов.

Автор поста оценил этот комментарий
Трафик делить просто: 100мбит/5 по 20 Мбит на человека. Не верх кошерночти но за 1 бакс в месяц более чем. Если нужна изолированность, то можно lxd поставить

5баксов в месяц не имеет лимитов на трафик. Там просто маломощная впска.

Пусть кроют. Собрать образ lxd и переносить на разные сервера. Плюс сообщество будет закрытым - долблебов качающих шлак жуткий банить сами будем.
3
Автор поста оценил этот комментарий

Да, openvpn тугой, похлопать в ладоши не удастся.

раскрыть ветку (2)
Автор поста оценил этот комментарий

А шо такое - сударь фанат OpenVPN потому шо "Open" ? Таки StrongSwan покошерней будет и нету 5 колеса в openssl + kernelmode жмет и 60-70-80 Mb/s

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
сударь не фанат вообще впн. Потому что не пользуется им. Но при знакомстве с ним сделал для себя определенные выводы, на который Вам, мой дорогой никак не повлиять ни минусиками ни своим псевдосарказмом.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку