MS15-011: 그룹 정책의 취약성으로 인한 원격 코드 실행 문제: 2015년 2월 10일

적용 대상: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 StandardWindows Server 2012 R2 Essentials

요약


이 보안 업데이트는 비공개적으로 보고된 Microsoft Windows의 취약성을 해결합니다. 도메인에 가입된 시스템이 도메인 컨트롤러에 연결하는 경우 그룹 정책이 연결 데이터를 받고 적용하는 방식에 원격 코드 실행 취약성이 존재합니다. 이 취약성 악용에 성공한 공격자는 영향받는 시스템을 완전히 제어할 수 있습니다. 이렇게 되면 공격자가 프로그램을 설치하거나, 데이터를 보거나 변경하거나 삭제하거나, 모든 사용자 권한이 있는 새 계정을 만들 수도 있습니다. 시스템에서 더 낮은 사용자 권한을 가지도록 구성된 계정의 사용자는 관리자 권한으로 작업하는 사용자보다 영향을 덜 받을 수 있습니다.

소개


Microsoft는 보안 공지 MS15-011을 발표했습니다. 이 보안 공지에 대해 자세히 알아보십시오.

이 보안 업데이트에 대한 도움말 및 지원을 받는 방법

업데이트 설치 도움말:
Microsoft Update 지원

IT 전문가용 보안 솔루션:
TechNet 보안 문제 해결 및 지원

Windows 기반 컴퓨터를 바이러스 및 맬웨어로부터 보호:
바이러스 솔루션 및 보안 센터

지역별 지원 정보:
국가별 지원

추가 정보


참고 이 보안 업데이트는 보안 업데이트3031432에 있는 일부 파일을 포함합니다. 자세한 내용은 기술 자료 문서 3031432를 검토하십시오. 여기에는 알려진 문제가 포함되어 있습니다.


자식 패키지 동작

이 보안 업데이트를 설치하는 고객은 일반적인 4688 감사 이벤트 대신 오류 1108이 보안 이벤트 로그에 생성되는 알려진 문제를 경험할 수 있습니다. 이 문제를 해결하려면 이 업데이트(업데이트 3031432)와 함께 업데이트 3000483를 설치해야 합니다. 

참고 이 문제는 보안 업데이트 3023266(MS15-001)에서 처음 발생했습니다.

Windows Server 2008 R2 및 Windows Server 2012 고객

Windows Server 2008 R2 및 Windows Server 2012에서 업데이트 3004375는 업데이트 3000483과 함께 설치됩니다.

Windows Update, WSUS(Windows Server Update Services) 및 Microsoft 카탈로그 고객

업데이트 3004375는 보안 업데이트 3000483과 함께 자동으로 투명하게 설치됩니다. 업데이트 3004375는 제어판의 프로그램 추가/제거 항목에서 보면 설치된 업데이트 목록에 별도로 표시됩니다. 두 패키지 모두를 함께 설치하면 한 번만 컴퓨터를 다시 시작하면 됩니다.

다운로드 센터 고객

알려진 문제를 해결하기 위해, Microsoft 다운로드 센터에서 Windows Server 2008 R2 또는 Windows Server 2012에 대한 해당 보안 업데이트를 다운로드하고 설치하는 경우 업데이트 3000483 및 업데이트 3004375 모두를 선택해야 합니다. 해당 업데이트 둘 다를 설치하여 알려진 문제를 해결해야 합니다.

그룹 정책 설정

이 보안 업데이트를 사용하려면 공지(MS15-011)에 설명된 취약성으로부터 보호하기 위해 다음 단계를 수행해야 합니다. 이 기능을 사용하도록 설정하기 위해 시스템 관리자는 보안 업데이트 3000483을 설치할 뿐만 아니라 다음 그룹 정책 설정을 적용해야 합니다.


도메인에 가입된 Windows 기반 컴퓨터의 그룹 정책 서비스는 \\<Domain>\SYSVOL로 시작되는 UNC(범용 명명 규칙) 경로에서 업데이트된 보안 정책을 자동으로 다운로드하려고 시도합니다. 이 서비스는 해당 GPO(그룹 정책 개체)에서 실행되도록 구성된 모든 스크립트를 실행합니다. 일반적으로 이러한 스크립트는 \\<Domain>\NETLOGON으로 시작되는 UNC 경로에 저장됩니다.

