Používanie tretej-party obchádzky alebo podobných techník nie je podporovaná na serveri SQL Server

Preklady článku Preklady článku
ID článku: 920925 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Súhrn

Používaní funkcií obchádzky alebo podobné techniky zmeniť správanie servera Microsoft SQL Server môže spôsobiť nasledovné problémy:
  • Problémy s výkonom
  • Nesprávne výsledky
  • Disku a pamäte korupcii
  • Strata odozvy servera SQL Server
  • Neočakávané proces ukončenia
  • Neschopnosť používať štandardné diagnostické funkcie fn_get_sql a príkazu DBCC INPUTBUFFER
  • Väčšiu šancu na bezpečnostné otázky
Poznámka Spoločnosť Microsoft neposkytuje služby podpory pre tretej-party funkcie, ktoré používajú obchádzky alebo podobné techniky zmeniť správanie servera SQL Server. Ak pracujete s podporu služby SQL Server SQL Server problém, a to je identifikovaný, že by mohli byť zapojené obchádzky alebo podobných techník, ktoré menia správanie servera SQL Server, pracovník technickej podpory sa spýta vypnúť alebo odstrániť takéto obchádzky alebo podobné funkcie v rámci riešenia problémov. Ako dodatočné riešenie problémov môže dôjsť k nahláseného problému musia byť reprodukované bez akejkoľvek prítomnej obchádzka funkcie. Otázkou už vyskytnú, Microsoft môže odporúčame vám poskytne dodávateľ tretej-party funkcia a pokračujte v riešení problému smerom od tohto dodávateľa.

Ďalšie informácie

Obchádzky sú silné. Obchádzky poskytuje vylepšené možnosti a riziko/odmena kompromis. Zvyčajne, keď obchádzka je implementovaný v SQL Server, uplatniteľné kód je vstrekne do proces priestor. SQL Server metódy a funkcie sú zachytené. Táto činnosť môže zmeniť základné výkonnostné SQL Server.

Nižšie sú uvedené niektoré príklad situácie a možné vedľajšie účinky:
  • Prichádzajúcich sieťových paketov prevádzky (TDS) sú skenované a zmenil. Obchádzka je pridaný na kritických miestach na net_readdata sieti proces vlákno. Dokonca aj niektoré 100 cyklov CPU na tomto mieste môžu podstatne znížiť dávku rýchlosť priepustnosti.

    Zmeny v aktuálnych údajov TDS môže viesť k scribblers pamäť. Tento problém vyvolala rôzne problémy so stabilitou SQL Server a dáta korupcii. Problémy môžu spôsobiť TDS paket sa čiastočne zmenil a replay odpadu na SQL Server. Protokolovanie zariadenia na tejto úrovni môže vystaviť hesiel a iných citlivých údajov SQL Server sledovania je určený na potlačenie a na zabezpečenie.
  • SQL Server parsovanie rutiny sú detoured zmeniť správanie. Možné vedľajšie účinky sú:
    • Realizáciu plánov nezodpovedajú skutočnej dotaz textu.
    • Príkaz predkladá iba jeden čas od klienta. Avšak, je príkaz vykonaný viackrát.
    • Stopové výstup zobrazuje pôvodný príkaz namiesto pozmenenej dotazu.
    • Príkaz DBCC INPUTBUFFER ukazuje pôvodný príkaz namiesto pozmenenej dotazu.
    • Fn_get_sql funkcia zobrazuje nesprávne údaje. Navyše, fn_get_sql funkcia je náchylných, výnimiek a nesprávne výsledky. Funkcia fn_get_sql používa veľa riešenie pre monitorovanie a môže spôsobiť problémy na riešenie pre monitorovanie.
    • Celkovo je možné prerušovať User Mode Scheduler (UMS) a SQL Server operačný systém (SQLOS) plánovanie. To vedie k strate odpoveď servera SQL, zmeny výkonnosti a výpadky.
  • Win32 API, ktoré poskytuje zdokonalené funkcie zabezpečenia sú detoured. V závislosti od implementácie, logovanie zariadenia na tejto úrovni môže vystaviť heslá a iné citlivé údaje. Celkovo UMS a SQLOS plánovanie je prerušený. To vedie k strate odpoveď servera SQL a na výpadky.
  • Úprava funkcie tabuliek a presmerovanie základné funkcie SQL Server alebo rozhranie API systému Windows nie sú podporované v rámci procesu servera SQL Server. To môže viesť k nestabilite a neočakávané správanie vo funkčnosti servera SQL Server.
Nasledujúci príklad ukazuje, že kernel32!Funkcia GetQueuedCompletionStatus rozhrania funkcie boli detoured.
MyDLL!MyGetQueuedCompletionStatus
ssnetlib!ConnectionReadAsyncWait
V zhromaždení pre funkciu funkcia GetQueuedCompletionStatus rozhrania prvej inštrukcie bol nahradený inštrukciu skoku.
0:038> u kernel32!GetQueuedCompletionStatus
kernel32!GetQueuedCompletionStatus 
77e660f1 e90a9f00aa      jmp     21e70000   ß  This points to an address that does not appear in the loaded module list (lm). It is injected code.
77e660f6 83ec10          sub     esp,10h
Zostavy pre vloženého kódu ukazuje detoured činnosť a výzva k súboru MyDLL.
0:038> u 21e70000  

