Найти в Дзене
птица говорун

ТСПУ — подделка китайской поделки.

вы наверное в последние время часто слышали аббревиатуры ТСПУ или DPI (Deep Packet Inspection). суть технологий скрывающимися за этими аббревиатурами фильтрация трафика. начнём с последней ведь ТСПУ на ней основана. DPI — технология анализа сетевого трафика. в отличие классического FireWall может анализировать не только заголовок пакета, но и его содержимое. что это значит на практике? ну например можно запретить все пакеты содержащие слово «Алиса». сейчас эта технология активно используется для Internet цензуры. например есть некая CDN узлы имена которых имеют вид: rr1---sn-2vqgt5q-88vs.googlevideo.com как видно по имени узла фильтровать что-то бесполезно, но зато узлы имеют общую часть — имя домена: «googlevideo.com». это то что надо для такой цензуры. правда придётся ввести ещё одно определение — SNI. SNI идентифицирует сервер с котором устанавливается защищеное соединение TLS (Transport Layer Security). в вииду того что практически весь веб использует TLS нужно просто отбрасывать
Оглавление

вы наверное в последние время часто слышали аббревиатуры ТСПУ или DPI (Deep Packet Inspection). суть технологий скрывающимися за этими аббревиатурами фильтрация трафика. начнём с последней ведь ТСПУ на ней основана.

DPI — технология анализа сетевого трафика. в отличие классического FireWall может анализировать не только заголовок пакета, но и его содержимое. что это значит на практике? ну например можно запретить все пакеты содержащие слово «Алиса». сейчас эта технология активно используется для Internet цензуры.

например есть некая CDN узлы имена которых имеют вид:

rr1---sn-2vqgt5q-88vs.googlevideo.com

как видно по имени узла фильтровать что-то бесполезно, но зато узлы имеют общую часть — имя домена: «googlevideo.com». это то что надо для такой цензуры. правда придётся ввести ещё одно определение — SNI.

SNI идентифицирует сервер с котором устанавливается защищеное соединение TLS (Transport Layer Security). в вииду того что практически весь веб использует TLS нужно просто отбрасывать пакет содержащий цензурируемый SNI. для HTTP2 cоединение HTTPS по верх соединения TLS. т.е. если невозможно установить соединение TLS то не будет установлено соединение HTTPS.

некоторое исключение составляет протокол QUIC, но и для него есть попытки применения цензуры, о чем я скажу ниже.

учитывая что сейчас практически весь веб HTTPS таким образом можно блокировать сайты. для HTTP ситуация даже худшая. ведь в отличие от HTTPS, данные в HTTP передаются в открытом виде. т.е. можно заблокировать страницу содержащее слово «мама». разберём пример работы DPI на простом примере.

я приведу простой пример выделения некоторой последовательности бит. в DPI происходит тоже самое, но для наглядности я немного упрощу пример.

01010010000101010101 — содержимое пакета
00000000011111110000 — выделяем фрагмент маска 1 логическое «AND»
00101010 —
DPI выделил фрагмент для сравнения.
00101010 — нужно определить равенство. применим логическое «XOR»
00000000 — результат операции «XOR». применим инверсию результат равен «0» инверсия «1» — истина — фрагмент найден.

на практике все немного сложнее. например представляете сколько бит составляет полезная нагрузка пакета? надо все все за маскировать и сравнить — это отдельная инженерная задача.

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

вариант наших китайских товарищей.

взламываем QUIC initial. надстройка над классическим FireWall.

перехватывается пакет QUIC initial при этом сам пакет «отпускается», но запоминаются адрес получателя и адрес/порт отправителя. сам пакет зашифрован детерминированным алгоритмом — его сравнительно легко расшифровать — ключ извлекается из DCID который передаётся в открытом виде. этим клюём можно расшифровывается QUIC initial. в общем-то точно такую же операцию проделывает легальный сервер.

работа ведётся с копией пакета. файрвол выполняет алгоритм сервера — извлекает из DCID ключ и расшифровывает QUIC initial, извлекает из него SNI. если SNI принадлежит к списку заблокированных SNI, то фаирвол «вспоминает» адрес получателя и адрес/порт отправителя и все последующие пакеты этой сессии будут молча отбрасываться на протяжении всего времени жизни соединения или тайм-аута блокировки.

вроде бы решение идеально. НО. системе нужны большие вычислительные ресурсы в условия интенсивного трафика, систему можно закидывать бесполезными поддельными QUIC initial которые будут её только бесполезно нагружать.

кроме того возможен случай использования ECH. ECH шифрует SNI с помощью стандартных криптографических алгоритмов (используется комбинация асимметричного и симметричного шифрования открытый ключ распространяется в DNS). для его взлома на сегодняшний день нужны нереалистично большие вычислительные мощности для подбора ключа. можно сказать, а как же квантовые компьютеры? но угроза квантовых компьютеров — это будущая проблема для всей современной криптографии, а не что-то специфичное для ECH

ТСПУ — жалкое подобие.

По некоторым данным, ранние версии ТСПУ не справлялись с анализом QUIC, однако можно предположить, что современные реализации используют методы, аналогичные описанным выше.

стоит заметить что такая логика работы системы является источником мифов т.к. реакция системы на разрыв соединения отложенная - пока система выяснит принадлежность SNI к списку запрещённых некоторое количество данных успевает пройти. как нетрудно догадаться чем нагрузка на систему выше тем данных проходит больше. такая задержка обывателям видеться искусственным ограничением. я слышал о цифрах толи 16 килобайт, толи 10%.

ТСПУ это российская реализация DPI с акцентом на блокировку трафика, сделанная идеологически близко к китайскому решению. хотя я считаю решение более уязвимо.

как вы наверно уже поняли чтобы сбить с толку маску DPI достаточно разложить SNI по разным пакетам, но сервер должен снова это собрать фрагменты воедино. поэтому стандартное решение это TCP сегментация. и именно поэтому, чтобы как то противодействовать "продвинутым пользователям" ТСПУ собирает фрагменты.

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

однако в последне время часто можно слушать об якобы ограничении на XX килобайт, что дает основания предположить, что в своём отчаянье РКН пытается скопировать китайское решение под копирку. но как я говорил выше китайское решение имеет врождённые проблемы — можно легко задосить, кроме того есть ещё некоторое количество методов преодоления ТСПУ без VPN о которых я скромно промолчу.

в целом же интернет цензура бед айдия.

текст создан при экспертной поддержке DeepSeek

P.S.
видимо осознав что при помощи DPI заблокировать обычный трафик невозможно РКН перешёл на блокировку сокетов (используется пакетный фильтр с интеллектуальной надстройкой) метод получил в народе название "белые списки". систему обмануть сложнее, но она тоже имет принципиальные ограничения, об одном из них говорилось в заметке - это особая чувствительность к DoS атаке.