HTML5-fejl kan fylde din harddisk til randen med cookies

En fejl i implementeringen af HTML5 i Chrome, Safari og Internet Explorer kan misbruges til at fylde harddisken med cookies, når en bruger besøger en hjemmeside.

De fleste cookies er forholdsvis harmløse små tekstfiler, som bliver gemt på din pc for eksempelvis at lade dig lægge varer i indkøbskurven på en netbutik. Men den nye generation af browsere tillader cookies i så enorme mængder, at din harddisk kan blive fyldt op. Det skriver The Register.

Problemet findes i Chrome, Safari og Internet Explorer, som alle har implementeret muligheden for store cookies, som er en del af HTML5-specifikationen.

Det er cookies, som hver især kan fylde helt op til 10 megabyte for Internet Explorers vedkommende.

Webudvikleren Feross Aboukhadijeh fra Californien har imidlertid opdaget, at de tre browsere kun sætter en øvre grænse for, hvor meget plads en hjemmeside må bruge på cookies fra ét domæne, men ikke subdomæner.

Det betyder, at man ved at generere cookies fra tilstrækkeligt mange subdomæner kan blive ved med at lagre store cookies på brugerens pc, uden at browseren siger fra.

Ifølge Feross Aboukhadijeh er det på den måde muligt eksempelvis at skrive én gigabyte hvert 16. sekund til en SSD på en Macbook. Med 32 bit-versionen af Chrome-browseren vil browseren dog crashe, før harddisken bliver fyldt helt op.

HTML5-specifikationen anbefaler, at man også implementerer en øvre grænse for, hvor meget lokal lagerplads, subdomæner samlet må bruge.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (9)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Jonas Nyrup

Hvis det blot er en anbefaling fra HTML5-specifikationen at begrænse det samlede forbrug for subdomæner, har de tre browsere ikke lavet fejl i deres implementeringer. Derimod burde de derimod nok følge anbefalingen, da mangel på samme pt. kan udnyttes som det ses.

  • 1
  • 0
Jonas Finnemann Jensen

Hvordan skal resource allokering til HTML5 apps virke? I dag får børn i sandkassen bare alt hvad de vil have :)

I Chrome kan man f.eks. bringe systemet i knæ ved at allokere så meget hukommelse at systemet begynder at swappe https://code.google.com/p/chromium/issues/detail?id=167879

Man kan også bruge 100% CPU ved at køre at 4 web workers med en uendelig loop på samme tid.

Men hvordan skal man løse den slags problemer? Web Apps skal ikke kunne bringe et system i knæ. På den anden side vil vi gerne bygge CPU-intensive web apps. - Jeg leger f.eks. med model checking i CoffeeScript :)

Ps. Jeg ved godt dette er lidt off-topic, men: localStorage != cookies && Webkit/IE != HTML 5 spec (Så overskriften burde nok rettes)

  • 4
  • 0
Lars Tørnes Hansen

Styresystemer har mulighed for at sætte nogle hårde grænser for allokering af ressourcer. Med hård grænse menes at hvis grænsen overskrides så lukkes programmet brutalt af styresystemet.

Den samme, men en blødere form for ressource-allokering kan naturligvis implementeres i browseren, hvor det kun går ud over den webside/det website som misbruger styresystemets ressourcer.

Hvad web-workers angår kan man opsætte timere - når tiden er gået lukkes tråden brutalt af browseren - og showet stopper så for den web-worker: Meddelelsen er, programmér ordentligt, ellers .... Man kan også lave regler for hvad der skal ske, hvis det gentager sig et vis antal gange. Browseren kan også have en mere avanceret tid gange CPU forbrug areal indstilling. Dvs. at en web-worker for eksempel kan køre i 10 gange så lang tid ved 10% CPU forbrug, som ved 100% CPU forbrug. Slutteligt kan der være en nedre tærskel værdi for hvornår begrænsningen begynder at træde i kraft.

  • 0
  • 1
Leif Neland

Hvorfor skulle nogen gøre dette? For det meste laver man hjemmesider for at få besøgende, eventuelt for at sælge noget. Hvis browseren går ned, hvergang man besøger et website, holder man vel op med at komme der. Tiden er løbet fra de, der bare synes det er sjovt at kunne ødelægge andres maskiner (med mindre de maskiner laver uran...), de fleste "cybercrimes" er for at stjæle ting fra din maskine eller for at udnytte cpu og forbindelse til egen vinding. Disse "angreb" kan vist ingen af delene.

  • 0
  • 4
Leif Neland

Hvis der er nogen form for cybercrime der er blevet vildt udbredt de sidste par år, så er det da netop DoS-angreb. Denne "fejl" kan da snildt udnyttes til målrettet at gøre en maskine ubrugelig.

Igen, hvorfor skulle nogen more sig over at lægge fru Jensens PC ned med DoS-angreb?

DoS-angreb drejer sig om at genere konkurrenter eller firmaer/institutioner man ikke synes om. Der er ingen ære eller penge i at DoS'e privatpersoner. Angreb på private er for at stjæle kreditkort/bankinformationer for at kunne stjæle penge, eller for at kunne udnytte deres cpu-tid, ip-adresse eller linie til egne formål.

Det kan dette "angreb" ikke.

  • 0
  • 0
Benjamin Balder

Dette berører IKKE nødvendigvis blot ondsindet adfærd. Der ligger et ressource- og energiforbrug forbundet med, hvad browseren tillader en web-applikation at gøre, og det bør mere være fokus for diskussionen.

Belært af ActiveX, Java og -tagget, ved vi udemærket godt, at udbyderne af services uanset sektor, går lige til grænsen. I 90'erne sad man og ventede 30 sekunder på at få en Java-applet til at lave mouse-over effekt på en eller anden dum knap. Nutildags skal man tækkes pervers anvendelse af trackers, evige slideshows, effekter på alle dine klik, custom fonte, nedskalerede billeder, over 9000 skjulte elementer osv.. eksempler på både skjulte ressource-omkostninger, menneskelig tragedie og programmører med for meget tid.

HTML5-implementationens lempning på adgang til lokale ressourcer driver kravene til hardware, strømforbrug osv. Og her mener jeg, at browserne skal holde sig på den konservative side, så vi får fokus på optimering.

  • 0
  • 0
Log ind eller Opret konto for at kommentere