반응형
Microsoft Security Bulletin MS00-060
"IIS CSS (Cross-Site Scripting)" 취약점에 대한 패치 제공
최종 수정일 : 2005년 8월 18일
"IIS CSS (Cross-Site Scripting)" 취약점에 대한 패치 제공
요약 | |
- Microsoft Internet Information Server 4.0
- Microsoft Internet Information Server 5.0
- 사용자에게 입력을 요청하는 경우
- 사용자 입력 내용의 유효성을 확인하지 않고 무조건 사용하는 경우
- 입력된 내용이 동적 웹 페이지에서 반영되어 사용자에게 전달되는 경우
- 마이크로소프트사는 취약점을 제거하는 패치를 전달했습니다.
- 마이크로소프트사는 고객이 취약점과 이를 제거하는 절차를 자세하게 이해할 수 있도록 보안 게시판 (security bulletin )과 FAQ를 제공했습니다.
- 마이크로소프트사는 사용자가 마이크로소프트 보안 게시판을 계속 업데이트해서 사용할 수 있는 무료 이메일 서비스인, 마이크로소프트 제품 보안 통보 서비스 (Microsoft Product Security Notification Service)의 모든 구독자에게 보안 게시물 사본을 전송했습니다.
- 마이크로소프트사는 취약점과 절차에 관해 보다 상세히 설명하고 있는 기술 자료 기사 Q260347와 Q275657를 발행했습니다.
2000년 8월 25일 Microsoft는 Microsoft Internet Information Server의 취약점을 제거하는 패치 제공을 알리기 위해 이 보안 공지 사항의 최초 버전을 발표했습니다. 그러나, 이후에 추가 변종 취약점이 확인되었으며 업데이트된 패치 제공을 알리기 위해 2000년 11월 2일 보안 공지 사항이 업데이트 되었습니다.
새로운 취약점의 범위는 최초로 보고됐던 것과 정확히 일치하며 업데이트된 패치는 알려진 모든 변종 취약점을 제거합니다. 따라서 최초 버전의 패치를 적용한 고객은 새로운 패치 버전을 적용해야 합니다.
- 영향 받는 소프트웨어:기술 세부 사항
- 기술적 설명:
2000년 2월 20일 Microsoft와 CERT 는 모든 웹 서버 제품에 영향을 미치는, 새롭게 확인된 보안 취약점에 대한 정보를 발표했습니다. CSS (Cross-Site Scripting) 로 알려진 이 취약점은 웹 어플리케이션이 입력된 내용을 동적 웹 페이지에서 사용하기 전에 적절한 유효성 검증을 하지 않을 경우 나타납니다. 만일 악의적인 웹 사이트 운영자가 사용자들을 자신의 사이트로 유인할 수 있고, CSS 취약점이 있는 제 3의 웹 사이트를 확인했다고 가정합시다. 그러면 악의적인 사용자는 잠재적으로 이 취약점을 이용하여 다른 웹 사이트가 생성한 웹 페이지에 스크립트를 삽입할 수 있고 이것은 사용자에게 전달됩니다. 최종 결과는 악의적인 사용자의 스크립트가 신뢰할 수 있는 다른 사이트를 이용해 사용자의 시스템에서 실행되게 합니다. 이 취약점은,웹 서버 상에서 실행하고 사용자 입력을 허용하며 웹 페이지를 생성하기 위해 맹목적으로 사용하는 모든 소프트웨어에 영향을 미칠 수 있습니다. Microsoft는 모든 제조 회사에게 이 취약점으로 인해 영향을 받는지 알아보기 위해 제품을 점검할 것을 권장하고 있으며 Microsoft 자사 제품들도 조사에 착수했습니다. IIS에서 몇 가지 영향을 받는 기능들이 발견되었는데-어떤 것은 Microsoft 내부 팀에서, 다른 것은 고객들에 의해 발견되었습니다.- 이 패치 파일은 이들을 모두 제거합니다.
자주 발생하는 질문 사항
-
이 게시 내용은 어떤 사항을 다루고 있습니까?
2000년 8월 25일 Microsoft는 Microsoft Internet Information Server에 내포된 취약점을 제거하는 패치 제공을 알리기 위해 최초 버전의 Microsoft Security Bulletin(MS00-060)을 발표했습니다. 그러나, 추가 변종 취약점이 발견되었고 최초 취약점과 새로운 변종을 동시에 차단하기 위한 업데이트 패치를 제공하게 되었습니다.
취약점이 미치는 범위는 어디까지 입니까?
처음 발견된 취약점과 새로 발견된 변종은 정확히 같은 범위를 갖고 있습니다. 두 개의 취약점은 모두 악의적인 사용자가 제 3의 웹 사이트를 가장하여 다른 사용자의 컴퓨터에 코드를 실행시킬 수 있게 한다는 것입니다. 이러한 코드는 제 3의 사이트가 수행할 수 있는 모든 행위를 사용자의 컴퓨터 상에서 수행할 수 있습니다. 더욱이, 이 코드는 영속적으로 제작될 수 있으므로 사용자가 미래에 다시 웹 사이트를 방문하게 되면 또 실행되게 됩니다.
이 취약점은 사용자가 HTML 메일이나 악의적인 사용자의 웹 사이트에서 하이퍼텍스트 링크를 클릭할 경우에만 악용될 수 있습니다. -이 코드는 현존하는 세션에 "삽입"될 수 없습니다. 이 공지 사항에서 제공된 패치는 악의적인 사용자의 웹 사이트가 위에서 언급된 제 3의 사이트처럼 이용되는 것을 막기 위해 웹 서버 관리자들이 적용해야 합니다. 현재 버전의 패치는 최초 취약점과 새 변종 모두를 방지해 줍니다.
취약점을 야기하는 원인은 무엇입니까?
IIS가 제공하는 특정 웹 서비스들은 모든 입력 내용의 유효성을, 서비스를 사용하기 전에 제대로 확인하지 않습니다. 결과적으로CSS (Cross-Site Scripting) 취약점에 노출되게 됩니다.
CSS (Cross-Site Scripting)란 무엇입니까?
CSS는 최근에 발견된 보안 취약점으로서, 잠재적으로 악의를 가진 사용자가 웹 사이트와 연결된 사용자 세션을 통해 코드를 "삽입"하는 것입니다. 대부분의 보안 취약점들과는 달리 CSS는 특정 제조 회사의 제품에만 적용 되는 것이 아니고 대신, 웹 서버에서 실행하고 방어적인 프로그래밍 지침을 준수하지 않는 모든 소프트웨어에 영향을 미칠 수 있습니다. 2000년 초 Microsoft와 CERT 는 소프트웨어 업계에 이러한 문제를 알리고 산업계 전반이 이에 대처하도록 하기 위해 협력했습니다.
Microsoft는 잠재적 취약점에 대비해 개발자용 코드 점검 방법에 대한 정보를 포함해 CSS에 대한 광범위한 정보를 발행했습니다. Microsoft는 IIS에서 올바른 확인을 수행하지 않는 몇 군데 포인트를 확인했는데 - 몇 가지는 내부 팀에 의해 발견되었으며 나머지는 고객들에 의해 확인되었습니다. 제공되는 패치는 이런 모든 결함들을 제거합니다.
CSS는 어떻게 작동합니까?
executive summary 와 FAQ 에서 가장 잘 설명하고 있습니다. 여기서는 CSS가 어떻게 동작하는지에 대해 좀더 상세하게 다뤄보겠습니다.
어떤 웹 사이트 A에서 사용자가 찾고자 하는 단어나 구문을 입력할 수 있도록 검색 기능을 제공한다고 가정해 봅시다. 사용자가 "banana"라고 입력하였다면 사이트는 해당 구문을 찾기 시작할 것입니다. 그리고 나서는 "죄송합니다. 'banana'라는 단어를 찾지 못했습니다"와 같은 형태의 페이지를 생성하게 될 것입니다. 생성된 페이지는 웹 브라우저로 전송될 것이며, 해당 페이지를 해석하여 그 결과를 출력할 것입니다.
이제 사용자가 "banana"라고 입력하는 대신 "banana <SCRIPT> <Alert('Hello');> </SCRIPT>" 와 같이 입력한다고 가정해 봅시다. 검색 기능은 검색 구문이 무엇이든 간에 제공된 구문을 사용하도록 만들어져 있습니다. 결국 모든 문자열을 대상으로 찾아본 뒤, "죄송합니다. "banana <SCRIPT> <Alert('Hello');> </SCRIPT>" 라는 단어를 찾지 못했습니다."라고 알리는 웹 페이지를 만들게 됩니다. 그러나 실제로 "<SCRIPT>"와 "</SCRIPT>" 사이에 존재하는 구문은 프로그램 코드입니다. 따라서, 이 페이지가 처리되면 브라우저에는 "hello"라는 메시지를 출력하는 대화 상자가 나타나게 됩니다.
지금까지는 사용자가 어떻게 웹 서버에서 코드를 "전달해" 자신의 시스템에서 실행하게 만들 수 있는지에 대해서만 예를 들어 보여줬습니다. 이러한 것은 보안 취약점이 아닙니다. 그렇지만 악의적인 웹 사이트 관리자가 자신의 사이트를 방문하는 사용자의 컴퓨터에 코드를 실행하는 것이 가능합니다. 만약 악의적인 사용자가 웹 사이트 B를 운영하고 있고 자신의 웹 사이트를 방문해 하이퍼링크를 클릭하도록 사용자들을 유인할 수 있다면 그의 사이트는 웹 사이트 A로 이동하여 검색 페이지에 악의적인 스크립트를 삽입한 뒤 사용자를 대신하여 이를 제출(submit)할 수 있습니다. 그 결과로 작성된 페이지는 사용자에게 리턴되며(사용자가 하이퍼링크를 클릭하게 되면 궁극적으로는 요청자가 되어 버립니다), 사용자의 컴퓨터에서 처리됩니다. 결국 악의적인 사용자의 스크립트가 사용자의 컴퓨터에서 실행되게 됩니다.
사용자의 컴퓨터에서 스크립트는 어떻게 일을 수행하게 됩니까?
이것은 웹 사이트 A가 사용자 컴퓨터에서 갖고 있는 특권에 따라 달라집니다. 웹 사이트 A, B 모두 특정 사용자의 컴퓨터에서 동일한 권한을 갖고 있다면, 이 취약점은 별다른 이득을 줄 수 없습니다. 그러나, 사용자가 웹 사이트 A를 신뢰하는 사이트로 지정하고 컴퓨터에 대해 높은 권한을 부여해 놓는다면 악의적인 사용자의 코드는 이런 향상된 특권을 이용할 수 있습니다.
사용자가 사용한 브라우저가 문제가 됩니까?
아닙니다. 이 문제는 웹 브라우저가 아닌, 웹 서버 소프트웨어에 있다는 것이 중요한 포인트입니다. 이 취약점은 잠재적으로 사용자가 제공하는 입력을 검사하지 않고 사용하는 웹 서버 소프트웨어에서는 언제든지 일어날 수 있습니다. 실제로 사용자의 입력 내용 중 적절하지 않은 것은 필터링해야 합니다. 위에서 예를 든 검색 엔진은 스크립트를 삽입하기 위해 사용되는 문자들인 "<"나 ">" 등이 검색 과정에 삽입되지 않도록 추려 내어야 합니다. 이렇게 걸러내어야 할 문자들에 대한 것은 기술 자료 기사 Q252985 에 설명되어 있습니다.
웹 사이트를 운영하고 있습니다. 위의 예 중 어떤 웹 사이트가 제 웹 사이트입니까?
웹 사이트 A가 해당 웹 사이트입니다. 이 취약점은 웹 사이트 자체에 직접 위협을 주지는 않습니다.- 즉 악의적인 사용자는 웹 사이트를 손상시킬 수 없으며, 이 취약점을 이용하여 내용의 일부를 추가하거나 변경, 혹은 삭제할 수 없습니다. 그러나, 악의적인 사용자는 사이트를, 사용자를 공격하는 수단으로 이용할 수 있습니다.
그렇다면 패치는 브라우저가 아니고 서버에 설치되어야 합니까?
그렇습니다. 영향을 받는 제품을 사용하는 고객들은 자신의 웹 사이트가 CSS 시나리오로 이용되는 것을 막기 위해 이 패치를 설치해야 합니다.
웹 서버에서 실행되는 다른 소프트웨어도 CSS 취약점에 이용될 수 있습니까?
웹 서버에서 운영되는 모든 소프트웨어는 다음과 같은 경우에 CSS 취약점을 가질 수 있습니다.
패치 다운로드 | |
-
해당 패치의 다운로드 위치
- Internet Information Server 4.0:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25539 - Internet Information Server 5.0:
별개의 한국어 패치가 지원되지 않습니다. Windows 2000 서비스 팩 2에 이 패치가 포함되어 있습니다. - CSS (Cross-Site Scripting) 보안 취약점에 대한 정보
http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fkorea%2Fsupport%2Fxmlkb%2Fkr253117%2Easp&LN=KO - CERT Advisory CA-2000-02: 클라이언트 웹 요청에 삽입되는 악성 HTML 태그
http://www.cert.org/advisories/CA-2000-02.html - IIS 4 - Microsoft 기술 자료 기사 Q260347,
http://www.microsoft.com/korea/support/xmlkb/kr260347.asp - IIS 5 - Microsoft 기술 자료 기사 Q275657
http://www.microsoft.com/korea/support/xmlkb/kr275657.asp
이 패치에 관한 추가 정보
- 설치 플랫폼: 이 문제점에 관한 추가 정보는 다음 내용을 참조하십시오.
기타 정보: | |
-
감사의 말: Microsoft는 고객 보호를 위해 이 정보를 알려주고 협조해 주신 Defcom (www.defcom.com) 의 Peter Grundl에게 감사를 드립니다.
지원:
이 패치는 모든 지원을 받을 수 있습니다. Microsoft Product Support Services와 관련된 정보는 http://support.microsoft.com/support/contact/default.asp 에서 이용하실 수 있습니다.
보안 관련 자원: Microsoft TechNet Security 웹 사이트는 Microsoft 제품군의 보안에 관한 추가 정보를 제공합니다.
알림:
Microsoft 지식 기반에서 제공되는 정보는 어떤 유형의 보증 사항이 없이 제공됩니다. Microsoft사는 특정 목적을 위한 시판 가능성 및 적합성에 관한 보증을 포함해 표명된 또는 암시된 형태로 모든 보증 사항을 알려줍니다. Microsoft사 또는 관련 공급 업체는 손상에 관해 충고를 한 경우라도, 어떠한 형태의 직간접적인, 우발적인, 필연적인 사업상 이익의 손실 또는 특수한 손해에 대해서도 책임을 지지 않습니다.
최종 수정일 : 2005년 8월 18일