Loupe - 네이티브 iOS 앱이 볼 수 있는 기기 핑거프린팅 표면을 보여주는 iOS 앱
(github.com/mysk-research)- Loupe는 공개 iOS API에서 실제 값을 읽어 원시 형태로 보여주는 iOS·iPadOS 앱이며, 서드파티 앱이 호출할 수 있는 API를 통해 기기가 노출하는 값을 직접 확인하게 함
- 이름, 이메일, 위치 없이도 여러 읽기 값이 함께 모여 앱과 웹사이트를 가로질러 사용자를 다시 인식하는 핑거프린트를 형성할 수 있음
- 읽기 값은 접근 비용에 따라 세 단계로 묶임
- Passive: 프롬프트 없이 모든 앱에 보이는 locale, time zone, screen, battery 등
- Needs Permission: contacts, photos, location, calendars처럼 iOS 프롬프트를 트리거하는 값
- Advanced:
canOpenURL을 통한 URL-scheme probing, 재설치 후에도 남는 Keychain persistence 같은 공개 API의 사이드채널 사용
- Loupe가 읽는 값은 명시적으로 내보내지 않는 한 기기를 떠나지 않으며, 집계나 해싱 없이 원시 값으로 표시되고 업로드·동기화·공유되지 않음
- 빌드에는 Xcode 26 이상이 필요하며,
code/Loupe.xcodeproj를 열고Signing.local.xcconfig에DEVELOPMENT_TEAM과 bundle identifier를 채운 뒤 기기나 시뮬레이터에서 빌드·실행함 - Xcode의 buildable folders를 사용해 새 Swift 파일이 프로젝트 파일 수정 없이 자동으로 반영되며, macOS용으로도 빌드되지만 Mac 버전은 polished 상태가 되기 전 몇 가지 작업이 더 필요함
- Loupe는 무료 오픈소스이며, source code는 MIT License로 배포되지만 Loupe 이름·로고·앱 아이콘·이미지·아이콘·디자인 소스 파일은 MIT License 적용 대상이 아님
댓글과 토론
Hacker News 의견들
-
앱의 인터넷 접근이 왜 기본 차단 후 선택 허용이 아닌지 이해가 안 감
데이터 유출을 막으면 이런 피해 대부분을 줄일 수 있고, 애초에 많은 앱은 인터넷에 접속할 필요가 없음
혈압을 읽으려고 왜 GE 계정을 만들어야 하는지 모르겠고, 적어도 그건 나를 이용한다는 걸 알 수라도 있는데, 이건 명백히 남용임- 앱의 99%가 인터넷 접근을 요구하고, 허용하지 않으면 동작하지 않게 만들어 사용자가 무감각하게 허용하게 될 것임
대부분의 앱에는 인터넷 접근이 필요한 정당한 이유도 있어서, 단순한 예/아니오 권한만으로는 큰 효과가 없다고 봄 - 차라리 Little Snitch 같은 도구가 운영체제에 내장되어야 함
모든 네트워크 요청, 대상 도메인, 전송 데이터에 대한 상세 로그를 보여주면 좋겠음 - 중국 본토에서 구매한 iPhone, 즉 모델 번호가 CH/A로 끝나는 기기는 앱별 인터넷 접근 권한 설정을 제공함
옵션은 끄기, WLAN만, WLAN 및 셀룰러 세 가지임 [0]
[0] https://old.reddit.com/r/ios/comments/aib10i/in_china_ios_al... - AOSP에서는 네트워크가 앱의 일반 권한이라서, 적어도 Lineage에서는 Google Play services 같은 앱까지 포함해 어떤 앱이든 네트워크를 끌 수 있음
GrapheneOS는 써보지 않아 모르겠지만, Android 자체는 이를 완전히 지원하는데 대부분의 휴대폰 제조사가 왜 자기 ROM에서 이 권한을 제거하는지 모르겠음 - GrapheneOS는 앱 설치 시점에 어떤 앱이든 인터넷 접근을 제한할 수 있음
다만 이런 기능은 모든 곳에 있어야 한다는 데 동의함
- 앱의 99%가 인터넷 접근을 요구하고, 허용하지 않으면 동작하지 않게 만들어 사용자가 무감각하게 허용하게 될 것임
-
여기 일부 댓글에 대한 정정: iOS 앱은 설치된 모든 앱을 나열할 수 없음
설치 여부를 확인하거나 열려고 하는 특정 앱/스킴만 LSApplicationQueriesSchemes로 지정해 확인할 수 있음
서로 관련 없는 앱을 긴 목록으로 넣으면 Apple의 앱 심사에서 거절됨
Apple은 설치된 앱 목록이 지문 추적과 사생활 침해적 프로파일링에 쓰일 수 있어서 이런 제한을 추가했음- 그래도 앱 하나가 최대 50개 앱의 존재 여부를 요청할 수 있는 것 아닌가?
그리고 데이터 브로커나 집계 업체는 수천 개 앱에서 그런 데이터를 사들여 합친 뒤 다시 팔 수 있음 - 큰 목록일 필요는 없을 것 같음
아주 식별력이 높은 작은 목록만 있어도, 유출된 다른 데이터와 결합해 개인을 고유하게 식별할 만큼의 추가 엔트로피를 제공할 수 있음 - 앱이 내 휴대폰에 설치된 다른 앱의 존재를 알 수 있다는 사실 자체가 무섭다
그 목록을 어디서 볼 수 있나? - Apple이 막기 전에는 Facebook이 이걸 대규모로 악용했음
- 그래도 앱 하나가 최대 50개 앱의 존재 여부를 요청할 수 있는 것 아닌가?
-
“iPhone last setup or erased on ...” 정보는 정말 악질적임
사용자가 이걸 두고 실제로 뭘 할 수 있나? 운영체제가 어떻게든 이 값을 흐리게 만들어야 할 것 같음- 전반적으로 iPhone은 설치된 앱으로부터의 지문 추적 방지를 고려해 설계되지 않은 것 같음
유일한 보호책은 앱 설치를 피하고 가능하면 웹브라우저를 쓰는 것임 - 내가 너무 둔한 걸 수도 있지만, 왜 운영체제가 이런 정보를 앱에 제공하는지 모르겠음
- 위협 모델이 여러 앱을 넘나들며 사용자의 행동을 상관분석해 추적하는 것이라면, 앱 하나만 봐서는 값 흐리기가 드러나지 않을 것임
- 전반적으로 iPhone은 설치된 앱으로부터의 지문 추적 방지를 고려해 설계되지 않은 것 같음
-
볼륨 생성 날짜는 꽤 심각함
이 값과 Pasteboard changeCount가 그렇게 세밀해야 할 이유가 보이지 않음
“Installed Apps Probe” 유출도 놀라웠지만, 그래도 Android의 현재 상태보다는 나음- Graphene은 이 부분에서 훨씬 앞서 있음
- Pasteboard 카운터는 앱이 버퍼의 같은 항목에 대해 다시 묻지 않도록 돕기 위해 존재함
그리고 매일 초기화하지 못하게 막는 것도 없음
-
훌륭함
이런 걸 보니 시각적으로 인지하게 해주는 도구가 얼마나 필요한지 실감함
웹용으로 비슷한 걸 만들었음: https://neberej.github.io/exposedbydefault/
Github: https://github.com/neberej/exposedbydefault -
iPhone이 없거나 앱을 설치하고 싶지 않은 사람은 여기서 데모를 볼 수 있음
같은 영상의 다른 플랫폼 버전임
https://odysee.com/@techlore:3/permission-not-required-the-o...
https://www.youtube.com/watch?v=_n_SpEWtqog
https://inv.nadeko.net/watch?v=_n_SpEWtqog
https://techlore.tv/w/d7dh4P7y4dVngNoL7u7s3B -
특별 권한을 주지 않은 임의의 앱이 왜 이렇게 많은 정보에 접근할 수 있고, Apple은 왜 이 중요한 정보를 사용자에게 알려주지 않는지 모르겠음
Apple이 카테고리별·앱별로 허용/차단할 수 있는 긴 체크박스 목록을 만들 수는 없나?
예를 들어 아무 권한도 주지 않은 앱이 기기에 설치된 모든 앱 목록을 즉시 갖고, Tinder/Bumble/Hinge 존재만으로 데이트 중인지, 심지어 바람을 피우는지까지 추론할 수 있다는 걸 몰랐음
이것만으로도 비양심적 행위자가 “파트너가 바람피우는지 확인” 같은 서비스로 $10을 받고 확률적 답을 파는 식의 수익화가 가능해 보임- 멍청한 아이디어임
그런 “파트너가 바람피우는지 확인” 앱을 대체 어떻게 상대방 휴대폰에 설치하게 만들 건가? - 그런 앱이 피해자의 기기에 어떻게 설치되어 다른 앱들을 감지할 수 있나?
- 멍청한 아이디어임
-
Android 휴대폰에도 비슷한 것이 이미 있나?
-
오늘은 그냥 개인정보를 공유하지 않으려는 시도를 포기했음
대신 모든 광고를 차단하고, 광고 차단 없이는 쓸 수 없는 앱/웹사이트는 쓰지 않음
내가 좋아하는 아이스크림 맛 같은 세부 정보까지 그들이 많이 갖고 있을 수 있지만, 광고를 전혀 보지 않으니 크게 신경 쓰지 않음
물론 아무도 이런 정보를 갖지 않는 편이 좋겠지만, 이런 끔찍한 사회에서는 실용적으로 굴 수밖에 없음 -
그래서 앱 설치를 피하고 많이 깔아두지 않음
- 내가 소유하는 주머니 속 컴퓨터를 갖는 편이 더 낫지 않을까?