응용 프로그램이 UNC(범용 명명 규칙) 경로가 포함된 I/O 요청을 만드는 경우 MUP(여러 UNC 공급자)로 해당 요청이 전달됩니다. MUP는 I/O 요청을 처리할 UNC 공급자를 선택하고 이 요청을 선택된 UNC 공급자로 전달합니다. 선택된 UNC 공급자가 이 요청을 처리한 후, 이 요청을 한 응용 프로그램으로 다시 결과를 전달합니다.

악의적인 공격자가 UNC 공급자와 대상 서버 간 통신을 스푸핑, 변조 또는 리디렉션할 수 있는 경우 시스템 관리자가 선택한 스크립트 외에 또는 이러한 스크립트 대신에 악의적인 의도를 가진 스크립트나 프로그램을 그룹 정책이 실행하게 할 수 있습니다.

Microsoft는 Windows 플랫폼에서 사용할 수 있는 새로운 기능인 UNC Hardened Access(UNC 강화 액세스)를 발표할 예정입니다. 이러한 공격 및 관련된 공격에 대한 완화를 제공하기 위해, 이 기능은 Windows 기반 컴퓨터가 UNC 경로에 액세스할 때 데이터의 보호 및 처리를 개선합니다.

MUP에서 UNC Hardened Access(UNC 강화 액세스)를 요구하도록 구성된 UNC 경로에 대한 I/O 요청을 받으면 MUP는 UNC Hardened Access(UNC 강화 액세스) 구성에 따라 필요한 보안 속성을 지원하는 UNC 공급자만을 고려합니다.

이 Microsoft 기술 자료 문서는 시스템 관리자에게 이 새로운 기능과 Windows 시스템을 보호하기 위한 배포 방법에 대해 설명합니다.

그룹 정책을 통해 UNC Hardened Access(UNC 강화 액세스) 구성

UNC Hardened Access(UNC 강화 액세스) 기능은 UNC 공급자의 기본값 이외 보안 요구 사항을 MUP 및 UNC 공급자에게 알리기 위한 추가 정보와 함께 특정 서버나 공유에 태그가 지정되게 합니다. 특히 다음과 같은 세 가지 보안 속성이 지원됩니다.
  • RequireMutualAuthentication=<0|1> – 이 속성이 1로 설정된 경우, 선택된 UNC 공급자를 사용하려면 해당 UNC 공급자가 스푸핑 공격을 차단하기 위해 클라이언트 ID에 대한 서버 확인뿐만 아니라 원격 서버의 ID를 인증할 수 있어야 합니다.
  • RequireIntegrity=<0|1> – 이 속성이 1로 설정된 경우, MUP 및 선택된 UNC 공급자는 변조 공격을 차단하기 위해 클라이언트와 서버 간 전송 중에 제3자가 요청이나 응답을 조작하는 경우를 검색하도록 무결성 검사를 사용해야 합니다.
  • RequirePrivacy=<0|1> – 이 속성이 1로 설정된 경우, MUP 및 선택된 UNC 공급자는 제3자가 클라이언트와 서버 간 통신을 볼 때 통신 내에 포함된 어떠한 중요한 정보도 볼 수 없는 방식으로 암호화 형식을 사용해야 합니다.
