1 pontos por GN⁺ 3 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Loupe é um app para iOS e iPadOS que lê valores reais de APIs públicas do iOS e os mostra em formato bruto, permitindo verificar diretamente quais valores o dispositivo expõe por meio das APIs que apps de terceiros podem chamar
  • Mesmo sem nome, e-mail ou localização, vários valores lidos podem se combinar para formar uma fingerprint capaz de reconhecer novamente um usuário em diferentes apps e sites
  • Os valores lidos são agrupados em três níveis conforme o custo de acesso
    • Passive: locale, fuso horário, tela, bateria etc., visíveis para todos os apps sem prompt
    • Needs Permission: valores como contacts, photos, location e calendars, que disparam prompts do iOS
    • Advanced: uso de side channels de APIs públicas, como URL-scheme probing via canOpenURL e persistência no Keychain que permanece mesmo após reinstalação
  • Os valores lidos pelo Loupe não saem do dispositivo, a menos que sejam exportados explicitamente, e são exibidos como valores brutos, sem agregação nem hashing, sem upload, sincronização ou compartilhamento
  • Para compilar, é necessário Xcode 26 ou superior; abra code/Loupe.xcodeproj, preencha DEVELOPMENT_TEAM e o bundle identifier em Signing.local.xcconfig e depois compile e execute no dispositivo ou simulador
  • Ele usa buildable folders do Xcode, então novos arquivos Swift passam a ser refletidos automaticamente sem modificar o arquivo do projeto; também pode ser compilado para macOS, mas a versão para Mac ainda precisa de mais trabalho antes de ficar polished
  • Loupe é um projeto open source gratuito, e o source code é distribuído sob a MIT License, mas o nome Loupe, o logotipo, o ícone do app, imagens, ícones e arquivos-fonte de design não estão cobertos pela MIT License

