Processos de Testes de Segurança

Primeiramente, é importante compreender alguns impactos que falhas na segurança dos sistemas de informação de uma organização podem ocasionar, como:

  • Perda de imagem e reputação da empresa.
  • Queda na confiança dos produtos oferecidos.
  • Lucros reduzidos.
  • Prejuízos muitas vezes milionários.
  • Risco de morte (sistemas críticos).

Assim como as demais etapas no ciclo de vida do desenvolvimento, o teste de segurança também é uma atividade a se considerar e ser implementada. A falta de priorização nesse ponto pode ocasionar algumas das consequências citadas anteriormente, dependendo do produto em questão.

A inclusão do processo de testes de segurança é adotado de maneira diferente em algumas organizações, pois é necessário saber quais são os riscos de negócios, habilidades técnicas e ciclos de desenvolvimento utilizados pelas mesmas.

A seguir listarei as etapas de testes de software assim como seus respectivos processos de testes de segurança:

1. Planejamento e Controle de Teste:

  • Realizar a definição de um escopo apropriado de testes dependendo dos riscos a segurança.
  • Definir estimativas e cronogramas dos testes.
  • Avaliar os resultados.

2. Análise e Modelagem de Teste:

  • Avaliar e entender a proporção dos riscos das ameaças a segurança com base nas vulnerabilidades já conhecidas.
  • Estudar a aplicabilidade de ferramentas com a proposta de facilitar a execução dos testes, baseados nos riscos definidos na etapa de planejamento.

3. Implementação de Execução do Teste:

  • Aplicar os testes manualmente ou de forma automática, através de ferramentas, objetivando a simulação de usuários mal intencionados.
  • Elaborar casos de testes e execuções de testes de infiltração no sistema por usuários externos.
  • Aplicar scripts onde haja a manipulação ou alteração de dados, para simular indevidas saídas de informações.

4. Avaliação dos Critérios de Saída e Elaboração de Relatórios:

  • Com base nos testes realizados, analisar se existem possíveis meios de incidência de ataques aos sistemas, futuramente.
  • Documentar todo o processo do teste juntamente com os pontos de menor segurança do sistema.

5. Encerramento dos Testes:

  • Verificar se os testes que foram planejados no início do processo foram realmente executados e bem sucedidos.
  • Avaliar os relatórios gerados ao longo dos testes para que os mesmos possam ser melhorados garantindo uma maior segurança para desenvolvimentos futuros.

Esse modelo vem sendo estudado por algumas instituições e boards de testes como uma prática eficaz de aplicação dos testes de segurança em um ciclo de vida de desenvolvimento, porém como dito anteriormente, a adoção do processo depende principalmente dos métodos e planejamentos realizados pela empresa ou organização.

Referente a questão de ferramentas de testes de segurança, através de uma breve pesquisa, é possível encontrar algumas bastante utilizada no auxílio ao cotidiano de desenvolvedores/testadores, como: Burp Suite, W3af, Vega, SqlMAP, OWASP ZAP, Wapiti, entre outras, que em sua grande maioria também são Open Source.

Com base nestas informações, é muito comum a preocupação e consequentemente a inclusão de processos de testes de segurança que visam uma maior cobertura de proteção de informações, visto que com as mudanças das tendências de mercado, criação de sistemas Web, aplicativos Mobile, Internet Banking, a ocorrência de ataques e roubos de informações são cada vez mais frequentes e prejudiciais, não somente para a empresa fornecedora do produto, mas principalmente para o usuário final.

 

Referências:

 [1] http://www.devmedia.com.br/teste-de-seguranca-agregando-confianca-ao-software/27792
 [2] http://www.qualister.com.br/blog/introducao-a-testes-de-seguranca-de-sistemas-web
 [3] http://bstqb.org.br/uploads/syllabus/syllabus_ctal_st_2016br.pdf
 [4] http://quatest.com.br/Portal/8-ferramentas-de-teste-de-seguranca-open-source/

 

 

 

Por AÉCIO CAMPAGNOLI

Analista de Testes, graduado em Tecnologia com ênfase em Banco de Dados pela Fatec Mococa, Certificado em Testes CTFL - Foundation Level. Também é Músico nas horas vagas.

Postado em: 28 de junho de 2017

Confira outros artigos do nosso blog

Introdução ao Dev-Test Pairing

13 de junho de 2018

Caio Rizolli

Falando sobre Teste de Intrusão (ou PenTest)

03 de abril de 2018

Jacqueline Costa

Protractor – Testes automáticos end-to-end para aplicações em Angular

07 de dezembro de 2017

Jacqueline Costa

Testes em Node.js

04 de dezembro de 2017

Alan Cesar Elias

Deixe seu comentário