그룹 정책을 통해 UNC Hardened Access(UNC 강화 액세스)를 사용하도록 설정하려면 다음 단계를 수행하십시오.
  1. 그룹 정책 관리 콘솔을 엽니다.
  2. 콘솔 트리에 있는 만들거나 편집하려는 GPO(그룹 정책 개체)가 포함된 도메인과 포리스트에서 그룹 정책 개체를 두 번 클릭합니다.

    포리스트 이름/도메인/<도메인 이름>
  3. (옵션) 그룹 정책 개체를 마우스 오른쪽 단추로 클릭한 다음 새로 만들기를 클릭합니다.
  4. 새 GPO에 대한 원하는 이름을 입력합니다.
  5. 원하는 GPO를 마우스 오른쪽 단추로 클릭한 다음 편집을 클릭합니다.
  6. 그룹 정책 개체 편집기 콘솔에서 다음 정책 경로로 이동니다.
    컴퓨터 구성/관리 템플릿/네트워크/네트워크 공급자
  7. Hardened UNC Paths(강화된 UNC 경로) 설정을 마우스 오른쪽 단추로 클릭한 다음 편집을 클릭합니다.
  8. 사용 옵션 단추를 선택합니다.
  9. 옵션 창에서 아래로 스크롤한 다음 표시를 클릭합니다.
  10. 하나 이상의 구성 항목을 추가합니다. 이렇게 하려면 다음 단계를 수행하십시오.
    1. 값 이름 열에서 구성하려는 UNC 경로를 입력합니다. UNC 경로는 다음 형식 중 하나로 지정할 수 있습니다.
      • \\<서버>\<공유> - 구성 항목은 지정된 서버에서 지정된 이름이 있는 공유에 적용됩니다.
      • \\*\<공유> - 구성 항목은 모든 서버에서 지정된 이름이 있는 공유에 적용됩니다.
      • \\<서버>\* - 구성 항목은 지정된 서버에서 모든 공유에 적용됩니다.
      • \\<서버> - \\<서버>\*와 같습니다.
      참고 특정 서버나 공유 이름을 지정해야 합니다. \\* 및 \\*\*와 같이 모두 와일드카드인 경로는 지원되지 않습니다.
    2. 열에서 구성할 보안 속성 이름을 입력합니다(예: RequireMutualAuthentication, RequireIntegrity 또는 RequirePrivacy 입력). 그 뒤에는 등호(=)와 숫자 0 또는 1이 나옵니다.

      참고 쉼표(,)를 사용하여 각각의 "<속성> = <값>" 쌍을 구분하면 단일 UNC 경로에 대해 여러 속성을 할당할 수 있습니다.
  11. 확인을 두 번 클릭한 다음 GPO 편집기를 닫습니다.
  12. 이전에 새 GPO를 만든 경우 하나 이상의 도메인에 이 GPO를 연결합니다. 이렇게 하려면 원하는 도메인을 마우스 오른쪽 단추로 클릭하고 기존 GPO 연결을 클릭하고 새로 추가된 GPO를 선택한 다음 확인을 클릭합니다.
  13. 새 GPO 또는 업데이트된 GPO를 테스트하려면 해당 GPO가 적용되는 컴퓨터에 로그온한 후 다음 명령을 실행합니다.
    gpupdate /force

    모든 구성 오류가 이벤트 뷰어의 다음 경로에 보고됩니다.
    Event Viewer\Applications and Services Logs\Microsoft\Windows\NetworkProvider\Operational

고급 구성 예

두 개 이상의 구성 항목이 UNC 경로에 대한 I/O 요청에 적용되는 경우(예: 와일드카드 항목 사용으로 인해), 가장 구체적인 UNC 경로의 속성이 우선적으로 적용됩니다.

예를 들어 그룹 정책을 통해 적용된 것처럼 다음 UNC Hardened Access(UNC 강화 액세스) 구성이 있는 시스템을 고려해 보십시오.

값 이름
\\fileshare.contoso.com\*RequireMutualAuthentication=1, RequireIntegrity=1
\\fileshare.contoso.com\publicRequireIntegrity=0
\\fileshare.contoso.com\secretRequirePrivacy=1

이 시나리오에서는 \\fileshare.contoso.com\*에 대해 지정된 모든 속성이 "secret" 공유에도 적용됩니다. 하지만 "public" 공유의 RequireIntegrity 속성은 \\fileshare.contoso.com\*에 대한 RequireIntegrity 구성을 재정의합니다. 따라서 public, private 및 secret으로 명명된 fileshare.contoso.com의 공유에 대한 효과적인 UNC 강화 구성은 다음과 같을 것입니다.

UNC 경로효과적인 UNC 강화 구성
\\fileshare.contoso.com\publicRequireMutualAuthentication=1, RequireIntegrity=0
\\fileshare.contoso.com\privateRequireMutualAuthentication=1, RequireIntegrity=1
\\fileshare.contoso.com\secretRequireMutualAuthentication=1, RequireIntegrity=1, RequirePrivacy=1

