보안 권고

Microsoft 보안 권고 954462

확인되지 않은 사용자 데이터 입력을 악용하는 SQL 삽입 공격 증가

게시 날짜: 2008년 6월 24일 | 업데이트: 2008년 6월 25일

Microsoft는 Microsoft ASP 및 ASP.NET 기술을 사용하지만 보안 웹 애플리케이션 개발을 위한 모범 사례를 따르지 않는 웹 사이트를 대상으로 하는 공격 클래스의 최근 에스컬레이션을 알고 있습니다. 이러한 SQL 삽입 공격은 특정 소프트웨어 취약성을 악용하지 않고 대신 관계형 데이터베이스에 저장된 데이터에 액세스하고 조작하기 위한 보안 코딩 사례를 따르지 않는 웹 사이트를 대상으로 합니다. SQL 삽입 공격이 성공하면 공격자는 이러한 데이터베이스에 저장된 데이터를 손상시키고 원격 코드를 실행할 수 있습니다. 손상된 서버로 검색하는 클라이언트는 클라이언트 컴퓨터에 맬웨어를 설치할 수 있는 악성 사이트로 무의식적으로 전달될 수 있습니다.

완화 요소:

사용자 데이터 입력을 확인하여 보안 웹 애플리케이션 개발에 일반적으로 허용되는 모범 사례를 따르는 웹 애플리케이션에서는 이 취약성을 악용할 수 없습니다.

일반 정보

개요

권고의 목적: 관리자가 보안 웹 애플리케이션 개발을 위한 모범 사례를 따르지 않는 취약한 ASP 및 ASP.NET 웹 애플리케이션 코드를 식별하고 수정할 수 있도록 지원합니다.

권고 상태: Microsoft 보안 권고 및 관련 도구가 릴리스되었습니다.

권장 사항: 제안된 작업을 검토하고 적절하게 구성합니다. 또한 서버 관리자는 논의된 도구의 효율성을 평가하고 필요에 따라 활용하는 것이 좋습니다.

이 권고는 다음 소프트웨어에 대해 설명합니다.

관련 소프트웨어
Microsoft ASP 및 ASP.NET 기술

질문과 대답

권고의 범위는 무엇입니까?
이 권고는 웹 사이트 관리자가 웹 애플리케이션 코드가 가능한 SQL 삽입 공격에 취약할 수 있는 문제를 식별하고 애플리케이션이 해결되는 동안 서버에 대한 SQL 삽입 공격을 완화하는 중지 솔루션을 제공하는 데 도움을 주기 위한 것입니다.

Microsoft에서 보안 업데이트를 실행해야 하는 보안 취약성인가요?
아니요. 일반적으로 허용되는 보안 모범 사례를 따르는 웹 애플리케이션 코드는 SQL 삽입 공격에 훨씬 덜 취약합니다. 보안 취약성은 아니지만 이 권고는 취약한 사이트를 사용하는 관리자에게 추가 경고 및 지원을 제공하기 위해 발행되었습니다.

이 위협의 원인은 무엇인가요?
사용자 입력의 유효성을 제대로 검사하지 못하면 공격자가 입력 필드에 SQL 명령을 삽입할 수 있습니다. 그러면 서버에서 데이터베이스 손상 또는 코드 실행으로 이어지는 데이터 원본에 대해 실행될 수 있습니다.

공격자가 이 함수를 사용하여 수행할 수 있는 작업은 무엇인가요?
공격자는 웹 애플리케이션 개발에 대한 보안 모범 사례를 따르지 않는 웹 페이지의 SQL 삽입 취약성을 활용할 수 있는 자동화된 공격을 만들 수 있습니다. 사이트를 손상한 후 공격자는 데이터베이스를 삭제하고 클라이언트 컴퓨터에서 맬웨어를 설치할 수 있는 악성 사이트로 이 서버로 검색하는 클라이언트를 리디렉션하는 등 서버에서 수많은 악의적인 작업을 수행할 수 있습니다.

제안된 작업

