All Projects → darkk → rkn-git-flow

darkk / rkn-git-flow

Licence: other
О сниферах в московском метро и бранчах блоклистов РКН

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to rkn-git-flow

where-is-resolver
Попытка ответить на вопрос о резольверах, проверяющих домены из списка РКН
Stars: ✭ 49 (+96%)
Mutual labels:  metameta

Данные к докладу на 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 минут

Спасибо

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].