▷ 작성자 : InPure(aramlee@a3sc.co.kr)
▷ 편집자 : 니키 (ngnicky@a3sc.co.kr)



Mozilla Firefox Cross Domain Text(Image) Theft


취약점
보안 권고안



1. 요 약

[Text Theft]
<script src=”      “> 태그가 포함된 스크립트를 실행할 때 나타나는 자바스크립트 에러메시지는 window.onerror 핸들러를 사용하며, 원격 도메인의 텍스트를 에러메시지의 한 부분으로 포함할 수 있다. 이것을 이용하여 다른 도메인의 텍스트를 훔치는 것이 가능하다.

[Image Theft]
HTTP 리다이렉터를 이용하여 다른 도메인에 있는 임의의 이미지에 접근할 때, 브라우저에 로컬에서 리다이렉트하는 것처럼 속여 접근이 가능하다.


2. 대상시스템

 Mozilla Firefox 3.x before 3.05

Mozilla Firefox 2.x before 2.0.0.19

Thunderbird 2.x before 2.0.0.19

SeaMonkey 1.x before 1.1.14




3. 심각도 및 취약점 확인

취약점 영향

Mozilla Firefox Cross Domain Text Theft

Cross Domain Text(Image) Theft





Ⅱ. 취약점 세부 분석

1. 취약점 내용
데모로 아래 URL을 이용하였다.
https://cevans-app.appspot.com/static/ff3scriptredirbug.html

[Text Theft]
데모 URL에서 훔쳐오고 싶은, 즉 Target Text파일 URL을 다음과 같이 <script src=””>태그 안에 삽입한다.

 <script src="../redir?url=http://vsftpd.beasts.org/steal_me/hex.txt">


다음은 Target Text이다.


[그림 1] Target Text


[그림 2]와 같이 데모 URL에 접속하면, 자바스트립트 에러메시지 창이 뜨는 데, 그 에러메시지에는 Target Text([그림 2]의 붉은 박스부분)가 포함되어 있다.


[그림 2] Text Theft



[Image Theft]

원격 도메인의, 가져오고 싶은 그림(Target) URL은 다음과 같다.

 https://cevans-app.appspot.com/redir?url=http://vsftpd.beasts.org/steal_me/stocks.png

다음은 Target Image이다.

[그림 3] Target Image


데모 URL에 접속하면 다음과 같이 Target Image가 보이고, Target Image의 첫번째 픽셀 정보를 볼 수 있다.

[그림 4] Cross Domain Image Theft


2. 위험 분석
[
Text Theft]

자바스크립트로 데이터 로드를 시도함으로써 구문 에러메시지를 일으키고, DOM API의 window.onerror 핸들러로 파일의 일부를 드러냄으로써, 다른 도메인의 제한된 정보에 접근을 허용하며, 이는 기밀 정보나 개인 정보를 훔치는 데 악용될 수도 있다.

[Image Theft]
다른 도메인에 있는 이미지를 공격자가 canvas로 이미지를 표현하거나, 자바스크립트 API인 getImageData()를 사용할 수 있다. 이것은 다른 도메인의 제한된 정보에 접근을 허용하는 것을 의미하며, 이는 기밀 정보나 개인 정보를 유출하는 데 악용될 수도 있다.

.14



Ⅲ. 대응 방안

1. 보안 대책
[Text Theft]

현재 패치된 FireFox 3.0.5, 3.0.6 버전이 배포되고 있으며, 최신 버전인 3.0.6 버전 다운로드 URL은 다음과 같다.

http://www.mozilla.or.kr/ko/products/download.html?product=firefox-3.0.6&os=win&lang=ko

다음은 패치된 버전으로 취약점 분석에 이용한 데모 URL에 접속한 화면이다.
 


[그림 5] 패치된 화면


하지만, 이 패치된 경우는 다른 방법의 302 Redirect를 이용하여 우회가 가능한 미봉책일 뿐이다.

패치를 하지 않았을 경우나 보다 확실한 대책은, Java Plugin을 실행하지 않도록 설정을 변경하는 것이지만, 현실적으로는 불가능에 가까우므로 White List를 이용하여 신뢰하는 사이트만 제한적으로 Java Plugin을 허용한다.


[Image Theft]

현재 패치된 FireFox 2.0.0.18 이상, FireFox 3 버전이 배포되고 있으며, 최신 버전인 3.0.6 버전 다운로드 URL은 다음과 같다.

http://www.mozilla.or.kr/ko/products/download.html?product=firefox-3.0.6&os=win&lang=ko

다음은 패치된 버전으로 취약점 분석에 이용한 데모 URL에 접속한 화면이다.


[그림 6] 패치된 화면

패치는 원격 도메인의 정보를 빼내는 데 사용되는 JavaScript API인 getImageData나 toDataUrl가 사용이 되는지 확인하는 방법으로 이루어졌다.


2.  관련 사이트

본 취약점에 대한 추가적인 정보를 확인할 수 있는 관련 사이트는 다음과 같다.

[Text Theft]
CVE-2008-5507

CESA-2008-011 http://scary.beasts.org/security/CESA-2008-011.html
MFSA 2008-65
http://www.securityfocus.com/archive/1/499353/30/360/threaded

[Image Theft]
CVE-2008-5012
CESA-2008-009
http://scary.beasts.org/security/CESA-2008-009.html
MFSA 2008-48
http://www.mozilla.org/security/announce/2008/mfsa2008-48.html
http://scarybeastsecurity.blogspot.com/2008/11/firefox-cross-domain-image-theft-and.html
http://www.securityfocus.com/archive/1/498468


Copyright(c) 1998-2009 A3 Security ,LTD


Disclaimer
※ 현재 ㈜에이쓰리시큐리티에서 테스트 및 분석 중에 있으며, 이 문서는 계속 업데이트될 것입니다. 본 문서는 보안취약점으로 인한 피해를 최소화하는 데 도움이 되고자 작성되었으나, 본 문서에 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대하여서는 ㈜에이쓰리시큐리티에서는 일체의 책임을 지지 아니합니다.