현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

자유롭게 또는 유사한 기술을 사용 하 여 SQL Server 예기치 않은 동작이 발생할 수 있습니다.

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:920925
요약
Microsoft 기술 지원 서비스를 자유롭게 사용 하 여 Microsoft SQL Server 추가 기능을 제공 하는 다양 한 타사 제품 발견 했습니다. 일반적으로 기능 감사는 이러한. 제 자유롭게 Microsoft 응용 프로그램에 대 한 인증 과정이 없습니다. 따라서 일반적으로 Microsoft 강력한 인증은 자유롭게 사용 합니다.

기능을 자유롭게 또는 유사한 기술을 사용 하 여 SQL Server 동작을 변경할 다음과 같은 문제가 발생할 수 있습니다.
  • 성능 문제
  • 잘못 된 결과
  • 디스크 및 메모리 손상
  • SQL Server 응답의 손실
  • 예기치 않은 프로세스 종료
  • Fn_get_sql 함수 및 DBCC inputbuffer가 지워지기 명령 표준 진단 유틸리티를 사용할 수 없음으로
연결 된 서버, 확장된 프로시저 또는 SQL Server 프로세스 내에서 COM 개체 같은 타사 소프트웨어를 사용할 때 이러한 동일한 문제가 발생할 수 있습니다. 자유롭게는 DBA 보기에서 숨겨집니다. Detour를 밝히고, 다음에 나오는 "추가 정보" 섹션에서 설명 하는 기술을 따라야 합니다. 연결 된 서버, COM 개체 및 확장된 프로시저 등록이 명시적 및 인터페이스를 정의 합니다.

참고: 자유롭게의 숨겨진된 특성 및 게시 된 인터페이스의 부족으로 인해 Microsoft는 자유롭게 또는 유사한 기술을 사용 하 여 타사 기능에 대 한 지원 서비스를 제공 하지 않습니다. 제 3 자는 해당 코드에 대 한 지원 또는 기타 승인 자체 연결 된 서버에 대 한 책임 것 처럼 배포 합니다.

것이 중요 하지 않은 작업을 사용 하지 않거나 타사 구성 요소와, 유사한 기술을 제거를 Microsoft 지원 서비스에 대 한 문제 해결의 일반적인 과정에서 일반적인 좋습니다. Microsoft는 항상 문제를 식별 하는 동안 문제의 줄어들어 하려고 합니다. 이 문제를 식별 한 후 작업 또는 타사 제품 관련이 이러한 작업 또는 타사 제품이 추가 될 수 있습니다 생산 환경으로 다시.

인텔의 목적을 한 detour 밝히고 다음으로 지원 되는 SQL Server 인스턴스를 고려 하지 않습니다. Microsoft는 일부 구현 필요 하다 승인 합니다. 그러나 Microsoft에는 자유롭게의 지원 가능성의 유효성을 검사 해야 합니다. 신뢰할 수 있고 믿을 수 있는 회사에서 detour 바이러스에 의해 사용 되는 예기치 않은 detour에서 확실히 차이가 있습니다. Microsoft 보증 하지 않거나 타사 제품 또는 타사 제품이 Microsoft 제품 및 서비스와 상호 작용 하는 방법을 확인 합니다. 이때 공급 업체 id 및 제품 및 서비스의 신뢰성에 대 한 책임이 있습니다. 타사 제품 및 서비스에 대 한 질문이 있으면 해당 타사 연결할 하십시오. Microsoft는 타사 제품이 나 서비스와 관련 하 여 SQL Server 사용으로 인해 발생 하는 모든 문제에 대 한 책임이 없습니다.
추가 정보
자유롭게 위험/보상 균형을 조절 하 고 향상 된 기능을 제공합니다. 일반적으로 SQL Server 구현 되는 detour 타사 코드 프로세스 공간에 삽입 됩니다. 이 작업의 SQL Server 동작을 변경할 수 있습니다.

다음은 일부 예제에서는 상황 및 가능한 부작용입니다.
  • 들어오는 네트워크 트래픽 (TDS) 패킷의 검색 되어 변경 됩니다. Detour의 net_readdata 네트워크 프로세스 스레드에서 중요 한 위치에 추가 됩니다. 이 여기에 CPU 사이클 100 일괄 처리 속도 처리량을 크게 줄일 수 있습니다.

    메모리 scribblers 실제 TDS 데이터가 변경 될 수 있습니다. 이 문제가 여러 SQL Server 안정성 문제가 트리거된 및 데이터 손상에서. 문제는 부분적으로 변경 하 고 재생 하려면 SQL Server 가비지 TDS 패킷을 발생할 수 있습니다. 로깅이 수준에서 기능 노출 될 수 있습니다 암호 및 기타 중요 한 데이터는 SQL Server 추적 억제 하 고 안전 하 게 설계 되었습니다.
  • SQL Server 구문 분석 루틴은 동작을 변경 하려면 detoured. 다음은 가능한 부작용입니다.
    • 실행 계획이 실제 쿼리 텍스트를 일치 하지 않습니다.
    • 명령은 한 번만 클라이언트에서 전송 됩니다. 그러나 명령은 여러 번 실행 합니다.
    • 추적 출력이 변경 된 쿼리 대신 원본 명령을 보여 줍니다.
    • DBCC inputbuffer가 지워지기 명령 변경 된 쿼리 대신 원본 명령을 보여 줍니다.
    • Fn_get_sql 함수는 잘못 된 데이터를 표시합니다. 또한 fn_get_sql 함수는 예외를 잘못 된 결과를 받기 쉽습니다. Fn_get_sql 함수에 의해 많은 모니터링 솔루션이 사용 되 고 모니터링 솔루션에서 문제가 발생할 수 있습니다.
    • 전체 사용자 모드 스케줄러 (UMS) 및 SQL Server 운영 체제 (SQLOS) 예약 중단 될 수 있습니다. 이렇게 하면 SQL Server 응답 손실, 성능 변경 및 중단.
  • 향상 된 보안 기능을 제공 하는 Win32 Api detoured 됩니다. 구현에 따라이 수준에서 로깅 기능 암호 및 기타 중요 한 데이터가 노출 될 수 있습니다. 전체 일정 SQLOS 및 UMS 중단 됩니다. 이 SQL Server 응답 손실 하 고 서비스 중단 안내.
  • 핵심 SQL Server 기능 또는 Windows API 리디렉션 및 함수 테이블 수정 SQL Server 프로세스 내에서 지원 되지 않습니다. SQL Server 기능은 안정성 문제 및 예기치 않은 동작이 발생할 수 있습니다.
