Данные к докладу на CryptoInstallFest 5 (22 сентября 2018).
Предположительно:
- МаксимаТелеком или аплинки (МТС? Мегафон?) слушают трафик в поисках 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
- 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 минут
- сообществу CTF в Петербурге за королевский подгон багофичи сети
MT_FREE
в МосМетро - Неугомонному Филу и его источникам за данные о "выгрузках"
- Дмитрию R16 Морозовскому за данные о "дельтах"
- проекту RIPE Atlas и операторам зондов за измерительный инструмент