Armazenamento inseguro no IDCE MV
Olá!
Neste artigo eu abordo a falha de armazenamento inseguro de senhas de acesso no software de gestão de saúde IDCE da empresa MV Informática para a base de um novo CVE (CVE-2022-31405).
Embora o software seja uma versão antiga, de alguns anos atrás, algumas empresas brasileiras de saúde ainda o utilizam em larga escala. A maioria das empresas o tem rodando apenas em redes locais ou protegidos por VPN. Porém ainda é possível encontrar este software vulnerável sendo utilizado abertamente através da internet e sem nenhuma proteção extra.
Aproveito para informar que a ação de coletar informações de serviços não é caracterizado crime, uma vez que foi utilizado um ambiente controlado de teste e nenhuma informação privada foi revelada. Esta matéria tem como fins apresentar os métodos utilizados por hackers para encontrar informações de empresas e apresentar aos desenvolvedores e usuários as falhas de segurança que suas aplicações web (portais, sites de atendimento, etc) possuem. Corrigir ou não é uma decisão dos desenvolvedores e gestores/clientes destas aplicações.
Por Iran Macedo, especialista em proteção de dados e segurança ofensiva / Pentest.
Armazenamento inseguro de dados
O software testado foi o IDCE - MV Medicina Diagnóstica. Este software é utilizado por hospitais e seus médicos para gerarem laudos de exames médicos de pacientes. Mas não somente isso, pois pode controlar fluxo de pagamentos, gerenciar usuários, suas informações e permissões, dados de parceiros, de fornecedores e de clientes (pacientes) e outros serviços gerenciais relativos aos hospitais e clínicas.
Ao executar um ataque de SQL Injection, todos os dados desta aplicação podem ser lidos através de um ataque demorado do tipo "Blind Time-Based".
Após a busca às cegas pelos dados salvos dentro do banco, podemos ver que a aplicação IDCE fere duas boas práticas quanto à segurança de dados sensíveis, mais precisamente sobre senhas.
A primeira violação é que todas as senhas salvas desta aplicação estão em texto puro. Ou seja, são armazenadas no banco de dados sem a devida criptografia. Desta forma, uma vez que o banco de dados tenha sido invadido, não há uma proteção contra a leitura humana das senhas dos usuários, que leva a uma falha de "Plaintext Storage of Passwords".
A segunda violação, como pode ser visto nas imagens acima e abaixo, a aplicação permite o uso de senhas muito fracas, não segundo uma política de senhas fortes. É permitido o uso de senhas compostas por poucos números repetidos, como "000" e pode-se observar que toda senha que possui letra está em caixa alta, não permitindo o uso de senhas com letras maiúsculas e minúsculas para aumentar a entropia da senha escolhida, quebrando todas as boas práticas quando abordamos uma política de senhas.
Desta forma, a segunda falha de segurança sobre senhas utilizadas é a "Weak Password Policy".
Outras referências literárias sobre as falhas:
- CWE-256: Plaintext Storage of a Password;
- CWE-312: Cleartext Storage of Sensitive Information;
- CWE-521: Weak Password Requirements.
Correção da falha (informação atualizada)
Conversando por vídeo conferência com o desenvolvedor em maio de 2020 e em junho de 2022, fui informado de que a MV Informática corrigiu as falhas apresentadas nesta versão testada. Desta forma, é recomendado que a solução de medicina diagnóstica IDCE seja utilizada sempre de forma atualizada. Infelizmente algumas empresas ainda utilizam versões desatualizadas e vulneráveis.
Conclusão
Mantenha o seu software atualizado e sempre utilize as versões mais atuais e estáveis. Utilizar softwares piratas pode parecer como uma solução viável e barata para quem não quer gastar dinheiro pagando por programas licenciados. Mas lembre-se de que isto não é legal (no termo jurídico da palavra), além de não ter as atualizações necessárias para mantê-lo seguro. O "barato" pode acabar saindo muito, mas muito mais caro do que pagar por softwares licenciados. Visto que uma multa aplicada por processos judiciais de clientes afetados através da LGPD não é nada barato, sem dizer dos riscos de se ter o banco de dados principal invadido.
Mantenha-se seguro e um grande abraço!
Documentação formal do CVE para a Mitre: MeuGitHub
CVE ID: CVE-2022-31405.