Chiny zaczęły blokować połączenia HTTPS nawiązywane przy użyciu TLS 1.3 i ESNI

Chiny wdrożone blokowanie wszystkie połączenia HTTPS korzystające z protokołu TLS 1.3 i rozszerzenia TLS ESNI (Encrypted Server Name Indication), które zapewnia szyfrowanie danych o żądanym hoście. Blokowanie odbywa się na routerach tranzytowych zarówno dla połączeń nawiązywanych z Chin do świata zewnętrznego, jak i ze świata zewnętrznego do Chin.

Blokowanie odbywa się poprzez upuszczanie pakietów od klienta do serwera, a nie przez podstawienie pakietów RST, które było wcześniej wykonywane przez blokowanie selektywne według zawartości SNI. Po uruchomieniu blokowania pakietu za pomocą ESNI wszystkie pakiety sieciowe odpowiadające kombinacji źródłowego adresu IP, docelowego adresu IP i numeru portu docelowego są również blokowane przez 120 do 180 sekund. Połączenia HTTPS oparte na starszych wersjach TLS i TLS 1.3 bez ESNI są dozwolone jak zwykle.

Przypomnijmy, że w celu zorganizowania pracy na jednym adresie IP kilku serwisów HTTPS stworzono rozszerzenie SNI, które w wiadomości ClientHello przesyłanej przed zainstalowaniem szyfrowanego kanału komunikacji przekazuje nazwę hosta w postaci zwykłego tekstu. Funkcja ta umożliwia po stronie dostawcy Internetu selektywne filtrowanie ruchu HTTPS i analizowanie, które strony otwiera użytkownik, co nie pozwala na osiągnięcie pełnej poufności podczas korzystania z protokołu HTTPS.

Nowe rozszerzenie TLS ECH (dawniej ESNI), którego można używać w połączeniu z TLS 1.3, eliminuje to niedociągnięcie i całkowicie eliminuje wyciek informacji o żądanej witrynie podczas analizy połączeń HTTPS. W połączeniu z dostępem poprzez sieć dostarczania treści, korzystanie z ECH/ESNI umożliwia również ukrycie przed dostawcą adresu IP żądanego zasobu. Systemy kontroli ruchu będą widzieć tylko żądania kierowane do sieci CDN i nie będą mogły zastosować blokowania bez fałszowania sesji TLS. W takim przypadku w przeglądarce użytkownika zostanie wyświetlone odpowiednie powiadomienie o fałszowaniu certyfikatu. DNS pozostaje możliwym kanałem wycieku, ale klient może użyć DNS-over-HTTPS lub DNS-over-TLS, aby ukryć dostęp klienta do DNS.

Naukowcy już to zrobili ujawnił Istnieje kilka obejść pozwalających ominąć chińską blokadę po stronie klienta i serwera, ale mogą one stać się nieistotne i należy je traktować jedynie jako rozwiązanie tymczasowe. Na przykład obecnie tylko pakiety z identyfikatorem rozszerzenia ESNI 0xffce (nazwa_serwera_zaszyfrowanego), który został użyty w piąta wersja projektu standardu, ale na razie pakiety z bieżącym identyfikatorem 0xff02 (encrypted_client_hello), proponowane w siódmy projekt specyfikacji ECH.

Innym obejściem jest zastosowanie niestandardowego procesu negocjacji połączenia, np. blokowanie nie działa, jeśli wcześniej zostanie wysłany dodatkowy pakiet SYN z nieprawidłowym numerem sekwencyjnym, manipulacje flagami fragmentacji pakietów, wysyłanie pakietu zarówno z FIN, jak i SYN ustawionych flag, zastąpienie pakietu RST nieprawidłową kwotą kontrolną lub wysłanie przed rozpoczęciem negocjacji połączenia pakietowego z flagami SYN i ACK. Opisane metody zostały już zaimplementowane w postaci wtyczki do zestawu narzędzi Genewa, rozwinięty ominąć metody cenzury.

Źródło: opennet.ru

Dodaj komentarz