캔디 크러시, 틴더, 마이피트니스팔: 위치 추적에 악용된 앱들
(wired.com)- Gravy Analytics 해킹 파일에서 수천 개 앱 이름과 위치 데이터가 드러나며, 인기 앱이 개발자 SDK가 아닌 광고 생태계를 통해 민감한 위치 수집에 이용됐을 가능성이 커짐
- 핵심 경로로 지목된 것은 실시간 광고 입찰인 RTB bid stream이며, 광고를 실제로 집행하지 않아도 연결 업체가 기기 위치와 IP 기반 위치를 수집할 수 있음
- 목록에는 Candy Crush, Tinder, Grindr, MyFitnessPal, Flightradar24, Tumblr, Microsoft 365, Yahoo Mail뿐 아니라 임신·생리 추적 앱, 종교 앱, VPN 앱도 포함됨
- Gravy는 위치 데이터를 상업 고객에게 판매하고 자회사 Venntel을 통해 미국 정부기관에도 제공해 왔으며, Venntel 데이터는 Locate X 같은 정부 구매 감시 도구에도 쓰인 바 있음
- 앱 개발사가 직접 위치 수집 코드를 넣지 않아도 광고 입찰 과정에서 데이터가 빠져나갈 수 있어, 사용자 보호의 초점이 앱 자체에서 광고 기술 공급망으로 넓어짐
Gravy 해킹 파일이 드러낸 위치 데이터 공급망
- 해킹 파일에는 Android와 iOS 앱 수천 개가 포함됐고, 일부 파일은 각 위치 데이터 옆에 앱 이름을 함께 기록함
- 데이터에는 미국, 러시아, 유럽 내 모바일 기기의 수천만 개 좌표가 들어 있음
- 수집 경로가 앱 제작자가 넣은 코드가 아니라 광고 생태계로 보이기 때문에, 사용자뿐 아니라 앱 개발자도 해당 수집을 몰랐을 수 있음
- 일부 위치 데이터에는 타임스탬프가 없지만, 목록에 2024년 5월 출시된 Call of Duty: Mobile Season 5가 포함돼 2024년 데이터라는 단서가 남아 있음
- Gravy가 직접 데이터를 모았는지, 다른 회사에서 조달했는지, 최종적으로 어느 위치 데이터 회사가 소유하거나 라이선스했는지는 명확하지 않음
포함된 앱과 공개 목록
- 404 Media는 해킹 파일에서 앱 이름을 추출해 목록을 만들었고, 전체 목록을 Google Sheets로 공개함
- 앱 목록은 게임, 데이팅, 건강, 교통, 업무, 종교, VPN 등 여러 범주에 걸쳐 있음
- 게임: Candy Crush, Temple Run, Subway Surfers, Harry Potter: Puzzles & Spells
- 데이팅 앱: Tinder, Grindr
- 건강·생활 앱: MyFitnessPal, My Period Calendar & Tracker
- 교통·항공 앱: Moovit, Flightradar24
- 소셜·업무 앱: Tumblr, Yahoo Mail, Microsoft 365
- 민감 범주 앱: 임신 추적 앱, 무슬림 기도 앱, 기독교 성경 앱, 여러 VPN 앱
- Android와 iOS 앱이 모두 포함됐고, 이름이 조금 다른 중복 앱도 사용자가 설치 앱을 검색하기 쉽도록 유지됨
- 여러 보안 연구자도 크기가 다른 앱 목록을 별도로 공개함
RTB가 핵심 경로로 지목된 이유
- Silent Push의 Zach Edwards는 Gravy 데이터가 앱 내장 코드가 아니라 온라인 광고 입찰 스트림에서 조달됐다는 공개 증거로 보인다고 평가함
- 과거 위치 데이터 회사는 앱 개발자에게 비용을 내고 위치 수집 코드 묶음을 앱에 넣게 했지만, 현재는 앱 안 광고 입찰 과정에서 위치 정보를 가져오는 방식도 쓰임
- 실시간 입찰에서는 회사들이 앱 안 광고 지면을 사기 위해 입찰하고, 데이터 브로커가 그 과정을 엿보며 모바일 기기 위치를 수집할 수 있음
- 감시 업체는 광고 기술 회사를 인수하거나 잠재 광고주처럼 행동해 RTB 데이터에 접근할 수 있음
- 광고를 실제로 낙찰받거나 표시할 필요는 없음
- 광고 산업에 연결되는 것만으로 기기 데이터를 수집할 수 있음
- 이 경우 위치 데이터에 사용자 IP 주소가 포함될 수 있고, IP를 지리 위치로 변환해 대략적 위치를 얻을 수 있음
연구자들이 본 기술적 단서
- Adalytics 창업자 Krzysztof Franaszek은 일부 데이터가 광고 관련 RTB에서 조달됐을 가능성이 크다고 평가함
- 일부 파일의 user-agent에는
afma-sdk문자열이 있었고, 이는 Google Mobile Ads SDK에서 쓰이는 문자열임 - 이 단서는 일부 사례에서 Google 광고 플랫폼이 광고를 전달했고, 그 광고 흐름이 외부 회사나 잠재적 정부 계약자의 추적으로 이어졌을 가능성을 보여줌
- Franaszek은 데이터의 상당량이 GNSS/GPS가 아니라 IP 주소 기반 지리 위치 조회로 추론된 것으로 봄
- Edwards는 앱 종류가 매우 다양하다는 점이 SDK 기반 수집보다 대량 RTB 수집에서 보이는 패턴에 가깝다고 판단함
- Google과 Apple은 여러 차례의 논평 요청에 응답하지 않음
Gravy, Venntel, 정부 감시 도구의 연결
- Gravy는 여러 출처의 모바일 위치 데이터를 모아 상업 회사에 판매하는 회사임
- 자회사 Venntel을 통해 미국 정부기관에도 위치 데이터를 판매해 왔음
- Venntel 고객에는 Immigration and Customs Enforcement, Customs and Border Protection, IRS, FBI, Drug Enforcement Administration이 포함된 바 있음
- Venntel은 Babel Street의 정부 구매 감시 도구 Locate X에 기반 데이터를 제공함
- 404 Media와 다른 매체들은 Locate X가 주 밖 낙태 클리닉 방문자를 모니터링하는 데 쓰일 수 있음을 전년에 보임
앱 회사들의 반응
- Flightradar24는 Gravy를 들어본 적이 없지만 광고를 표시하며, 광고가 Flightradar24를 무료로 유지하는 데 도움이 된다고 답함
- Tinder는 Gravy Analytics와 관계가 없고 해당 데이터가 Tinder 앱에서 얻어졌다는 증거가 없다고 답했지만, 앱 안 광고에 대한 질문에는 답하지 않음
- Muslim Pro는 Gravy를 알지 못하며 무료 버전 지원을 위해 여러 광고 네트워크를 통해 광고를 표시하지만, 해당 네트워크가 사용자 위치 데이터를 수집하도록 허가하지 않는다고 답함
- Grindr는 Gravy Analytics와 일한 적도 데이터를 제공한 적도 없으며, 데이터 집계업체나 브로커와 데이터를 공유하지 않고 여러 해 동안 광고 파트너와 위치 정보를 공유하지 않았다고 답함
- 대부분의 앱 개발사와 회사는 논평 요청에 응답하지 않음
규제와 데이터 검증
- 2024년 12월 FTC는 Mobilewalla가 온라인 광고 경매에서 소비자 데이터를 수집해 경매 참여 외 목적으로 쓰는 것을 금지함
- FTC는 Venntel과 Gravy가 사용자 동의 없이 데이터를 수집했다고 밝혔고, 과거 위치 데이터 삭제를 명령함
- 건강 클리닉과 예배 장소 같은 민감 지역 관련 데이터 판매도 금지됐으며, 국가안보나 법 집행과 관련한 제한적 예외는 남아 있음
- 404 Media는 해킹된 Gravy 데이터를 여러 방식으로 검증함
- 일부 파일에는 데이터 웨어하우징 도구인 Snowflake의 Gravy 인스턴스 자격 증명이 포함됨
- 해킹 파일의 URL이 실제 Snowflake 인스턴스와 대응하는지 확인함
users파일에는 회사 목록이 있었고, 일부 회사는 Gravy와 관계를 부인함
- Cuebiq은 시장 데이터 평가를 정기적으로 하지만 해당 사례는 제한된 데이터 샘플 테스트였고, 고객에게 제공되지 않았으며 시험 종료 뒤 삭제됐다고 답함
- Datonics는 파일 속 segment ID가 Datonics가 아니라 Gravy의 것이라고 답함
- 2023년 Gravy와 합병한 Unacast는 해킹과 RTB 기반 위치 데이터 파생 여부에 대한 여러 논평 요청에 응답하지 않음
댓글과 토론
Hacker News 의견들
-
앱 하단의 작은 배너 광고가 보일 때마다, 그 광고 지면을 두고 즉석 경매가 일어남
Google이 입찰자들에게 정보를 넘기면, 입찰자들은 그 광고를 보여주기 위해 얼마를 낼지 계산함
즉 경매에서 진 쪽도 데이터 폭포를 받게 되고, 애초에 경매에서 지면서 데이터를 수집하는 목적의 회사들이 존재함
그러니 CIA의 비공개가 아닌 투자 부문인 In-Q-Tel이 이런 분석, 즉 디지털 감시 회사들에 투자했다는 것도 놀랍지 않음- 이 링크는 경매에서 이기지 않아도 데이터를 받는다고 명확히 말함
https://www.ftc.gov/news-events/news/press-releases/2024/12/...
Mobilewalla가 실시간 광고 입찰 거래소에서 고객의 광고 지면에 입찰할 때, 낙찰되지 않았어도 입찰 요청의 정보를 부당하게 수집·보관했다는 FTC 고소 내용임
2018년 1월부터 2020년 6월까지 5억 개 이상의 고유 소비자 광고 식별자와 정밀 위치 데이터를 함께 수집했고, 원시 위치 데이터는 익명화되지 않았으며 민감한 위치 제거 정책도 없어서 개인 기기와 방문 장소를 식별할 수 있었음
이 원시 데이터 접근권을 광고주, 데이터 브로커, 분석 회사 등 제3자에게 팔았다고 함 - 광고 고객이 데이터를 보는 건 아니고, 소수의 거래소가 봄
헤더 입찰에 참여하면 인기 모바일 웹사이트를 운영할 때 볼 수 있는 것과 비슷한 데이터를 얻게 됨
In-Q-Tel이 거래소 같은 좋은 차익거래 사업에 투자하는 건 놀랍지 않고, 좋은 투자자들이 좋은 투자를 하는 것일 뿐 냉소적인 감시 전략으로 보이진 않음 - “경매에서 지는 게 목적이지만 데이터를 수집하는 회사들”은 Google 약관 위반임
하지만 Google은 이를 단속하지 않는데, 명시적으로 사용자 데이터를 파는 것 없이 사용자 데이터를 파는 방식이기 때문임 - 그런 데이터 폭포는 어디서 신청할 수 있는지 궁금함
순진하게는 Google이 이런 입찰을 내부에서 처리한다고 생각했음 - 이게 유럽에서 합법인지, 흔한 관행인지 궁금함
- 이 링크는 경매에서 이기지 않아도 데이터를 받는다고 명확히 말함
-
기사에서 다루지 않은 부분은 위치가 어떻게 수집되는지임
IP 지리 위치를 위치 데이터 수집이라고 부르기는 조금 무리인데, 보통 직접 지리 위치를 구하는 것보다 정확하지 않아서 브로커에게서 받을 필요가 없음
그런데 Android에서는 ACCESS_COARSE_LOCATION과 ACCESS_FINE_LOCATION 모두 권한 대화상자가 필요하니, 정확히 어떻게 작동하는지 궁금함- 적어도 일부, 어쩌면 대다수는 광고 입찰 과정에 쓰인 IP 주소에서 유도된 것 같음
“이 지리 위치 데이터셋의 상당 부분은 IP 주소를 지리 위치로 조회해 추론된 것으로 보인다. 즉 공급업체나 그 출처가 GNSS/GPS 데이터가 아니라 사용자의 IP 주소를 확인해 지리 위치를 도출한다는 뜻이다. 이는 데이터가 전적으로 위치 데이터 SDK에서 나온 것은 아니라는 점을 시사한다”는 내용이 있음 - 게임이 사용하는 모든 IP를 추적하고 그걸로 위치 추적을 시도하는 걸 문제 삼는 게 과장이라고 보긴 어려움
게임은 내 위치를 전혀 추적하려고 하면 안 되고, 기술적으로 정확도가 낮다는 이유로 면죄부를 받아선 안 됨 - 이런 광고 지면은 Google Android의 기본 시스템 앱인 GMS 서비스를 사용하고, 이 앱은 기기에서 위치를 포함해 거의 모든 접근 권한을 갖고 있음
https://developers.google.com/android/reference/com/google/a... - Tinder는 위치 기반 서비스라서 아마 그걸 통해 수집할 가능성이 큼
다른 앱들은 잘 모르겠음
- 적어도 일부, 어쩌면 대다수는 광고 입찰 과정에 쓰인 IP 주소에서 유도된 것 같음
-
comm -12 <(cat gravy_app_list\ -\ count.csv| uvx --from csvkit csvcut -c 2 | rg '\.' | sort) <(adb shell pm list packages -3 | cut -f 2 -d ":" | sort)
CSV는 https://docs.google.com/spreadsheets/d/1Ukgd0gIWd9gpV6bOx2pc...에서 받아서 휴대폰 앱 중 일치 항목이 있는지 확인할 수 있음
내 목록을 보니 두 가지가 궁금함: PodcastAddict 대체 앱은 무엇이 좋은지, 유료 버전에서는 화면 광고 표시뿐 아니라 모든 광고 트래픽이 멈추는지, 그리고 MS Outlook이 애초에 어떻게 이 목록에 들어갔는지- AntennaPod
- 이 목록은 수상함
PodcastAddict는 위치 권한조차 요청하지 않음[1]
그러면 어떻게 위치에 접근할 수 있겠나? 기사를 자세히 읽으면 위치가 Gravy 앱에서 나온 게 아닐 수도 있다고 단서를 달아둠
잘해봐야 IP 위치를 얻는 정도이고, 그건 어차피 방문하는 모든 웹사이트에 내보내는 정보임
“이 데이터셋은 Gravy의 해킹에서 나온 것으로 보이지만, Gravy가 이 위치 데이터를 직접 수집했는지, 다른 회사에서 가져왔는지, 어느 위치 데이터 회사가 궁극적으로 소유하거나 사용 허가를 받았는지는 불분명하다”는 내용이 있음
[1] https://play.google.com/store/apps/details?id=com.bambuna.po... - Podcast Addict 개발자에게 기사와 함께 물어봤고, 답변은 그대로 이랬음
“안녕하세요, 무슨 이메일인지 이해가 안 됩니다. 당연히 모든 팟캐스트 앱은 스트리밍을 위해 제3자 콘텐츠에 연결하므로, 팟캐스터들이 쓰는 호스팅 플랫폼, 추적 서비스, 광고 서비스는 사용자의 IP 주소에 접근할 수 있습니다.
팟캐스트 앱이 IP 주소를 유출한다고 말하는 건 웹브라우저가 그렇다고 말하는 것만큼 어리석습니다. 제3자 콘텐츠에 연결하는 도구일 뿐이고, VPN을 쓰지 않는 한 연결한 서버는 항상 IP 주소에 접근할 수 있습니다.
앱은 사용자의 위치를 갖고 있지 않습니다. 보시다시피 위치 권한을 요청하지 않으므로 앱에는 공유할 위치 정보가 없습니다. 다만 연결하는 어떤 서버에도 IP는 당연히 공개됩니다.
Xavier” - DNS 수준에서 광고 서버를 차단하는 편이 더 쉬움
설정이 가능해서 NextDNS [1]를 쓰고 있고, AdGuard [2] DNS도 아마 잘 동작할 것임 - 의존성을 줄인 방법은
grep -f gravy_app_list\ -\ count.csv <(adb shell pm list packages -3 | cut -d":" -f2)임
-
광고는 모든 생태계를 감염시키는 바이러스임
- 바이러스에는 아직 풀리지 않은 수수께끼가 많고, 우리가 생각하는 것보다 작동하는 생태계에 더 중요할 수도 있으며, 바이러스만 할 수 있는 유용한 요령도 있음
이건 오히려 납 중독에 더 가까움 - 광고는 해로운 것들을 퍼뜨리기 위한 이상적인 전파 매개체에 가까움
본질적으로 잘못된 건 없지만, 악한 일을 하는 사람들이 너무 좋아함
- 바이러스에는 아직 풀리지 않은 수수께끼가 많고, 우리가 생각하는 것보다 작동하는 생태계에 더 중요할 수도 있으며, 바이러스만 할 수 있는 유용한 요령도 있음
-
관련 글: FTC가 위치 데이터를 판매한 Gravy Analytics와 Venntel에 조치함, 194점·댓글 158개
https://news.ycombinator.com/item?id=42309429 -
https://web.archive.org/web/20250109211053/https://www.wired...
https://archive.ph/Danyk -
이 앱들이 위치 데이터 허용 여부에 대한 운영체제 권한을 우회할 수 있다는 뜻으로 이해하면 맞는지 궁금함
- iOS에서 앱들이 백그라운드 앱 새로고침을 악용하는 건 아닌지 궁금함
이해하기로는 주기적으로 네트워크 요청을 보내는 백그라운드 작업을 만드는 게 어렵지 않음
백그라운드 작업이 어떤 고유 식별자를 포함해 광고 네트워크 서버로 HTTP 요청을 보내고, 서버가 IP 지리 위치를 처리하면 됨
많은 모바일 네트워크에서는 정확도가 높지 않겠지만, 일부 ISP는 IP가 동네 단위까지 세분화되어 있어서 Wi-Fi에서는 꽤 세밀해질 수 있음
이 가능성을 예상해 거의 모든 앱의 백그라운드 앱 새로고침을 꺼뒀고, 앱 경험 저하는 없었음
iOS에서 추적기 IP 요청을 막기 위해 기기 내 더미 VPN을 만드는 1Blocker를 쓰면서, 백그라운드 앱 새로고침을 끄자 차단된 요청 수가 크게 줄어든 걸 봤음
일부는 Sentry 같은 무해한 진단이었지만, 대다수는 그렇지 않았음
iOS 개발에 익숙한 사람이 백그라운드 작업의 실행 제한을 고려했을 때 이게 실제로 가능한지 설명해주면 좋겠음 - “이 지리 위치 데이터셋의 상당 부분은 IP 주소를 지리 위치로 조회해 추론된 것으로 보인다. 즉 공급업체나 그 출처가 GNSS/GPS 데이터가 아니라 사용자의 IP 주소를 확인해 지리 위치를 도출한다는 뜻이다. 이는 데이터가 전적으로 위치 데이터 SDK에서 나온 것은 아니라는 점을 시사한다”는 내용임
아마 권한이 켜져 있으면 위치를 쓰고, 아니면 IP 지리 위치로 대체할 가능성이 큼
실시간 입찰은 사생활 보호 측면에서 악몽이고, 사용자의 행동을 실시간으로 모든 광고 제공자에게 뿌리면서 “악용하지 않겠다”는 새끼손가락 약속에 기대는 구조임 - 아님
정밀 위치 데이터가 있는 곳에서는 사용자가 권한을 허용한 것임
Candy Crush가 왜 정밀 위치를 요구해야 하는지는 모르겠지만, CC가 그런 권한을 요청하지는 않는다고 꽤 확신함
- iOS에서 앱들이 백그라운드 앱 새로고침을 악용하는 건 아닌지 궁금함
-
개인적으로 Tinder가 정부의 철퇴를 맞기를 기다리고 있음
여러 데이팅 앱을 합친 뒤 가진 독점력은 정말 말도 안 됨
인터넷의 부상으로 생긴 사회적 외부효과를 두고 다들 불평하지만, 장기적으로 한 국가의 성공에 이보다 더 중요한 변수는 몇 안 된다고 보기 어려움- Tinder에서 정확히 뭐가 문제인지 궁금함
써본 적은 없지만 대충 섹스용 Facebook 같은 걸로 생각하고 있음
Meta의 서비스들보다 더 나쁜가?
- Tinder에서 정확히 뭐가 문제인지 궁금함