Um relatório que detalha sobre a vulnerabilidade do aplicativo Tags – responsável pelo uso do NFC – foi enviado ao Google. O aplicativo em questão é responsável por ler tags NFC (Near Field Communication), analisá-las e encaminhar os resultados para o aplicativo relevante de acordo com o seu conteúdo. A falha foi registrada em todos os sistemas operacionais Android, mas a gigante afirmou ter corrigido somente no Android 10, pois a atualização não era suportada por versões anteriores. 

A vulnerabilidade encontrada, CVE-2019-9295, faz com que um app intruso induza o Tags a achar que uma nova NFC foi lida. Em seguida, ele mostra ao usuário uma lista de ações que ele pode executar com as tags. 

A vulnerabilidade permite que um aplicativo mal-intencionado simule o recebimento de uma tag NFC, como se o telefone da vítima tivesse acabado de ler uma outra. Ele pode simular qualquer tipo de tag (mais precisamente um registro NDEF), como por exemplo um URI com um número de telefone qualquer: 123456789. 

A desvantagem de um invasor é que o usuário precisa interagir e clicar na tag mostrada para executar a ação correspondente. Mostrar uma janela pop-up aleatória como “Nova tag digitalizada” não é algo usual e provavelmente irá chamar a atenção dos usuários. Após ter uma tag falsificada com uma URL (como podemos observar na imagem abaixo), o aplicativo Android Tag pergunta se ele deseja abri-lo com o Chrome (ou qualquer navegador registrado no dispositivo). 

Também, foi desenvolvida uma aplicação que pode falsificar tags que foram lidas. O aplicativo se registra para ouvir ações específicas, como “android.nfc.action.NDEF_DISCOVERED” por meio de um filtro de intenção. Assim, quando um usuário tenta ler uma tag, o app malicioso a lê, altera seu conteúdo e chama o visualizador Android padrão. 

 

Como podemos ver no exemplo acima, foi usado uma etiqueta NFC com um número de telefone. Quando o aplicativo malicioso não está instalado, o número que aparece é real (555-111-12222, por exemplo). Mas se já estiver no sistema, ele captura o conteúdo da tag NFC, altera e falsifica-o. Desta forma, o usuário apenas vê o novo número “666-666-666”, e não tem motivos para suspeitar que este não seja o número da tag.

É importante observar que o aplicativo mal-intencionado não precisa de nenhuma permissão específica, pois está apenas registrando as intenções da NFC e não está usando o hardware NFC real. 

Embora a “tag falsa” não seja uma vulnerabilidade crítica, usuários do sistema operacional Android devem estar cientes do problema, pois os diferentes comportamentos de tags não podem ser previstos no futuro, o que pode acarretar em bugs mais sérios. 

O Google, ciente da situação, verificou o problema e notificou suas deliberações. “Como um problema de gravidade moderada, essa vulnerabilidade foi resolvida apenas no Android 10; a correção não foi suportada para versões anteriores do Android“, disse a empresa em comunicado. 

Fonte: Checkmarx