NetCatTest

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.

Por Daniel Felipe 6 min leitura

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.

Escrito por

Daniel Felipe é criador do NetCatTest e produz conteúdos sobre cibersegurança, privacidade digital, OSINT, laboratórios autorizados e ferramentas para estudo técnico responsável.

Compartilhar

Enviar este artigo