누구나 당신의 휴대폰에 있는 모든 앱을 안다면
(peabee.substack.com)- 몇 년 전까지만 해도 안드로이드 앱은 사용자의 허락 없이 설치된 모든 앱 목록을 확인할 수 있었음
- Android 11(2022년부터 적용)부터 Google은 앱 개발자에게 설치된 앱 목록 접근 권한을 제한하는
패키지 가시성 정책
을 도입함 - 예외적으로 파일 관리자, 브라우저, 백신 앱 같은 특정 기능이 핵심인 앱은
QUERY_ALL_PACKAGES
권한을 요청해 전체 앱 목록 확인 가능함 - 개발자는 AndroidManifest.xml에 자신이 확인하고자 하는 앱 목록을 명시해야 함
인도 앱들이 설치된 앱 목록을 사용하는 방식
- 글 작성자는 보조 안드로이드 폰에 다양한 인도 앱을 설치하고 AndroidManifest.xml 파일을 분석함
- 대부분의 앱은 UPI 결제 앱 등 기능 수행을 위한 합리적인 앱만 확인하고 있음
- 그러나 일부 앱은 매우 많은 앱을 명시하여 과도하게 정보를 수집하고 있음
Swiggy의 앱 조회 목록
- Swiggy는 무려 154개의 앱 패키지명을 명시함
- Xbox, Playstation, Naukri, Upstox 등 음식 배달과 관련 없는 앱까지 포함됨
- 이는 고객의 행동 데이터를 기반으로 한 사용자 프로파일링 목적 가능성이 큼
- Google의 정책에 따르면 설치된 앱 목록은 민감한 개인 데이터로 분류됨
Zepto의 앱 조회 목록
- Zepto는 Swiggy보다 더 많은 165개 앱을 명시함
- Netflix, Bumble, Binance 등 거의 모든 카테고리의 인기 앱을 포함
- Zepto는 iOS와 Android 사용자에게 다른 가격을 보여주는 것으로 알려져 있음
- 이 정보를 통해 안드로이드 기기 사용자 간에도 차등 가격을 보여줄 수 있음
라이더용 앱의 앱 조회
- Swiggy, Zepto의 배달 라이더용 앱도 별도의 앱 목록을 조회함
- Zepto는 경쟁사 라이더 앱을 확인하는 정도
- Swiggy는 여기서 더 나아가 개인 금융 앱, 대출 앱, 심지어 Ludo King 같은 게임 앱까지 조회함
- 배달 라이더의 여가 활동까지 감시하는 수준의 정보 수집
대출 앱의 과도한 앱 조회
- Kreditbee (5천만+ 다운로드): 860개 앱 확인
- Moneyview (5천만+ 다운로드): 944개 앱 확인 (전체 목록은 GitHub 링크 참고)
- 달력, 점성술, 신앙 앱, 결혼 중개 앱, 농업 앱 등 생활 전반의 앱을 포함함
- Google의
QUERY_ALL_PACKAGES
금지 정책을 우회하기 위해 일일이 앱을 나열하는 방식 사용
Cred의 예외적 권한 사용
- Cred는 유일하게
QUERY_ALL_PACKAGES
권한을 사용함 - Google은 금융 거래 기능이 핵심일 경우 일시적으로 허용함
- 그러나 동일한 금융 앱인 PhonePe, Paytm 등은 이 권한을 사용하지 않음
- Cred는 대출 서비스도 제공 중이므로 정책 위반 가능성 있음
"ACTION_MAIN" 필터를 이용한 우회 방법
- 일부 앱은
ACTION_MAIN
인텐트 필터를 사용해 모든 UI 앱을 식별 가능함 - 이 방식은
QUERY_ALL_PACKAGES
권한 없이 설치된 앱 목록을 우회적으로 확인할 수 있음 - 테스트용 앱을 만들어 실험한 결과, 이 방식으로 모든 앱 목록을 가져올 수 있었음
- Play Store는 이를 막아야 하지만 현실적으로는 검열이 느슨함
필터를 사용하는 앱 목록
-
설치된 앱을 확인하는 필터 사용 앱:
- Astrotalk, Axis Mobile, Bajaj Finserv, BookMyShow, Cars24, Cure.fit, Fibe, Groww, Housing, Instamart, Ixigo, JioHotstar, KreditBee, KukuTV, LazyPay, Ludo King, Meesho, MoneyTap, Moneyview, Navi, NoBroker, Nykaa, Ola, PhonePe, PhysicsWallah, Slice, Spinny, Swiggy, Swiggy Delivery, Tata Neu, Zomato
-
필터를 사용하지 않는 앱:
- Airtel Thanks, Blinkit, Byju’s, MyGate, Dream11, Flipkart, HDFC Mobile, Healthify, INDmoney, MyJio, Paytm, PaisaBazaar, ShareChat, Unacademy, Vedantu, Zepto
-
Swiggy는 필터와 직접 명시를 모두 사용함 (데이터 수집 방식이 오히려 더 투명함)
글로벌 앱도 필터 사용 여부 다양
- 필터 사용함: Facebook, Instagram, Snapchat, Subway Surfers, Truecaller
- 필터 사용 안 함: Amazon, Spotify, X(Twitter), Discord, WhatsApp
앱 설치 데이터가 얼마나 민감한 정보인가
- 2022년 Vice는 생리 주기 앱 설치 정보를 미국 데이터 브로커가 거래하는 사례를 보도함
- 이처럼 설치된 앱 목록은 개인 신념, 건강, 재정 상태 등 민감한 정보를 드러낼 수 있음
Zepto의 SMS 권한 활용 사례
- Zepto는
READ_SMS
권한을 요구함 - Zepto Postpaid 기능 사용 시 필수이며, 실제로는 사용자가 선택하지 않아도 SMS를 읽을 수 있음
- Blinkit, Swiggy, Flipkart 등의 문자까지도 분석 대상에 포함됨
결론
- 대부분의 앱은 과도한 권한 요청 없이 정상 범위 내에서 동작함
- 그러나 일부 앱은 우회 기법과 과도한 패키지 나열을 통해 사용자 설치 앱 데이터를 수집함
- 사용자는 앱 설치 시 이러한 정보가 쉽게 노출될 수 있음을 인지해야 함
- 이 정보는 결국 데이터 브로커를 통해 판매되고, 향후 가격 차별이나 광고 타겟팅에 활용될 수 있음