Результаты тестирования разных DPI Роскомнадзором

В конце 2017-начале 2018 года Роскомнадзор провёл тестирование 12 комплексов DPI для провайдеров, с целью проверки эффективности блокировок, правильной работы комплексов с реестром, выявления и документирования пропусков заблокированных сайтов.

http://www.rkn.gov.ru/communication/p922/

В документах содержатся типовые схемы подключения DPI в сеть, информация о разных моделях, режимах работы и пропускной способности.
Кое-где можно встретить более глубокие технические подробности.

На всякий случай, прикладываю результаты тестирования всех DPI, если их вдруг удалят с сайта. Перегнал все TIFF’ы в PDF.

01_equila.pdf (2.0 MB)
02_cyberfilter.pdf (1.5 MB)
03_barier.pdf (646.3 KB), 03_berier_trebovaniya.pdf (2.3 MB)
04_admfilter.pdf (1.7 MB)
05_zapretservice.pdf (1.3 MB)
06_ideco_selecta_isp.pdf (1.4 MB)
07_carbon_reductor_dpi.pdf (1.0 MB)
08_skydns_zapret_isp.pdf (1.5 MB)
09_tiksen_blokirovka.pdf (2.1 MB)
10_skat.pdf (1.2 MB)
11_ecofilter.pdf (1.3 MB)
12_ubic.pdf (1.5 MB)

2 Likes

Мои небольшие заметки о разных DPI.
Используемая терминология:

in-path = установка DPI в разрыв = активный DPI = man-in-the-middle
on-path = установка DPI с зеркалированием оптическим сплиттером или программно = пассивный DPI = man-on-the-side

СПАК “Equila”

От компании napalabs

  • Поставляется в виде программно-аппаратного комплекса
  • До 80 Gbit/s (на сайте написано про 80, в документе — до 160).
  • Поддерживает режимы подключения: in-path, двусторонний on-path («пассивный» DPI, в который зеркалируется и входящий, и исходящий трафик оптическим сплиттером или программно), односторонний on-path (зеркалируется только исходящий клиентский трафик)
  • Помимо блокировок может осуществлять QoS, кеширование, родительский контроль и внедрение рекламы

CyberFilter

Компания CyberFilter

  • Поставляется в виде ISO-образа для установки на обычные серверы
  • Перенаправляет трафик на себя через BGP или DNS RPZ
  • 3 разных варианта подключения: облачный, прокси у провайдера, программно-аппаратный комплекс
  • 25+ Gbit/s (в случае программно-аппаратного комплекса. Видимо, имеется в виду общая пропускная способность провайдера, а не возможности обработки ПАК.)

Есть Wiki. Из FAQ:

Как происходит фильтрация ?

  1. Запросы пользователя перенаправляются на фильтрующий сервер. Перенаправление может осуществляться через маршрутизацию (основной способ) или через DNS RPZ (дополнительный способ).

  2. Фильтрующий сервер проверяет наличие запрашиваемого ресурса в реестрах запрещенных сайтов и либо пропускает запрос, либо выводит сообщение, что ресурс заблокирован.

Как обрабатываются протоколы отличные от HTTP/HTTPS ?

  • если перенаправление произошло через маршрутизацию и ресурс НЕ блокируется по IP, то запрос пропускается (с использованием NAT)

  • если перенаправление произошло через DNS RPZ, то запрос блокируется

Как обрабатывается HTTPS ?

  • запросы к сайтам, которые размещены на тех же IP, что и ресурсы из реестра - пропускаются

  • запросы к сайтам из реестра блокируются без вывода сообщения (вывод сообщения может быть настроен дополнительно, но браузер пользователя будет «ругаться» на сертификат)

  • запросы по HTTPS к youtube.com пропускаются

Барьер

От компании NVision

  • Поддерживается установка in-path и on-path.
  • Внедрён у МТС Москва (по информации из документа)

По этому DPI почти нет информации в интернете.

