Os principais acertos e erros no desenvolvimento seguro de softwares
Especialista aponta cuidados que profissionais e empresas devem levar em consideração para evitar invasões de hackers
“O desenvolvedor de software tem uma responsabilidade muito grande porque transforma uma necessidade de um usuário ou de um mercado em produtos. Por isso, precisa estar atento à segurança durante e após a criação desse software”, afirma Fabio Covolo Mazzo, principal software architect da Connectcom, empresa especializada em soluções e serviços de tecnologia.
O especialista fez uma lista com os principais acertos e erros quando o tema é o desenvolvimento seguro de softwares. Leia a seguir.
OS PRINCIPAIS ACERTOS:
Fazer o Peer Review e/ou Code Review
O Peer Review (ou Revisão por Pares) e o Code Review (Revisão de Código) são processos de checagem que auxiliam na detecção de erros do software. Funciona assim: um especialista comita o código (efetiva alterações), mas este não vai direto ao Branch Main (onde o software funciona). Antes, vai para um profissional que revisa o código e só depois autoriza o commit. A diferença é que o Peer Review é feito por um colega analista e o Code Review é feito por um especialista sênior (por exemplo, um arquiteto de software ou um desenvolvedor sênior).
Ter criptografia em disco
Essa tecnologia permite que as informações do software não possam ser decifradas por pessoas não autorizadas ao utilizar códigos criptografados. “Se um hacker tentar acessar informações via disco, a criptografia oferece segurança”, afirma Mazzo.
Ter criptografia no banco de dados
Segundo Mazzo, o disco salva o arquivo do banco de dados, passando informações abertas a este. Um hacker pode tentar acessar essas informações tanto pelo disco quanto pelo banco de dados. Daí a importância de também ter dados criptografados aqui.
Utilizar softwares automatizados
São programas que monitoram o sistema constantemente à procura de brechas e falhas nos códigos, oferecendo um banco de dados de todas as vulnerabilidades descobertas e atualizações. Uma dica é oSnyk, que é open source (código aberto).
Fazer o PenTest anual
O PenTest (Penetration Test, ou “Teste de Penetração”) é um teste para testar a segurança e a vulnerabilidade de softwares, redes e infraestruturas. Resumindo, é a contratação de um serviço consensual de hackers, que tentam invadir o sistema e fazem um relatório detalhado das brechas, além de apontar as soluções. “É um teste caro, mas essencial, principalmente para empresas que lidam com dados de usuários”, diz Mazzo.
OS PRINCIPAIS ERROS:
Não limitar tentativas de senha
O software deve exigir uma senha forte do usuário e limitar as tentativas temporalmente (por exemplo, na décima tentativa, contatar o administrador). “Para se ter uma ideia, é possível construir em dez minutos um software de força bruta que teste milhares de senhas aleatórias por minuto”, alerta Mazzo.
Usar criptografia desatualizada
É importante utilizar criptografia homologada por órgãos competentes e atualizada. Por exemplo, é aconselhado não utilizar a criptografia MD5, que tem falhas e é insegura. Há vários padrões criptográficos seguros atualmente, cada um com características específicas, diz Mazzo.
Deixar a chave da criptografia junto à aplicação
“Fazer isso é um risco, porque um hacker pode invadir a aplicação, descobrir a chave da criptografia e acessar todas as informações”, afirma Mazzo. “Como solução, é possível, por exemplo, criptografar a própria chave da criptografia.”
Nenhum comentário