Vulnerabilidades em Sistemas de Terceiros – na realidade angolana, vale a pena reportar?

Há uns tempos atrás, a minha resposta categórica seria: NÃO VALE A PENA! Tempos em que uma comunicação dessa natureza ou era completamente ignorada pelos destinatários ou, por incrível que pareça, quando miraculosamente respondida, até equipas técnicas simplesmente assumiam como sendo normal determinado achado, minimizando assim a ocorrência.

Desde então, a postura adoptada passou a ser: Olhar, abanar a cabeça e continuar…

Mas parece que os últimos eventos no “ciberespaço nacional”, apesar de danosos e por isso não merecerem vigorosos aplausos, já têm surtido algum efeito positivo quanto a receptividade das nossas instituições, públicas e privadas, a esse tipo de notificações.

Um bom exemplo dessa mudança foi a postura adoptada pelos nossos amigos do SEPE.GOV.AO – Portal dos Serviços Públicos Electrónicos do Governo de Angola – que após notificá-los sobre uma vulnerabilidade no método de armazenamento e recuperação das senhas dos utilizadores do seu sistema, foram capazes de dar um feedback e efectuarem a devida correcção.

A vulnerabilidade em causa era facilmente identificável através do processo de Recuperação de Senha, não necessitando de algum exercício técnico exaustivo. Durante o processo, o email de recuperação enviado pelo sistema trazia estampado o Nome de Utilizador e a respectiva Senha em claro – Sim, erro de palmatória e que derruba o pilar da Confidencialidade! Vulnerabilidades deste género são definidas pelo The Common Weakness Enumeration (CWE) como CWE-257: Storing Passwords in a Recoverable Format – armazenamento de senhas em um formato recuperável tornando-a sujeita à reutilização por um agente malicioso.

Desta vez, por ter tropeçado em algo que perigava a minha senha de estimação que tanto lutei para criá-la 🙂 , tive de abandonar o modo “Olhar, abanar a cabeça e continuar…”,  e lá foi enviada sem esperança alguma a mensagem de notificação:

*Estava ciente da distinção entre “Encriptação vs Codificação vs Hashing”, mas tive que colocá-los juntos só para garantir a compreensão.

Passado praticamente 1 mês, finalmente chegou o feedback:

E umas semanas depois, já era possível observar o resultado das correcções, quer no Processo de Recuperação de Senha, bem como no Processo de Alteração de Senha que antes exigia um tremendo jogo de cintura para driblar as validações existentes no formulário (essa é uma outra história…).

Para quem não tem visibilidade do que está por de trás dos panos, fica-se com a boa impressão de que tenham melhorado o processo de recuperação, e espero que o de armazenamento também tenha acompanhado a evolução, pelo menos com a adopção da fórmula Hashing + Salt, por exemplo.

Tratou-se de um exercício interessante, onde fica patente a necessidade de se considerar a Segurança e a Qualidade do Software durante todo o ciclo de desenvolvimento, não importando qual seja o nível de maturidade em que o produto se encontra, principalmente quando ele já tenha sido atirado à selva (“em Produção e no ciberespaço”).

Vale também assinalar a necessidade da existência de um canal de interacção com os utilizadores finais, técnicos e não técnicos, pois poderão eles, em algumas ocasiões, providenciar cerejas que poderão ser colocadas no topo das vossas obras-primas.

TALVEZ, JÁ VALHA A PENA REPORTAR AS VULNERABILIDADES! TALVEZ…

E com esse pensamento ele entrava em Modo Parcial de Olhar, abanar a cabeça e continuar… 🙂