Het hulpprogramma Microsoft Source Code Analyzer for SQL Injection is nu beschikbaar voor het opsporen van beveiligingsproblemen als gevolg van SQL-injecties in ASP-code

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 954476 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Inleiding

In dit artikel wordt het hulpprogramma Microsoft Source Code Analyzer for SQL Injection beschreven. Met dit analysehulpprogramma voor statische code kunt u beveiligingsproblemen als gevolg van SQL-injecties in ASP-code opsporen.

Meer informatie

Het hulpprogramma Microsoft Source Code Analyzer for SQL Injection is een analysehulpprogramma voor statische code dat u helpt bij het opsporen van beveiligingsproblemen als gevolg van SQL-injecties in ASP-code. In dit artikel wordt beschreven hoe u het hulpprogramma gebruikt. U vindt ook een beschrijving van de waarschuwingen die het hulpprogramma genereert en van de beperkingen van het hulpprogramma. Zie het Leesmij-bestand bij het hulpprogramma voor meer informatie.

Vereisten

Voor dit opdrachtregelprogramma hebt u de volgende software nodig:
  • .NET Framework 3.0

Problemen door SQL-injecties in ASP-code

Als door de gebruiker verstrekte gegevens uit de Request.Form- of Request.Querystring-verzameling in ASP-code worden gebruikt om dynamische SQL-instructies samen te stellen zonder dat enige gegevensvalidatie wordt uitgevoerd, zou een hacker SQL-opdrachten in een SQL-instructie kunnen plaatsen en hiervan misbruik kunnen maken. Dit wordt doorgaans een Eersterangs SQL-injectieprobleem genoemd.

Als gebruikersinvoer via één ASP-pagina in een database wordt opgeslagen en de gebruikersinvoer vervolgens uit de database wordt opgehaald en wordt gebruikt om dynamische SQL-instructies samen te stellen op een andere ASP-pagina, kan een hacker SQL-opdrachten in een SQL-instructie plaatsen en hiervan misbruik maken. Dit wordt meestal een Tweederangs SQL-injectieprobleem genoemd.

U kunt deze beveiligingsproblemen beperken door SQL-query's met parameters te gebruiken. Ga naar de volgende Microsoft-website voor meer informatie over problemen door SQL-injecties in ASP en over methoden om deze beveiligingsproblemen te beperken:
http://msdn.microsoft.com/en-us/library/cc676512.aspx
Het hulpprogramma Microsoft Source Code Analyzer for SQL Injection helpt u om enkele van deze problemen automatisch op te sporen.

Gebruik

In deze sectie wordt het gebruik van het hulpprogramma beschreven.

Syntaxis

Het hulpprogramma gebruikt de volgende syntaxis:
msscasi_asp.exe [/nologo] [/quiet] [/suppress=num;..;num] [/GlobalAsaPath=pad] [/IncludePaths=pad;..;pad] /Input=file.asp

Beschrijving

Het hulpprogramma analyseert ASP-code op beveiligingsproblemen als gevolg van SQL-injecties.

Parameterlijst

Deze tabel samenvouwenDeze tabel uitklappen
Parameter Optie Beschrijving
/GlobalAsaPathpadGeeft het pad naar het bestand Global.asa weer.
/IncludePathspadenGeeft de met puntkomma's gescheiden paden weer voor het oplossen van bestanden die middels virtuele paden zijn ingesloten.
/inputASP-bestandGeeft het absolute pad weer naar het ASP-bestand dat moet worden geanalyseerd.
/suppress warnings Waarschuwingen worden niet gemeld.
/nologo Het logo van het hulpprogramma wordt niet weergegeven.
/quietParseerfouten worden niet weergegeven. Als u de schakelopties /nologo en /quiet gebruikt, worden alleen waarschuwingsberichten weergegeven.

Voorbeelden

MSSCASI_ASP /input="c:\source\logon.asp"
MSSCASI_ASP /GlobalAsaPath="C:\source" /input="c:\source\webitems\display.asp"
MSSCASI_ASP /GlobalAsaPath="C:\source" /input="c:\source\webitems\display.asp" /IncludePaths="C:\virtualdirectory1;C:\virtualdirectory2"
MSSCASI_ASP /input="c:\source\webitems\display.asp" /suppress="80406;80407"

De uitvoer bekijken

