torsdag 19. mars 2009

Mer automatiserte angrep mot norske nettsteder

Preben Nyløkken, senior sikkerhetskonsulent, Watchcom

Et av Watchcom sine fokusområder er overvåkning, og det er ikke helt uten grunn. Det skjer nemlig enormt mye med trusselbildet i Norge for tiden, og første bloggpost handler om nettopp dette.
Paranoia 2008 var en smakebit på hva Watchcom har planlagt tilknyttet overvåking. Dette ble blant annet presentert gjennom ”project Graywolf.”

I utgangspunktet var prosjektet og teknologien utviklet for å tilfredsstille vår egen nysgjerrighet for å avdekke om trusselbildet var så alvorlig som vi hadde predikert. Tallene ble lagt på bordet, og bekreftet vår mistanke. Nå er teknologien blitt moden, og forebygger web-infisering for kundene vi overvåker. Og mye har skjedd siden Paranoia, der i blant flere automatiserte angrep mot web-applikasjoner.

”prober”
Før angrep mot norske nettsteder starter, sendes det ofte en ”probe” fra de som står bak. Denne sjekker om du har filer på serveren din som de vet kan være sårbare for enkelte angrep. Hvis de filene blir lokalisert kommer hackerne på besøk en gang til, men denne gangen med et arsenal av våpen som bagasje. Målet er å injisere skadelige koder på nettsiden, så en rekke XSS (http://en.wikipedia.org/wiki/Cross_site_scripting) og SQL-injection (http://en.wikipedia.org/wiki/SQL_injection) angrep blir ofte forsøkt mot nettsiden.

Dette høres kanskje ut som enkle angrep som websider ikke burde være sårbare mot, men Watchcom sitt sikkerhetsteam testet godt over 100 nettsider i 2008 med manuelle sikkerhetstester. Dommen er klar: Ca 80 prosent av alle nettsidene vi testet i 2008 var sårbare for XSS (både i persistent, og ikke-persistent variant), og SQL-injection i ca 30 prosent av tilfellene. Kundene vi tester er ofte større organisasjoner med million-budsjett på sikkerhet, så det er ingen tvil om at ”alle” kan bli rammet av denne problemstillingen.

Er angrepet vellykket hackes websiden, men ikke slik vi er vant til å se. Nå legges det inn små kodesnutter på nettsiden som infiserer brukeren, mens den resterende nettsidens design og tekst ikke endres. Dette er meget effektive angrep da det ofte tar lang tid å oppdage at nettsiden er blitt angrepet. I tidsrommet i mellom blir de besøkene forsøkt infisert, med mål om å få tilgang til sluttbrukerens finansielle informasjon som bankkort og lignende.

Så følg med i vår nye blogg videre hvor vi kommer med en rekke real-life caser som vi jobber med, også tilknyttet denne problemstillingen.

Tiltak mot slike angrep:
1. Husk at en web-applikasjon er lik som normale applikasjoner med tanke på at det kommer nye versjoner av programvaren. Benytter du deg av hyllevare så er det en kritisk faktor å holde websidens rammeverk oppdatert med siste versjon. En rekke angrep går mot kjente publiseringsløsninger. Snakk med din forhandler av slike løsninger om det er kommet nye versjoner av den programvaren dere bruker.

2. Hvis du ikke allerede kjører sikkerhetstester så kan det være smart å vurdere dette. Sørg også for at slike tester ikke kun baserer seg på automatiske verktøy som scanner nettsiden, men også at noen foretar en manuell gjennomgang av nettsiden. Grunnen til dette er at automatiserte verktøy kun finner ”low-hanging-fruit”, mens mer avanserte angrep som Missing Authorization (http://www.owasp.org/index.php/Guide_to_Authorization), ikke blir oppdaget. Kombinasjonen av automatiske verktøy og manuelle tester er et meget godt utgangspunkt for en sikker webapplikasjon.

3. Sørg for at databasebrukerne ikke kjører som SA (den med høyest rettigheter på en database), og har så lite privlegier som mulig (f.eks kun SELECT om det er alt som behøves). Dette kan være med å begrense web-infiseringer selv om applikasjonen er sårbar for eksempelvis SQL-injection.

4. Valider input fra sluttbruker. Dette betyr at informasjon som kommer fra klienten (post, get, header-informasjon med mer) sjekkes for ulovlige tegn. Det er her viktig å whiteliste, kontra blackliste. Husk også å encode output før teksten presenteres, for å være på den sikre siden.

0 Kommentarer: