Webteknologi
Webteknologi
av Ole Petter den 13. februar 2020
Sist oppdatert: 19 februar, 2020 kl 23:23Contents
HTTPS
HTTP står for HyperText Transfer Protocol, og er protokollen som hovedsaklig benyttes på world wide web til å utveksle informasjon. Kommunikasjonen i HTTP er ikke kryptert og er åpen for lesing av alle.
Problemet med HTTP er at hackere kan endre informasjonen man mottar på veien fra webserveren, og overvåke hva man foretar seg.
Den største faren er hvis man sender kontoinformasjon og andre sensitive opplysninger. Hvis man sender det via HTTP kan det leses av og informasjonen kan stjeles.
Overføringsteknikken HTTPS har blitt lansert for å løse dette problemet. S-en står for Secure, og denne teknikken gjør at informasjonen som utveksles krypteres fra ende til ende.
Kryptering
Når man besøker en nettside med kryptering vil man i nettleseren kunne se en hengelås før domenenavnet. Første del av kommunikasjonen vil ved HTTPS være å utveksle krypteringsinformasjon gjennom en såkalt handshake mellom brukerens nettleser og webserveren.
Etter denne oppkoblingen vil all kommunikasjon foregå kryptert. Informasjonen som utveksles kan avlyttes, men innholdet vil da være uleselig siden det er kryptert.
Autentisering
Autentisering betyr at vi kan være sikker på at motparten man kommuniserer med, er den personen den utgir seg for å være.
Ved hjelp av autentisering kan man da være sikker på at nettsiden man besøker, faktisk er den man har tenkt å besøke. Autentiseringen foregår ved hjelp av et sertifikat som utstedes av en pålitelig tredjepart. Dette sertifikatet sendes fra webserveren, og nettleseren sjekker at sertifikatet samsvarer med nettadressen man skrev inn i adressefeltet. Hvis det ikke er tilfellet, vil man få et varsel om det.
At en nettside har et sertifikat betyr ikke at den er sikker. Det betyr bare at at nettsiden er den den utgir seg for å være.
HTTP
Grunnen til at HTTP fremdeles er utbredt er at det koster mer penger å øke sikkerheten med HTTPS. Det er mer ressurskrevende både for maskinen og webserveren.
Nettsider med statisk informasjon har ikke behov for HTTPS, men i dag er kapasiteten på webservere så stor at de kan håndtere HTTPS i større omfang.
Det er også et problem å skaffe et troverdig sertifikat for HTTPS, og disse har også begrenset gyldighetstid.
Problemer med HTTPS
Det er brukerens ansvar å sørge for at HTTPS benyttes. De fleste nettsider sender brukeren videre til en kryptert nettside hvis man bruker HTTP-versjonen, men svindelnettsteder eller dårlig lagde nettsteder gjør ikke dette.
Mange tror også at en nettside er trygg så lenge den har HTTPS, men dette er ikke tilfellet. Slike nettsider kan like gjerne være svindelnettsteder, bare at de har brukt mer ressurser på å virke troverdig.
Sesjoner
Når man logger inn på et nettsted starter man en sesjon. Da får man en identitet på nettstedet, som varer frem til man logger ut igjen.
Ved innlogging genereres en helt unik kode, som lagres i webserveren sammen med informasjon om hvilken bruker den har gitt koden til. Brukerens nettleser lagrer denne koden på den lokale maskinen, som oftest i form av informasjonskapsler (cookies)
Sesjons-iden som opprettes når man logger inn på et nettsted kan bli kapret, og dette er svært ettertraktet. Hackere kan da utgi seg for å være en innlogget bruker.
Hvis HTTP brukes istedenfor HTTPS, kan cookies kapres siden trafikken er åpen og kan leses av hvem som helst. Alle nettsider og tjenester som krever innlogging bør bruke HTTPS.
Informasjonskapsler
Informasjonskapsler kan brukes til å spore brukere på internett, selv om de er anonym. Det å kunne kjenne igjen en bruker fra gang til gang er noe nettsider benytter seg av. Da kan annonser tilpasses hvilke nettsider brukeren er innom, og forhindre at samme annonser blir vist om igjen.
Normalt sett tilhører en informasjonskapsel kun nettsiden man besøker, men hvis nettsider samarbeider kan dette omgås. Da kan informasjonskapselen videredeles til samarbeidssiden.
Dette gjør at det enkelt kan opprettes spørreundersøkelser og konkurranser som har til hensikt å koble din personlige informasjon mot en informasjonskapsel som avslører atferd på samme eller en annen nettside.
EU har innført regelverk som skal forhindre dette, og alle nettsider som benytter informasjonskapsler skal informere brukeren om dette.
Nettsider med parametere
Ved søk lagres ditt søk som parameter, og dette parameteret sammenliknes mot databasen til søkemotoren. Man kan manipulere dette parameteret til å søke etter nye ting uten å måtte gå direkte gjennom en søkemotor
Manipulasjon av visning
Parametere på andre nettsider kan også kapres for å påvirke hva som vises av informasjon. Dersom parameterene har blitt endret på for å være skadelige, kan tilsynelatende legitime nettsider inneholde skadelige parametere uten at mottaker av lenker til disse sidene er klar over det.
Stjele data
Parametere kan endres på til å vise sensitiv informasjon av personer som forstår mønsteret i parameterne. Tjenester for bestilling uten innlogging gjør stadig den samme feilen ved å lage ordrebekreftelser som er knyttet til et løpende ordrenummer.
Overvåkning
Parametere kan ofte inneholde til dels privat informasjon. Dersom trafikken på en nettside ikke er kryptert, kan informasjonen avlyttes. Brukernavn og passord kan for eksempel sende som parametere på usikre nettsteder.
Da kan man bare se på historikken til nettleseren for å finne passordet til brukeren. For eksempel: «https://www.nettside.no?login=ola&passord=1234».
Hackede nettjenester
Cross-Site-Scripting (XSS)
En del nettsider har kommentarfelt eller andre former for interaksjon, og vanligvis skrives det bare inn tekst i disse feltene. Men mer erfarne programmerere kan skrive inn programkode og endre nettsidens funksjoner uten at andre besøkende på siden er klar over dette.
Hackeren kan legge inn lenker til svindeltjenester, eller lenken kan inneholde programkode som utfører handlinger på offerets epost-klient. Mange nettsider er ikke i stand til å beskytte seg mot slike trusler. Som bruker er et av få alternativ å skru av tjenester for programkode, slik som javascript i nettleseren. Men dette vil påvirke en del tjenester man ofte er avhengig av. Et bedre alternativ er å prøve å være på vakt mot cross-site-scripting, og avsløre slike trusler før de kan gjøre skade.
Omdirigering
Omdirigering er en svært vanlig form for XSS-angrep. Dette gjøres ved at det inkluderes kode i et nettsted som gjør at alle besøk straks sendes videre til en annen side. Denne nye siden er ofte en tro kopi av den gamle, altså en phishing-side, og det er svært vanskelig å oppdage hva som skjedde.
Stjele informasjonskapsler og sesjoner
XSS benyttes ofte til å stjele informasjonskapsler. Ettersom programkoden blir en del av nettsiden, vil nettleserens sikkerhetsmekanismer tillate at denne koden får tilgang til informasjonskapsler som nettsiden selv har lagret.
Informasjonskapsler brukes blant annet til å lagre sesjons-iden til brukere på siden. For at hackeren skal kunne få glede av informasjonskapselen som XSS-angrepet klarte å hente ut, sendes denne verdien til hackeren som en del av det programkoden utfører.
Endre innhold
Hackere kan også endre deler av innholdet på et nettsted gjennom XSS. De nettsidene som blir utsatt for angrep vil da kunne vise helt annerledes informasjon, andre lenker eller annen funksjonalitet.
Cross-site-request-forgery (CSRF)
CSRF er ondsinnet datakode som er innfelt på et nettsted som blir presentert til klienter av en server. CSRF vil få nettleseren vår til å hente en nettside fra en innlogget tjeneste uten at vi ønsker eller vet om det.
CSRF-angrep benytter seg av brukerenes tillit til nettstedet ved å lure dem til å tro at deres manipulerte innhold faktisk kommer fra nettstedet.