Het hulpprogramma genereert de volgende waarschuwingen:
Deze tabel samenvouwenDeze tabel uitklappen
WaarschuwingBeschrijving
80400Mogelijk beveiligingsprobleem door SQL-injectie via gegevens die zonder enige invoervalidatie uit het Aanvraagobject worden gelezen. Deze waarschuwingen wijzen doorgaans op fouten die hersteld moeten worden.
80406Mogelijk beveiligingsprobleem door SQL-injectie via gegevens die uit het Aanvraagobject worden gelezen, waarvoor de invoer heeft plaatsgevonden middels onbekende functieaanroepen waarbij al dan niet een gegevensvalidatie is uitgevoerd. Als binnen de functieaanroep geen gegevensvalidatie wordt uitgevoerd, zijn dit zeer waarschijnlijk fouten. Anders zijn het onjuiste positieve detecties.
80403Mogelijk beveiligingsprobleem door SQL-injectie via gegevens die afkomstig zijn van een back-endserver. Als de gegevens door een eindgebruiker via een andere website worden beheerd, zijn het hoogstwaarschijnlijk fouten. Als de gegevens echter vertrouwd zijn, hoeven het geen fouten te zijn. Het blijft echter een goede gewoonte om deze query's te voorzien van parameters als onderdeel van een uitgebreide beveiligingsstrategie.
80407Mogelijk beveiligingsprobleem door SQL-injectie via gegevens die afkomstig zijn van een back-endserver en die zijn doorgegeven via een onbekende functieaanroep. Als de gegevens door een eindgebruiker via andere websites worden beheerd en als er geen gegevensvalidatie voor deze gegevens is uitgevoerd, zijn het hoogstwaarschijnlijk fouten.
80420Mogelijk beveiligingsprobleem door SQL-injectie via functieparameters. Deze waarschuwingen worden gegenereerd op basis van functiebereik. Dat houdt in dat het onjuiste positieve detecties zijn als de waarden afkomstig zijn van vertrouwde bronnen. Als de parameterwaarden worden beheerd door eindgebruikers, betreft het hoogstwaarschijnlijk fouten. Met de aantekening __sql_pre_validated voor de functieparameters kunt u detecteren of eindgebruikers toegang hebben tot deze code.
80421Mogelijk beveiligingsprobleem door SQL-injectie via functieparameters waarvoor de functieparameters zijn doorgegeven via onbekende functieaanroepen waarbij al dan niet een gegevensvalidatie is uitgevoerd. Met de aantekening __sql_pre_validated voor de functieparameters en __sql_validate voor de validatiefunctie kunt u detecteren of eindgebruikers toegang hebben tot deze code.
Van alle waarschuwingen die het hulpprogramma genereert, duidt waarschuwing 80400 het meest waarschijnlijk op echte fouten. ASP-webontwikkelaars moeten deze fouten herstellen met behulp van parameterquery's. Ga naar de volgende Microsoft-website voor meer informatie over het gebruik van SQL-query's met parameters in ASP-code:
http://msdn.microsoft.com/en-us/library/cc676512.aspx

Beperkingen

Het hulpprogramma heeft de volgende bekende beperkingen:
  • Het hulpprogramma herkent alleen ASP-code die in VBScript is geschreven. Op het moment van schrijven analyseert het programma geen code aan de serverzijde die in een andere taal, zoals Jscript, is geschreven.
  • Als onderdeel van het ontwikkelingsproces van dit hulpprogramma is een nieuwe ASP-parser ontwikkeld. Deze parser dekt mogelijk niet alle ASP-constructies. Het is daarom mogelijk dat er enkele parseerfouten optreden.

Referenties

Ga naar de volgende Microsoft-website als u het hulpprogramma Microsoft Source Code Analyzer for SQL Injection wilt downloaden:
http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA
Ga naar de volgende Microsoft-website voor meer informatie over documentatie met aanbevelingen:
http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx
Ga naar de volgende Microsoft-website voor meer informatie over manieren ter voorkoming van SQL-injecties in ASP:
http://msdn.microsoft.com/en-us/library/cc676512.aspx
Ga naar de volgende Microsoft-website voor meer informatie over aanvallen via SQL-injecties:
http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx
Ga naar de volgende Microsoft-website voor meer informatie over het hulpprogramma:
http://blogs.msdn.com/sqlsecurity
Ga naar de volgende Microsoft-website om het hulpprogramma te bespreken in het forum MSDN SQL Security:
http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=92&SiteID=1

Eigenschappen

Artikel ID: 954476 - Laatste beoordeling: donderdag 26 juni 2008 - Wijziging: 1.0
De informatie in dit artikel is van toepassing op:
  • Microsoft ASP.NET 2.0
Trefwoorden: 
atdownload kbexpertiseadvanced kbcode kbexpertiseinter kbinfo kbsecadvisory kbsecurity kbsecvulnerability KB954476

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com