얼마나 오랜 기간 지속됐는지 알 수 없어...비밀번호 전부 바꿔야
[보안뉴스 문가용 기자] 콘텐츠 전송 네트워크(Contents Delivery Network, CDN)인 클라우드플레어(Cloudflare)를 사용하는 웹사이트는 수백만에 달한다. 그런데 이 클라우드플레어에서 잠재적으로 민감할 수 있는 정보가 수개월 동안 유출됐다고 한다. 유출된 양은 아직도 밝혀지지 않고 있다. 유출된 것으로 보이는 정보는 이메일, 개인식별정보, 사용자 이름, 비밀번호, 개인 채팅 메시지, HTTP 쿠키, 인증 토큰 등이다. 이 때문에 영향을 받은 웹사이트들로는 우버(Uber), 핏비트(FitBit), 오케이큐피드(OKCupid), 아이패스워드(IPassword)다.

보통의 데이터 유출 사고와 달리 이번 사고를 통해 유출된 것으로 보이는 정보 중 일부는 구글이나 야후와 같은 검색엔진의 캐시에 남아있는 것으로 나타났다. 이는 웹 스크래핑 툴 때문인 것으로 보인다. 이는 무슨 뜻이냐면, 검색엔진 업체에서 캐시를 처리하지 않는 이상, 누구나 인터넷을 통해 이 정보를 검색해볼 수 있다는 것이다. 현재 보안 전문가들은 이 사고를 클라우드블리드(Cloudbleed)라고 부르고 있다.
클라우드블리드는 클라우드플레어(Cloudflare)의 HTML 파싱(parsing) 오류에서부터 발생했다고 한다. 클라우드플레어가 웹 페이지를 파싱하고 수정할 때 CDN을 거치는데, 이때 클라우드플레어의 서버에서 무작위의 정보가 HTTP 요청에 대한 응답으로서 리버스 프록시 메모리로부터 리턴(return)된다.
구글의 프로젝트 제로(Project Zero) 팀의 타비스 오르만디(Tavis Ormandy)가 이번 달 초에 해당 문제점을 우연히 발견했다. “클라우드플레어에 호스팅된 HTML 페이지에 특정 태그들이 혼합되어 있으면 프록시가 메모리에 들어 있는 내용을 막 살포하는 것처럼 보였습니다.”
보안 전문업체인 아버네트웍스(Arbor Networks)도 클라우드블리드 조사에 착수해 해당 문제점을 확인했고, 인터넷을 사용하는 모든 사람들이 암호를 바꿀 필요가 있을 정도로 심각한 문제라고 발표했다. “사용자 A가 서버 X에 있는 콘텐츠에 접근하고 사용자 B가 서버 Y에 접근했다고 하는 상황에서, 사용자 B가 서버 X로부터 오는 응답으로부터 사용자 A의 행위 등에 대한 정보를 열람할 수 있게 됩니다. 논리적으로 일어나서는 안 되는 오류인 것이죠.”
오르만디에 따르면 이런 식으로 방출되는 정보에는 암호화키, 쿠키, 비밀번호, HTTPS 등이 있다고 한다. “크롤러들은 개인식별정보도 활발하게 다운로드 받고 있었습니다. 일반 사용자들은 그저 이런 현상을 눈치 못 채거나, 무슨 정보인지 이해하지 못하고 있었던 것 뿐이죠.” 오르만디는 이 사실을 곧바로 클라우드플레어 측에 알렸고, 클라우드플레어의 CTO인 존 그러햄커밍(John Graham-Cumming)은 47분 만에 응급조치를 취했다. 정식 픽스는 7시간 후에 발표되었다.
그러햄커밍은 “메모리 속의 콘텐츠가 HTTP 응답에 섞여드는 현상을 방지하려면 일단 클라우드플레어 기능 세 가지를 비활성화 시켜야 한다”며 “이메일 난독화, 자동 HTTPS 리라이트(Automatic HTTPS Rewrites), 서버사이드 익스클루드(Server-side Excludes)”라고 설명했다. 이 세 가지 가능 모두 버그 현상과 관련이 있는 파서 체인(parser chain)을 활용한다. 그러햄커밍은 이 오류가 가장 활발히 나타난 것은 2월 13일부터 18일까지 기간이라고 말하며 “약 3백 3십만 HTTP 요청 중 한 번 꼴로 메모리 속 콘텐츠가 다른 응답 속에 노출되는 현상이 나타났다”고 말한다. 이 문제가 심각한 건 유출된 메모리 콘텐츠 속에 어떤 민감한 정보가 담겨 있는지 모르기 때문이다.
보안전문가들 사이에서는 클라우드플레어의 이런 오류가 언제부터 발동되어 그 동안 얼마나 많은 정보가 새나갔는지 전혀 알 수가 없다는 게 이 사안의 가장 심각한 점이라고 입을 모은다. 벡트라 네트워크(Vectra Network)의 CSO인 건터 올만(Gunter Ollman)은 “적어도 1년 이상은 된 문제 같다”며 “악성 해커들이 이를 먼저 발견해 악용했을 가능성도 충분하다”고 말한다. 또한 “검색엔진 업체와 데이터 캐싱 제공자들 역시 캐시로부터 민감한 데이터를 제거하는 방법을 고안해야 할 것”이라고 주장했다.
온라인 자산 관리 업체인 아웃사이드인텔(OutsideIntel)은 약 5백 3십만 개의 도메인이 클라우드블리드의 영향을 받았다고 보고 있다. 하지만 정확한 수치는 아무도 영원히 알 수 없을 것이라고 한다. “클라우드플레어의 CDN 서비스는 워낙 광범위하게 사용되고 있어서, 그 어떤 인터넷 사용자라도 어떤 데이터가 얼마나 유출되었는지 확인할 수는 없습니다. 지금 할 수 있는 건 이용 중인 웹 서비스의 비밀번호를 바꾸는 것 뿐입니다. 전부 다 하는 게 제일 좋습니다.”
[국제부 문가용 기자(globoan@boannews.com)]
Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>