✏️ ️Посты 🌍 Путешествия Подписаться 👍 Донат
🔍
👤
25 апреля 2018
Битва за Телеграм. Как устроены блокировки в России и Китае. Почему это всё не работает

🎶  Трек недели: Horus — Желтая Стрела. В заблокированном телеграме я писал чем он прекрасен.

Привет, Олимпийский!

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

Последний раз было это ощущение в 2014-м. Евро по сто, двушечки, загранпаспорт. Но любую подобную ситуацию можно и нужно использовать с умом. Нет, я не имею в виду смешнее шутить в твиттере. Уже? Ладно.

Итак, Телеграм. Эта битва прекрасна. С одной стороны технологии и звёздная команда телеграма во главе с Дуровым и его специальностью «Пропаганда и психологическая война». С другой — лапоть и державное озверение, оказавшееся неуклюжим и бессильным, как сказал Невзоров на Эхе.

Каждый сам выбирает сторону в этой борьбе. Я лишь снова пытаюсь донести основы вещей. Самое неблагодарное занятие в мире, где ретвитят MDK и RT.

Тут чо это, думать надо? А в карточках есть?

Блэд, Вэстрик

Недоступность половины рунета — это тяжело, но хорошо. Больше людей узнают о прокси и шифровании, больше компаний заведет рабочий VPN. Общая образованность населения повысится. Кто не знает как обойти блокировку — тому нечего делать в 21 веке.



Комментировать
Пост, который не вышел
Как устроены блокировки

Две недели назад я готовил клёвый лонгрид об устройстве интернета на примере беспомощности блокировок. Простой рассказ с картинками — что происходит после того, как вы нажимаете Enter в браузере. Как устроена сеть, протоколы, шифрование, каналы связи (в том числе и VPN) и почему их блокируют так нелепо.

Я поделился этой идеей с тремя лучшими друзьями и они в один голос орали — НЕ НАДО, двушечка! Запостил её в телеграм, где только Даша из outlaw.center сказала, что это не запрещено и её контора юридически поможет. Остальные же рекомендовали сушить сухари и собирали меня в ГУЛАГ.

Поста не будет, но вот что меня удивило — народ реально дрожит от одной мысли о свободе слова, даже если это технический пост. Ух, ребят. Эта херня уже не «где-то там наверху». Эта херня в головах — вот что самое страшное. Окошечко сдвинулось.

В рассылке решил всё-таки проехаться по основным тезисам. Обидно, когда люди боятся и терпят.



Комментировать

Вы когда-нибудь задумывались насколько сложно выборочно блокировать интернет? Разберем на простом домашнем примере.

Помните свой прошлый роутер? Который верой и правдой служил вам лет пять, но внезапно стал так тормозить, что пришлось покупать новый, помощнее? Износился наверное. Нет, три новых смартфона в доме, умная кофеварка и подписка на порнхаб в HD никак с этим не связаны.

По сути всё, чем занимается ваш роутер — читает четыре байта из каждого пакета и решает кому отправить его содержимое. Простейшая работа, как кубики в формочки вставлять. Только пакетов этих проходит так много, что даже неплохой домашний роутер за $150 поднимает лапки на втором десятке устройств.

Теперь представьте сколько таких устройств во всём вашем городе. А во всей стране?

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



Комментировать

В Китае потратили миллиарды долларов на оборудование и добились работы внешнего интернета со скоростью примерно один мегабит. Он как бы есть, но пользоваться им невозможно. В России пошли своим путём — начали ставить блокировку не на канал, а рядом.

Систему назвали DPI — Deep Packet Inspection. Если она стоит прям на канале провайдера — это активный DPI, если параллельно — пассивный. В Китае применяют оба варианта, в России — в основном пассивный.

Когда вы запрашиваете рутрекер, запрос без каких-либо проверок улетает на сервер рутрекера. Одновременно с этим он дублируется на коробочку с DPI, чья задача проверить заблокирован ли сайт. Если да — вернуть редирект на страничку «сайт заблокирован» быстрее, чем вам ответит сам рутрекер. Протупил — проиграл, рутрекер загрузился.

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

Уже становится понятно насколько всё тупо. Ведь можно просто настроить свой компьютер отбрасывать все «редиректы» от пассивного DPI и смотреть любой запрещенный сайт. Кек.

DPI физически не успевает анализировать все пакеты, поэтому он выбирает только подозрительные. «Подозрительность» он определяет по словам «HTTP» и «Host» внутри. Причем именно в таком регистре. Если написать, скажем, «hoSt», что совершенно валидно для протокола HTTP, DPI даже не посмотрит на такой пакет. Снова кек.

Ладно, представим, что кто-то изобрел самый умный в мире DPI. Он ничего не отбрасывает, знает все тонкости HTTP и стоит полтора миллиарда. Зато ни один пакет, содержащий «Host: rutracker.org», не пройдет. Зато пройдут два пакета: «Hos» и «t: rutracker.org». Трипл кек.

