1P by neo 1달전 | ★ favorite | 댓글 1개
  • 안녕하세요, 저는 다니엘입니다. 저는 15세의 고등학교 3학년 학생입니다. 여가 시간에 대기업을 해킹하고 멋진 것들을 만듦. 3개월 전, 특정 앱이 설치된 기기를 통해 공격자가 250마일 반경 내의 대상의 위치를 추적할 수 있는 0-클릭 익명 해제 공격을 발견함. 이 연구를 통해 기자, 활동가, 해커들에게 경고하고자 함.

Cloudflare

  • Cloudflare는 시장에서 가장 인기 있는 CDN 중 하나이며, Sucuri, Amazon CloudFront, Akamai, Fastly 등을 능가함.
  • Cloudflare의 주요 기능 중 하나는 캐싱으로, 자주 접근하는 콘텐츠를 저장하여 서버 부하를 줄이고 웹사이트 성능을 향상시킴.
  • Cloudflare는 전 세계 330개 도시의 데이터 센터를 보유하고 있으며, 이는 Google보다 273% 더 많은 수치임.
  • Cloudflare의 캐시 데이터가 사용자와 가까운 곳에 저장되므로 이를 익명 해제 공격에 악용할 수 있을지에 대한 아이디어를 얻음.

Cloudflare Teleport

  • Cloudflare 데이터 센터에 직접 HTTP 요청을 보낼 수 없지만, Cloudflare Workers를 사용하여 특정 데이터 센터로 요청을 보낼 수 있는 방법을 발견함.
  • Cloudflare Teleport는 Cloudflare Workers를 통해 특정 데이터 센터로 HTTP 요청을 리디렉션하는 프록시 도구임.
  • 이 도구는 이후 Cloudflare에 의해 패치되었지만, 초기 테스트에 사용됨.

첫 번째 익명 해제 공격

  • Cloudflare Teleport 도구를 사용하여 이론을 확인하고, 간단한 CLI 프로그램을 통해 특정 URL로 HTTP GET 요청을 보내고 리소스 캐시 및 나이를 나열함.
  • Namecheap의 favicon을 사용하여 테스트를 수행하고, 이론을 확인함.

실전 적용: Signal

  • Signal은 기자와 활동가들이 많이 사용하는 오픈 소스 암호화 메시징 서비스임.
  • Signal의 첨부 파일 URL은 Cloudflare 캐싱이 설정되어 있어, 캐시 지리적 위치 방법을 사용하여 수신자의 위치를 추적할 수 있음.
  • 푸시 알림을 통해 0-클릭 공격이 가능하며, 사용자가 대화를 열지 않아도 첨부 파일이 자동으로 다운로드됨.

실전 적용: Discord

  • Discord는 게이머를 대상으로 한 무료 앱으로, 최근 정부 유출 및 사이버 범죄와 관련하여 주목받고 있음.
  • Discord의 사용자 아바타 URL은 Cloudflare 캐싱이 설정되어 있어, 푸시 알림을 통해 0-클릭 공격이 가능함.
  • GeoGuesser라는 Discord 봇을 사용하여 자동화된 공격을 수행하고 결과를 Discord에서 직접 확인할 수 있음.

버그 바운티 보고서

  • Signal과 Discord에 연구 결과를 보고했으나, 대부분 실망스러운 반응을 받음.
  • Cloudflare는 데이터 센터 간 이동을 가능하게 했던 버그를 패치했으나, 근본적인 문제는 해결되지 않음.

자신을 보호하는 방법

  • 이 공격은 특히 기자, 활동가, 프라이버시를 중시하는 개인에게 큰 위험이 될 수 있음.
  • CDN을 사용하는 모든 앱은 적절한 예방 조치를 취하지 않으면 여전히 취약할 수 있음.

최종 생각

  • CDN은 성능과 확장성을 향상시키지만, 새로운 방식으로 악용될 수 있는 위험도 함께 도입함.
  • 민감한 역할을 맡고 있거나 프라이버시를 중시하는 사용자는 정보에 밝고 경계해야 함.
Hacker News 의견
  • Signal 사용자가 사진을 전송하면 Cloudflare를 통해 데이터 센터에 캐시됨. 사용자의 위치를 추적하는 것은 과장된 표현이며, 사용자가 외딴 곳에 있지 않는 한 익명성을 해치는 것은 아님. 그러나 흥미로운 분석임

    • Signal의 자동 첨부 파일 수신 기능은 사생활 보호를 위해 비활성화 옵션이 필요하다고 생각함
    • Signal은 사용 편의성과 사생활 보호의 균형을 맞추려는 접근 방식을 취하고 있음. 보안에 민감한 사용자는 VPN 및 프록시 사용을 권장함
    • 캐싱은 계속될 것이며, Cloudflare의 대응이 최선의 방법 중 하나임. 민감한 정보의 캐싱은 권장되지 않음
  • Signal이나 Discord는 익명성을 제공하지 않음. 메시지를 읽지 못한다고 주장하지만, 완벽하지 않음

    • 미디어 자동 로딩은 사용자 편의를 위한 선택이며, 익명성 공격의 일환으로 사용될 수 있음
    • 익명성을 유지하려면 Discord나 Signal을 사용하지 않는 것이 좋음
  • 일부 사용자는 이 기술이 익명성을 해친다고 생각함. 반복적인 공격으로 사용자의 이동 경로를 추적할 수 있음

  • 250마일 내의 위치 추적은 익명성을 해치는 것이 아님. 추가적인 OSINT가 필요함

  • 이 공격은 법 집행 기관이나 악의적인 행위자가 사용자의 위치를 파악하는 데 사용할 수 있음

  • Signal이 URL 캐싱을 활성화한 이유에 의문을 가짐. 캐싱을 비활성화하면 문제를 해결할 수 있을 것임

  • 인터넷의 기본적인 작동 방식이며, 익명화 프록시가 필요한 이유임. 대다수 사용자에게는 큰 위협이 아님

  • 이 공격은 코드 실행이 없는 비전통적인 공격임. Cloudflare 데이터 센터를 통해 사용자의 대략적인 위치를 파악할 수 있음