SMB(서버 메시지 블록) 구현

상호 인증

SMB는 상호 인증 자체를 수행하지 않습니다. 대신, Windows 및 원격 서버에서 지원하는 협상된 Security Support Provider에 작업을 위임합니다. Security Support Provider에서 클라이언트와 서버 간 상호 인증이 성공적이지 않았음을 나타내는 경우 SMB 클라이언트는 상호 인증을 요구하도록 구성된 서버에서 경로에 대한 액세스를 허용하지 않습니다.

참고 Active Directory 도메인 자격 증명이 Kerberos 인증을 통해서 사용되는 경우에만 Windows의 기본 설치에서 상호 인증을 사용할 수 있습니다. NTLM 인증은 상호 인증을 지원하지 않습니다. Windows 7 및 Windows Server 2008 R2부터 고객들은 NTLM 또는 Kerberos 인증을 사용하는 대신 NegoEx와 통합하는 타사 SSP를 설치할 수 있습니다.

무결성

SMB는 RequireIntegrity=1을 사용하여 구성된 경로의 I/O 요청에 대해 SMB 서명을 설정함으로써 요구될 때 무결성을 확인합니다. SMB 클라이언트 또는 SMB 서버의 RequireSecuritySignatures 구성 설정이 사용되는 경우 경로에서 RequireIntegrity=0으로 설정해도 SMB 서명이 사용되지 않게 설정되지 않습니다.

참고 SMB v1 연결은 요청당 SMB 서명 사용을 지원하지 않습니다. SMB 서명을 필요로 하지 않는 열린 파일이 있는 SMB v1 서버에 대한 열린 연결이 SMB 클라이언트에 이미 있는 경우, 이 클라이언트는 동일한 서버에서 파일에 대한 다른 모든 핸들이 닫힐 때까지 RequireIntegrity가 1로 설정된 해당 서버의 어떠한 공유에도 액세스할 수 없습니다. 따라서 앞서 언급한 서버가 RequireIntegrity=1로 구성되는 클라이언트에 대한 공유를 호스트할 것으로 예상되는 경우 SMB v2 이상 버전을 지원하지 않는 모든 서버(예: Windows Server 2003 R2 이하 버전)에서는 항상 보안 서명을 요구하도록 SMB 서버가 구성되어 있는 것이 좋습니다. SMB 서버에서 SMB 서명을 구성하는 방법에 대한 자세한 내용은 다음 Microsoft 기술 자료 문서를 참조하십시오.

개인 정보

SMB는 RequirePrivacy=1을 사용하여 구성된 경로의 I/O 요청에 대해 SMB 암호화를 설정함으로써 요구될 때 개인 정보를 확인합니다. SMB 서버가 공유에 대해 SMB 암호화를 요구하도록 구성된 경우 경로에서 RequirePrivacy=0으로 설정해도 해당 공유 액세스 시 SMB 암호화가 사용되지 않게 설정되지 않습니다.

참고 SMB 암호화는 Windows 8, Windows Server 2012 이상 버전에서만 그리고 SMB 암호화 사용 가능 서버(예: Windows 8, Windows Server 2012 이상 버전)와 통신할 때만 SMB 클라이언트에 의해 지원됩니다. SMB 암호화를 지원하지 않는 클라이언트에서 또는 SMB 암호화를 지원하지 않는 서버에서 호스트하는 UNC 경로에 대해 RequirePrivacy=1을 구성하는 경우 지정된 경로에 SMB 클라이언트가 액세스할 수 없는 구성을 갖게 됩니다.

도메인에 가입된 컴퓨터에 대한 최소 권장 구성

모든 NETLOGON 및 SYSVOL 공유는 원격 코드 실행하는 데 이용할 수 있는 스푸핑 및 변조 공격으로부터 그룹 정책을 보호하기 위해 상호 인증 및 무결성 모두를 요구하도록 구성하는 것이 좋습니다.

강화된 UNC 경로
값 이름
\\*\NETLOGONRequireMutualAuthentication=1, RequireIntegrity=1
\\*\SYSVOLRequireMutualAuthentication=1, RequireIntegrity=1

