[ON] Проект Geneva развивает движок для автоматизации обхода цензурирования трафика

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Ответить
Аватара пользователя
rssbot
Бот
Сообщения: 6002
ОС: gnu/linux

[ON] Проект Geneva развивает движок для автоматизации обхода цензурирования трафика

Сообщение rssbot »

Исследователи из Мэрилендского университета в рамках проекта Geneva предприняли попытку создания движка для автоматизации определения методов, применяемых для цензурирования доступа к контенту. Вручную пытаться перебрать возможные бреши систем глубокого инспектирования пакетов (DPI) достаточно трудный и долгий процесс, в Geneva попытались использовать генетический алгоритм для оценки особенностей DPI, определения ошибок в реализации и выработки оптимальной стратегии обхода блокировки на стороне клиента. Код проекта написан на языке Python.

Применяемое для блокировки DPI-оборудование имеет свои недоработки, позволяющие скрыть обращение к запрещённому ресурсу или избежать блокировки. Например, в простейшем случае при организации блокировки через подстановку фиктивного ответа (применяется пассивными DPI) достаточно на стороне клиента отбросить фиктивный ответ, отправленный DPI. В случае применения активного DPI можно попытаться скрыть сам факт обращения к заблокированному сайту, немного видоизменив параметры HTTP-запроса (например, добавив лишний пробел после "GET"), разделив на несколько пакетов данные согласования TLS-соединения или выполнив атаки TCB Teardown и TCB Desync. Суть упомянутых атак в отправке клиентом вначале фиктивного пакета с данными или флагами RST/ACK, который не получит целевой хост, но поймает DPI, примет на его основе решение и не станет анализировать идущий следом пакет с реальным запросом (например, в фиктивном первом пакете можно указать другой SNI, а для скрытия этого пакета от целевого хоста можно выставить низкий TTL, а также некорректную контрольную сумму, флаги или номер последовательности TCP).

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

Работа Geneva успешно опробована для обхода методов цензурирования, применяемых в Китае, Индии и Казахстане, в том числе при помощи Geneva было выявлено несколько новых брешей, о которых не было известно до этого. При этом Geneva эффективен только для обхода блокировок на основе DPI, при блокировании по IP-адресам он бесполезен и без VPN не обойтись. В ходе экспериментов выявлено несколько десятков типовых стратегий обхода DPI, которые можно протестировать сразу без проведения полного анализа, например:

Код:

python3 engine.py --server-port 80 --strategy "[TCP:flags:PA]-duplicate(tamper{TCP:dataofs:replace:10} tamper{TCP:chksum:corrupt},),)-|" --log debug
2020-01-24 20:54:41 DEBUG:[ENGINE] Engine created with strategy \/ (ID bm3kdw3r) to port 80
2020-01-24 20:54:41 DEBUG:[ENGINE] Configuring iptables rules
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A OUTPUT -p tcp --sport 80 -j NFQUEUE --queue-num 1
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A INPUT -p tcp --dport 80 -j NFQUEUE --queue-num 2
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A OUTPUT -p udp --sport 80 -j NFQUEUE --queue-num 1
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A INPUT -p udp --dport 80 -j NFQUEUE --queue-num 2



Источник: https://www.opennet.ru/opennews/art.shtml?num=52249
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 25.01.2020 12:05, всего редактировалось 2 раза.
Причина: Updated upstream
Спасибо сказали:
Ответить