보안 제품정보


특정 사이트 방문하면 민감 정보 유출시키는 엣지 취약점 2018.06.25

이름은 ‘웨이브쓰루’...브라우저의 동일 근원 정책 우회하게 해줘
조작한 웹사이트 방문하면 각종 정보 노출시키게 돼


[보안뉴스 문가용 기자] MS가 이번 달 초 발표한 패치에는 엣지 브라우저(Edge Browser)에 대한 업데이트가 포함되어 있었다. 악성 웹사이트를 통해 엣지 브라우저를 공격하면 민감한 데이터를 읽을 수 있게 해주는 취약점이 해결됐다.

[이미지 = iclickart]


이 취약점은 CVE-2018-8235로, 마이크로소프트의 엣지 브라우저가 출처 다른 요청들을 처리하는 방식에 기인한다고 MS는 권고문을 통해 설명했다. 이 방식 때문에 엣지 브라우저의 동일 근원 정책(Same-Origin Policy, SOP)을 피해갈 수 있게 되고, 그래서 사실 응답하면 안 되는 요청에도 엣지가 반응을 하게 된다.

공격자들은 이를 악용해 엣지 브라우저가 보통은 전송 금지 처리될 데이터를 전송하도록 만들 수 있다. 악의적으로 조작된 웹사이트나 침해된 도메인이나 웹사이트를 통해 공격이 가능하다. 사용자가 제공하는 콘텐츠나 광고를 받아들이거나 호스팅하는 성격의 웹사이트 및 도메인이라면 이 공격에 활용될 수 있다.

이를 발견한 건 구글의 개발자인 제이크 아치발드(Jake Archibald)였다. 아치발드는 이 취약점에 웨이브쓰루(Wavethrough)라는 이름을 붙였다. 왜냐하면 웹사이트가 멀티미디어 콘텐츠를 로딩하는 과정 중에 range라는 요청을 활용하는 ‘audio’ 웹 API를 발동시킬 때 취약점이 발생하기 때문이다.

Range라는 헤더는 “예를 들어 동영상 콘텐츠의 일부만을 사용자가 요청했을 때 동영상 전체를 다운로드 받지 않아도, 요청된 부분의 콘텐츠 요소만 재생시켜주는 기능을 가지고 있다”고 아치발드는 설명한다. “서비스 워커를 통하게 되면, range 헤더가 없어지더군요. no-cors라는 요청이 발동되기 때문입니다.”

아치발드의 설명이 이어진다. “만약 fetch()라는 함수를 사용해 데이터를 가져온다고 합시다. 데이터의 출처가 다른 곳이라면, 그 출처로부터의 허가가 있어야만 데이터를 열람할 수 있습니다. 이런 종류의 요청에는 쿠키가 만들어지지 않는 게 ‘디폴트’인데, 쿠키를 일부러 만들고 싶다면 데이터 출처로부터 또 다른 허가를 받아야만 합니다.”

그렇기 때문에 일부 헤더들을 사용할 경우 브라우저는 요청을 보내기 전에 출처를 먼저 확인한다. 그러나 이 과정을 생략하는 API들이 존재한다. 출처 확인 과정이 없어지므로 민감한 데이터가 유출될 가능성이 생겨난다. “no-cors 요청은 쿠키와 함께 전송되며, 이해하기가 힘든 응답을 되돌려 받습니다. 여기에다가 일부 API를 사용하면 이 응답과 함께 돌아온 데이터에 접근하는 게 가능해집니다.”

이 모두를 종합해보면 다음과 같다. “콘텐츠의 일부 요소가 no-cors 요청을 range 헤더와 함께 보냅니다. 그러면 fetch()라는 함수가 발동되는데, 헤더만을 빼놓습니다. no-cors 요청과 호환되지 않기 때문입니다. 하지만 range 요청은 HTML 내에서 표준화된 적이 없는 헤더입니다. 또한 서비스 워커들이 여기에 개입되기 때문에 특정 웹사이트가 임의의 응답을 송출할 수 있게 됩니다.”

이 과정에서 다른 출처를 향한 no-cors 요청이라고 해도 공격자가 원하는 대로 응답을 유도할 수 있게 된다. “예를 들어 img 태그가 페이지에 있다고 합시다. 이 이미지는 facebook.com이라는 도메인에 연결되어 있고요. 그렇지만 서비스 워커를 통해 twitter.com으로부터 데이터를 돌려받을 수 있게 된다는 겁니다.”

아치발드는 이러한 공격 이론을 가능케 하는 웹사이트를 구축했다. 그러면서 엣지 브라우저만이 아니라 파이어폭스의 일부 버전에서도 이 공격이 가능함을 발견했다. 파이어폭스 측은 이 버전들에 대한 패치를 발표했다.

“이 공격이 무슨 뜻이냐면, 누군가 제가 만든 사이트를 엣지 브라우저를 통해 접속하면 제가 그 사람의 이메일이나 페이스북 피드를 읽을 수 있다는 겁니다. 그것도 그 사람 모르게 말이죠. 그러니 패치를 최대한 빨리 패치를 적용하는 게 좋습니다.”
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>