Meek i domain fronting: mostek Tor ukrywający się wewnątrz CDN
Każdy typ mostka w Tor Browser to ćwiczenie z kamuflażu, ale meek wybiera najbardziej ambitną drogę: w ogóle nie przekształca ruchu Tor, po prostu przenosi go w treści zwykłych żądań HTTPS kierowanych do dużej sieci dostarczania treści. Technika pod spodem, domain fronting, była kiedyś dostępna u każdego dużego dostawcy chmury. Dekadę po debiucie przetrwała zasadniczo u jednego, a wdrożenie meek-azure to ostatni z tej rodziny mostków, który wciąż widnieje w menu.
Jak domain fronting ukrywa połączenie Tor
Słabość, którą wykorzystuje domain fronting, polega na tym, że handshake TLS wręcza cenzorowi wygodną etykietę: pole Server Name Indication podaje odwiedzany serwis. Badanie Davida Fifielda i współpracowników z 2015 roku, które wprowadziło tę technikę do omijania cenzury, opisuje, jak fronting zrywa to powiązanie. Jedna domena pojawia się na zewnątrz żądania HTTPS, w zapytaniu DNS i handshake TLS, a inna domena pojawia się wewnątrz, w nagłówku Host protokołu HTTP. Cenzor widzi tylko fasadę. Nagłówek Host jest niewidoczny dla cenzora, ale widoczny dla CDN przyjmującego żądanie, który odczytuje go i przekazuje połączenie do prawdziwego celu. Zablokowanie ruchu oznaczałoby zablokowanie ruchliwego, zwyczajnego serwisu razem ze wszystkimi jego uprawnionymi użytkownikami. meek zamienia ten pomysł w mostek. Klient pakuje fragmenty ruchu Tor w żądania HTTP POST i przepycha je przez CDN z frontingiem do mostka uruchamiającego meek-server, gdzie identyfikator sesji składa strumień od nowa; gdy nic nie czeka, klient wciąż wysyła puste odpytania, żeby połączenie nie zamilkło. W pierwotnym projekcie te żądania prowadzono nawet przez prawdziwy silnik przeglądarki, dlatego badanie mogło powiedzieć o powstałym ruchu, że wygląda jak przeglądarka, bo nią jest.2018: frontowe drzwi się zamykają
Cały schemat opierał się na tym, że dostawcy chmury tolerują rozjazd między dwiema warstwami, a w 2018 przestali. Wedle relacji Signal Google z 30-dniowym wypowiedzeniem zakończył wsparcie domain frontingu po tym, jak Signal użył frontingu App Engine, by docierać do użytkowników w Iranie, których własna lektura Google amerykańskiego prawa sankcyjnego już odcięła. Kilka tygodni później, 27 kwietnia 2018, Amazon napisał do Signal, że nie ma on zgody na używanie domeny Souq.com jako fasady, zagroził zawieszeniem konta CloudFront i wprowadził Enhanced Domain Protections, które skończyły z frontingiem w całym CDN. Tor Project odnotował w tym samym miesiącu, że obie firmy wyciągają wtyczkę i że meek stał się bezużyteczny przez ich sieci; Access Now naliczyła około tuzina dotkniętych narzędzi praw człowieka, w tym Signal i Telegram. Wniosek Signal był bezceremonialny: domain fronting jako technika omijania cenzury stał się w dużej mierze niewykonalny, a jego końcowa obserwacja ujęła, dlaczego te odcięcia nic nie kosztowały cenzorów."...nie musieli nic robić, tylko czekać." - Signal, maj 2018
Dlaczego przeżył meek-azure
Jeden dostawca nie dołączył do odwrotu. Tor Project odnotował wówczas, że chmura Microsoftu Azure nadal zezwalała na domain fronting, a badanie z 2015 roku już wcześniej zauważyło strukturalny powód: CDN Azure przekazuje żądania wyłącznie do domen stowarzyszonych z Azure, podczas gdy CloudFront Amazona przekazywał niemal wszędzie. Wdrożenie meeka w Azure leży w całości wewnątrz tego majątku, z jego punktem końcowym hostowanym na własnym CDN Azure za kontrolowaną przez Microsoft domeną frontową, więc żądanie nigdy nie przechodzi między niespokrewnionymi firmami. Gdy Google i Amazon przestali pozwalać, by widoczna nazwa i prawdziwy cel się rozjeżdżały, ta wewnętrzna tolerancja wystarczyła. Tor Project ostrzegał od początku, że o pozostałych odcięciach nie uprzedzono go wcześniej i że polityka Azure także mogła się zmienić - zastrzeżenie, które towarzyszy meek-azure do dziś.Cena ukrywania się na oczach wszystkich
Właściwości, które czynią meeka trudnym do zablokowania, czynią go także wolnym i drogim. Dodatkowy przeskok przez CDN i projekt napędzany żądaniami obniżyły w badaniu z 2015 roku mierzone prędkości pobierania około dwa do trzech razy, a aktualne wskazówki wsparcia Tor są jeszcze bardziej wprost: meek ma ograniczenie pasma, więc ta opcja będzie dość wolna. Drugim ograniczeniem są pieniądze. Ktoś płaci CDN opłaty za ruch wychodzący od każdego bajta, który mostek meek przeniesie, a rachunek pierwotnego wdrożenia sięgnął 565 dolarów na Azure, 3292 na Google App Engine i 3793 na CloudFront w toku badania. Badacze ostrzegali też, że przeciwnik może tę fakturę dowolnie nadąć - problem finansowego denial-of-service, zademonstrowany, gdy Great Cannon przysypał hosting swoich celów dziesiątkami tysięcy dolarów kosztów pasma.Kiedy meek to właściwy wybór
Dla większości ocenzurowanych użytkowników meek to odwrot, nie pierwszy wybór. Aktualne wskazówki Tor dla Chin sugerują najpierw WebTunnel, a meek i Snowflake wymieniają jako rezerwę, jeśli zawiedzie. Każda z głównych opcji inaczej układa kompromisy:- obfs4 miesza ruch i jest szybki oraz darmowy, ale każdy mostek to osobny serwer, którego adres może wyciec lub zostać zeskanowany.
- Snowflake pożycza ulotne serwery proxy od wolontariuszy - łatwy do skalowania, ale o zmiennej prędkości.
- WebTunnel sprawia, że Tor wygląda jak zwykłe połączenie HTTPS z serwerem www, bez potrzeby współpracy giganta CDN.
- meek chowa się za jedną z najbardziej obleganych domen sieci i przeżywa najciasniejsze białe listy - kosztem niskiej prędkości.










