Googles bekendtgørelse at de er færdige med flash var det sidste søm i Flash’s kiste.
Selv før det kan berømthedsteknokrater lide Steve Jobs talte åbent imod Flash.
Med bortgangen til flash og stigning af HTML5 er der indledt en ny æra, der indeholder bedre udseende og bedre fungerende websteder, der er kompatible med både mobiler og pc’er.
Overførsel af data og modtagelse er også blevet meget mere ligetil end før.
Dog præsenterer det sine unikke udfordringer, der skal vindes.
Fordelen med dette er, at html5 tager cross-browser support og funktionalitet til et helt nyt niveau.
Visse browsere understøtter ikke individuelle sideelementer, og det er frustrerende at skulle ændre webstedselementerne for at følge med udseendet.
HTML5 kasserer dette krav, da alle moderne browsere understøtter.
Contents
Deling af ressourcer på tværs af oprindelse
Cross-origin resource sharing (CORS) er en af de mest indflydelsesrige træk ved html5 og også en, der forkaster flest muligheder for fejl og hackerangreb.
CORS definerer overskrifter for at hjælpe websteder med at definere oprindelse og lette kontekstuelle interaktioner.
Med html5 CORS demper den grundlæggende sikkerhedsmekanisme på browsere kaldet Samme oprindelsesregel.
Under den samme oprindelsespolitik kan en browser kun tillade en webside at få adgang til data fra en anden webside, hvis begge websider har den samme oprindelse.
Hvad er en oprindelse?
En oprindelse er en kombination af URI-skema, værtsnavn og portnummer. Denne politik forhindrer ondsindede scripts i at udføre og få adgang til data fra websider.
CORS lemper denne politik ved at give forskellige websteder adgang til data for at tillade kontekstuel interaktion.
Dette kan føre til, at en hacker får hænderne på følsomme data.
For eksempel,
Hvis du er logget ind på Facebook og forbliver logget ind og derefter besøger et andet sted, er det muligt, at angriberen kan stjæle information og gøre alt, hvad de ønsker på din Facebook-konto ved at drage fordel af den afslappede politik med tværgående oprindelse.
På en lidt mere lun note, hvis en bruger er logget ind på sin bankkonto og glemmer at logge ud, kunne hacker få adgang til brugerens legitimationsoplysninger, hans transaktioner eller endda oprette nye transaktioner.
Browsere ved at gemme brugeroplysninger lader session cookies åbne til udnyttelse.
Hackere kan også blande sig med overskrifterne for at udløse ugyldige omdirigeringer.
Uvaliderede omdirigeringer kan ske, når browsere accepterer ikke-tillid til input. Dette sender igen en anmodning om omdirigering. Den upålidelige URL kan ændres for at tilføje et input til det ondsindede websted og dermed starte phishing-svindel ved at tilvejebringe webadresser, der forekommer identiske med det aktuelle websted.
Uvaliderede omdirigerings- og videresendelsesangreb kan også bruges til ondsindet at oprette en URL, der vil videregive applikationens adgangskontrol og derefter videresende angriberen til privilegerede funktioner, som de typisk ikke kunne få adgang til.
Her er hvad udviklere skal passe på for at forhindre, at disse ting sker.
- Udviklere skal sikre, at webadresser videresendes til åbning. Hvis dette er tværgående domæne, kan det være sårbart over for kodeinjektioner.
- Vær også opmærksom, hvis webadresserne er relative, eller hvis de specificerer en protokol. En relativ URL angiver ikke en protokol, dvs. vi ved ikke, om den starter med HTTP eller https. Browseren antager, at begge er rigtige.
- Stol ikke på oprindelseshovedet til adgangskontrolcheck, da de let kan forfalskes.
Hvordan ved du, om CORS er aktiveret på et bestemt domæne?
Du kan godt bruge udviklerværktøjer i browseren til at undersøge overskriften.
Meddelelser på tværs af domæner
Messaging på tværs af domæner blev tidligere ikke tilladt i browsere for at forhindre script-angreb på tværs af websteder.
Dette forhindrede også legitim kommunikation mellem websteder, der udgjorde hovedparten af meddelelser på tværs af domæner nu.
Webbeskeder giver forskellige API’er mulighed for at interagere let.
For at forhindre cross-scripting-angreb er det her, hvad udviklere skal gøre.
De skal angive meddelelsens forventede oprindelse
- Oprindelsesattributterne skal altid krydskontrolleres og data verificeres.
- Den modtagende side skal altid kontrollere afsenderens oprindelsesattribut. Dette hjælper med at bekræfte, at de modtagne data faktisk sendes fra det forventede sted.
- Den modtagende side skal også udføre inputvalidering for at sikre, at data er i det krævede format.
- Udvekslede meddelelser skal fortolkes som data, der ikke koder.
Bedre opbevaring
En anden funktion ved html5 er, at det giver bedre lagring. I stedet for at stole på cookies for at holde styr på brugerdata, er browseren aktiveret til at gemme data.
HTML5 giver mulighed for opbevaring på tværs af flere vinduer, har bedre sikkerhed og opbevarer data, selv efter lukning af en browser. Lokal lager er mulig uden browser-plugins.
Dette stave forskellige slags problemer.
Udviklere skal passe på følgende ting for at forhindre angribere i at stjæle information.
- Hvis et sted gemmer brugers adgangskoder og andre personlige oplysninger, kunne hackere få adgang til det. Sådanne adgangskoder, hvis ikke krypteret, kan let stjåles via weblagrings-API’er. Derfor antydes det stærkt, at alle værdifulde brugerdata krypteres og gemmes.
- Derudover er mange malware-nyttelast allerede begyndt at scanne browsercacher og opbevarings-API’er for at finde information om brugere som transaktions- og økonomiske oplysninger.
Afsluttende tanker
HTML5 giver fremragende muligheder for webudviklere til at ændre og gøre tingene meget mere sikre.
Hovedparten af arbejdet med at skabe et sikkert miljø falder dog på browsere.
Hvis du er interesseret i at lære mere, så tjek “Lær HTML5 på 1 time” Rute.