Jelenleg nem kapcsolódik az internethez. Várakozás a kapcsolat helyreállítására

Megjelent az ASP-forráskód SQL-utasítások beszúrását lehetővé tevő biztonsági réseinek keresésére szolgáló Microsoft Source Code Analyzer for SQL Injection eszköz

BEVEZETÉS
Ez a cikk a Microsoft Source Code Analyzer for SQL Injection eszközt ismerteti. Ezzel a statikus forráskód elemzésére szolgáló eszközzel megkereshetők az ASP-forráskód SQL-utasítások beszúrását lehetővé tevő biztonsági rései.
További információ
A Microsoft Source Code Analyzer for SQL Injection egy statikus forráskód elemzésére szolgáló eszköz, amely az ASP- (Active Server Pages) forráskód SQL-utasítások beszúrását lehetővé tevő biztonsági réseinek kereséséhez nyújt segítséget. A jelen cikk az eszköz használatát, figyelmeztető üzeneteit és korlátait ismerteti. További részletekért tekintse meg az eszköz információs fájlját.

Előfeltételek

Ez a parancssori eszköz a következő szoftvert igényli:
  • .NET-keretrendszer 3.0

ASP-forráskódba beszúrt SQL-utasításokkal kapcsolatos problémák

Ha az ASP-forráskód a Request.Form vagy a Request.Querystring gyűjtemények felhasználó által megadott adatait használja dinamikus SQL-utasítások összeállítására az adatok érvényességének ellenőrzése nélkül, a támadók visszaélhetnek ezzel oly módon, hogy az SQL-utasításokba SQL-parancsokat ágyaznak be. Ez a biztonsági rés az SQL-utasítások elsőrendű beszúrásaként ismert.

A támadók akkor is szúrhatnak be ártó szándékkal SQL-parancsokat, ha a felhasználók által egy ASP-lapról bevitt adatokat egy adatbázis tárolja, és egy másik ASP-lap olvassa ki azokat a dinamikus SQL-utasítások összeállításához. Ez az SQL-utasítások másodrendű beszúrásaként ismert.

A sebezhetőség csökkentése érdekében célszerű paraméterezett SQL-lekérdezéseket használni. Az ASP technológia SQL-utasítások beszúrását lehetővé tevő biztonsági réseiről és a sebezhetőség csökkentésének módszereiről a Microsoft következő webhelyén tájékozódhat bővebben: A Microsoft Source Code Analyzer for SQL Injection eszköz ezen problémák némelyikét automatikusan képes észlelni.

Használat

Ez a szakasz az eszköz használatát ismerteti.

Szintaxis

Az eszköz szintaxisa a következő:
msscasi_asp.exe [/nologo] [/quiet] [/suppress=szám;..;szám] [/GlobalAsaPath=elérési_út] [/IncludePaths=elérési_út;..;elérési_út] /Input=fájl.asp

Leírás

Az eszköz az SQL-utasítások beszúrását lehetővé tevő biztonsági rések felderítése érdekében elemzi az ASP-forráskódot.

Paraméterlista

Paraméter Kapcsoló Leírás
/GlobalAsaPathelérési_útA Global.asa fájl elérési útjának megadása.
/IncludePathselérési_utakA belefoglalt fájlok virtuális elérési útjainak megadása pontosvesszővel elválasztva.
/inputasp-fájlAz elemzendő ASP-fájl abszolút elérési útjának megadása.
/suppress warnings A figyelmeztetések megjelenítésének letiltása.
/nologo Az eszköz emblémájának letiltása.
/quietAz elemzési hibák megjelenítésének letiltása. A /nologo és a /quiet kapcsolók megadása esetén csak a figyelmeztető üzenetek jelennek meg.

Példák

MSSCASI_ASP /input="c:\forrás\logon.asp"MSSCASI_ASP /GlobalAsaPath="C:\forrás" /input="c:\forrás\webitems\display.asp"MSSCASI_ASP /GlobalAsaPath="C:\forrás" /input="c:\forrás\webitems\display.asp" /IncludePaths="C:\virtuális_könyvtár_1;C:\virtuális_könyvtár_2"MSSCASI_ASP /input="c:\forrás\webitems\display.asp" /suppress="80406;80407"

A kimenet áttekintése