21e70000 55              push    ebp
21e70001 8bec            mov     ebp,esp
21e70003 51              push    ecx
21e70004 8b4518          mov     eax,dword ptr [ebp+18h]
21e70007 50              push    eax
21e70008 8b4d14          mov     ecx,dword ptr [ebp+14h]
21e7000b 51              push    ecx
21e7000c 8b5510          mov     edx,dword ptr [ebp+10h]
21e7000f 52              push    edx
21e70010 8b450c          mov     eax,dword ptr [ebp+0Ch]
21e70013 50              push    eax
21e70014 8b4d08          mov     ecx,dword ptr [ebp+8]
21e70017 51              push    ecx
21e70018 e8234d19ee      call   MyDLL+0x4d40 (10004d40)   <- Call to the MyDLL file.
21e7001d 8945fc          mov     dword ptr [ebp-4],eax
21e70020 8b55fc          mov     edx,dword ptr [ebp-4]

Debugging Tools for Windows môžete použiť na určenie, či sa používajú obchádzky. Robiť to, postupujte nasledovne.

Poznámka Vždy test tejto metódy pred môžete to vyskúšať vo výrobe. Keď použijete Debugging Tools for Windows, proces môže zmraziť pri spustení príkazov. Toto správanie môže nepriaznivo ovplyvniť produkčný server.
  1. Debugging Tools for Windows pripojiť na server SQL Server, alebo nahrať súbor s výpisom úplné užívateľ.
  2. Zadajte nasledujúci príkaz ladiaci nástroj. Tento príkaz kontroluje každý obrázok proti obraz disku zistiť, či bol aplikovaný obchádzky.
    !for_each_module "!chkimg -v @#Base -d"
  3. Odpojiť ladiaci nástroj.
Chcete získať Debugging Tools for Windows, navštívte nasledovnú webovú lokalitu spoločnosti Microsoft:
http://www.Microsoft.com/whdc/devtools/Debugging/default.mspx
Ak v pamäti obraz bol zmenený, výstup podobný nasledujúcemu:
Comparison image path: c:\program files\microsoft sql server\mssql\binn\ssnetlib.dll\ssnetlib.dll
Scanning section:    .text
Size: 56488
Range to scan: 0c261000-0c26eca8
0c263710-0c26371a  11 bytes - ssnetlib!ConnectionClose
           
	[ 8b ff 55 8b ec 83 ec 10:68 00 00 00 00 e9 27 8a ]
0c2641e0-0c2641ea  11 bytes - ssnetlib!ConnectionReadAsync (+0xad0)

	[ 8b ff 55 8b ec 83 ec 38:68 00 00 00 00 e9 00 7e ]
0c265160-0c26516a  11 bytes - ssnetlib!ConnectionWriteAsync (+0xf80)

	[ 8b ff 55 8b ec 83 ec 28:68 00 00 00 00 e9 ba 70 ]
Total bytes compared: 56488(100%)
Number of errors: 33
33 errors : 0c260000 (0c263710-0c26516a)
Môžete si prezrieť zhromaždenie sa pozrieť bližšie na problematiku, takto:
0:038> u ssnetlib!ConnectionClose
ssnetlib!ConnectionClose]:
0c263710 6800000000      push    0
0c263715 e9278ada03      jmp     MyDLL!MyGetQueuedCompletionStatus  <- A detour has been installed.

Antivírusové programy, ktoré sledujú SQL Injection útoky môžu okľukou kód SQL Server. V tomto scenári, výstup! for_each_module "! chkimg - v @#Base -d" rozšírenie môže ukázať, že SQL Server funkcie yyparse a ex_raise2 sú upravené:

Comparison image path: <symbol file path>\sqlservr.exeRange to scan: c81000-3de7d48    ed71a8-ed71ad  6 bytes - sqlservr!yyparse [ ff f5 41 54 41 55:e9 c7 95 5c 76 90 ]1202820-1202824  5 bytes - sqlservr!ex_raise2 (+0x32b678) [ ff f3 57 41 54:e9 20 e0 29 76 ]Total bytes compared: 51801416(17%)Number of errors: 11

Odporúčame vám kontaktovať poskytovateľa obchádzky alebo podobných techník informácie o spôsobe použitia obchádzky alebo podobných techník v SQL Server. Ďalšie informácie o obchádzky a podobné techniky, nájdete na lokalite Microsoft Research Center Web:
http://Research.Microsoft.com/sn/detours

Vlastnosti

ID článku: 920925 - Posledná kontrola: 10. decembra 2013 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Kľúčové slová: 
kbtshoot kbexpertiseadvanced kbinfo kbmt KB920925 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 920925

Odošlite odozvu

 

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