Suas aplicações são seguras?

Conheça a Conviso!

O que é melhor para a segurança do software? Revisão do código ou Teste de Invasão (TDI)

Tanto o Teste de Invasão (TDI) quanto a Revisão do Código são métodos importantes para a segurança de um software. Pode-se dizer até que ambos são complementares, já que cada um é capaz de apontar problemas de segurança diferentes e não menos importantes uns que os outros.

É recomendado realizar as duas abordagens. Porém, se você tiver que fazer a opção por apenas um deles, alguns requisitos devem ser observados. Entenda neste post o que cada um pode fazer pelo seu sistema e o que considerar na hora de definir qual é o melhor para seu software.

Revisão do código

A revisão completa do código permite um olhar de dentro para fora do software, ou seja, a partir do código fonte. Esse tipo de estudo pode acontecer off-line, e deve ser feito por uma equipe altamente especializada. Nele, serão buscadas vulnerabilidades do código referentes a partes de gerenciamento de sessão e senhas, controle de acesso, criptografia, erros de funcionamento com potencial de exposição de dados confidenciais, vulnerabilidade do código a ataques de injeção comuns como SQL e XSS, entre outros.

A revisão possibilita o encontro de problemas potenciais devido à inconsistência da arquitetura do código, como erros de projeto, suposições incorretas e, claro, bugs. Uma boa revisão é capaz de reestruturar o código, corrigindo erros de arquitetura, uma forma de evitar também alguns ataques comuns.

Outro fator interessante para adoção do code review é a possibilidade de analisar o código fonte durante o desenvolvimento e fazer análises gradativas a partir do diferencial de código. Isso é especialmente interessante para aplicações que sofrem muitas mudanças.

Teste de Invasão (TDI)

Como o próprio nome diz, o TDI é um tipo de teste que submete o software a invasões controladas no ambiente online. Além da expertise de um bom profissional focado em exploração de sistemas, ferramentas de ataques como proxies e scanners são usados para verificar vulnerabilidades de acesso, nos servidores, inclusive injeções comuns, como SQL e XSS.

A busca por brechas para invasão do sistema, como erros de autorização de acesso, erros em fluxos relacionados a compras e transações financeiras, são alguns dos focos do TDI. A diferença principal deste tipo de teste para a revisão do código é o fato de ele lançar um olhar externo para o sistema, de fora para dentro.

Qual dos dois escolher?

Depende de como você já vem lidando com a segurança do seu sistema e do tipo de software que você utiliza. Se você já testa seu software regularmente com scanners dinâmicos automatizados, usa ferramentas de varredura de vulnerabilidades, o TDI pode não ser tão interessante, já que ele mostrará alguns dos mesmo problemas encontráveis pelos testes regulares que você já vem fazendo. Neste caso, opte pela revisão do código. Agora, se você contou com uma equipe de desenvolvedores com expertise em segurança (coisa rara), e já utiliza ferramentas de varredura com análise estática, faça primeiro um TDI para encontrar vulnerabilidades inéditas.

Para sistemas como portais web e e-commerce, é possível realizar um TDI que aponte os principais problemas de vulnerabilidade do sistema, já que existem Testes de Invasão específicos para esse tipo de arquitetura. Caso seu sistema seja um API, ou mesmo um software empresarial feito sob demanda, é melhor investir em uma revisão de código completa, já que se trata de uma arquitetura singular, que exige mão de obra altamente especializada.

Porém, como dissemos acima, ambos os testes são importantes para que a segurança do sistema esteja realmente garantida. Contar com uma equipe capacitada para fazer um diagnóstico do que precisa ser feito de acordo com cada caso é, sem dúvida, a melhor alternativa para você. Caso ainda tenha alguma dúvida, deixe um comentário!

Originalmente postado no Blog da Conviso Application Security – Siga-nos no Twitter @conviso Google+

Tags

Deixe um comentário

topo
%d blogueiros gostam disto: