▷ 작성자 : nohpro (nohpro@a3security.com)
▷ 편집자 : nohpro (nohpro@a3security.com)
Internet Explorer 8의 교차 사이트 스크립트 필터 기능
IE8에서 교차 사이트 스크립팅 필터라는 이름으로 XSS(Cross Site Scripting)을 브라우저단에서 필터링 시키는 기능이 추가되었네요. 인터넷 옵션에 “XSS필터 사용/사용 안 함” 항목이 추가되어 XSS공격으로부터 client를 보호하기 위한 기능이군요
다음과 같이 “XSS 필터 사용” 옵션을 사용할 경우 XSS 필터기능에 의해 XSS공격을 브라우저에서 차단시키도록 설정이 가능합니다.
[그림 1] XSS 필터 옵션
XSS공격 시 다음과 같이 차단메시지가 보여지면서 스크립트 실행을 제한하게 되는군요
[그림 2] 스크립트 실행 차단
현재 공개된 IE8의 XSS 필터는 Type-1에 의한 XSS공격만을 필터링 시키고 있습니다.
Type-1 XSS 공격은 파라미터로 값이 전송될 경우 존재하는 XSS 취약점인데, Get 형태로 파라미터가 전송될 경우에는 다음과 같이 XSS필터 기능에 의해 스크립트 실행이 차단됩니다. Type-1 XSS 공격을 시도할 경우 이미 알려진 다양한 패턴은 대다수 차단이 되고 있더군요.
ex)http://www.a3sc.co.kr/a3sc.php?a3sc=<script>alert(1)</script>
[그림 3] 파라미터를 통한 XSS 공격 시 스크립트 실행 차단
하지만 아직까지는 Type-1 XSS 공격에 대해서만 필터링이 적용 되다보니, 게시판이나 자료실 등과 같은 곳에서 시도되는 XSS 공격에 대해서는 필터링이 적용이 안되고 있습니다.
다음은 IE8에서 게시판에 스크립트를 입력하는 화면입니다.
[그림 4] IE8 에서 스크립트 입력
다음과 같이 IE8에서 XSS 필터 기능을 사용함에도 불구하고 스크립트가 실행된 화면입니다.
[그림 5] IE8에서 스크립트 실행
IE8에서 추가된 client 보호기능 중 하나인 “XSS필터” 기능은 client입장에서는 상당히 유용한 보안옵션일 수 있습니다.
스팸메일이나 게시판, 메일 등을 통해서 XSS를 이용한 공격이 이루어지고 있습니다. 이때 확인되지 않은 URL에 대해서 client가 접근을 하더라도 “XSS 필터”를 통해 차단이 되기 때문에 비교적 안전하게 사이트 이용이 가능합니다.
하지만 위에서 설명한 대로 아직까지는 파라미터를 통해 시도되는 XSS 공격(Type-1)에 대해서만 필터링이 이루어지고 있습니다.
추후에 MS에서 업데이트를 진행하겠지만 아직까지는 IE8의 “XSS필터” 기능에 너무 의존해서는 안될 것 같네요.
“XSS 필터” 기능이 적용된 IE8을 사용하는 client 일지라도 아직까지는 XSS 공격에 100% 안전할 순 없을 것 같습니다..
참고) http://en.wikipedia.org/wiki/Cross_site_scripting#Attack_vectors
http://blogs.msdn.com/dross/archive/2008/03/10/xss-focused-attack-surface-reduction.aspx