개요[편집 / 원본 편집]
클라우드블리드(Cloudbleed)는 2017년 2월에 발견된 심각한 보안 취약점으로, 클라우드플레어(Cloudflare)의 서비스를 사용하는 수많은 웹사이트에서 민감한 사용자 정보가 유출된 사건이다. 이 취약점으로 인해 2016년 9월 22일부터 2017년 2월까지 약 5개월간 데이터 유출이 계속되었다.
발견 과정[편집 / 원본 편집]
2017년 2월 17일, 구글 프로젝트 제로(Project Zero)의 보안 연구원 타비스 오맨디(Tavis Ormandy)가 이 취약점을 우연히 발견했다. 그는 1password.com의 데이터를 살펴보던 중 다른 웹사이트들의 민감한 정보가 무작위로 섞여 있는 것을 발견했다.
문제의 원인[편집 / 원본 편집]
기술적 원인[편집 / 원본 편집]
클라우드플레어는 웹사이트의 성능을 개선하기 위해 'ScrapeShield'라는 HTML 파싱·난독화 도구를 사용했다. 이 도구에서 버퍼 오버런(buffer overrun) 버그가 발생했는데, 이는 메모리 범위를 벗어나 데이터를 읽어오는 심각한 프로그래밍 오류였다. 구체적으로는 HTML 파서에서 == (동등 비교 연산자)를 사용한 부분에서 문제가 발생했으며, >= (크거나 같음 연산자)를 사용했다면 이런 문제가 발생하지 않았을 것이다.
영향력 확대 원인[편집 / 원본 편집]
클라우드플레어는 전 세계 수많은 웹사이트가 사용하는 CDN(콘텐츠 전송 네트워크) 서비스이다. 한 서버가 여러 웹사이트의 트래픽을 처리하는 구조였기 때문에, 한 사이트의 정보가 다른 사이트의 응답에 섞여 들어가는 일이 발생했다. 이로 인해 클라우드플레어를 사용하는 모든 웹사이트가 잠재적인 피해 대상이 되었다.
유출된 정보[편집 / 원본 편집]
유출된 정보의 종류[편집 / 원본 편집]
- HTTP 쿠키와 인증 토큰
- 비밀번호와 로그인 정보
- API 키와 개인 암호화 키
- HTTPS 요청의 내용
- 이메일 주소와 개인정보
- 채팅 메시지와 포럼 글 내용
정보 유출의 특징[편집 / 원본 편집]
유출된 정보는 웹브라우저의 캐시나 검색엔진의 캐시에 저장되었고, 구글, 빙, 야후 등의 검색엔진이 이 정보들을 자동으로 수집하여 색인화했다. 클라우드플레어는 발견 즉시 주요 검색엔진 업체들과 협력하여 캐시된 데이터를 삭제했다.
영향을 받은 웹사이트[편집 / 원본 편집]
규모[편집 / 원본 편집]
클라우드플레어의 서비스를 사용하는 약 6백만 개의 웹사이트가 잠재적 피해 대상이다. 우버(Uber), 피트니스팔(FitBit), OKCupid 등 유명 서비스들도 포함되어 있다.
피해 사이트 확인[편집 / 원본 편집]
깃허브에 피해 사이트 목록이 공개되어 있다: [1] 파일 크기가 크기 때문에 깃허브 웹사이트에서는 직접 열람이 어렵고, raw 형식으로만 확인 가능하다.
대응 조치[편집 / 원본 편집]
클라우드플레어의 대응[편집 / 원본 편집]
취약점 발견 즉시 문제가 되는 코드를 수정했다. 전체 서버에 패치를 적용하는 데 약 7시간이 소요되었다. 주요 검색엔진들과 협력하여 캐시된 민감 정보를 제거했다.
사용자 권장 조치[편집 / 원본 편집]
검색엔진들의 캐시는 삭제되었지만, 모든 검색엔진이 아니고, 캐시 삭제 전 크롤링 되었을 수도 있으므로, 모든 온라인 계정의 비밀번호 변경을 권장한다. 또한 2단계 인증이 가능한 서비스의 경우 활성화하고, 주요 온라인 서비스의 로그인 세션을 모두 종료하고 재로그인하는 것을 권장한다.