Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den Computerworld d. 3. november 2006.
Webapplikationer står over for store sikkerhedsproblemer, der kun øges i takt med deres udbredelse. Men de fleste problemer kan imødegås ved at indarbejde en organisatorisk holdning til sikkerhed.
Internetforbindelse er i dag en integreret del af langt de fleste virksomheders forretningsplan, og mængden af følsomme data på internettet er steget markant.
Derfor bør virksomheder være meget opmærksomme på, om deres internetløsninger efterlever de gængse sikkerhedsstandarder. I modsat fald skal hackerne nok finde ud af det - og så er det for sent.
Webapplikationerne har i dag en meget kompliceret funktionalitet. Samtidig mangler programmører ofte praktisk erfaring med at sikre webapplikationerne tilstrækkeligt. Dermed kan der nemt opstå sårbarheder.
Udvikling af webapplikationer, som udføres af webudviklere uden en fast forankret holdning til sikkerhed kan føre til usikre applikationer, der udgør en sikkerhedsrisiko for hele systemets netværk. Og når en dør står åben på internettet, er det desværre kun et spørgsmål om tid, før ubudne gæster banker på.
De mest almindelige sårbarheder er cross-site-scripting, indsættelse af uautoriseret SQL-kode og manipulation af parametre.
Sårbarhederne betyder, at hackere kan udlæse følsomme oplysninger fra databaser, foretage transaktioner under en falsk identitet eller skaffe sig adgang til fortrolige data, lukke websites eller manipulere transaktioner. Og i mange tilfælde helt uden at blive opdaget.
De fleste trusler mod webapplikationerne kan imidlertid fjernes ved at validere bruger-defineret input og output. Brugernes input skal altid betragtes som potentiel farlig og dermed undersøges, inden de bruges af applikationen.
Den bedste måde at sikre sig imod svagheder i en webapplikation er at begrænse den tilladte mængde af karakterer og konsekvent afvise input, der overstiger disse retningslinier.
Samtidig bør en integreret del af udviklingsprocessen være en forebyggende sikkerhedstest på webapplikationen, inden den sættes i drift. Det er både billigere og mere effektivt end at korrigere fejl, når applikationen først er sat i drift.
Virksomheder bør altså stille krav til leverandørerne af deres webapplikationer. Men sikkerhed er i høj grad også en intern udfordring, der berører både sikkerhedschefer, driftsteknikere, netværksansvarlige, it-chefer, projektledere og informationsmedarbejdere. De bør alle uddannes i sikkerhedsmæssige kompetencer og ikke blot fokusere på funktionaliteten i webapplikationerne.
Organisationerne Web Application Security Consortium (WASC) og Open Web Application Security Project (OWASP) kortlægger løbende sikkerhedsbrister i webapplikationerne, så virksomheder kan forebygge dem. I takt med udbredelsen af webapplikationerne øges hackernes opmærksomhed på at finde og udnytte sikkerhedshullerne.
Problemet er især, at man med webapplikationer netop ønsker en mere direkte og aktiv involvering af brugerne. Denne kommunikation foregår via webapplikationen og HTTP-protokollen. Disse forespørgsler går uden om de normale filtre i firewalls og sikkerhedsforanstaltninger, fordi forespørgslerne via HTTP-protokollen som udgangspunkt godkendes.
Sikkerheden er imidlertid ikke den eneste barriere for at bruge webapplikationer. Spørgsmålet om dataejerskab er for mange endnu ubesvaret. Virksomhederne bør overveje, hvordan data fra webapplikationer passer ind i den samlede Information Lifecycle Management-strategi.
Det er afgørende at vide, hvordan data lagres, at der tages forsvarlig backup, og at der er en samlet strategi for data-sikkerheden. Man efterspørger ganske enkelt ansvarlighed for data, så man ikke risikerer, at fortrolige data pludselig cirkulerer i cyberspace på grund af et datalæk hos en webapplikationsudbyder.
Hidtil har sikkerheden i web-applikationer ikke haft samme bevågenhed som netværkssikkerhed. Problemerne er imidlertid lige så store, og den manglende opmærksomhed har netop trukket hackerne væk fra det normalt velbeskyttede netværk.
I stedet retter hackerne opmærksomheden mod webapplikationer, som bliver betragtet som let bytte, og de har udviklet værktøj til at spore og udnytte sikkerhedsbristerne.
Top 10 listen over sikkerhedsbrister bør nærlæses af enhver virksomhed, og alle udviklingsprojekter bør afspejle en forøget fokus omkring sikkerheden i webapplikationerne. I modsat fald skal hackerne nok finde vej.
Den åbne dørs politik kan fungere i ledelsesmæssige sammenhænge, men i it-projekter må den være bandlyst.
Faktaboks:
Top 10 Sikkerhedsproblemer
Unvalidated Input
Manglende validering af brugernes input kan bruges af hackere til at angribe backendsystemet via webapplikationen. Den bedste måde at sikre sig på er at begrænse den tilladte mængde af karakterer og afvise input, der overstiger disse retningslinjer.
Broken Access Control
Adgangskontrollen for brugere skal håndhæves strengt. I modsat fald kan hackere bruge fejl i brugerrettighederne til at tilgå andre brugerprofiler, filer eller foretage uautoriserede funktioner. w
Broken Authentication and Session Management
Et problem kan opstå, når rettigheder og information om brugernes sessioner ikke håndteres korrekt. Dermed kan hackere misbruge password, nøglefiler eller oplysninger i cookies og dermed antage andre brugeres identitet.
Cross Site Scripting
Cross Site Scripting er udførelsen af clientside-scripts specificeret af hackeren, der kan opnå administrative rettigheder på webserveren. Med cross-site-scripting kan webapplikationer bruges til at angribe slutbrugerens browser, give forkert information eller aflæse information hos brugeren. Udviklerne skal derfor sikre, at information kontrolleres, inden det vises i brugerens browser og ikke blot ukritisk udføres.
Buffer Overflow
Ved bufferoverflow kan en webapplikation få en webserver til at gå ned, fordi input ikke valideres korrekt. Dermed kan hackere i nogle tilfælde overtage kontrollen over serveren. Bufferoverflows sker, når en bruger angiver input, som er større end det input, webapplikationen forventer.
Injection Flaws
SQL-Injection er en teknik, hvor en hacker erstatter parametre i blandt andet applikationens URL med SQL-kommandoer, der bruges til at kommunikere med den bagvedliggende database. Derved kan databaseserveren udføre de kommandoer, som hackeren beder om. Ved at udnytte en SQL-Injections sårbarhed kan en hacker få oplysninger om databasen tabel- og feltnavne. En sådan oplysning kan misbruges til at ændre, indsætte og slette databasens indhold.
Improper Error Handling
Når fejl opstår, skal de håndteres korrekt. Dette er desværre ikke altid tilfældet, og nogle hackere kan fremprovokere fejl som webapplikationen ikke kan håndtere. Derved kan en hacker få kontrol over serveren.
Insecure Storage
Webapplikationer bruger ofte kryptering af data, men det kan være problematisk at programmere det korrekt.
Application Denial of Service
En variant af angrebene er at optage så store ressourcer på webapplikationen, at andre brugere ikke kan logge på. Dette kan skabe en Denial of Service (DoS) tilstand, som forhindrer legitime brugere i at bruge webapplikationen.
Insecure Configuration Management
Hvis ikke man sikrer serverens konfiguration fra starten er selve webapplikationen heller ikke sikker.
Kilde: Open Web Application Security Project (www.owasp.org)
OriginalModTime: 02-11-2006 15:28:48