O Miguel é um jovem programador com um interesse particular pela área de segurança e privacidade. E foi este interesse que o levou a conduzir, desde julho do ano passado, uma série de testes a vários grupos ou entidades nacionais, à procura de possíveis falhas ou vulnerabilidafes. Eis que, chegado ao portal das finanças, se deparou com uma enorme vulnerabilidade.
Inicialmente, o programador deparou-se com uma série de falhas que poderiam conduzir a ataques de phishing, facilitavam o envio de emails falsos a fazer-se passar pela Autoridade Tributária para recolher informações do utilizador.
Contudo, as vulnerabilidades mais graves viriam depois, como por exemplo, descobrir que bastava ter um qualquer número de NIF para conseguir descobrir o número de telemóvel que lhe está associado.
Além disso, quando entrava na zona de “Recuperar senha” do site havia uma forma de avançar sem ter de responder à “Pergunta Secreta”.
A vulnerabilidade mais grave é que era possível mudar a senha de qualquer NIF. A falha no processo de recuperar a senha residia na última página, isto é, só no final é que o atacante poderia tirar partido da vulnerabilidade para trocar o seu NIF pelo da vítima, passando assim a ter acesso à conta fruto da utilização da nova palavra-passe.
Problema comum a todos os "Ethical Hackers"
O investigador, até o o problema por ele descoberto ter sido compreendido, reconhece que o processo de reportar casos deste género é complicado, dado ser difícil conseguir arranjar uma "approach" certa e fazer com que as pessoas competentes entendam. Depois de encontrar essa pessoa, é muito mais fácil corrigir o problema. Além disso, refere que na altura apanhou a CNPD mais atarefada com a implementação do RGPD (Regulamento Geral sobre Proteção de Dados) e que obteve feedback positivo por parte do Centro Nacional de Cibersegurança.
Mas afinal qual o grande motivo por trás desta falha? O investigador acredita que é por se recorrer a sistemas e código legacy, que não foram construídos de raiz para a finalidade que estão a ter. Ciente de que as equipas responsáveis dificilmente poderão fazer mais com os meios relativamente escassos que têm disponíveis, o programador sugere a criação de um mecanismo que torne mais fácil a denúncia de vulnerabilidades diretamente à equipa responsável e a realização de auditorias.