| Microsoft TechNet - 보안 >
Microsoft Security Bulletin MS02-044 Office 웹 구성요소에 안전하지 않은 함수가 있음
기술적 설명: OWC(Office Web Components)는 완전한 Microsoft Office 어플리케이션의 설치를 요구하지 않으면서 사용자에게 웹 브라우저 내에서 Microsoft Office의 제한된 기능을 제공하는 여러 가지 ActiveX 컨트롤을 포함하고 있습니다. 이를 통해 사용자들은 어플리케이션의 완벽한 설치가 불가능하거나 부적당한 상황에서 Microsoft Office 어플리케이션을 활용할 수 있습니다. 이러한 컨트롤이 3가지 보안관련 취약점을 포함하고 있는데, 각기 웹 사이트 또는 HTML 메일을 통해 악용될 수 있습니다. 컨트롤이 드러내는 다음과 같은 절차 및 함수들의 구현 오류로 인해 취약점이 나타납니다: 종합:
위에 게시된 평가 내용은 (assessment) 취약점에 의해 영향을 받는 시스템들의 유형과 그들의 일반적인 배치 패턴 및 취약점을 악용함으로써 그들에게 미치는 영향을 토대로 하고 있습니다. OWC가 서버 제품들과 연동하여 설치됨과 관련하여, 최상의 지침들은 서버상에서 이 취약점들을 악용하기 위해 요구되는 패턴 이용, 신뢰되지 않는 웹 사이트 방문 및 HTML 전자우편 읽기를 하지 말 것을 권장하고 있습니다. 취약점 확인: Microsoft는 Office Web Components 2000 및 Office Web Components 2002 등의 제품들이 이러한 취약점에 의해 영향을 받는지의 여부를 평가하기 위한 테스트를 마쳤습니다. OWC의 이전 버전은 없으며, 또한 Microsoft는 취약한 소프트웨어의 포함 여부를 결정하기 위해 "영향을 받는 소프트웨어를 포함하는 제품들" 부분에 열거된 소프트웨어의 모든 버전을 상세히 조사했습니다. 이전 버전들은 더 이상 지원(supported ) 되지 않으며, 이 취약점들에 의해 영향을 받을 수도 혹은 그렇지 않을 수도 있습니다.
과 관련이 있음에도 불구하고, 패치가 "Kill Bit"를 설정하지 않음을 고객들이 숙지해야 합니다.
ActiveX 컨트롤이란 무엇입니까?
ActiveX 컨트롤은 프로그램 및 웹 페이지에 의해 호출될 수 있는 크기가 작은, 단일 목적의 프로그램입니다. ActiveX 를 통해 프로그래머는 단편적인 일회용 소프트웨어를 작성하여, 이를 필요로 하는 다른 프로그램들이 그 기능을 활용하도록 합니다.
"Kill Bit"란 무엇입니까?
Kill Bit는 ActiveX 컨트롤이 시스템상에 존재하더라도, Internet Explorer를 통한 ActiveX 컨트롤의 기동을 막을 수 있게 해주는 한가지 방편입니다. (Kill 비트에 관한 상세 정보는 Microsoft 기술 자료 기사 Q240797 에서 입수 가능합니다). 일반적으로, 보안관련 취약점이 ActiveX 컨트롤과 관련이 되면, 패치가 새로운 컨트롤을 전달하여 취약한 컨트롤에 대해 Kill Bit를 설정합니다. 그러나, 이 경우에는 그러한 처리가 불가능합니다.
이 경우에 Kill Bit의 설정이 불가능한 이유가 무엇입니까?
이 취약점들과 관련된 ActiveX 컨트롤은 데이터 액세스를 위한 Office 어플리케이션들에 의해 생성되는 웹 페이지들 내에서 이용됩니다. 써드파티 어플리케이션을 포함한 수많은 어플리케이션들은 이에 관해 어렵게 코딩이 된 참고사항을 포함하고 있습니다; 패치가 Kill 비트를 설정하는 경우, 웹 페이지는 더 이상 기능을 하지 않습니다(그것이 새로이 교정된 버전이라 할지라도 말입니다). 결과적으로, 패치는 취약점들을 제거하기 위해 컨트롤을 업데이트 하지만, 새로운 컨트롤을 제공하여 기존의 것에 대해 Kill Bit를 설정하지는 않습니다.
이러한 접근 방식을 취할 때 어떤 위험이 일어납니까?
여기서 문제시된 ActiveX 컨트롤은 Microsoft에 의해 전자 서명이 되어, 아직 유효한 상태이기 때문에, 특정 조건 하에서 패치가 이루어진 시스템에 침입자가 취약한 구 버전의 컨트롤을 다시 도입할 수도 있습니다. 그러나 이러한 일이 가능하려면, 사용자가 악의를 띤 사람에 의해 운영되는 웹 사이트를 방문하거나, 그곳에서 HTML 메일을 오픈할 필요가 있습니다.
침입자가 구 버전의 컨트롤을 모르는 사이에 재도입할 수 있는 이유가 무엇입니까? 경고 메시지가 있어야 하지 않습니까?
전자 서명과 관련이 있는 오류가 발생하거나(예, 잘못된 서명 또는 만기된 인증서), 서명자가 신뢰를 받지 못할 때마다 경고 메시지가 생성됩니다. 그러나 이 경우에 있어, 구형 버전의 컨트롤에 관한 전자 서명은 여전히 유효하며, 서명자는 - 대부분의 경우 신뢰할 수 있는 발행자인 - Microsoft 입니다. 이로 인해, 대부분의 사용자들은 구형 컨트롤이 재도입될 때 어떤 유형의 경고 메시지도 받질 못합니다.
누군가 구 버전의 컨트롤을 재도입하려고 할 때, 어떤 어려움이 따릅니까?
여기서 문제시된 ActiveX 컨트롤의 크기 때문에, 침입자에 의한 구형 컨트롤의 성공적인 재도입은 어렵습니다. OWC 컨트롤은 크기가 7MB 이상으로, 침입자가 구형의 취약한 컨트롤에 대한 다운로드를 시도한 경우라도, 명백하게 상황을 파악할 수 있으며(예로, 지속되는 격심한 디스크 이용), 다운로드 작업이 완료될 때까지 시간이 꽤 걸립니다. 후자의 경우는 특히 사용자가 전화 접속 연결 또는 다른 저속의 네트워킹 세션을 통해 작업을 하는 경우에 일어납니다.
컨트롤의 서명에 이용된 인증서를 파기하지 않는 이유가 무엇입니까?
컨트롤의 서명에 이용된 인증서는 여전히 유효합니다 - 문제점은 인증서가 아닌 컨트롤 내에 존재합니다. 또한, 동일한 인증서를 이용해 수많은 컨트롤에 대한 서명이 이루어져 왔으며, 인증서의 파기는 그들 모두가 효력이 없도록 만들기 때문입니다.
컨트롤이 시스템으로 모르는 사이에 재도입되는 것을 어떻게 막을 수 있습니까?
가장 간단한 방법은 사용자가 Microsoft를 포함해 신뢰된 게시자를 두지 않는 것입니다. 이러한 처리를 할 경우, 웹 페이지 또는 HTML 메일에 의한 ActiveX 컨트롤의 다운로드 시도는 경고 메시지를 생성합니다. 신뢰된 게시자(Trusted Publisher) 리스트를 비우는 방법은 다음과 같습니다:1. Internet Explorer에서 도구를 선택한 후 인터넷 옵션을 선택하십시오. 2. 내용 탭을 선택하고 해당 페이지의 인증서 부분에서 게시자를 클릭하십시오. 3. 인증서 대화창에서, 신뢰된 게시자 탭을 클릭하십시오. 4. 리스트 상의 각 인증서 별로, 인증서 상에서 클릭을 한 후 제거를 선택하고 엔트리의 제거 여부를 결정하십시오. 5. 리스트에서 모든 엔트리를 제거하고, 인증서 대화창을 닫기 위해 닫기를 선택한 후 인터넷 옵션 대화창을 닫기 위해 확인을 클릭하십시오. 신뢰된 게시자 리스트를 비운 이후에, 웹 사이트 또는 HTML 메일이 컨트롤의 다운로드를 원하고 있음을 알려 주는 경고를 접할 경우, 계속 진행할지의 여부를 어떻게 결정해야 합니까? 최상의 기준은 웹 사이트 또는 HTML 메일 전송자에 대한 신뢰 여부입니다. 신뢰하지 않을 경우, 다운로드를 취소하십시오. Microsoft는 언젠가는 이 컨트롤에 대해 Kill Bit를 설정할 예정입니까? 네. Microsoft는 사용자로 하여금 이러한 컨트롤을 참조하는 웹 페이지를 새로이 준비하지 않게 하면서 취약한 컨트롤 버전에 대해 Kill Bit를 설정할 수 있는 새로운 기술을 개발하고 있습니다. 이 새로운 기술이 활용가능한 시점이 되면, 곧바로 이를 알려드릴 것입니다. OWC(Office Web Components)란 무엇입니까?OWC 는 사용자에 의한 완벽한 버전의 Office 설치를 요구하지 않으면서 웹 브라우저를 보유한 사용자들에게 제한된 Office 기능을 제공하는 일련의 ActiveX 구성 요소들입니다.
이후에 사용자는 데이터의 조작 및 분석을 위해 자신의 브라우저 내에서 제한된 Office 기능을 이용할 수 있습니다. 예를 들어, 사용자에게 웹 페이지 내에 있는 스프레드시트 데이터를 보여주기 위해 OWC가 이용될 수 있으며, 이를 통해 사용자가 엑셀을 설치하지 않고도 엑셀의 몇 가지 주요 기능을 이용할 수 있습니다.
OWC는 어떻게 배포됩니까?
OWC는 단독형 다운로드 형태로 또는 Microsoft의 다른 제품에 포함되는 형태 등 2가지 방법으로 배포됩니다.
Host() 취약점 (CAN-2002-0727):첫번째 취약점이 영향을 미치는 범위는 어디까지 입니까? 이 취약점으로 인해 침입자가 또 다른 사용자 시스템 상에서 임의의 명령을 실행할 수 있습니다. 이렇게 함으로써, 프로그램의 적재 및 실행, 시스템 상의 데이터 변경, 하드 드라이브 포매팅, 또는 보안 설정의 변경을 포함해, 사용자가 할 수 있는 어떤 작업이든 침입자가 취할 수 있습니다. 사용자 계정에 관한 제약 조건들은 침입자의 작업에 대해서도 제한을 가합니다. 예를 들면, 사용자가 그룹 정책으로 인해 시스템에 관한 보안 설정을 변경할 수 없는 경우, 침입자도 유사한 제한을 받게 됩니다. 취약점을 야기하는 원인은 무엇입니까? OWC 내의 스프레드 시트 구성 요소가 Host() 함수를 드러냄으로 인해 취약점이 나타납니다. Host() 함수란 무엇입니까? Host() 함수는 다른 어플리케이션의 객체 모델들에게 액세스하도록 자신을 호출하는 스크립트 및 프로그램들을 제공하도록 설계되어 있습니다. 일단 어플리케이션의 객체 모델은 호출자가 활용할 수 있는 상태가 되면, 어플리케이션이 지원하는 프로그램에 입각한 전체 옵션들에 액세스할 수 있습니다. 예를 들면, 엑셀의 객체 모델에 대한 액세스를 획득하기 위해 스크립트가 Host() 함수를 이용할 수 있으며, 이후에 엑셀이 지원하는 프로그램에 입각한 절차 또는 함수들을 기동하기 위해 이 액세스를 활용할 수 있습니다. Host() 함수에 있어 문제점은 무엇입니까? OWC는 "스크립트 처리에 있어 안전한 것"으로 표시되어 있으나, 이 함수의 기능이 신뢰되지 않는 사이트에 의한 사용에 대해서는 적절하지 않습니다. 따라서, "스크립트 처리에 있어 안전한 것"으로 표시된 구성 요소를 통해서도 그 기능이 사용되어서는 안됩니다. 취약점을 통해 침입자가 어떤 작업을 수행할 수 있습니까? 이 취약점을 악용할 수 있는 침입자가 HTML 스크립트 내에서 host() 함수를 기동하여 사용자 자신이 명령 실행을 선택한 것처럼 시스템에 대해 명령을 내릴 수 있습니다. 침입자는 사용자가 액세스 권한을 갖고 있는 데이터에 대해 추가, 변경 또는 삭제 등의 작업을 할 수 있으며, 또한 사용자가 변경 권한을 갖고 있는 브라우저 보안 설정과 같은 설정 내용을 변경할 수 있습니다. 침입자는 취약점을 어떻게 악용합니까? 취약점을 악용하려면, 침입자가 호스트 메서드를 실행할 웹 페이지를 생성하여 이를 웹 사이트 상에서 유지하거나 HTML 전자우편 형태로 또 다른 사용자에게 전송할 필요가 있습니다. 두 경우 모두, 브라우저 또는 전자우편 클라이언트에서 HTML 페이지가 전달되면 침입자의 스크립트가 실행되어 취약점이 악용됩니다. 웹 기반의 침입으로 인한 위험을 예방할 방법이 있습니까? 네. 침입이 성공하려면 사용자가 침입자의 사이트에 방문해야 합니다. ; 그러나, 취약점 자체가 자동으로 사용자를 그 사이트에 이동시킬 어떤 방법을 제공하지는 못합니다. 따라서 사용자는 평소 자신의 브라우징 습관에 주의를 기울임으로써, 자신을 보호할 수 있습니다. 특히, 사용자가 알려지지 않은 사이트와 신뢰되지 않은 사이트를 피하거나, ActiveX 컨트롤을 막아버리는 제한된 사이트 영역 내에 이 사이트들을 유지할 경우, 사용자는 웹 상에서 이 취약점으로 인한 위험을 예방하거나 제거할 수 있습니다. HTML 전자우편 기반의 침입을 예방할 방법이 있습니까? 네. ActiveX 컨트롤을 막아버리는 메일 클라이언트들은 HTML 전자우편 기반의 침입 벡터를 제거할 수 있는데, 고객들은 다음의 두가지 방법으로 이를 수행할 수 있습니다: LoadText() 취약점 (CAN-2002-0860): 두번째 취약점이 영향을 미치는 범위는 어디까지 입니까? 이는 정보 노출 취약점으로, 이로 인해 악의를 띤 웹 사이트 운영자가 자신의 사이트에 방문하는 사용자 컴퓨터 상의 파일들을 살펴볼 수 있습니다. 이 취약점과 관련이 있는 수많은 주요 예방 방법들이 있습니다: 메서드란 워크시트 내에 텍스트를 적재하여 분석(parse)하도록 스프레드 시트에 알려주는 프로그래밍 메서드입니다.
LoadText() 메서드에 있어 문제점이 무엇입니까?
설계상으로, LoadText() 메서드는 스프레드시트로의 텍스트 파일 적재를 허용하도록 설계되어 있습니다. 예를 들면, LoadText() 메서드는 네트워크 서버 상의 공유 디렉토리 내에 있는 텍스트 파일을 검색하도록 지시받을 수 있습니다. 이 절차가 OWC 내에서 구현될 때, 스프레드 시트를 호스트하는 웹 페이지로 데이터가 적재됩니다.
현재의 설계하에서, 웹 페이지가 원격지 파일 공유가 아닌 사용자 자신의 시스템 상에 위치한 파일을 지정하는 것이 가능합니다. 이러한 사항과 더불어 파일 읽기가 이루어질 때, 웹 페이지로 데이터가 적재됩니다. 브라우저 도메인 제약 조건들의 특성상, 일단 웹 페이지로 데이터가 적재되고 나면, 이를 호스트하는 사이트로 데이터를 반환하는 등 호스트 사이트가 해당 데이터를 조작할 수 있게 됩니다. 이 취약점으로 인해 침입자가 어떤 작업을 수행할 수 있습니까? 이로 인해 침입자는 LoadText() 메서드를 이용하여 침임하려는 기기 상에 있는 파일을 읽는 HTML 페이지를 구축할 수 있습니다. 이 취약점을 악용하기 위해 침입자가 어떤 시도를 모색합니까? 이 취약점의 침입 과정은 Host() 함수 취약점(Host() function vulnerability)의 경우와 동일합니다: 침입자는 웹 또는 HTML 전자우편을 통해 이를 악용하려고 할 것입니다. 사용자는 Host() 함수 취약점에 관해 논의된 바와 동일한 단계들을 취함으로써 자신을 보호할 수 있습니다. Copy()/Paste() 취약점 (CAN-2002-0861):세번째 취약점이 영향을 미치는 범위는 어디까지 입니까? 이는 정보 노출 취약점입니다. 특히, 이로 인해 사용자가 자신의 클립보드 내용을 읽는 것을 막아둔 경우에도, 웹 사이트가 프로그램에 입각하여 이를 행할 수 있습니다. 이 옵션의 디폴트 설정값은 프로그램에 입각한 클립보드로의 액세스를 허용하는 것입니다. 그러므로, 이 취약점에 따른 위험은 이 기능의 디폴트 설정의 경우보다 더 나쁜 것은 아닙니다. 그러나, 이는 정보의 프라이버시를 통제하는 보안 설정을 우회할 수 있도록 해주기 때문에, 취약점을 야기하는 것입니다. 취약점을 야기하는 원인이 무엇입니까? OWC 내에 있는 스프레드 시트의 Copy() 및 Paste() 메서드들이 Internet Explorer의 "스크립트를 통한 붙여넣기 작업 허용"을 위한 "사용 안 함" 설정을 지키지 못함으로 인해 취약점이 나타납니다. Copy() 및 Paste() 메서드란 무엇입니까? Copy() 및 Paste() 메서드는 프로그램에 입각한 Windows의 복사 및 붙여넣기에 해당하는 것입니다. 사용자가 복사 또는 붙여넣기를 선택할 때와 마찬가지로, 이 명령들은 Windows 클립보드에 데이터를 전송하거나 클립보드로부터 데이터를 삭제합니다.
이로 인해 침입자가 어떤 작업을 수행할 수 있습니까?
이로 인해 사용자가 프로그램에 입각해 클립보드에 대한 액세스를 막아버린 경우라도, 침입자가 사용자의 Windows 클립보드에 대해 스크립트를 통한 복사 및 붙여넣기 작업을 수행할 수 있습니다. 침입자는 이후에 HTML 스크립트 처리를 통해 사용자의 클립보드를 조작하기 위한 시도를 할 수 있습니다.
이 취약점은 침입자에게 어떤 유형의 데이터에 대한 액세스 권한을 부여합니까?
이 취약점은 침입자에게 사용자가 행한 복사 및 잘라내기 작업 결과 Windows 클립보드 내에 이미 존재하는 모든 유형의 데이터에 대한 액세스 권한을 부여합니다. 그러나, 이는 Windows 클립보드의 특성 및 이용 방법으로 인해, 데이터에 대한 예측이 불가능하므로, 대부분의 경우 침입자가 거의 관심을 갖지 않습니다.
이 취약점은 침입자에게 검색할 데이터를 지정할 수 있는 수단을 제공합니까?
아니요. 침입이 일어나기 전에 데이터가 Windows 클립보드 내에 있어야 합니다. 취약점은 침입자에게 Windows 클립보드 내에 들어갈 데이터를 지정할 수 있는 어떠한 방법도 제공하지 않습니다.
어디에서 "스크립트를 통한 붙여넣기 작업 허용" 설정에 관해 보다 많이 알 수 있습니까?
이 특징은 Microsoft 기술 자료 기사 Q224993 에 나와 있습니다.
이 취약점을 악용하기 위해 침입자가 어떤 시도를 모색합니까?
이 취약점의 침입 과정은 Host() 함수 취약점 (Host() function vulnerability)의 경우와 동일합니다: 침입자는 웹 또는 HTML 전자우편을 통해 이를 악용하려고 할 것입니다. 사용자는 Host() 함수 취약점에 관해 논의된 바와 동일한 단계들을 취함으로써 자신을 보호할 수 있습니다.
해결책: 어떻게 취약점을 제거할 수 있습니까? 이 취약점들의 픽스는 아래에 포함됩니다: 예로, Office XP와 Microsoft Project 2002를 보유하고 있는 경우, Microsoft Project 2002의 문제점을 해결하기 위해 Microsoft Project 2002용 패치를 적용한 후, Office XP의 문제점을 해결하기 위해 Office XP SP2 또는 일반형 패치를 적용해야 합니다. 결론적으로, Microsoft Project 2002를 보유하고 있는 경우, Microsoft Project 2002용 패치를 적용해야 하고, Microsoft Project와 함께 영향을 받는 다른 제품을 보유하고 있는 경우, 이에 대해 별도로 조치를 취해야 함을 의미합니다. Microsoft Project Server 2002를 이용하고 있는데, 어떤 조치를 취해야 합니까? Microsoft Project Server 2002를 이용하고 있는 경우, Microsoft Project Server 2002용 패치를 적용해야 합니다. Microsoft Project 2002용 패치 적용 때와 동일한 조치가 필요합니까? 아니요. Microsoft Project Server 2002용 패치는 Microsoft Project 2002용 패치와 서로 다릅니다. Microsoft Project Server 패치는 Microsoft Project Server에만 적용되어야 하는 서버측 패치이며, Microsoft Project 2002 패치는 Microsoft Project 2002를 실행하는 모든 시스템에 적용되어야 하는 클라이언트측 패치입니다. Office XP를 이용하고 있는데, 어떤 조치를 취해야 합니까? Office XP를 이용하고 있는 경우, 가능하다면 Office XP SP2를 적용해야 합니다. 이는 이 문제점에 대한 해결 내용 뿐만 아니라, 다른 여러 가지 주요 보안 및 안정성과 관련된 픽스를 포함하고 있습니다. Office XP SP2의 적용이 불가능한 경우, 일반형 패치 또는 Office Web Components의 업데이트된 다운로드를 적용해야 합니다. 웹에서 OWC를 설치했는데, 어떤 조치를 취해야 합니까? 웹에서 OWC를 설치한 경우, 현재 설치된 시스템 상에 일반형 패치를 사용해야 합니다. Microsoft Project 2002 또는 Office XP를 이용하지 않으며, 웹에서 OWC를 설치하지도 않았는데, 어떤 조치를 취해야 합니까? 열거된 기타 제품들을 이용하는 고객들은 취약점을 해결하기 위해 일반형 패치를 적용해야 합니다.
일반형 패치: Microsoft Project 2002 패치: Microsoft Project Server 2002 패치: 향후 서비스 팩에 포함될 내용: 이 문제점에 관한 픽스는 Office XP Service Pack2에 포함됩니다 재부팅 필요성: 패치가 적용될 때 모든 Office 어플리케이션을 닫은 경우엔 재부팅이 필요하지 않습니다. 패치 제거 가능성: 없음 대체 패치: 없음 패치 설치 확인:
지원:
Microsoft 기술 자료에서 제공되는 정보는 어떤 유형의 보증도 제공하지 않습니다. Microsoft는 특정 목적을 위한 시판 가능성 및 적합성에 관한 보증을 포함해 어떠한 명시적 혹은 묵시적 보증도 하지 않습니다. Microsoft 또는 관련 공급 업체는 손상에 관해 충고를 한 경우라도 어떠한 형태의 직간접적이거나 우연적 내지는 필연적인 사업상의 손실이나 특수한 손해에 대해서는 책임을 지지 않습니다. 개정판:
최종 수정일 : 2002년 8월 28일 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||