Criar um software é mais difícil do que as pessoas pensam, ainda mais quando o assunto é criar-lo com segurança. Sistemas que operam através da internet estão especialmente ainda mais propensos a ataques hackers e vemos com frequência no noticiário empresas que teve seus dados roubados. Se até as grandes empresas como Yahoo, LinkedIn e Facebook já sofreram com isso, imagine o que uma pessoal mal intencionada pode fazer com sistemas de empresas que não investem em segurança.
Por ser um assunto de interesse comum, várias comunidades e fundações foram criadas ao longo do tempo com o objetivo de disseminar conhecimento e aumentar o nível de segurança das aplicações.
OWASP
A Open Web Application Security Project (OWASP) é uma fundação sem fins lucrativos que trabalha nesse sentido, gerando conteúdo principalmente relacionado a segurança em aplicações web. Através do site deles você pode obter vários tipos de informações, desde a eventos até quais são as vulnerabilidades mais comuns.
Uma questão fundamental sobre esse assunto de segurança esta relacionado a tríade CID, que faz a modelagem dos aspectos da segurança que são:
Confidencialidade
O sigilo das informações e a privacidade dos dados devem ser respeitado e ninguém que não tenha permissão deve conseguir o dado. Trata-se do aspecto da interação entre usuários e as informações.
Integridade
Os dados que estão no domínio do sistema devem ser preservados em sua totalidades e de maneira confiável. Trata-se do aspecto do representatividade da própria informação e a sua veracidade.
Disponibilidade
As informações devem sempre respeitar as políticas do sistema e estar disponíveis a aqueles que tem direito de acessa-las.
Vulnerabilidades
Uma falha (bug) pode gerar comportamentos inesperados no sistema. Tais comportamentos podem trazer prejuízo caso não respeitem os pilares previamente citados. Tais comportamentos são chamados de vulnerabilidades de um sistema e eles devem ser sempre alvo de atuação dos desenvolvedores, corrigindo-os sempre que possível e se prevenindo dos pessoas mal intencionadas.
Abaixo está listado as top 10 vulnerabilidades de 2021 listadas pela a OWASP.
A01:2021 - Controle de acesso quebrado
Típico problema de quando um usuário consegue executar uma operação da qual ele não deveria ter permissão. Ex: Apagar um dado que não o pertence.
A02:2021 - Falha de criptografia
Quando um dado não é tratado de forma correta, ficando exposto sem a devida camada de criptografia. Ex: Salvar as senhas do usuário em base64.
A03:2021 - Injeção
Ocorre quando um recurso não valida corretamente os dados da requisição. Ex: SQL Injection.
A04:2021 - Design Inseguro
Trata-se de um problema de projeto, e não de implementação como as demais vulnerabilidades. Ex: Ao recuperar a conta o usuário ter a opção de utilizar pergunta e resposta “secreta”.
A05:2021 - Configuração insegura
Ocorre quando a aplicação não esta devidamente configurada. Ex: Deixar as portas que não estão sendo utilizadas no servidores abertas para acesso.
A06:2021 - Componentes desatualizados e vulneráveis
Típico problema de quando as dependências do seu projeto contam com versões não seguras. Ex: Manter a versão de uma biblioteca desatualizado.
A07:2021 - Quebra de identificação e autenticação
Ocorre quando a aplicação não tem a devida camada de autenticação. Ex: Aplicações que permitem senhas fracas ou não implementam autenticação de 2 fatores (não são todos os casos).
A08:2021 - Falhas de software e de integridade de dados
O problema ocorre quando o sistema não realiza uma operação de maneira esperada. Ex: Utilizar uma biblioteca de banco de dados com falhas nas operações de persistência dos dados.
A09:2021 - Falhas de registro e monitoramento de segurança
Típico problema de falta de log ou de monitoramento do sistema. Ex: Não utilizar log e ferramentas para conseguir depurar ocorrências no sistema.
A10:2021 - Falsificação de solicitação do lado do servidor
Essa vulnerabilidade pode ocorrer quando sua aplicação consome fontes de terceiros que não foram verificadas. Ex: Consumo de uma API que não foi devidamente verificada.
Com essa lista nas mãos, esta na hora de checar se seu sistema anda seguro!
Gostou do conteúdo? Compartilhe com quem possa se beneficiar dele 😁