O que é Teste de Segurança?

A web é um lugar poderoso cheio de uma riqueza de informações e atividades. Mas também pode ser um lugar perigoso se você não tomar cuidado. Existem muitos hackers e criminosos cibernéticos procurando novas maneiras de invadir sites e comprometer dados. Você provavelmente já ouviu falar de algumas violações de dados de alto perfil que afetaram empresas bilionárias como Meta e Microsoft. Quando se trata de trabalhar com aplicações web, você precisará fazer testes de segurança rigorosos para ajudar a identificar vulnerabilidades e fraquezas. Aqui estão alguns princípios para estar ciente ao realizar auditorias e testes de segurança:
  • Confidencialidade: Isso protege contra a divulgação de informações sensíveis para outros destinatários que não sejam o destinatário pretendido.
  • Integridade: Isso envolve impedir que usuários mal-intencionados modifiquem informações do usuário.
  • Autenticação: Isso envolve verificar a identidade do usuário para garantir que ele tenha permissão para usar aquele sistema.
  • Autorização: Este é o processo de determinar quais ações os usuários autenticados têm permissão para executar ou quais partes do sistema eles podem acessar.
  • Disponibilidade: Isso garante que informações e serviços estejam disponíveis para usuários autorizados quando eles precisarem.
  • Não repúdio: Isso garante que tanto o remetente quanto o destinatário tenham prova da entrega e verificação da identidade do remetente. Protege contra o remetente negar ter enviado a informação.
Agora que entendemos a lógica por trás dos testes de segurança, vamos dar uma olhada em algumas ameaças comuns de segurança:
  • Cross-site Scripting (XSS): You learned about this in an earlier lesson. Mas para relembrar, ataques de XSS acontecem quando um invasor injeta scripts maliciosos em uma página web que é visualizada por outros usuários. Esses scripts podem então ser executados no contexto do navegador da vítima, potencialmente roubando cookies e dados de sessão ou realizando outras ações maliciosas sem o conhecimento ou consentimento do usuário.
  • Injeção de SQL: SQL é uma linguagem para gerenciar e armazenar informações em um banco de dados relacional. A injeção de SQL permite que usuários mal-intencionados insiram código malicioso em um banco de dados. Você aprenderá mais sobre SQL, bancos de dados relacionais e injeção de SQL em um módulo futuro.
  • Ataque de Negação de Serviço (DoS): Isso ocorre quando usuários mal-intencionados inundam um site com um grande número de requisições ou tráfego, fazendo com que o servidor fique lento e possivelmente trave, tornando o site indisponível para os usuários.
Existem muitos outros tipos de ameaças de segurança, mas há muitas ferramentas que você pode usar para ajudar a proteger suas aplicações web e torná-las mais seguras. Aqui estão as categorias amplas em que as ferramentas de teste de segurança se enquadram:
  • Teste de segurança de aplicação estática: Essas ferramentas são usadas para avaliar o código-fonte de uma aplicação para identificar vulnerabilidades de segurança.
  • Teste dinâmico de segurança de aplicação (DAST): Essas ferramentas interagem com o front-end da aplicação para descobrir possíveis vulnerabilidades de segurança. Diferente do teste estático de segurança de aplicação, as ferramentas DAST não têm acesso ao código fonte.
Outro tipo de teste de segurança é o teste de penetração (ou pentest, para abreviar). Isso envolve criar ataques cibernéticos simulados na aplicação para identificar quaisquer vulnerabilidades no sistema. Empresas de médio a grande porte podem ter uma equipe de profissionais dedicados em cibersegurança que realizam pentests regularmente como parte de suas auditorias de segurança regulares. O mundo da cibersegurança é muito vasto e detalhado. Mas todo desenvolvedor deve entender algumas ameaças comuns contra aplicações web e maneiras de se proteger delas.
Este módulo não possui perguntas. Marque como concluído.