Erlend Oftedal fra Bekk (til v.) og Markus Harboe fra Mnemonic holdt foredrag om sikkerhet i webapplikasjoner på årets JavaZone-konferanse

316 norske nettsteder hacket siste måned

Sikkerheten i webapplikasjoner er fortsatt nedslående, mener Markus Harboe fra Mnemonic.

Markus Harboe er mannen som tok initiativ til å starte brukerforeningen javaBin for en rekke år siden. Han har også direkte og indirekte vært involvert i utviklingen av utallige webapplikasjoner.

- Nå soner jeg straffen for det gjennom jobben jeg gjør i Mnemonic, fleiper Harboe, som nå arbeider med å finne og rette andres feil i webapplikasjoner.

Sammen med seniorutvikler Erlend Oftedal fra Bekk holdt han et innlegg på JavaZone-konferansen denne uken i Oslo. Oftedal leder faggruppen for sikkerhet i sin bedrift, og er styremedlem i den norske lokalavdelingen av Open Web Application Security Project (OWASP).

Slappe utviklere og prosjekter med feil fokus fører til sikkerhetsbrist i mye programvare. Nettet har gjort feil enda mer utbredt, og følgene av slurv og uvett kan få store konsekvenser.

    Les også:

- Web er en veldig synlig, tilgjengelig og effektiv angrepsflate. Det blir stadig mer vanlig å bruke web for å angripe webbens brukere, sier Harboe.

Hackere utnytter sårbarheter i webapplikasjoner, og hensikten er blant annet å skaffe seg tilgang til data som ligger bak applikasjonen.

Haboe mener 316 norske nettsteder er hacket den siste måneden. Det er over tre ganger som mange som for et halvt år siden. Tallene har han hentet fra tjenesten Zone-H, som arkiverer informasjon om nettsteder som har blitt vandalisert.

- Mange av disse innbruddene skyldes SQL-innsprøyting, legger han til.

Markus Harboe fra IT-sikkerhetsselskapet Mnemonic.
Markus Harboe fra IT-sikkerhetsselskapet Mnemonic. Bilde: Marius Jørgenrud

Dette er en velkjent teknikk der hackere kan skaffe seg uautorisert tilgang eller vandalisere systemer ved å servere SQL-kode i skjemafelt eller URL-er.

Et annet angrep som ifølge Haboe er «helt ekstremt vanlig» er Cross Site Scripting. Denne metoden, som også er kjent som XSS, innebærer at personer med skumle hensikter ved hjelp av ulike metoder kan sette inn kode på nettsteder som brukere i utgangspunktet stoler på.

- Rundt 80 prosent av alle nettsteder vi har testet er rammet av dette, sier Harboe, som tror tallene er enda høyere hvis han tar med såkalt «indirekte XSS».

Sistnevnte er en metode der hackere får lagt inn skadelig kode inn i loggfiler. Dersom noen ukritisk leser av en slik logg i en nettleser kan slike angrep trigges, forklarer Harboe.

Feil som skyldes angrep med SQL-innsprøyting har de funnet i rundt 10 prosent av nettstedene som Mnemonic har testet.

- For å unngå disse problemene må alle inndata valideres, men det er vel så viktig at HTML markeres slik at den blir ignorert av nettleser (HTML-escaping) før den legges i resultatet. I tillegg må enkelt- og dobbeltfnutter markeres vekk før data skrives til Javascript-variabler, opplyser Oftedal.

Han legger til at applikasjonsbrukeren på databaseløsninger også bør ha begrenset tilgang. Mange åpner for brist i sikkerheten ved å la applikasjonene kjøre med fulle rettigheter.

Et annet problem de to herrene ønsker å rette søkelyset på er informasjonslekkasje. Altfor mange nettløsninger lekker informasjon hvis det oppstår feil. Da dukker det opp kryptiske feilmeldinger (stacktrace) som vanlige sluttbrukere ikke forstår noe av. Hackere kan i enkelte tilfeller få vite informasjon om det underliggende systemet på denne måten.

Hvorfor viser man dette til brukere, spør Oftedal, og svarer selv at da er det bedre å vise generiske feilmeldinger.

Rydd opp i rotet

En rekke utviklere synder dessuten ved å ikke rydde opp i rotet de har skapt før en løsning blir produksjonsklar. Sikkerhetskopier av filer og midlertidige filer må vekk, det holder ikke at de ikke er lenket opp.

Det finnes ogs en rekke forskjellige former for prosjektmetodikk som kan bidra til å gjøre sikkerheten bedre. Oftedal og Harboe nevner blant annet OWASP, Microsoft Trustworthy Computing Security Development Lifecycle, Gary McGraws Touch-point model og SEI Team Software Process for Secure Software.

Oppsummeringen til Harboe og Oftedal fungerer fint også som en huskeliste for utviklere:

  • Husk å validere inndata
  • husk å spesialmarkere (escape) utdata
  • Bruk generiske feilmeldingssider og pass på hvilke filer og ressurser som havner i produksjon
  • Sjekk at autentiseringen din faktisk fungerer
  • Bruk tid på sikkerhet gjennom hele prosjektet

    Les også:

Til toppen