Az eszköz az alábbi figyelmeztető hibakódokat jeleníti meg:
FigyelmeztetésLeírás
80400SQL-parancsoknak a Request objektumból bemeneti ellenőrzés nélkül beolvasott adatokba történő beszúrásával kihasználható lehetséges biztonsági rés. Az ilyen figyelmeztetések nagy valószínűséggel olyan hibákra utalnak, amelyeket javítani kell.
80406SQL-parancsoknak a Request objektumból beolvasott adatokba történő beszúrásával kihasználható lehetséges biztonsági rés ismeretlen (esetlegesen ellenőrzést végző) függvényeknek átadott bemeneti adatok esetén. Ha a függvényhívás során nem történik adatellenőrzés, nagyon valószínű, hogy hibáról van szó, egyéb esetekben a figyelmeztetés téves.
80403Háttérkiszolgálókról származó adatokba beszúrt SQL-parancsokkal kihasználható esetleges biztonsági rés. Ha a szóban forgó adatokat végfelhasználók adják meg egy másik webhelyen keresztül, valószínűleg biztonsági résről van szó. Megbízható forrásból eredő adatok esetén nem biztos, hogy ez a helyzet, ettől függetlenül azonban érdemes a kidolgozott védelmi stratégia részeként paraméterezni a lekérdezéseket.
80407Háttérkiszolgálókról származó adatokba beszúrt SQL-parancsokkal kihasználható esetleges biztonsági rés ismeretlen függvényhívások használata esetén. Ha a szóban forgó adatokat végfelhasználók adják meg egy másik webhelyen keresztül, és a függvényhívás során nem történik adatellenőrzés, valószínűleg biztonsági résről van szó.
80420Függvényparaméterekbe beszúrt SQL-parancsokkal kihasználható esetleges biztonsági rés. Az ilyen figyelmeztetések a függvény hatóköre alapján jelennek meg. Ennek következtében előfordulhatnak téves figyelmeztetések, ha a függvényparaméter-értékek megbízható forrásokból származnak, végfelhasználók által megadott paraméterértékek esetén viszont valószínűleg biztonsági résről van szó. Azt, hogy a végfelhasználók hozzáférhetnek-e a szóban forgó kódhoz, a függvényparamétereket az __sql_pre_validated jelöléssel ellátva állapíthatja meg.
80421Ismeretlen (esetlegesen ellenőrzést végző) függvényeknek átadott függvényparaméterekbe beszúrt SQL-parancsokkal kihasználható esetleges biztonsági rés. Annak megállapításához, hogy a végfelhasználók hozzáférhetnek-e a szóban forgó kódhoz, a függvényparamétereket lássa el az __sql_pre_validated jelöléssel, az ellenőrző függvényben pedig használja az __sql_validate jelölést.
A fenti figyelmeztetések közül a 80400-as hibakód jelez a legnagyobb valószínűséggel tényleges biztonsági réseket. Ezeket az ASP technológiát alkalmazó webfejlesztők paraméterezett lekérdezések használatával védhetik ki. A Microsoft alábbi webhelyén további információt talál arról, hogy miként használhat paraméterezett lekérdezéseket az ASP-kódban:

Korlátok

Az eszköz az alábbi ismert korlátokkal rendelkezik:
  • Az eszköz jelenleg csak VBScript nyelvű ASP-forráskódot képes értelmezni, más programnyelveken (például Jscript) íródott kiszolgálóoldali kódot nem.
  • Az eszköz fejlesztésének részeként új ASP-elemző is készült, amely azonban nem minden ASP-szerkezet ellenőrzésére alkalmas, így elemzési hibákkal találkozhat.
Hivatkozások
A Microsoft Source Code Analyzer for SQL Injection eszközt a Microsoft alábbi webhelyéről töltheti le: A gyakorlati tanácsokat tartalmazó dokumentumokról a Microsoft alábbi webhelyén tájékozódhat: Az SQL-utasítások ASP-forráskódba való beszúrásának megakadályozásáról a Microsoft következő webhelyén talál további információt: A beszúrt SQL-utasításokkal történő támadásokról a Microsoft következő webhelyén talál további információt: Az eszközről az alábbi Microsoft-webhelyen talál további információt: Az MSDN SQL-biztonsággal foglalkozó fóruma a Microsoft következő webhelyén érhető el:
Tulajdonságok

Cikkazonosító: 954476 - Utolsó ellenőrzés: 06/27/2008 11:03:00 - Verziószám: 1.0

Microsoft ASP.NET 2.0

  • kbinfo kbsecvulnerability kbsecurity kbcode atdownload kbexpertiseadvanced kbexpertiseinter kbsecadvisory KB954476
Visszajelzés