ADM Filter

От компании АМД СИСТЕМЫ
ADM_Filter_2.1.9.25_2.2.13.pdf (831.7 KB)

  • Поставляется в виде программно-аппаратного комплекса
  • До 80 ГБит/с
  • Устанавливается только in-path
  • Также реализует родительский контроль и QoS
  • Поддержка HTTP/2 и QUIC

Фильтрация WEB-ресурсов выполняется путем поиска соответствия в списке Роскомнадзора по IP-адресу, доменному имени и полному указателю страницы.
Список Роскомнадзора выгружается раз в час через XML-интерфейс.
Блокировка по доменному имени выполняется в случае, если в XML-списке отсутствует полный указатель страницы. Блокировка по IP-адресу выполняется, если в XML-списке отсутствует и полный указатель страницы, и доменное имя ресурса.
Проверка выполняется для фрагментированных IP-пакетов и сегментированных блоков данных на уровне TCP.

ZapretService

«Игрушечный» комплекс от компании ZapretService.
Доступна пробная версия, ISO-файл свободно скачивается с веб-сайта производителя!
zapretservice_readme.pdf (969.0 KB)

  • Поставляется в виде ISO-образа для установки на обычные серверы
  • До 400 Мбит/с
  • In-path и on-path-подключение

Ideco SELECTA

DPI компании Ideco.
IdecoSelecta_Admin_Guide.pdf (2.9 MB)
SELECTA-140219-1954-6402.pdf (2.9 MB)

  • Поставляется в виде ISO-образа для установки на обычные серверы
  • До 40 Гбит/с
  • 4 варианта установки: in-path, BGP, WCCP (GRE), режим роутера

Carbon Reductor DPI X

DPI компании Carbon Soft
Доступна пробная версия, ISO-файл и Flash-образ свободно скачивается с веб-сайта производителя!
Доступна подробная документация от производителя.

  • Поставляется в виде ISO-образа для установки на обычные серверы
  • Предназначен для обработки ~10 Гбит/с
  • Устанавливается только on-path
  • Осуществляет блокировку записей, заблокированных по IP-адресам и диапазонам, через BGP/OSPF, blackhole.
  • Блокирует доменную зону целиком (если в реестр внесён домен второго уровня, то любой поддомен этого домена будет блокироваться)
  • Имеет интересный модуль «Избежание частичных блокировок популярных ресурсов», исключающий из DNS-ответов заблокированные IP-адреса, если ответ содержит несколько адресов (заблокированных и незаблокированных в одном ответе).
  • Умеет выявлять неизвестные протоколы и отправляет информацию о них разработчику

Это сообщение всё ещё дописывается

1 Like

Translation: “A trial version is available, an ISO file and a Flash image can be downloaded freely from the manufacturer’s website!”

This is a great find! About 40 GB of .iso and .img files (some of them duplicates) are available under the download directory:

Assuming this software runs on a standard PC or server, it could make a good subject for study. Perhaps you could install it (on an isolated network) and test how it handles various types of traffic. I would be interested in testing ValdikSS’s final bullet point:

These are the sha256sums I got for the files available for download:

