4 Boas práticas de code review focando na segurança do ambiente
No processo de desenvolvimento de softwares, quer sejam aplicações complexas ou apenas micro soluções, se torna uma exigência o zelo no momento de criação do código fonte evitando que este apresente falhas de segurança. Não basta ser funcional, tem que ser seguro.
Fato é que alguns pontos por vezes ficam ocultos ou apenas depois de algum tempo de uso se apresentam como um verdadeiro problema.
Para isso temos o code review, literalmente traduzido como revisão de código, que se torna responsável pela identificação e prevenção de vulnerabilidades das mais diversas.
Neste artigo falarei sobre quatro (4) boas práticas que devem ser adotadas em um code review. Boa leitura.
Como fazer o code review
Em primeiro passo devemos entender que o code review deve ser feito tomando como base uma análise minuciosa do código fonte de um software de forma geral. Esta atividade não está focada apenas em encontrar erros mas sim deve buscar por possíveis brechas e falhas que possam ser utilizadas por potenciais malfeitores digitais.
Na realidade podemos ver este processo como uma busca por portas abertas ou não trancadas de forma correta e principalmente em saber como fechá-las e mante-las seguras de fato. Este procedimento tem como objetivo “blindar” o código deixando o menos vulnerável possível produzindo um ecossistema ou ambiente de produção mais seguro.
Não devemos deixar de lado que este procedimento pode e deve ser adotado para os casos de otimizações de funcionalidade ou de uso da solução já que por vezes apenas uma mudança de passagem de parâmetros pode alterar totalmente a experiência do usuário ou a segurança e aumentar a performance do software.
Um processo fundamental
Por se tratar de um processo que deve fazer parte da sua “engenharia de software” ou das suas boas práticas de arquitetura de gestão de projetos de desenvolvimento de software, passe a vê-lo como um ponto fundamental em seus projetos.
Este fluxo de trabalho não se resume em apenas corrigir algo que está errado ou fechar uma “porta aberta”, deve ser visto de forma correta como um método de prevenção de problemas.
O processo de code review deve ser preventivo e não somente corretivo.
Boas práticas
Analisar um código é uma tarefa praticamente subjetiva pois envolve muito de tomada de decisão frente a compreensão do que se está analisando, mas não significa que deve ser descartada a automação para este processo.
Automatizar processos
Certamente, unir automação e trabalho manual no processo de code review torna o processo mais eficiente, rápido e até mesmo agrega muita relevância ao objetivo, pois reduzimos assim “falhas humanas”. De uma forma geral, essa mistura pode se dar por meio de buscas automáticas de algumas falhas ou deslizes já conhecidos em meio ao padrão de programação e que possam refletir em alguma brecha de segurança, por assim dizer.
Listas de tarefas (checklists)
Atuar em code review praticamente se reflete em uma busca, e não há como se ter sucesso ao procurar por algo que não se sabe o que é. A única certeza para este caso é de não achar nada. Desta forma, tenha em mente que uma das boas práticas para se efetuar um trabalho de code review eficiente é criar uma lista de tarefas (checklist) que será usada como seu guia no momento de revisão de código. Um exemplo seria montagem de uma lista contendo: verificação de autenticação, criptografia de dados antes de seu envio, vulnerabilidades encontradas anteriormente, dentre outras.
Processo contínuo
Práticas de revisão de código devem acontecer sempre que uma nova versão ou modificação no código-fonte ocorrer, mesmo que seja uma pequena alteração. Os ciclos devem ser iterativos, já que uma mudança, por menor que pareça, pode causar impactos em série e desencadear problemas imprevistos. Sendo assim, se faz necessária um novo processo de code review a cada mudança sofrida pelo código fonte de seu software.
Estar atualizado com as vulnerabilidades
Conhecer tudo no que se refere à tecnologia é impossível entretanto, tenha sempre em mente de buscar nas redes sociais ou canais de discussão sobre as novas vulnerabilidades ou novas formas de codificação que evitam problemas ou solucionam “bugs” já identificados.
Manter-se atualizado é uma das melhores práticas para revisão de código pois somente estando ciente das novas ameaças será possível prover uma solução ou prevenção.
Em resumo, as práticas de revisão de código são de extrema importância no fluxo do seu gerenciamento de projeto de desenvolvimento de softwares e não somente servem para evitar vulnerabilidades mas também para diminuir a possibilidade de existência de ameaças em seu ambiente computacional.
Garanta isso adotando automações moderadas, listas de tarefas (checklists), revisões constantes e contínuas e mantendo-se sempre atualizado.
Isso não é tudo mas pelo momento já pode ser de imensa valia para que seus projetos estejam mais seguros e eficientes.
Bom código.