Я думал не бывает цирка смешнее этого. Можете почитать подробнее в статье ValdikSS на хабре: Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Когда Роскомнадзор понял насколько нелепо были потрачены миллионы на всю эту затею с DPI, они озверели начали банить тупо по IP. В таком случае блокируется сама попытка отправить запрос и делается это обычным фаерволлом.

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

Самое смешное, что тот же Китай, на который они так равняются, прошел ровно те же этапы еще 10-15 лет назад.

Китай тоже не смог заблокировать интернет. Он сделал так, что сайтами «снаружи» стало мучительно невозможно пользоваться.
И подождал 20 лет.

Раз уж Китай впереди планеты всей, заглянем на 10 лет вперед и посмотрим что нас ждет:

  • Активные DPI на граничных магистралях. Как виза в интернет. Китайцы не пользуются внешними сервисами потому что они практически не грузятся.
  • Полный запрет прокси и VPN. Китайский Роскомнадзор следит за всеми новыми VPN и заранее банит их.
  • Подмена DNS (DNS Hijacking). Еще с 2002 года Китай начал фильтровать ответы корневых DNS серверов и подделывать их. К 2007 году в стране не осталось DNS, которые бы не управлялись правительством. Все внутренние DNS провайдеров общаются только с доверенным списком серверов. Одно время даже домен google.com вёл на китайский поисковик Baidu, что нехило повысило его популярность.
  • Поиск запрещенных иероглифов в пакетах. Китайцам «помог» их собственный язык. Если даже на разрешенном сайте DPI увидит иероглиф, связанный с запрещенными политическими событиями, он разорвёт соединение и настучит куда надо. Как хорошо, что в русском и английском языках так не получится.
  • Рандомные разрывы соединений. «Не можешь запретить — сделай жизнь невыносимой». Смотреть ролики на ютюбе китайцы бы не смогли, даже не будь он заблокирован. Их пассивный DPI просто рвет в случайных местах внешние UDP-потоки.

Вот хрошая статья 2017 года про историю и устройство блокировок в Китае. Автор собрал много источников: Золотая Цензура Китая



Комментировать

Заблокировать страничку можно по её адресу (URL), по домену сайта или по IP всего сервера. Роскомнадзор не регулирует какой способ будут использовать провайдеры, потому что сам понятия не имеет как они работают.

Когда сайт запрещают, он попадает в «выгрузку». Это табличка, в которой указаны URL, домен, IP и подсеть. Провайдеры должны за три дня заблокировать всё это любым способом, иначе штраф.

Всех провайдеров обязали купить специальную коробочку «Ревизор», которая проверяет заблокированы ли сайты и пишет доносы. Сделана она на базе самого дешевого роутера TP-LINK за 1500 рублей (на разработку потрачено 84 миллиона). Делали её настолько жопорукие кривозады, что местами там внутри очень смешно. Почитайте: Исследуем «Ревизор» Роскомнадзора

Четыре дня назад, когда в выгрузку попало 18 млн IP, этот Ревизор у всех провайдеров офигел и завис. Роскомнадзор направил всем Официальное Требование перезагрузить его :D

Вот три способа заблокировать сайт. Актуальны везде — в Иране, Сирии, Китае и, конечно, в России.

Самый ранний и наименее деструктивный способ. Позволяет не блокировать весь сайт (например YouTube), а запрещать только отдельные странички. Но вот незадача — при использовании протокола HTTPS, никто, кроме вас и сервера YouTube не видит адрес запрашиваемой странички. Он передается в зашифрованном виде и это основа всей безопасности в интернете. Иначе бы злоумышленники давно всё расшифровали и украли ваши кредитки.

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

Способ, который применяют сейчас. В каждом пакете есть IP адрес отправителя — любой фаерволл может его прочитать и заблокировать. Проблема в том, что на одном IP может быть много всего. Если вы поднимаете сайт где-нибудь в облаке Amazon, у вас каждый раз новый IP.

Что тогда, блокировать весь амазон? Дааа!

Блокировка по IP жестока, но легко обходится через прокси или любой шифрованный туннель — VPN, SSH, etc. Но ваша бабушка точно не будет заморачиваться, она пойдёт смотреть Вести Недели.

Домен — это набор IP-адресов в DNS. Получив «выгрузку», провайдеры загружают этот список IP из публичных DNS и блокируют их все. Если сайт сменил сервер, новый IP тоже будет заблокирован.

В 2017 из-за этого произошел крупнейший сбой, когда кто-то выкупил старый заблокированный домен и добавил туда IP адреса Яндекса, Гугла, Сбербанка и еще 200 популярных сервисов. Провайдерам ничего не оставалось, кроме как заблокировать весь интернет. От блокировок по DNS отказались.

В Китае точно такая же история произошла еще в 2008 году. В роскомнадзоре даже википедию на этот счет прочитать не смогли.



Комментировать

