Introduktion
Sidste uge offentliggjorde sikkerhedsforskere fra University of Hamburg en papir beskriver en ny metode, som websteder kan bruge til at spore browserbrugernes historie. Deres teknik udnytter funktionen til genoptagelse af sessioner implementeret i TLS protokol.
TLS sessioner
TLS er en kryptografisk protokol, som browsere bruger til at sikre deres kommunikation med HTTPS-webservere ved at etablere en krypteret forbindelse mellem en browser og en server. I TLS jargon, serveren opretter en Session for hver sådan TLS forbindelse.
Oprettelse af en session kræver, at yderligere data - såsom digitale certifikater og krypteringsnøgler - udveksles før nogen egentlig webdata. Processen med at etablere en TLS session kaldes håndtryk forhandling
Udførelse af et håndtryk for enhver TLS forbindelse kræver mere båndbredde end ikke-krypteret HTTP, og dette er et af de største problemer, der er behandlet i den for nylig offentliggjorte TLS 1.3-protokol.
Hvis du vil læse mere om den ydelse, der er pålagt af TLS og hvad TLS 1.3 gør for at reducere det, se venligst til denne artikel.
TLS session genoptagelse
For at hjælpe med at lindre de omkostninger, der er forbundet med håndtryk, TLS tillader session genoptagelse, som gør det muligt for en browser at springe over håndskakningsprocessen med en server, den for nylig har oprettet en session med.
En session varer i et forudbestemt tidsrum, fra et par minutter op til flere timer. Hvis browseren besøger en server igen i sessionvinduet, er den igangværende TLS session kan genoptages via en enkelt genoptagelsesanmodningi stedet for en fuld forhandlingsforhandling (TLS 1.3 tillader faktisk en browser at sende applikationsdata sammen med anmodningen om session genoptagelse, hvilket faktisk tilbyder den samme hurtige ydeevne som ikke-krypteret HTTP.)
Sporing af brugere med TLS session genoptagelse
Desværre er sikkerhed og nytte i de fleste tilfælde omvendt proportional, og Hamburg-forskerne har vist, at genoptagelse af sessioner forbedrer ydeevnen på bekostning af brugernes privatliv.
Adskillige teknikker er blevet brugt til at spore internetbrugere gennem årene, såsom vedvarende cookies eller browserfingeraftryk. De er alle designet til at give websteder mulighed for unikt at identificere en bruger på tværs af besøg, uanset deres IP-adresse, placering eller fortrolighed.
I denne henseende a TLS session genoptagelse, der unikt er bundet til en bestemt browser, kan bruges til at spore brugere på samme måde som cookies kan. I det væsentlige, når en browser genoptager en session, kan webstedet korrelere forbindelsen med den, der oprindeligt oprettede sessionen, selvom brugeren besøger fra et andet netværk (dvs. anden IP-adresse) eller med forskellige privatlivsindstillinger (f.eks. Brugeragent ).
Forlængelsesangreb
Ved hjælp af den ovenfor beskrevne metode kan hver enkelt bruger spores i (højst) flere timer, baseret på længden på det forhandlede sessionvindue.
Et websted kan dog forny en session i en anden periode ved hver session genoptagelse, nulstille sessionsvinduet og faktisk forlænge sessionens levetid på ubestemt tid. Papiret kalder denne teknik a forlængelsesangreb.
Forskerne har vist, at denne teknik kan bruges til permanent spore 65% af brugerne i deres datasæt, fordi disse brugere har tendens til at besøge sporingswebsteder oftere, end sessionerne udløber.
Derudover har de vist, at websteder kan bruge indbygget indhold til at spore deres brugere selv på forskellige websteder. For eksempel kan et annoncenetværk, der har indlejret annoncer på millioner af websteder, spore individuelle brugere på alle disse websteder. (Det skal bemærkes, at nogle browsere, som nævnt i papiret, blokerer anmodninger om session genoptagelse fra tredjepartswebsteder.)
Er jeg sårbar?
Protokollisk, alt sammen TLS versioner (inklusive de nyeste TLS 1.3) tilvejebringe en mekanisme til genoptagelse af sessionen, hvilket betyder, at brugere kan spores ved hjælp af denne teknik, uanset TLS version.
Derudover viste det sig, at kun 48 af de 3 browsere, der blev testet i papiret, var deaktiverede TLS session genoptagelse. Disse browsere er:
- JonDoBrowser
- Tor Browser
- Orbot (til mobil)
Hvis du vil teste, om din browser (eller anden klientsoftware) er sårbar over for denne sporingsteknik, kan du bruge dette værktøj at generere en rapport om din klients TLS Support.
Tjek afsnittet "Protokoloplysninger" - hvis "Sessionskort" er indstillet til "Ja", er genoptagelse af session aktiveret i din browser, og du kan spores.
Er der en løsning?
TLS session genoptagelse billetter gemmes i browseren TLS cache, der ødelægges hver gang browseren proces lukkes.
Hvis du lukker din browser regelmæssigt, og ekstremt privatliv ikke er en absolut nødvendighed, skal du være sikker på denne metode.
Desværre holder de fleste moderne mobile OS applikationer “altid tændt”, hvilket betyder, at det ikke er usædvanligt, at en browserinstans forbliver aktiv i flere dage ad gangen. Selvom dette er noget usandsynligt, er der tilfælde, hvor det er muligt for en bruger at blive sporet i den virkelige verden.
Af denne grund opfordrer forskellige fortrolighedsorienterede brugergrupper browsere til at deaktivere denne funktion (eller i det mindste tilføje en mulighed for at deaktivere den). I skrivende stund har imidlertid ingen større browser offentligt diskuteret sagen.
I mellemtiden, hvis du har brug for mere privatliv, kan du besøge et websted i tilstanden "inkognito" eller "privatliv". En browser, der bruger privatlivstilstand, opretter en ny TLS cache, som ikke har adgang til normale session genoptagelsesbilletter.
Ellers kan du midlertidigt skifte til en af de tre browsere, der ikke understøtter genoptagelse af sessionen. Alternativt kan du manuelt deaktivere denne funktion i Firefox ved hjælp af følgende metode.
Deaktiver sessionidentifikatorer i Mozilla Firefox
Mozilla Firefox var lappet i 2014 for at understøtte en udokumenteret mulighed i browserkonfigurationen for at deaktivere genoptagelse af session.
Hvis du vil deaktivere sessionens genoptagelse, skal du besøge about:config
i en Firefox (klik på "Jeg accepterer risikoen" for at fortsætte). Firefox viser derefter en liste over præferencer for din browser.
Højreklik på en hvilken som helst præference, og vælg "Ny" og "Boolsk", som vist på det følgende billede.
Der vises en pop-up-meddelelse, der beder om navnet på præferencerne. Type:
security.ssl.disable_session_identifiers
Og vælg "sand" for værdien. Hvis du gjorde alt korrekt, skulle du se noget, der ligner billedet nedenfor.
Hvis du nu besøger SSL browser-kontrolværktøj med din Firefox, skal den rapportere, at "Sessionskort" er deaktiveret, hvilket betyder, at du er sikker på TLS sessionssporing.
Mozilla vil begynde at blokere alle trackers fra tredjepart
Endelig har Mozilla nyligt annoncerede] at de ændrer deres indholdspolitik. De introducerede en ny funktion kaldet Indholdsblokering i (aktuelt senest) udgave 63, som giver brugerne mulighed for at blokere alt indhold fra tredjepart, som Firefox opdager på websteder.
Hvad mere er, i version 65 begynder Firefox at blokere alle tredjepartsindhold som standard; På den måde bliver brugere nødt til at give eksplicit tilladelse, før noget eksternt indhold gengives.
Ud over de enorme forbedringer af brugernes privatliv vil denne nye indholdsblokeringspolitik også utilsigtet mindske sikkerhedseffekten af TLS session genoptagelsesteknik. Selvom dette på ingen måde er en komplet rettelse, vil websteder kun være i stand til at spore Firefox-brugere, når de faktisk besøger dem, da spor på tværs af webstederne er afhængige af tredjepartsindhold.
Konklusion
Heldigvis sporer brugere med TLS har vist sig plausibel, men ikke praktisk for de fleste internetbrugere. Uanset om der er tilfælde, hvor absolut privatliv kræves, og mens der findes midlertidige løsninger (som f.eks. Den Firefox-fix, vi har beskrevet ovenfor), kan vi snart forvente passende afhjælpning fra de store browserudbydere.
Som altid, tak for at du valgte SSL.com - hvor vi mener at en sikrere Internettet er en bedre Internettet.