Estudante da Universidade do Porto encontra falha no “motor” da app de rastreio à Covid-19

André Cirne, aluno do mestrado de Segurança Informática, descobriu uma falha num sistema que serve de base às aplicações de "contact tracing", incluindo da portuguesa STAYAWAY. Problema foi corrigido.

Um estudante da Universidade do Porto encontrou uma falha no sistema que serve de base a várias apps de rastreio à Covid-19, incluindo a portuguesa STAYAWAY. O erro, que já foi corrigido, permitia a uma pessoa mal-intencionada marcar-se como infetada na aplicação, emitindo um falso alerta para os telemóveis de outras pessoas com que se tivesse cruzado nos últimos dias.

A falha foi encontrada por André Cirne, estudante do mestrado em Segurança Informática da Faculdade de Ciências. O problema estava numa componente de um sistema chamado DP-3T, que “implementa o funcionamento de toda a aplicação”, usando o Bluetooth dos telemóveis para detetar possíveis casos de contágio. Segundo André Cirne, a falha técnica permitia a qualquer pessoa, sem a validação de um médico, marcar-se como tendo sido diagnosticada com Covid-19, possibilitando o envio de falsos positivos.

O ECO confirmou junto do INESC TEC que a vulnerabilidade também afetou a aplicação portuguesa STAYAWAY, que recorre ao mesmo sistema DP-3T onde foi detetado o erro. Contudo, a aplicação ainda só está disponível para um grupo restrito de utilizadores no país, uma vez que ainda não foi lançada a nível nacional, pelo que não há motivos para acreditar que tenha sido explorada para emitir alertas maliciosos. “Era uma vulnerabilidade que tínhamos também num dos servidores. Foi corrigida no mesmo dia”, confirmou fonte do instituto.

“Foi no ponto de como anunciar que estou infetado que apareceu a vulnerabilidade”, explica André Cirne. Quando um doente testar positivo à Covid-19, um médico dar-lhe-á um código de 12 dígitos para que possa marcar-se como infetado na STAYAWAY. “Esse código vai ter um tempo limitado para ser usado, mas tem de ser autenticado pela autoridade de saúde. A autoridade vai confirmar se o código é válido ou não” e, depois, passa uma espécie de “assinatura” digital que permite ao doente carregar para um servidor a informação que permite alertar quem esteve próximo dele nos últimos dias.

Essa informação é composta por códigos aleatórios gerados e emitidos pelos telemóveis que têm a aplicação. À medida que um telemóvel vai emitindo o seu próprio código (que muda periodicamente), regista também os códigos dos telemóveis nas redondezas. “O problema estava no servidor que recebe esses códigos. A forma como estava implementada a verificação da assinatura da autoridade de saúde estava mal feita e não precisava do código dado pela autoridade de saúde”, continua André Cirne. Contas feitas, permitiria a qualquer pessoa baralhar o sistema e, potencialmente, espalhar o pânico ou gerar constrangimentos aos médicos, levando pessoas saudáveis a contactarem as autoridades de saúde.

Não há sistemas infalíveis, mas…

Em informática, é comum dizer-se que todos os sistemas são infalíveis até deixarem de o ser. Há sempre uma vulnerabilidade desconhecida à espera de ser encontrada. Pode ser descoberta por alguém com más intenções, ou por pessoas como André Cirne, que a reportam aos programadores responsáveis e tentam ajudar a corrigir os problemas.

O aluno de mestrado da Universidade do Porto conta ao ECO que, inicialmente, reportar o problema veio a revelar-se… bem… um problema. “Não tinham indicações concretas do que fazer caso alguém encontrasse uma vulnerabilidade”, diz. Sem querer, acabaria por abrir um precedente. Se fosse hoje, tudo seria mais simples: “Comentei isso com quem estava na organização e disseram que vão ter canais abertos.” Assim, a próxima pessoa a detetar problemas terá uma via de contacto aberta para o fazer junto dos responsáveis do DP-3T. E também do próprio INESC TEC, que já terá também uma linha aberta para quem detete eventuais problemas de segurança, assegura André Cirne.

Questionado sobre se considera que esta falha cria problemas de confiança na aplicação STAYAWAY, André Cirne responde que ainda não decidiu se a vai usar. A falha “não está na aplicação em si, verdade”, reconhece. “Agora, é um ponto crítico para toda a aplicação. Sem este serviço, a aplicação passa a não funcionar. O objetivo é conseguirmos ter uma informação fidedigna, de saber se estivemos em contacto ou não” com pessoas infetadas, justifica. Assegura, contudo, que o sistema DP-3T “está muito bem construído” e que o protocolo “garante privacidade”. “Isso não está posto em causa”, reforça.

Tudo isto só foi possível porque tanto o DP-3T como a STAYAWAY têm código aberto, o que permite que qualquer pessoa com alguns conhecimentos técnicos possa descarregar, escrutinar e analisar o que esta aplicação de contact tracing funcionar. No entanto, mesmo no caso da STAYAWAY, estas aplicações recorrem, em última instância, a um sistema que foi desenhado pela Google e pela Apple. Esse sistema, chamado GAEN, não tem código aberto (a Google publicou “partes” do mesmo, mas não o código todo, explica André Cirne).

“Tive oportunidade de olhar para a aplicação da Suíça, como implementaram [os sistemas]. Posso pegar no repositório, compilar e comparar com o que está na App Store [loja de aplicações da Apple]. Com o GAEN nunca vou poder fazer isso”, desabafa o estudante, criticando, deste modo, a opacidade da plataforma que foi desenhada pelas duas multinacionais.

De resto, este receio também já tinha sido levantado pela Comissão Nacional de Proteção de Dados (CNPD), que se mostrou reticente com o uso do GAEN por parte da aplicação de contact tracing portuguesa. Na visão da entidade liderada por Filipa Calvão, as duas gigantes tecnológicas detêm o controlo do sistema e podem mudar as regras do jogo a qualquer momento.

Neste momento, com a vulnerabilidade já corrigida, o INESC TEC planeia lançar a STAYAWAY ao público dentro de dias. A aplicação já foi aprovada pela Google e já está na Play Store, ainda que de forma oculta, visível apenas para os participantes do piloto que está a ser realizado em Portugal. A primeira atualização chegou esta quinta-feira à noite aos telemóveis com a aplicação, corrigindo ou aperfeiçoando algumas coisas, confirmou ao ECO fonte do instituto. Mas ainda falta a inclusão da STAYAWAY na App Store, numa altura em que o enquadramento legal da aplicação já foi promulgado pelo Presidente da República.

Assine o ECO Premium

No momento em que a informação é mais importante do que nunca, apoie o jornalismo independente e rigoroso.

De que forma? Assine o ECO Premium e tenha acesso a notícias exclusivas, à opinião que conta, às reportagens e especiais que mostram o outro lado da história e às newsletters ECO Insider e Novo Normal.

Esta assinatura é uma forma de apoiar o ECO e os seus jornalistas. A nossa contrapartida é o jornalismo independente, rigoroso e credível.

Comentários ({{ total }})

Estudante da Universidade do Porto encontra falha no “motor” da app de rastreio à Covid-19

Respostas a {{ screenParentAuthor }} ({{ totalReplies }})

{{ noCommentsLabel }}

Ainda ninguém comentou este artigo.

Promova a discussão dando a sua opinião