Microsoft: Tre gratis våben mod SQL-injektion

Microsoft udpeger tre værktøjer, der kan hjælpe med at opdage og lukke for de sårbarheder, der kan udnyttes til at hacke webapplikationer via SQL-injektion.

Softwaregiganten Microsoft har udpeget tre værktøjer, der kan hjælpe webadministratorer med at finde og lukke for de sårbarheder, der gør det muligt at hacke en webapplikation ved hjælp af SQL-injektion.

Internetbrugerne benytter i dag et væld af webapplikationer, når de færdes på internettet, og det gør disse applikationer til et attraktivt mål for hackere og virusprogrammører.

Det ses på flere bølger af angreb rettet mod websteder, hvor sårbarheder i webapplikationen er blevet brugt til at sprede ondsindede programmer via webstederne.

Den mest almindelige type sårbarhed er såkaldt SQL-injektion, hvor manglende kontrol af input fra en URL eller formular kan bruges til at indskyde kode på webstedet.

Microsoft har udsendt en særlig sikkerhedsadvarsel omkring SQL-injektion. Det er et usædvanligt skridt, da der ikke er tale om en specifik sårbarhed eller et problem, der direkte vedrører Microsofts software. SQL-injektionssårbarheder findes i selve webapplikationens kode.

I dette tilfælde er der tale om tre værktøjer samt vejledning i, hvordan man kan undgå SQL-injektion i webapplikationer skrevet i ASP og ASP .Net.

Det første gratis værktøj, som Microsoft anbefaler, er udviklet af Hewlett-Packard og kaldes HP Scrawlr. Det bruges til såkaldt black-box-test af webapplikationer. Det vil sige, at det analyserer applikationens grænseflader, men kigger ikke på selve koden.

Scrawlr følger samtlige links på webstedet og afprøver både parametre i URL-adresser og formularer for at finde SQL-injektionssårbarheder.

Microsoft anbefaler også betaversionen af version 3.0 af dets eget UrlScan-værktøj. Det bruges til at opsætte regler for input i en webapplikation, så det bliver lettere at sikre, at alle inputfelter er omfattet af de nødvendige regler for, hvad der kan sendes videre til de enkelte funktioner i koden.

Det tredje værktøj er et nyt værktøj, som Microsoft selv har udviklet. Microsoft Source Code Analyzer er et white-box-værktøj, som analyserer kildekoden til en webapplikation. Det vil sige, at programmet leder efter inputfelter i koden, hvor der mangler kontrol med, at input overholder reglerne. Værktøjet kan indtil videre kun analysere klassisk ASP-kode og ikke ASP .Net, oplyser Microsoft.

Som led i sikkerhedsadvarslen har Microsoft også samlet seks links til vejledninger i, hvordan man forhindrer SQL-injektion i ASP og ASP .Net.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (7)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Stig Johansen

SQL injection er rettet mod en database, og er principielt uafhængig af hvilken front end der er tale om, ikke kun ASP(.NET).

MS SQLServer kan en masse, og er derfor mere sårbar end eksempelvis mySQL, men der kan man også lave numre. Det samme med andre databaser, her er lidt inspiration: http://ferruh.mavituna.com/sql-injection-cheatsheet-oku/

Den eneste rigtige metode er altid at bruge parameterized queries til SQL og XML encode output, så kan man sove trygt om natten.

  • 0
  • 0
#2 Jacob Christian Munch-Andersen

Den eneste rigtige metode er altid at bruge parameterized queries til SQL og XML encode output, så kan man sove trygt om natten.

Ah, man kan jo altså også bare rense brugerinput selv før man smækker det i en kommando, så den eneste metode er det ikke, og uanset skal man stadigvæk huske at validere input for at undgå HTML injections. Men klart et godt råd alligevel.

  • 0
  • 0
#4 Stig Johansen

Ah, man kan jo altså også bare rense brugerinput selv før man smækker det i en kommando, så den eneste metode er det ikke

Enig, men jeg skrev også ..rigtige..

Men det kommer selvfølgelig an på ens referenceramme. De ting jeg roder med er mest interne ting, der er integreret med bagvedliggende operationelle systemer.

Her kan man principielt ikke filtrere noget som helst fra uden at ødelægge kvaliteten/brugsværdien.

og uanset skal man stadigvæk huske at validere input for at undgå HTML injections

Hvis man XMLencoder sit output vil ingen ,

<

iframe> eller m.m. være aktivt i browseren, og vil ikke lave andet end 'støj' på siden.

  • 0
  • 0
#5 Anonym

Mine erfaringer er at man bør ALTID bruge prepared statements for an undgå sql injections.

En god teknik som jeg ofte anvender til at scanne input fra brugere er at smide et filter op foran applikationen (i Java et servlet filter) som man konfigurerer til at hooke ind før den rammer ens egen.

  • 0
  • 0
#6 Stig Johansen

Bare for en ordens skyld, så afhængig af hvilken verden man befinder sig i, så er - Parameterized Queries - Prepared Statements - Binding Variables ... forskellige navne for den samme ting. Microsoft, som artiklen handler om, benytter terminologien Parameterized Queries.

  • 0
  • 0
Log ind eller Opret konto for at kommentere