Zero-Day & Exploits
Apple Vision Pro: GAZEploit e vazamento pela Persona
Como GAZEploit relacionou a Persona à digitação no Vision Pro: canal lateral, correção, limites da pesquisa e laboratório de privacidade.
GAZEploit mostrou que privacidade também pode falhar naquilo que uma interface transmite visualmente. No Apple Vision Pro, a representação dos movimentos dos olhos na Persona podia fornecer pistas sobre digitação durante uma chamada. A pesquisa corresponde à CVE-2024-40865 e a uma correção histórica do visionOS, não a uma invasão demonstrada do Optic ID.
O que a Apple corrigiu
O boletim do visionOS 1.3, lançado em 29 de julho de 2024, descreve a possibilidade de inferir entradas de um teclado virtual a partir da Persona. A mitigação registrada consiste em suspender a Persona enquanto o teclado virtual está ativo. A entrada de segurança foi adicionada ao boletim em setembro daquele ano.
A pesquisa GAZEploit analisa sinais visuais apresentados ao participante de uma chamada. Não exige afirmar que um aplicativo comum acessa diretamente todas as medições brutas de eye tracking. O canal observado é a representação exposta, da qual um adversário tenta extrair informação correlacionada.
| Questão | Resposta técnica |
|---|---|
| Produto | Apple Vision Pro e Persona |
| Canal | Movimentos dos olhos representados visualmente |
| Risco | Inferência de entradas em teclado virtual |
| Correção histórica | visionOS 1.3 |
| Não demonstrado aqui | Bypass de Optic ID ou extração de senha real |
O canal lateral está no comportamento da interface
Um sistema pode proteger seus sensores e ainda revelar informação por uma saída derivada. O processo que transforma gaze em animação tenta tornar a presença virtual natural, mas preserva correlações temporais. Se olhar para uma região faz parte da seleção de teclas, a animação pode carregar pistas dessa atividade.
Esse raciocínio é diferente de quebrar criptografia. A chamada pode estar transportando dados cifrados entre participantes autorizados e continuar expondo sinais desnecessários ao interlocutor. A fronteira de privacidade precisa incluir o que o participante consegue observar legitimamente, não apenas o que um invasor de rede conseguiria interceptar.
Da imagem à hipótese de tecla
Uma reconstrução conceitual possui pelo menos quatro etapas: separar momentos de digitação, estimar o olhar, aproximar a geometria do teclado e combinar observações ao longo do tempo. Ruído, pose, resolução e calibração podem alterar o resultado. Um número de acurácia sem esclarecer a métrica e o conjunto de testes é pouco útil.
Os autores estudaram participantes e condições definidas no artigo. Resultados desse experimento não autorizam afirmar que toda senha é recuperável em qualquer chamada. Classificar a tecla mais provável, recuperar uma sequência inteira e acertar uma senha sem erros são métricas diferentes.
Para uma revisão independente, registre taxa de acerto por tecla, acerto da sequência completa, posição entre candidatos e desempenho por participante. Compare com uma linha de base que não utilize o sinal. Um modelo que acerta letras frequentes pode parecer eficaz sem capturar informação nova suficiente para uma sequência específica.
Laboratório: coordenadas fictícias e supressão de saída
O exemplo mapeia coordenadas inventadas em uma grade 3×3. Não processa vídeo, não utiliza sensores e não implementa GAZEploit. Demonstra uma relação simples entre posição e entrada, seguida de uma política de ocultação durante a digitação.
import json
def celula(x, y):
if not 0 <= x < 1 or not 0 <= y < 1:
return None
return int(y * 3) * 3 + int(x * 3) + 1
dados = [(0.1, 0.1), (0.5, 0.5), (0.9, 0.9)]
observavel = [celula(x, y) for x, y in dados]
assert observavel == [1, 5, 9]
assert celula(1, 0.5) is None
def publicar(ponto, digitando):
return None if digitando else ponto
saida_protegida = [publicar(ponto, True) for ponto in dados]
assert all(item is None for item in saida_protegida)
assert publicar(dados[0], False) == dados[0]
print(json.dumps({'dados': 'coordenadas inventadas',
'celulas': observavel,
'teclado_ativo': saida_protegida,
'reproduz_gazeploit': False},
ensure_ascii=False))
Os pontos representam três posições conhecidas e retornam as células 1, 5 e 9. Os limites rejeitam uma coordenada fora da grade. Na etapa final, a função deixa de publicar coordenadas quando digitando está ativo. Isso modela a intenção de interromper um canal durante uma atividade sensível.
Em um produto real, a transição precisa ser atômica frente ao pipeline de vídeo. Frames já enfileirados, atrasos de renderização e eventos de encerramento do teclado merecem teste. Esconder a imagem apenas no preview local não resolve se a saída transmitida continuar contendo o movimento. O efeito correto deve ser verificado no ponto de consumo remoto.
Um plano de avaliação de privacidade espacial
Monte uma sessão com participantes autorizados e conteúdo inteiramente fictício. Registre software, configuração da Persona e forma de compartilhamento. Compare períodos sem teclado, teclado aberto, digitação e fechamento. A coleta deve respeitar limites definidos para imagem e retenção, porque rostos e movimentos podem ser dados pessoais.
| Cenário | Observação desejada | Falha possível |
|---|---|---|
| Teclado abre | Saída sensível suspensa | Um frame inicial ainda é transmitido |
| Digitação continua | Política permanece aplicada | Reconexão restaura a saída antiga |
| Teclado fecha | Retomada controlada | Buffer atrasado revela atividade anterior |
| Aplicativo troca | Estado consistente | Política depende só de uma tela |
Não é necessário recuperar a senha de ninguém para avaliar a política. Um marcador fictício permite verificar se o sinal derivado aparece quando deveria estar suprimido. A qualidade do teste depende da observação no destino e de uma linha do tempo suficientemente precisa.
Recomendações para desenvolvedores
A Apple documenta práticas de privacidade para visionOS. Uma revisão de produto deve inventariar cada saída derivada: animações, cursores, seleção visual, áudio e eventos de acessibilidade. Permissões do sensor e autorização da saída precisam ser decisões explícitas.
Aplicar redução de precisão pode diminuir a informação, mas exige comprovação. Adicionar atraso também pode preservar a sequência e apenas deslocá-la no tempo. Para uma interação sensível, suspender a saída relevante pode ser uma estratégia mais verificável que confiar em um ruído não medido.
Também avalie composição. Um sinal fraco combinado com layout conhecido, contexto de texto e duração de fixação pode se tornar mais informativo. Os princípios de privacidade de interface ajudam a ligar controle técnico e expectativa do usuário: a pessoa precisa compreender quando sua representação está sendo compartilhada.
Perguntas frequentes
GAZEploit revela dados do Optic ID? Não é essa a conclusão da pesquisa citada. Inferir digitação a partir de uma representação visual e comprometer autenticação biométrica são problemas distintos.
Qual versão instalar hoje? Use a atualização compatível atualmente disponibilizada pelo fabricante. visionOS 1.3 é o marco histórico de correção da CVE, não uma indicação de permanecer nessa versão.
Uma chamada cifrada elimina o risco? Não se o interlocutor autorizado recebe a saída que contém a informação. Criptografia de transporte não decide quais sinais devem ser compartilhados.
O caso reforça uma exigência para interfaces espaciais: proteger o sensor é necessário, mas a segurança também depende do que cada transformação revela ao mundo externo.