Microsoft는 관리자를 지원하는 여러 도구를 확인했습니다. 이러한 도구는 공격자가 악용할 수 있는 검색, 방어 및 식별을 다룹니다.

  • 검색 - HP Scrawlr
    Hewlett Packard는 사이트가 SQL 삽입에 취약한지 여부를 식별할 수 있는 무료 스캐너를 개발했습니다. 이 도구 및 사용에 대한 지원은 HP Security Center에서 Scrawlr 를 사용하여 SQL 삽입 찾기에서 찾을 수 있습니다.

    자세한 설명:
    이 도구는 블랙박스 분석 도구입니다(즉, 소스 코드가 필요하지 않음). 사용자는 시작 URL을 입력하고 도구는 다음을 수행합니다.

    • 사이트 트리를 빌드하기 위해 하이퍼링크에 대한 해당 URL을 재귀적으로 크롤링합니다.
    • 쿼리 문자열 매개 변수에 SQL 삽입 공격 문자열이 포함된 HTTP 요청을 전송하여 검색된 모든 링크에서 자세한 SQL 삽입을 테스트합니다.
    • 서버의 HTTP 응답에서 SQL 삽입 취약성을 나타내는 SQL 오류 메시지를 검사합니다.
    • 연결된 입력 필드와 함께 사용자에게 취약한 것으로 확인된 페이지를 보고합니다. 예를 들어 도구는 "foo.asp" 페이지의 "사용자 이름" 및 "암호" 필드가 취약하다는 것을 보고할 수 있습니다.
  • Defense - UrlScan 버전 3.0 베타

    UrlScan 버전 3.0 베타는 IIS(인터넷 정보 서비스)가 처리할 HTTP 요청 유형을 제한하는 Microsoft 보안 도구입니다. UrlScan은 특정 HTTP 요청을 차단하여 잠재적으로 유해한 요청이 서버의 웹 애플리케이션에 도달하는 것을 방지합니다. URLScan 3.0은 IIS 7.0을 포함하여 IIS 5.1 이상에 설치됩니다. URLScan 3.0은 URLScan 도구 3.0 베타에서 찾을 수 있습니다.

    자세한 설명:
    UrlScan 버전 3.0은 SQL 삽입 공격으로부터 서버의 웹 애플리케이션을 더 잘 보호하기 위해 다양한 규칙을 구현할 수 있는 도구입니다. 다음과 같은 기능이 있습니다.

    • URL, 쿼리 문자열, 모든 헤더, 특정 헤더 또는 이러한 조합에 독립적으로 적용되는 거부 규칙을 구현하는 기능입니다.
    • 이스케이프되지 않은 버전의 쿼리 문자열을 검사 옵션을 사용하여 쿼리 문자열에 대한 거부 규칙을 추가할 수 있는 전역 DenyQueryString 섹션입니다.
    • 거부 규칙에서 이스케이프 시퀀스를 사용하여 구성에서 CRLF 및 기타 인쇄할 수 없는 문자 시퀀스를 거부하는 기능입니다.
    • 여러 UrlScan 인스턴스는 각각 자체 구성 및 로깅 옵션(urlscan.ini)을 사용하여 사이트 필터로 설치할 수 있습니다.
    • 구성(urlscan.ini) 변경 알림은 작업자 프로세스를 재활용하지 않고도 작업자 프로세스로 전파됩니다. 로그 설정은 예외입니다.
    • 설명적인 구성 오류를 제공하기 위한 향상된 로깅
  • 식별 - SQL 삽입을 위한 Microsoft 소스 코드 분석기

    SQL 소스 코드 분석 도구가 개발되었습니다. 이 도구를 사용하여 SQL 삽입 공격에 취약한 ASP 코드를 검색할 수 있습니다. 이 도구는 Microsoft 기술 자료 문서 954476 찾을 수 있습니다.

    자세한 설명:
    SQL 삽입용 Microsoft 소스 코드 분석기는 고객이 자체 ASP 소스 코드에서 실행할 수 있는 독립 실행형 도구입니다. 도구 자체 외에도 분석하는 코드에서 찾은 문제를 해결하는 방법에 대한 설명서가 포함되어 있습니다. 이 도구의 몇 가지 주요 기능은 다음과 같습니다.

    • SQL 삽입 취약성으로 이어질 수 있는 코드에 대한 ASP 소스 코드를 검색합니다.
    • 코딩 문제를 표시하는 출력을 생성합니다.
    • 이 도구는 클래식 ASP 코드의 취약성만 식별합니다. ASP.NET 코드에서는 작동하지 않습니다.
  • 추가 정보

    Microsoft에는 관리자가 이 악용을 다루는 문제를 식별하고 수정할 수 있도록 지원하는 추가 리소스가 있습니다.

기타 정보

이 취약성의 영향을 받았다고 생각하는 미국 및 캐나다 고객은 1-866-PCSAFETY의 Microsoft 제품 지원 서비스에서 기술 지원을 받을 수 있습니다. 보안 업데이트 문제 또는 바이러스와 관련된 지원에는 요금이 부과되지 않습니다. 국제 고객은 Microsoft 도움말 및 지원에 나열된 방법을 사용하여 지원을 받을 수 있습니다. 모든 고객은 Microsoft에서 릴리스한 최신 보안 업데이트를 적용하여 시스템이 악용 시도로부터 보호되도록 해야 합니다. 자동 업데이트 사용하도록 설정한 고객은 모든 Windows 업데이트를 자동으로 받습니다. 보안 업데이트에 대한 자세한 내용은 Microsoft Security Central을 방문하세요.

리소스:

  • Microsoft 도움말 및 지원: 문의처를 방문하여 양식을 작성하여 피드백을 제공할 수 있습니다.
  • 미국 및 캐나다의 고객은 Microsoft 제품 지원 서비스에서 기술 지원을 받을 수 있습니다. 사용 가능한 지원 옵션에 대한 자세한 내용은 Microsoft 도움말 및 지원을 참조하세요.
  • 해외 고객은 현지 Microsoft 자회사로부터 지원을 받을 수 있습니다. Microsoft에 국제 지원 문제를 문의하는 방법에 대한 자세한 내용은 국제 지원을 방문하세요.
  • Microsoft TechNet Security 는 Microsoft 제품의 보안에 대한 추가 정보를 제공합니다.

고지 사항:

이 권고에 제공된 정보는 어떠한 종류의 보증도 없이 "있는 그대로" 제공됩니다. Microsoft는 특정 목적에 대한 상품성 및 적합성에 대한 보증을 포함하여 명시적이거나 묵시적인 모든 보증을 부인합니다. 어떠한 경우에도 Microsoft Corporation 또는 해당 공급업체는 Microsoft Corporation 또는 공급업체가 이러한 손해의 가능성을 통보한 경우에도 직접, 간접, 부수적, 결과적, 비즈니스 이익 손실 또는 특별 손해를 포함한 모든 손해에 대해 책임을 지지 않습니다. 일부 주에서는 결과적 또는 부수적 손해에 대한 책임의 배제 또는 제한을 허용하지 않으므로 앞에서 설명한 제한이 적용되지 않을 수 있습니다.

개정:

  • 2008년 6월 24일: 공지
  • 2008년 6월 25일: HP Scrawlr 도구 설명에서 양식 필드 및 쿠키 값 테스트에 대한 잘못된 참조를 제거했습니다.

2014-04-18T13:49:36Z-07:00에 빌드