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

Изследователи от Университета в Мериленд в рамките на проекта 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 развива автоматизиран двигател за обхождане на цензурирането на трафика align=top

Работата на 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] Двигателят е създаден със стратегия \/ (ID bm3kdw3r) към порт 80
2020-01-24 20:54:41 DEBUG:[ENGINE] Конфигуриране на правила за iptables
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

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster