Af chefkonsulent Preben Andersen, UNI?C, leder af DK-CERT
For nylig faldt den første dom i den såkaldte Valus-sag, hvor en hacker blev dømt for at have afsendt en kommando, der fik en server hos Valus til at gå ned. Sagen er interessant, fordi den illustrerer, at sikkerhed på web-applikationer er den næste udfordring for sikkerhedsfolkene.
Et websted bygger som regel på en kombination af fire byggeklodser: Et operativsystem, et web-serverprogram, en database og dynamiske web-sider skrevet i ASP, PHP, JSP eller lignende.
De dynamiske websider indeholder en kombination af faste oplysninger og data hentet fra databasen.
SQL misbruges
Selvom man sikrer sit styresystem, web-serverprogrammet og databasen efter alle kunstens regler, kan web-applikationen alligevel være usikker.
Et udbredt problem består i misbrug af standardsproget SQL, som alle databaser forstår: En hacker kan indtaste en web-adresse kombineret med dele af en SQL-kommando i adressefeltet i browseren.
Hvis web-applikationen ukritisk giver data fra feltet videre til databasen, kan angriberen på den måde få udført databasekommandoer. Han kan for eksempel se indhold, som ellers ikke er offentligt tilgængeligt. Måske kan han også slette data fra databasen.
Problemet er velkendt inden for systemudvikling: Manglende input-validering. Hvis man ikke kontrollerer, hvad en bruger indtaster, kan de indtastede data forvolde skade.
Men i udviklingen af web-applikationer tænker programmøren ikke nødvendigvis på, at en URL ikke kun er en statisk størrelse, men også kan indtastes manuelt. Derfor findes der mange web-applikationer, der ikke tilstrækkelig effektivt kontrollerer URL-strenge for skadeligt indhold.
Kræver sikkerhedskontrol
Dynamiske websider er ofte skrevet af firmaet selv eller et konsulenthus, mens de øvrige dele købes som standardvarer. Det er med til at gøre sikkerhedsproblemet større.
Der findes masser af brugere af web-serverprogrammer som Apache og Microsofts IIS. Dermed er der også mange, der finder fejl og sikkerhedshuller i dem. Så der er gode chancer for, at en sårbarhed bliver fundet og rettet.
Men ASP-sider, der kommunikerer med en database, er forskellige fra websted til websted. Derfor er det op til webstedets ejere eller deres konsulenter at kontrollere sikkerheden. Og de vil som regel bruge flere kræfter på at sikre, at webstedet er brugervenligt og funktionelt, end at det ikke kan misbruges af hackere.
Firmaet Evikali gjorde tidligere på året DK-CERT opmærksom på en række danske websteder, der kunne se ud til at have SQL-sårbarheder. Vi kontaktede administratorerne og advarede dem om problemet. Men der er sandsynligvis mange flere websteder i Danmark, der er sårbare over for denne type angreb.
DK-CERT (www.cert.dk) er det danske Computer Emergency Response Team. I samarbejde med tilsvarende CERT'er over hele verden indsamler DK-CERT information om internetsikkerhed. DK-CERT udsender advarsler og tager imod anmeldelser af sikkerhedsrelaterede hændelser på internettet.
Preben Andersen opdaterer den sidste fredag i hver måned Computerworld Onlines læsere med de seneste tendenser inden for IT-sikkerhed.
Relavante links
Information om SQL-indsætning fra SQL Security
"Advanced SQL Injection In SQL Server Applications" af Chris Anley, NGSSoftware