Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 5.72 KB

README.md

File metadata and controls

69 lines (52 loc) · 5.72 KB

Данные к докладу на CryptoInstallFest 5 (22 сентября 2018).

tl;dr

Предположительно:

  • МаксимаТелеком или аплинки (МТС? Мегафон?) слушают трафик в поисках Socks5 проксей
  • по результатам "прослушки" ходит сканер
  • некоторые провайдеры блокируют IP адреса раньше, чем РКН добавляет адрес в "общие" выгрузки

славный график

Детали

При использовании Socks5 для соединения с Telegram из сети MT_FREE Московского Метро (провайдер МаксимаТелеком) через полчаса-час на адрес Socks5 приходит сканер с адреса 178.176.30.221 из "клиентской" сети Мегафона, судя по PTR записям вида clients-221.30.176.178.misp.ru..

Сканер портов проверят доступность TCP порта полу-открытым сканированием (SYN, SYN-ACK, RST). После успешной проверки сканер пытается установить Socks5 соединение с сервером из подсети Telegram 91.108.56.186:443 и произвести обмен данными с ним.

Через час-полтора после прихода сканера НЕКОТОРЫЕ провайдеры начинают блокировать доступ к просканированному серверу: МГТС, МТС, Мегафон, Yota, Билайн и др.

Ещё через час-полтора IP адрес появляется в "выгрузке" и "дельтах", при этом отметка времени ts у IP-адреса соответствует времени появления в выгрузке и "отстаёт" от времени начала блокировки на выделенных провайдерах.

Механика эксперимента

  • установить haproxy, перенаправляющий Socks5 и TLS трафик на разные бэкенды (nginx с preread работать не будет, т.к. он читает минимум 5 байт, а первый пакет хэндшейка Socks5 — 3 или 4 байта)
  • выделить зонды RIPE Atlas в России, которые находятся в сетях, фильтрующих по списку РКН
  • запустить измерение SSLCert на сервер с этих зондов с периодичностью 3 минуты для проверки доступности TCP порта
  • перевести телефон в оффлайн
  • сконфигурировать Telegram на использование сервера
  • подключиться к сети MT_FREE в метро, сделать круг по кольцевой линии, отключиться от MT_FREE
  • удалить прокси-сервер из Telegram клиента (чтоб случайно не подключиться к нему через оператора сотовой связи или другого провайдера)
  • подождать несколько часов и завершить измерение через RIPE Atlas

Таймлайн эксперимента s5tg-01

  • 00:32 приход сканера
  • 00:47 наблюдается блокировка на Yota
  • 00:52 наблюдается блокировка на МГТС
  • 01:38 в выгрузке с updateTime="2018-09-20T01:38:00+03:00" ещё нет блокировки
  • 01:57 блэкхол на looking glass Beeline
  • 03:07 в "предыдущей" выгрузке с updateTime="2018-09-20T03:07:00+03:00" всё ещё нет блокировки
  • 03:30 <ip ts="2018-09-20T03:30:00+03:00">45.56.118.171</ip> — первая известная выгрузка с блокировкой данного IP

Графики по другим эксприментам с данными RIPE Atlas:

  • s5tg-02, "предыдущая" выгрузка отстоит от ts на 4 минуты
  • s5tg-03, —"— на 4 минуты
  • s5tg-04, —"— на 5 минут
  • s5tg-05, —"— на 11 минут

Спасибо