Um artigo na Science Magazine publicado em meados de janeiro descreve um método não trivial de espionar usuários de smartphones por meio de um sensor de luz ambiente. Todos os smartphones e tablets têm esse componente integrado, assim como muitos laptops e TVs. Sua tarefa principal é detectar a quantidade de luz no ambiente em que o dispositivo se encontra e alterar o brilho da tela de acordo.
Mas primeiro precisamos explicar por que um invasor usaria uma ferramenta inadequada para capturar imagens em vez da câmera do dispositivo-alvo. O motivo é que esses sensores “inadequados” geralmente estão totalmente desprotegidos. Vamos imaginar que um invasor induziu um usuário a instalar um programa malicioso em seu smartphone. O malware terá dificuldade para obter acesso a componentes muito visados, como o microfone ou a câmera. Mas e ao sensor de luz? Mamão com açúcar.
Assim, os pesquisadores provaram que esse sensor de luz ambiente pode ser usado no lugar da câmera, por exemplo, para obter um instantâneo da mão do usuário inserindo um PIN em um teclado virtual. Em teoria, ao analisar esses dados, é possível reconstituir a senha. Essa postagem explica os prós e contras em uma linguagem simples.
O sensor de luz é uma tecnologia bastante primitiva. É uma fotocélula sensível para medir o brilho da luz ambiente várias vezes por segundo. As câmeras digitais usam sensores de luz muito semelhantes (embora menores), embora contem com muitos milhões deles. A lente projeta uma imagem nessa matriz de fotocélulas, o brilho de cada elemento é medido e o resultado é uma fotografia digital. Assim, você poderia descrever um sensor de luz como a câmera digital mais primitiva que existe: sua resolução é exatamente um pixel. Como uma coisa dessas poderia capturar o que está acontecendo ao redor do dispositivo?
Os pesquisadores usaram o princípio da reciprocidade de Helmholtz, formulado em meados do século XIX. Esse princípio é amplamente usado em computação gráfica, por exemplo, simplificando bastante os cálculos. Em 2005, o princípio formou a base do método de fotografia dupla proposto. Vamos pegar uma ilustração do artigo para ajudar a explicar:
Imagine que você está fotografando objetos em uma mesa. Uma lâmpada brilha sobre os objetos, a luz refletida atinge a lente da câmera e o resultado é uma fotografia. Nada fora do comum. Na ilustração acima, a imagem à esquerda é exatamente isso, uma foto comum. Em seguida, em termos bastante simplificados, os pesquisadores começaram a alterar o brilho da lâmpada e registrar as mudanças na iluminação. Como resultado, eles coletaram informações suficientes para reconstruir a imagem à direita, tirada como se fosse do ponto de vista da lâmpada. Não há nem nunca houve câmera nessa posição, mas com base nas medições, a cena foi reconstruída com sucesso.
O mais interessante de tudo é que esse truque nem requer uma câmera. Basta um fotoresistor simples… exatamente como o de um sensor de luz ambiente. Um fotoresistor (ou “câmera de pixel único”) mede as mudanças na luz refletida dos objetos, sendo esses dados usados para construir uma fotografia deles. A qualidade da imagem será baixa e muitas medições deverão ser feitas, chegando à casa de centenas ou milhares.
Voltemos ao estudo e ao sensor de luz. Os autores do artigo usaram um tablet Samsung Galaxy View bastante grande com uma tela de 17 polegadas. Vários padrões de retângulos pretos e brancos foram exibidos na tela do tablet. Um manequim foi posicionado de frente para a tela no papel de um usuário digitando algo no teclado na tela. O sensor de luz capturou as alterações no brilho. Em várias centenas de medições como esta, uma imagem da mão do manequim foi produzida. Ou seja, os autores aplicaram o princípio da reciprocidade de Helmholtz para obter uma fotografia da mão, tirada como se fosse do ponto de vista da tela. Os pesquisadores efetivamente transformaram a tela do tablet em uma câmera de qualidade extremamente baixa.
Verdade, não é a imagem mais nítida. A imagem acima à esquerda mostra o que precisava ser capturado: em um caso, a palma aberta do manequim; no outro, como o “usuário” aparece ao tocar em algo na tela. As imagens no centro são uma “foto” reconstruída com resolução de 32×32 pixels, na qual quase nada é visível, pois há muito ruído nos dados. Mas com a ajuda de algoritmos de aprendizado de máquina, o ruído foi filtrado para produzir as imagens à direita, nas quais podemos distinguir uma posição da mão da outra. Os autores do artigo dão outros exemplos de gestos típicos que as pessoas fazem ao usar a tela sensível ao toque de um tablet. Ou melhor, exemplos de como eles conseguiram “fotografá-los”:
Então, podemos aplicar esse método na prática? É possível monitorar como o usuário interage com a tela sensível ao toque de um tablet ou smartphone? Como ele insere texto no teclado na tela? Como ele insere os dados do cartão de crédito? Como ele abre aplicativos? Felizmente, não é tão simples. Observe as legendas acima das “fotografias” na ilustração acima. Elas mostram o quão lentamente esse método opera. Na melhor das hipóteses, os pesquisadores conseguiram reconstruir uma “foto” da mão em pouco mais de três minutos. A imagem da ilustração anterior levou 17 minutos para ser capturada. A vigilância em tempo real nessas velocidades está fora de questão. Também está claro agora porque a maioria dos experimentos opto pela mão de um manequim: um ser humano não conseguiria manter a mão imóvel por tanto tempo.
Mas isso não exclui a possibilidade de o método ser melhorado. Vamos ponderar o pior cenário possível: se cada imagem da mão puder ser obtida não em três minutos, mas em, digamos, meio segundo; se o resultado na tela não for algumas figuras estranhas em preto e branco, mas um vídeo ou conjunto de imagens ou animações de interesse do usuário. Se o usuário fizer algo que valha a pena espionar… então o ataque faria sentido. Mesmo assim, não faz muito sentido. Todos os esforços dos pesquisadores são prejudicados pelo fato de que, se um invasor conseguir inserir um malware no dispositivo da vítima, há muitas maneiras mais fáceis de induzi-la a inserir uma senha ou número de cartão de crédito. Talvez pela primeira vez ao cobrir tais artigos (exemplos: um, dois, três, quatro), estamos fazendo um esforço até mesmo para imaginar um cenário real para esse tipo de ataque.
Tudo o que podemos fazer é nos maravilhar com a beleza do método proposto. Essa pesquisa serve como outro lembrete de que os dispositivos aparentemente familiares e imperceptíveis pelos quais estamos cercados podem abrigar funcionalidades incomuns e menos conhecidas. Dito isso, para aqueles preocupados com essa possível violação de privacidade, a solução é simples. Essas imagens de baixa qualidade devem-se ao fato de que o sensor de luz faz medições com pouca frequência: 10 a 20 vezes por segundo. Os dados de saída também carecem de precisão. No entanto, isso só é relevante para transformar o sensor em uma câmera. Para a tarefa principal, medir a luz ambiente, essa taxa é muito alta. Podemos “engrossar” os dados ainda mais, transmitindo-os, digamos, cinco vezes por segundo em vez de 20. Para adequar o brilho da tela ao nível de luz ambiente, isso é mais que suficiente. Mas espionar pelo sensor (o que já é improvável) se tornaria impossível. Ainda bem.