122953c1331b0907eb1c3188fe0d9ec359d28cfdd693718d33bc0b20b9d1f4ca  Carbon_Billing_x64.img
0c1f9505c5481e64f13f5c5507c9a48e6136cce7b2029f8b1c22fc2f91cc9e35  Carbon_Billing_x64.img.md5
122953c1331b0907eb1c3188fe0d9ec359d28cfdd693718d33bc0b20b9d1f4ca  Carbon_Billing_x64.iso
0c1f9505c5481e64f13f5c5507c9a48e6136cce7b2029f8b1c22fc2f91cc9e35  Carbon_Billing_x64.iso.md5
122953c1331b0907eb1c3188fe0d9ec359d28cfdd693718d33bc0b20b9d1f4ca  Carbon_Billing_x64.iso.upload
953eb4a76b14208c41fc376e58a1ba2cd7512e0a76a4934a701e41a0f8b1c6b9  Carbon_install_51393029.iso.md5
14c063d94d1430bf25b9c4668110f183f409e703d4f14690d9b9b3c08f38e43a  Carbon_install.iso
14c063d94d1430bf25b9c4668110f183f409e703d4f14690d9b9b3c08f38e43a  Carbon_Install.iso
13370ebeba065cced80904aa73133a9cd3b5b00edba01ef416f03f5690376228  Carbon_install.iso.md5
13370ebeba065cced80904aa73133a9cd3b5b00edba01ef416f03f5690376228  Carbon_Install.iso.md5
d67ef01894aaecd5ce6dfee1f63ef03ca3b6ddd343ff97d87e7158f5f8c98101  CarbonPlatform_devel_1.iso
970ad34a567b7d027528b3e163cfb1c435299fea01e7bebe373599273bab2ffc  Carbon_Reductor_integra_x64.iso.new
34b5f9e271ec7e873ca9bc81384fed95c04261d753b7ebf849e5e7aa9347ed55  Carbon_Reductor_integra_x64.iso.upload
bc5c5fb383cdbd2e86edaa031a48068acca5e604e927c77a7da1a9983bc35f7f  Carbon_Reductor_weirded_x64.iso
bc5c5fb383cdbd2e86edaa031a48068acca5e604e927c77a7da1a9983bc35f7f  Carbon_Reductor_weirded_x64.iso.upload
a42d7809f5eea053935f7f246d4c7cab6eca74c07543d6a571f3cc3ea7fe58df  Carbon_Reductor_x64.img
a62d347e6554bebc8be693b214cf1cdc460ec25a338c71c9370096c6fb9e3b3c  Carbon_Reductor_x64.img.md5
a42d7809f5eea053935f7f246d4c7cab6eca74c07543d6a571f3cc3ea7fe58df  Carbon_Reductor_x64.iso
a62d347e6554bebc8be693b214cf1cdc460ec25a338c71c9370096c6fb9e3b3c  Carbon_Reductor_x64.iso.md5
a42d7809f5eea053935f7f246d4c7cab6eca74c07543d6a571f3cc3ea7fe58df  Carbon_Reductor_x64.iso.upload
78982e954d4d00fc217063e0e229ff359aa87f78b219ad9a405def01f81da3d6  index.html

Actually I tested it several (2-3?) years ago a bit, in a VM. I remember running blockcheck on it, maybe goodbyedpi too.
The software didn’t have functionality to detect unknown traffic at that time.

I believe they’ve added it when Telegram started to use MTProto proxies, because the wiki says:

“Euristic DPI” option

With this option you can improve filtering quality of complex protocols, like the encrypted messengers’ traffic.
With the aid of proactive analysis, Carbon Reductor DPI X is able to block only what’s needed, which would improve your customers’ Internet quality, decreasing the number of blocks due to indecent resources.
We’re discussing the details of this option with Roscomnadzor right now.

Roscomnadzor was blocking my unencrypted HTTP proxy servers since November to the end of July, once in every 4-14 days. They’ve silently added IP addresses of the proxy servers to the registry, insisted that my IP addresses are used in Telegram infrastructure and refused to provide any details or proofs. I was running an experiment to understand what’s going on, how do they detect proxy servers and what triggers the detection.
At that time, I had two hypotheses: either they get dump of all IP addresses and ports the customers visit (netflow), and then recheck every IP-port combination as HTTP proxy without authentication, or they get some kind of exported data from DPI manufacturer or from DPI itself (Telegram, if used with HTTP proxy, has a very distinct fingerprint: it just uses HTTP Post request with the pattern of POST http://1.2.3.4:80/api, at least the desktop version at that time).
I tend to believe the latter during my experiment, and now I’m sure it was either Carbon Reductor or EcoDPI (Roscomnadzor’s “recommended DPI system”) data.