다음 예제는 kernel32!GetQueuedCompletionStatus 함수 detoured 되었습니다.
MyDLL!MyGetQueuedCompletionStatusssnetlib!ConnectionReadAsyncWait
GetQueuedCompletionStatus 함수에 대 한 어셈블리의 첫 번째 명령이 점프 명령으로 대체 되었습니다.
0:038> u kernel32!GetQueuedCompletionStatuskernel32!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
삽입된 된 코드에 대 한 어셈블리 detoured 활동과 MyDLL 파일에 대 한 호출을 보여 줍니다.
0:038> u 21e70000  21e70000 55              push    ebp21e70001 8bec            mov     ebp,esp21e70003 51              push    ecx21e70004 8b4518          mov     eax,dword ptr [ebp+18h]21e70007 50              push    eax21e70008 8b4d14          mov     ecx,dword ptr [ebp+14h]21e7000b 51              push    ecx21e7000c 8b5510          mov     edx,dword ptr [ebp+10h]21e7000f 52              push    edx21e70010 8b450c          mov     eax,dword ptr [ebp+0Ch]21e70013 50              push    eax21e70014 8b4d08          mov     ecx,dword ptr [ebp+8]21e70017 51              push    ecx21e70018 e8234d19ee      call   MyDLL+0x4d40 (10004d40)   <- Call to the MyDLL file.21e7001d 8945fc          mov     dword ptr [ebp-4],eax21e70020 8b55fc          mov     edx,dword ptr [ebp-4]

자유롭게 사용 되는지 여부를 확인 하려면 Windows 용 디버깅 도구를 사용할 수 있습니다. 이렇게 하려면 다음 단계를 수행하십시오.

참고: 항상 프로덕션에서 시도 하기 전에이 메서드를 테스트 합니다. Windows 용 디버깅 도구를 사용 하면 명령을 실행할 때 프로세스가 중지 될 수 있습니다. 이 동작은 프로덕션 서버에 저하 될 수 있습니다.
  1. Windows 용 디버깅 도구를 SQL Server 연결 하거나 전체 사용자 덤프 파일을 로드 합니다.
  2. 다음 디버거 명령을 실행 합니다. 이 명령은 각 이미지는 자유롭게 삽입 되었는지 여부를 확인 하려면 디스크 이미지에 대해 검사 합니다.
    !for_each_module "!chkimg -v @#Base -d"
  3. 디버거를 분리 합니다.
Windows 용 디버깅 도구를 구하려면 다음 Microsoft 웹 사이트 방문 하십시오. 메모리에 이미지 변경 된 경우에 출력 다음과 유사할 수 있습니다.
Comparison image path: c:\program files\microsoft sql server\mssql\binn\ssnetlib.dll\ssnetlib.dllScanning section:    .textSize: 56488Range to scan: 0c261000-0c26eca80c263710-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: 3333 errors : 0c260000 (0c263710-0c26516a)
어셈블리를 다음과 같은 문제가 더 가깝게 볼을 검토할 수 있습니다.
0:038> u ssnetlib!ConnectionClosessnetlib!ConnectionClose]:0c263710 6800000000      push    00c263715 e9278ada03      jmp     MyDLL!MyGetQueuedCompletionStatus  <- A detour has been installed.

바이러스 백신 프로그램이 SQL 주입 공격을 추적 하는 SQL Server 코드를 detour 수 있습니다. 이 시나리오에서는 출력의! for_each_module "!-v @# chkimg Base-d" yyparse SQL Server 기능을 수행 하 고 ex_raise2 수정 확장이 표시 될 수 있습니다.

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

SQL Server는 자유롭게 사용 하는 방법에 대 한 자세한 내용은 공급자에 자유롭게 또는 유사한 방법을 문의 하는 것이 좋습니다. 우회와 유사한 기술에 대 한 자세한 내용은 다음 Microsoft 연구소 웹 사이트로 이동 합니다.

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 920925 - 마지막 검토: 03/20/2015 22:06:00 - 수정: 4.0

Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, 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, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbtshoot kbexpertiseadvanced kbinfo kbmt KB920925 KbMtko
피드백
ms.js"> : none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">gt;