Teste de segurança - Security testing

O teste de segurança é um processo que visa revelar falhas nos mecanismos de segurança de um sistema de informações que protegem os dados e mantêm a funcionalidade conforme pretendido. Devido às limitações lógicas dos testes de segurança, passar no processo de teste de segurança não é uma indicação de que não existem falhas ou de que o sistema atende adequadamente aos requisitos de segurança.

Os requisitos de segurança típicos podem incluir elementos específicos de confidencialidade , integridade , autenticação , disponibilidade, autorização e não repúdio . Os requisitos de segurança reais testados dependem dos requisitos de segurança implementados pelo sistema. O teste de segurança como um termo tem vários significados diferentes e pode ser concluído de várias maneiras diferentes. Como tal, uma taxonomia de segurança nos ajuda a entender essas diferentes abordagens e significados, fornecendo um nível básico a partir do qual trabalhar.

Confidencialidade

  • Uma medida de segurança que protege contra a divulgação de informações a outras partes que não o destinatário pretendido não é, de forma alguma, a única forma de garantir a segurança.

Integridade

A integridade das informações se refere à proteção das informações contra modificações por terceiros não autorizados

  • Uma medida destinada a permitir que o receptor determine se as informações fornecidas por um sistema estão corretas.
  • Os esquemas de integridade geralmente usam algumas das mesmas tecnologias subjacentes dos esquemas de confidencialidade, mas geralmente envolvem a adição de informações a uma comunicação, para formar a base de uma verificação algorítmica, em vez de codificar toda a comunicação.
  • Para verificar se as informações corretas são transferidas de um aplicativo para outro.

Autenticação

Isso pode envolver a confirmação da identidade de uma pessoa, rastreando as origens de um artefato, garantindo que um produto seja o que sua embalagem e rotulagem afirmam ser, ou garantindo que um programa de computador seja confiável.

Autorização

  • O processo de determinar se um solicitante tem permissão para receber um serviço ou executar uma operação.
  • O controle de acesso é um exemplo de autorização.

Disponibilidade

  • Garantir que os serviços de informação e comunicação estejam prontos para uso quando for esperado.
  • As informações devem ser mantidas à disposição de pessoas autorizadas, quando necessário.

Não repúdio

  • Em referência à segurança digital, não repúdio significa garantir que uma mensagem transferida foi enviada e recebida pelas partes que afirmam ter enviado e recebido a mensagem. O não repúdio é uma forma de garantir que o remetente de uma mensagem não possa negar posteriormente o envio da mensagem e que o destinatário não possa negar o recebimento da mensagem.
  • Um remetente-id é geralmente um cabeçalho transmitido junto com a mensagem que reconhece a origem da mensagem.

Taxonomia

Termos comuns usados ​​para a entrega de testes de segurança:

  • Descoberta - O objetivo desta etapa é identificar os sistemas dentro do escopo e os serviços em uso. Não se destina a descobrir vulnerabilidades, mas a detecção de versão pode destacar versões obsoletas de software / firmware e, portanto, indicar vulnerabilidades em potencial.
  • Varredura de vulnerabilidade - Após o estágio de descoberta, ela procura problemas de segurança conhecidos usando ferramentas automatizadas para combinar as condições com vulnerabilidades conhecidas. O nível de risco relatado é definido automaticamente pela ferramenta sem verificação manual ou interpretação pelo fornecedor do teste. Isso pode ser complementado com a verificação baseada em credenciais que procura remover alguns falsos positivos comuns usando credenciais fornecidas para autenticar com um serviço (como contas locais do Windows).
  • Avaliação de vulnerabilidade - usa descoberta e varredura de vulnerabilidade para identificar vulnerabilidades de segurança e coloca as descobertas no contexto do ambiente em teste. Um exemplo seria remover falsos positivos comuns do relatório e decidir os níveis de risco que devem ser aplicados a cada descoberta do relatório para melhorar a compreensão e o contexto do negócio.
  • Avaliação de segurança - baseia-se na avaliação de vulnerabilidade adicionando verificação manual para confirmar a exposição, mas não inclui a exploração de vulnerabilidades para obter acesso posterior. A verificação pode ser na forma de acesso autorizado a um sistema para confirmar as configurações do sistema e envolver o exame de registros, respostas do sistema, mensagens de erro, códigos, etc. Uma avaliação de segurança está procurando obter uma ampla cobertura dos sistemas em teste, mas não a profundidade de exposição que uma vulnerabilidade específica pode causar.
  • Teste de penetração - O teste de penetração simula um ataque de uma parte mal-intencionada. Construir sobre os estágios anteriores e envolve a exploração de vulnerabilidades encontradas para obter mais acesso. O uso dessa abordagem resultará na compreensão da capacidade de um invasor de obter acesso a informações confidenciais, afetar a integridade dos dados ou a disponibilidade de um serviço e o respectivo impacto. Cada teste é abordado usando uma metodologia consistente e completa de uma forma que permite ao testador usar suas habilidades de resolução de problemas, o resultado de uma gama de ferramentas e seu próprio conhecimento de redes e sistemas para encontrar vulnerabilidades que seriam / não poderiam ser identificadas por ferramentas automatizadas. Essa abordagem analisa a profundidade do ataque em comparação com a abordagem de avaliação de segurança que analisa a cobertura mais ampla.
  • Auditoria de segurança - orientada por uma função de auditoria / risco para examinar um controle específico ou problema de conformidade. Caracterizado por um escopo estreito, esse tipo de envolvimento pode fazer uso de qualquer uma das abordagens anteriores discutidas ( avaliação de vulnerabilidade , avaliação de segurança, teste de penetração).
  • Análise de segurança - Verificação de que os padrões de segurança internos ou da indústria foram aplicados aos componentes do sistema ou produto. Isso normalmente é concluído por meio de análise de lacunas e utiliza revisões de construção / código ou revisão de documentos de design e diagramas de arquitetura. Esta atividade não utiliza nenhuma das abordagens anteriores (avaliação de vulnerabilidade, avaliação de segurança, teste de penetração, auditoria de segurança)

Ferramentas

Veja também

Referências