Snowflake (mjukvara)

Användargränssnitt för webbläsartillägget Snowflake

Snowflake är ett mjukvarupaket för att hjälpa andra att kringgå internetcensur genom att vidarebefordra dataförfrågningar. Snowflake relänoder är avsedda att skapas av människor i länder där Tor och Snowflake inte är blockerade. Personer under censur använder sedan en Snowflake-klient, paketerad med Tor-webbläsaren eller Onion Browser, för att komma åt Tor-nätverket, med Snowflake-reläer som proxyservrar . Tillgång till Tor-nätverket kan i sin tur ge åtkomst till andra blockerade tjänster (som blockerade webbplatser). En Snowflake-nod kan skapas genom att antingen installera ett webbläsartillägg, installera ett fristående program eller surfa på en webbsida med ett inbäddat Snowflake-relä. Noden körs när webbläsaren eller programmet är anslutet till internet.

Tor vidarebefordrar innehållsförfrågningar genom en kedja av Tor-noder, inklusive Snowflake-noder ( lökdirigering) . Varje nod i kedjan känner bara till adresserna för de två intilliggande länkarna och kan inte dekryptera någon av de andra data som den vidarebefordrar, vilket gör det mycket svårare att spåra eller blockera trafiken. En vanlig motåtgärd är att blockera Tor-noder; Snowflake-nodernas antal och skiftande karaktär gör det svårare att identifiera och blockera anslutningar till dessa noder.

Tor är i sig olagligt i vissa länder. Liksom internet kan det vidarebefordra alla typer av innehåll, och vissa typer av innehåll är olagliga i vissa länder.

Historia

Snowflake skapades av Serene , en hackare och tidigare Google-ingenjör och konsertpianist. Namnet "Snowflake" myntades som hennes metafor för ett stort antal tillfälliga ombud i relation till " ICE Negotiation". [ citat behövs ] Tre programmerare publicerade den första versionen i januari 2016. 2019 blev den tillgänglig som en webbläsartillägg för Firefox och Chrome . Den kan också köras på härledda webbläsare, som Brave och Microsoft Edge . I februari 2023 släpptes en grundligt uppgraderad, fristående version kallad Snowstorm ; skriven i Rust och finansierad av Open Tech Fund, betatestning sker på inbjudan.

Fungera

  1. Slutanvändaren ber mäklarservern om en Snowflake-server
  2. Mäklaren hittar en Snowflake-server som är tillgänglig
  3. Mäklaren svarar till slutanvändaren
  4. Slutanvändaren kontaktar Snowflake-servern med en direkt peer-to-peer-anslutning
  5. Databegäran vidarebefordras via Tor-nätverket till destinationsservern (till exempel webbplatsen som slutanvändaren surfar på)

Normala internetdatapaket kommer märkta med den ursprungliga källan och den slutliga mottagaren av data. Till exempel skulle ett paket som innehåller den krypterade texten i denna artikel märkas med destinationen (IP- adressen för läsarens dator) och källan (IP-adressen till en Wikipedia-server). Detta innebär att även om det faktiska innehållet är krypterat kan en censor blockera alla paket från vissa källor (till exempel förbjuda alla paket som kommer från Wikipedia ) .

Däremot vidarebefordrar Tor-anslutningar krypterad trafik genom en kedja av proxyservrar. Varje länk känner bara till adresserna till de två intilliggande länkarna, vilket gör det mycket svårare att spåra trafiken. Meddelandet krypteras i lager, så det kallas lökrouting . En fysisk analogi skulle vara att försegla ett kuvert som bär det verkliga meddelandet inuti en kapslad uppsättning kuvert, så att varje kuvert hade en annan adress på sig; varje server öppnar det yttersta kuvertet, adresserat till det och skickar det återstående paketet vidare till adressen som exponeras på detta sätt. Eftersom källan till innehållet är gömd bakom lager av proxyservrar, kan förbjudna källor fortfarande nås, och det är inte klart vilken mottagare som fick åtkomst till vilket innehåll.

Eftersom Tor kan användas för att komma åt förbjudna webbplatser, förbjuder vissa länder, som Iran och Ryssland , Tor-nätverket. Detta betyder att Tor-användare inte bara kan ansluta till en allmänt känd Tor-ingångsnod; alla kända Tor-noder kommer att blockeras av censorerna. Istället ansluter användare till en Tor-brygga, en server som i hemlighet är en Tor-ingångspunkt. Censorer i sin tur försöker identifiera och blockera Tor-bryggor, identifiera dem med hjälp av djup paketinspektion .

Snowflake tillhandahåller ett stort antal ständigt skiftande Tor-ingångsnoder. En användare förses med IP-adressen för en för närvarande aktiv Snowflake-nod genom att fråga en mäklarserver, som i sin tur använder domänfronting för att låtsas vara en större webbplats. Användaren pratar sedan direkt med Snowflake-noden, som vidarebefordrar till Tor-nätverket. Trafiken ser ut som vanlig peer-to-peer-trafik, som till exempel används av många videokonferensappar.