도메인에 가입된 컴퓨터 적용 가능성

이 보안 업데이트는 도메인에 가입된 컴퓨터에만 Windows Update를 통해 제공됩니다. DLC 및 WSUS 고객은 이 보안 업데이트를 도메인에 가입된 컴퓨터에만 적용해야 합니다.

Windows Server 2003 SP2

이러한 변경 사항을 Windows 2003 SP2에 적용하는 것은 시스템을 불안정하게 만들 뿐만 아니라 응용 프로그램 호환성 문제를 야기할 수 있는 광범위한 아키텍처 변경이 필요하다는 것을 알게되었습니다. 보안을 의식하고 있는 고객은 최신 운영 체제로 업그레이드하여 보안 위협에 대응하고 강력한 현대 운영 체제 보호 기능의 이점을 활용하는 것이 좋습니다.


추가 정보


이 보안 업데이트의 알려진 문제

  • Windows Vista 또는 Windows Server 2008이 실행되는 컴퓨터에서 이 보안 업데이트를 설치하고 강화 정책을 구성한 후, 시스템 로그의 다음과 유사한 오류 메시지를 받을 수 있습니다.


    이벤트 ID: 1058
    로그 이름: System
    원본: Microsoft-Windows-GroupPolicy
    수준: 오류
    사용자: SYSTEM
    설명:
    그룹 정책을 처리하지 못했습니다. 도메인 컨트롤러에서 \\<corp.domain.com>\SysVol\<corp.domain.com\Policies>\{<PolicyGUID>}\gpt.ini 파일을 읽으려고 했지만 실패했습니다. 이 이벤트가 해결될 때까지 그룹 정책 설정이 적용되지 않습니다. 이 문제는 일시적이며 다음 중 하나 이상이 원인일 수 있습니다.
    a) 현재 도메인 컨트롤러로의 이름 확인/네트워크 연결
    b) 파일 복제 서비스 지연(다른 도메인 컨트롤러에서 만든 파일이 현재 도메인 컨트롤러에 복제되지 않음)
    c) DFS(분산 파일 시스템) 클라이언트 사용 안 함.

    세부 정보 탭에서 다음 EventData 메시지가 표시됩니다.


    오류 코드 5
    오류 설명 액세스가 거부되었습니다.



    다음과 유사한 오류가 Microsoft-Windows-GroupPolicy/Operational 로그에 나타납니다.


    이벤트 ID: 7017
    로그 이름: Microsoft-Windows-GroupPolicy/Operational
    원본: Microsoft-Windows-GroupPolicy
    수준: 오류
    사용자: SYSTEM
    세부 정보:
    지정한 파일에 액세스하는 시스템 호출이 완료되었습니다.
    \\<corp.domain.com>\SysVol\<corp.domain.com\Policies>\{<PolicyGUID>}\gpt.ini
    호출이 140밀리초 후에 실패했습니다.


    이벤트 ID: 7000
    로그 이름: Microsoft-Windows-GroupPolicy/Operational
    원본: Microsoft-Windows-GroupPolicy
    수준: 오류
    사용자: SYSTEM
    세부 정보:
    CORP\< SERVERNAME$>의 컴퓨터 부팅 정책 처리가 2초 후에 실패했습니다.


    이 문제를 해결하려면 영향받는 Windows Vista 기반 및 Windows Server 2008 기반 컴퓨터에서 다음 업데이트를 설치하십시오.
    2272153 Windows Vista 또는 Windows Server 2008이 실행되는 컴퓨터의 경우 네트워크 공유에서 Microsoft Office 2003 문서를 여는 데 4분이 걸립니다.

파일 정보


이 소프트웨어 업데이트의 영어(미국) 버전은 다음 표에 나열된 특성을 갖는 파일을 설치합니다. 이러한 파일의 날짜와 시간은 UTC(협정 세계시)로 나열됩니다. 이러한 파일의 날짜와 시간은 로컬 컴퓨터에서 현재의 DST(일광 절약 시간) 설정이 적용된 상태로 현지 시간으로 표시됩니다. 또한 이 날짜와 시간은 파일에 대해 특정 작업을 수행할 경우 변경될 수 있습니다.