У телеграма есть специальный тип пуш-уведомлений, который не отображается нотифом на экране вашего смартфона (как новое сообщение), а тихо обрабатывается самим приложением в фоне. Называется он DC_Update (DC — от Data Center), через него приложение получает IP адрес нового сервера, с которым отныне общается. Раньше его использовали для ускорения работы, но на прошлой неделе у него была минута славы.

Пуш-уведомления рассылаются с серверов Apple (APNS) или Google (GCM, Firebase). Так сделано, чтобы смартфон мог держать только одно фоновое соединение, не бегая по серверам каждого приложения отдельно. Телеграм говорит серверам Apple «пошли такой-то пуш такому-то пользователю» и Apple посылает.

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

Есть только два способа это прекратить:

  1. Запретить Apple и Google рассылать пуш-уведомления телеграма. Но это требование незаконно. Максимум на что они пойдут — удалят приложение из сторов для российских аккаунтов, но это никак не скажется на работе пуш-уведомлений.
  2. Заблокировать сами пуш-сервера. Тогда на всех телефонах в России перестанут работать все пуш-уведомления. Добро пожаловать в каменный век!

Телеграм может и дальше перебирать IP адреса пока они вообще не закончатся. 20 млн IP — это меньше 1% от их общего количества. Есть еще куда стремиться. Будет хуже.

Учитесь!



Комментировать

Давно задумывался. Вот как себя чувствовали после Второй Мировой немецкие учёные и инженеры, изобретавшие газовые камеры и другие машины убийств в Освенциме?

Это не очередная ложная аналогия с нацизмом, вопрос в другом — в этике. К тем, кому грозил концлагерь, вопросов нет. В Роскомнадзоре же работают живые свободные программисты, вот типа меня. Их семьям никто не угрожал, они получают рыночную зарплату и явно не дурачки. Они знали куда шли на собеседование, знали чем будут заниматься — лишать свою собственную страну интернета. Того самого интернета, благодаря которому они стали программистами и вообще здесь востребованы.

Как они себя ощущают сейчас? Что говорят вечером своему сыну, когда он спрашивает «Папа, а почему у меня ютюб не работает?». Кидают ли друг-другу мемчики в телеграм? Без иронии, хотел бы хоть с одним пообщаться или взять интервью. Жаль, в ближайшее время это невозможно. Но пройдет пять-десять лет, Роскомнадзора не станет, а мемуары этих ребят разойдутся миллионными тиражами за границей. Ну, тех, у кого хватит смелости их написать.



Комментировать

Тебе там легко, ты за границей.

Любой, кто понимает как работает пропаганда, знает её следующий шаг. СМИ будут убеждать нас, что телеграм успешно заблокирован и им никто не пользуется.

  1. Еще активнее использовать телеграм. Заведите там канал по фану. Не дайте пропаганде ни одной зацепки. Так уже было с рутрекером.
  2. Не пожалеть $60 и купить TunnelBear на год. Завернуть через него весь трафик, даже на телефоне. Я всегда так делаю. Не только в России, где без него вообще невозможно. Даже в путешествиях, чтобы обезопасить себя на публичных WiFi. Так я писал итоги года, сидя в Берлинском отеле.
  3. Либо не бояться открыто выражать свою позицию, либо валить. Выбирайте по-вкусу, оба варианта равнозначны. Скоро у меня будет серия постов про миграцию, но я всегда восхищался людьми, которые осознанно остались.


Комментировать

BuzzFeed с помощью нейросетей сделал фейковое видео, чтобы доказать — в интернете нельзя верить ничему. В нём Обама называет Трампа неумехой, и призывает людей проверять источники.

Как показывает мой опыт и наш чатик — эти призывы так же беспомощны, как попросить наркомана чуть меньше колоться. Мой совет давно один — не читайте новости вообще. Отпишитесь от них. Важные события и так до вас дойдут.

Заметили, как в воздухе запахло иронией? Сайт с мемами учит нас проверять источники. Сразу между статьями «как определить характер человека по тому, как он готовит макарошки» и «10 лучших гаджетов для экзорцизма».



Комментировать

Держите инсайд. За прошлый месяц я собрал аж 5480 рублей. Не считая патреона, с которого до сих пор не знаю как выводить. Такой вот я миллионер. Каждый ваш донат важен и нужен, даже самый минимальный.

Огромное спасибо этим ребятам:

  • Кирилл Олейниченко с рассылкой «Дизайнерский дайджест». После моего прошлого выпуска он пообещал написать там свой список трендов в дизайне. Жду.
  • Иван Капустин, instagram: goodq.art
  • Валентин Еремин
  • Спиридон Робакидзе
  • Александр Пушков
  • Светлана Дмитриева
  • Денис Артамонов
  • Александр Вилько
  • И мои любимые патроны: Никита Прокоповgrumpy.website, Николай Белоусов, Катя Петрова, Дима Муратов

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



Комментировать
Еще? Тогда вот