En Snowflake-nod körs när webbläsaren eller programmet är anslutet till internet. Om nodvärden har en dynamisk IP kommer noden att ändra sin IP-adress med tiden. Se även ad hoc-nätverk .

Snowflake-noder används alltså som Tor-ingångsnoder, inte som utgångsnoder. Exit noder är den andra änden av kedjan. De är Tor-noderna som vet vilket innehåll som efterfrågades, även om de inte vet vem som begärde det (till exempel skulle de veta att en användare kontaktade en Wikipedia-server, men de skulle inte veta användarens IP-adress). Exitnoder kan bli föremål för rättsliga åtgärder i det land där de är värd om de vidarebefordrar innehåll som är olagligt i det landet (så de körs vanligtvis i länder med lite internetcensur). Det är osannolikt att Snowflake-nodvärdar kan utsättas för sådant ansvar, eftersom de inte vet vilket innehåll de vidarebefordrar. Det finns dock länder där det är olagligt att använda Tor för något syfte, såsom Ryssland och Iran.

Teknisk


<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe> snowflake .torproject .org ,
HTML -kod för att lägga till ett växlingsbart Snowflake-relä till en webbsida

Snowflake använder WebRTC för att tillåta webbläsare att kommunicera direkt med varandra. Att antingen installera ett webbläsartillägg eller att hålla en flik öppen för en webbsida med rätt inbäddad kod får ens webbläsare att fungera som ett relä. Genom att bädda in ett Snowflake-märke på en webbplats kan besökare göra sin webbläsare till ett relä, precis som installation av tillägget gör, men genom att klicka på en knapp på webbplatsen istället för att installera programvara. Snowflake kan också köras som ett fristående program i en Docker- container.

Att vidarebefordra trafik ökar nodvärdens bandbreddsanvändning , vilket kan vara ett problem för dem med bandbreddsbegränsningar på sina internetplaner. I praktiken verkar inte värd för en nod nämnvärt sakta ner ens internetuppkoppling eller störa surfandet.

En detaljerad teknisk beskrivning publiceras på GitLab .

Motåtgärder

Motåtgärder som tros vara i bruk för närvarande mot Snowflake från Ryssland inkluderar webbläsares fingeravtryck av Snowflake-värdar och sedan blockering av dem. Censorer kan också installera och använda Tor och sedan blockera alla IP-adresser som erbjuds som Snowflake-servrar. Båda dessa tekniker försvagas när det finns ett större antal servrar.

Censorer kan försöka blockera mäklarens IP-adress. För att kringgå detta använder Snowflake-klienten domänfronting . Detta gör det omöjligt för censorn att blockera en enda webbplats utan att blockera alla andra webbplatser som finns på samma molntjänst. Google och Amazon är exempel på sådana tjänster. De är värd för hundratusentals webbplatser. Att blockera alla servrar på en av dessa stora värdar har störande bieffekter. Men molnleverantören kan och blockerar ofta domänfronting.

Om utlandsanslutningar från datacenter tillåts, men bostads- och mobiltjänster är begränsade till lokala anslutningar, kan Tor-bryggor i hemlighet och olagligt sättas upp i lokala datacenter. Detta har uppenbara faror.

När ett land stänger av åtkomsten till utländska internetanslutningar helt och hållet, vilket i huvudsak skär landet av från det globala internet, blir Snowflake värdelös. Detta har upprepade gånger gjorts i Iran och några andra länder; det är dock dåligt för affärerna (i Iran 2022 uppskattades kostnaden till 37 miljoner USD per dag), så det görs vanligtvis bara under korta perioder. När internet är helt stängt har peer-to-peer smartphone ad hoc-nätverk använts, som helt ersätter den konventionella internetinfrastrukturen; Tor kan användas över sådana nätverk (se Briar (mjukvara) ) .

Jämförelse med VPN

En enkel proxy, som ett virtuellt privat nätverk (VPN), har bara ett enda relä. Detta innebär att serveradressen för VPN måste vara känd för varje användare, vilket gör det lättare att blockera. Till exempel, i början av oktober 2022, under internetstörningar relaterade till Mahsa Amini-protesterna , skulle VPN i Iran avbryta anslutningar med några minuters mellanrum. VPN själv vet också vilka slutanvändare som begärde vilka sidor, vilket gör det möjligt för VPN att delta i övervakning. I vissa länder, som Iran, är VPN:er olagliga och kan vara regeringsanknutna.

Används

Snowflake kom att diskuteras flitigt online den första veckan i oktober 2022, som ett sätt att bekämpa internetrestriktioner i Iran under Mahsa Amini-protesterna , och en guide på persiska släpptes.

År 2022 ökade den ryska regeringen ansträngningarna för att blockera åtkomst till Tor genom tekniska och politiska medel, och Tor-nätverket rapporterade en ökning av trafiken från Ryssland med Snowflake.

Snowflake är integrerat i Tor-nätverket. Användning av Tor-nätverket blir allt vanligare i Ryssland, Vitryssland och Iran, från och med 2022, eftersom internetcensuren i dessa länder har blivit strängare. Det används också av brottslingar som är involverade i barnpornografi, narkotikahandel, terrorism och penningtvätt.

Se även

externa länkar