1 comentários

 
GN⁺ 3 시간 전
Comentários do Hacker News
  • Não entendo por que o acesso à internet dos apps não é bloqueado por padrão e liberado só por escolha
    Se você impedir a exfiltração de dados, já reduz a maior parte desse tipo de dano, e muitos apps nem precisam acessar a internet para começo de conversa
    Não sei por que preciso criar uma conta da GE para ler minha pressão arterial; pelo menos nesse caso dá para perceber que estão me usando, mas isso aqui é claramente abuso

    • 99% dos apps vão pedir acesso à internet e deixar de funcionar se você não permitir, fazendo o usuário autorizar no automático
      Como a maioria dos apps tem algum motivo legítimo para precisar de internet, não acho que uma permissão simples de sim/não vá adiantar muito
    • Seria melhor ter uma ferramenta tipo Little Snitch embutida no sistema operacional
      Seria ótimo ver logs detalhados de todas as requisições de rede, domínios de destino e dados transmitidos
    • iPhones comprados na China continental, ou seja, com número de modelo terminando em CH/A, oferecem uma configuração de permissão de acesso à internet por app
      As opções são desligado, apenas WLAN, e WLAN e rede celular [0]
      [0] https://old.reddit.com/r/ios/comments/aib10i/in_china_ios_al...
    • No AOSP, rede é uma permissão normal de app, então pelo menos no Lineage dá para desativar a rede de qualquer app, inclusive apps como Google Play services
      Nunca usei GrapheneOS, então não sei como é lá, mas o próprio Android oferece suporte completo a isso, e não entendo por que a maioria das fabricantes remove essa permissão das suas ROMs
    • O GrapheneOS permite restringir o acesso à internet de qualquer app no momento da instalação
      Ainda assim, concordo que esse tipo de recurso deveria existir em todo lugar
  • Corrigindo alguns comentários aqui: apps de iOS não conseguem listar todos os apps instalados
    Eles só podem verificar apps/esquemas específicos que queiram checar ou abrir, declarando-os em LSApplicationQueriesSchemes
    Se você colocar uma lista grande de apps sem relação entre si, a App Review da Apple rejeita
    A Apple adicionou essa limitação porque a lista de apps instalados pode ser usada para fingerprinting e perfilamento invasivo da privacidade

    • Mas um app ainda não pode consultar a existência de até 50 apps?
      E corretores de dados ou agregadores podem comprar esses dados de milhares de apps, juntar tudo e revender
    • Acho que nem precisa ser uma lista grande
      Uma lista pequena, mas altamente distintiva, já pode fornecer entropia adicional suficiente para identificar alguém de forma única quando combinada com outros dados vazados
    • O simples fato de um app poder saber da existência de outros apps instalados no meu celular já é assustador
      Onde dá para ver essa lista?
    • Antes de a Apple bloquear isso, o Facebook abusava disso em larga escala
  • A informação “iPhone last setup or erased on ...” é realmente perversa
    O que um usuário pode fazer com isso na prática? Parece que o sistema operacional deveria ofuscar esse valor de algum jeito

    • De modo geral, o iPhone não parece ter sido projetado pensando em prevenção de fingerprinting por apps instalados
      A única proteção é evitar instalar apps e usar o navegador web sempre que possível
    • Posso estar sendo lerdo demais, mas não entendo por que o sistema operacional fornece esse tipo de informação aos apps
    • Se o modelo de ameaça for rastrear o comportamento do usuário por correlação entre vários apps, um app isolado não perceberia se esse valor fosse ofuscado
  • A data de criação do volume é bem séria
    Não vejo motivo para esse valor, nem para o changeCount do Pasteboard, serem tão granulares
    O vazamento de “Installed Apps Probe” também foi surpreendente, mas ainda assim está melhor do que a situação atual no Android

    • O Graphene está muito mais avançado nisso
    • O contador do Pasteboard existe para ajudar um app a não perguntar de novo pelo mesmo item do buffer
      E nada impede que ele seja zerado todo dia
  • Excelente
    Isso deixa bem claro como fazem falta ferramentas que tornem esse tipo de coisa visualmente perceptível
    Fiz algo parecido para a web: https://neberej.github.io/exposedbydefault/
    Github: https://github.com/neberej/exposedbydefault

  • Quem não tem iPhone ou não quer instalar o app pode ver uma demonstração aqui
    São versões da mesma apresentação em outras plataformas
    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

  • Não entendo por que um app qualquer, sem permissões especiais, consegue acessar tanta informação, nem por que a Apple não informa isso claramente ao usuário
    A Apple não poderia criar uma longa lista de caixas de seleção para permitir/bloquear por categoria e por app?
    Por exemplo, eu não fazia ideia de que um app sem nenhuma permissão já podia ter imediatamente a lista de todos os apps instalados no aparelho, e inferir, só pela presença de Tinder/Bumble/Hinge, se alguém está saindo com outras pessoas ou até traindo
    Só isso já parece suficiente para algum agente mal-intencionado monetizar cobrando US$10 por um serviço tipo “descubra se seu parceiro está te traindo” e vender uma resposta probabilística

    • Ideia idiota
      Como exatamente você faria esse app de “descubra se seu parceiro está te traindo” ser instalado no celular da outra pessoa?
    • Como esse app seria instalado no dispositivo da vítima para detectar os outros apps?
  • Já existe algo parecido para celulares Android?

  • Hoje eu simplesmente desisti de tentar não compartilhar meus dados pessoais
    Em vez disso, bloqueio toda publicidade e não uso apps/sites que não funcionam sem bloqueador de anúncios
    Eles podem até ter muitos detalhes sobre mim, como meu sabor de sorvete favorito, mas como eu não vejo anúncio nenhum, isso não me incomoda tanto
    Claro que seria melhor se ninguém tivesse esse tipo de informação, mas nesta sociedade horrorosa dá para ser apenas pragmático

  • Então eu evito instalar apps e não deixo muitos instalados

    • Não seria melhor ter um computador no bolso que eu realmente possua?