EITC/IS/WASF Web Applications Security Fundamentals é o programa europeu de Certificação de TI sobre aspectos teóricos e práticos da segurança de serviços da World Wide Web, desde a segurança de protocolos básicos da Web, passando pela privacidade, ameaças e ataques em diferentes camadas de tráfego da Web, comunicação de rede, segurança de servidores, segurança em camadas superiores, incluindo navegadores e aplicativos da web, bem como autenticação, certificados e phising.
O currículo dos Fundamentos de Segurança de Aplicativos Web do EITC/IS/WASF abrange a introdução aos aspectos de segurança da Web em HTML e JavaScript, DNS, HTTP, cookies, sessões, ataques de cookies e sessões, Política de Mesma Origem, Falsificação de Solicitação entre Sites, exceções ao mesmo Política de origem, Cross-Site Scripting (XSS), defesas de Cross-Site Scripting, impressão digital na web, privacidade na web, DoS, phishing e canais laterais, Negação de serviço, phishing e canais laterais, ataques de injeção, injeção de código, transporte segurança de camada (TLS) e ataques, HTTPS no mundo real, autenticação, WebAuthn, gerenciamento de segurança na web, preocupações de segurança no projeto Node.js, segurança do servidor, práticas de codificação seguras, segurança do servidor HTTP local, ataques de religação de DNS, ataques de navegador, navegador arquitetura, além de escrever código de navegador seguro, dentro da estrutura a seguir, englobando conteúdo didático em vídeo abrangente como referência para esta Certificação EITC.
A segurança de aplicativos da Web é um subconjunto de segurança de informações que se concentra em sites, aplicativos da Web e segurança de serviços da Web. A segurança de aplicativos da Web, em seu nível mais básico, é baseada em princípios de segurança de aplicativos, mas os aplica particularmente à Internet e às plataformas da Web. As tecnologias de segurança de aplicativos da Web, como firewalls de aplicativos da Web, são ferramentas especializadas para trabalhar com tráfego HTTP.
O Open Web Application Security Project (OWASP) oferece recursos gratuitos e abertos. Uma Fundação OWASP sem fins lucrativos é responsável por isso. O OWASP Top 2017 de 10 é o resultado de um estudo atual baseado em extensos dados coletados de mais de 40 organizações parceiras. Aproximadamente 2.3 milhões de vulnerabilidades foram detectadas em mais de 50,000 aplicativos usando esses dados. As dez principais preocupações de segurança de aplicativos online mais críticas, de acordo com o OWASP Top 10 – 2017, são:
- Injeção
- Problemas de autenticação
- Entidades externas XML de dados confidenciais expostos (XXE)
- Controle de acesso que não está funcionando
- Configuração incorreta de segurança
- Script de site a site (XSS)
- Desserialização que não é segura
- Usando componentes que têm falhas conhecidas
- O registro e o monitoramento são insuficientes.
Portanto, a prática de defender sites e serviços online contra várias ameaças de segurança que exploram pontos fracos no código de um aplicativo é conhecida como segurança de aplicativos da web. Sistemas de gerenciamento de conteúdo (por exemplo, WordPress), ferramentas de administração de banco de dados (por exemplo, phpMyAdmin) e aplicativos SaaS são alvos comuns de ataques a aplicativos online.
Os aplicativos da Web são considerados alvos de alta prioridade pelos criminosos porque:
- Devido à complexidade de seu código-fonte, vulnerabilidades autônomas e modificação de código malicioso são mais prováveis.
- Recompensas de alto valor, como informações pessoais confidenciais obtidas por meio de adulteração eficaz do código-fonte.
- Facilidade de execução, porque a maioria dos ataques pode ser prontamente automatizada e implantada indiscriminadamente contra milhares, dezenas ou mesmo centenas de milhares de alvos de uma só vez.
- As organizações que não protegem seus aplicativos da Web ficam vulneráveis a ataques. Isso pode levar ao roubo de dados, relacionamentos com clientes tensos, licenças canceladas e ações legais, entre outras coisas.
Vulnerabilidades em sites
As falhas de sanitização de entrada/saída são comuns em aplicativos da Web e são frequentemente exploradas para alterar o código-fonte ou obter acesso não autorizado.
Essas falhas permitem a exploração de uma variedade de vetores de ataque, incluindo:
- SQL Injection – Quando um criminoso manipula um banco de dados de back-end com código SQL malicioso, as informações são reveladas. A navegação ilegal na lista, a exclusão da tabela e o acesso não autorizado do administrador estão entre as consequências.
- XSS (Cross-site Scripting) é um ataque de injeção que visa usuários para obter acesso a contas, ativar cavalos de Troia ou alterar o conteúdo da página. Quando um código malicioso é injetado diretamente em um aplicativo, isso é conhecido como XSS armazenado. Quando um script malicioso é espelhado de um aplicativo para o navegador de um usuário, isso é conhecido como XSS refletido.
- Inclusão de Arquivo Distante – Essa forma de ataque permite que um hacker injete um arquivo em um servidor de aplicativos da Web a partir de um local remoto. Isso pode levar à execução de scripts ou códigos perigosos no aplicativo, bem como roubo ou modificação de dados.
- Cross-site Request Forgery (CSRF) – Um tipo de ataque que pode resultar em uma transferência não intencional de dinheiro, alterações de senha ou roubo de dados. Ocorre quando um programa malicioso da Web instrui o navegador de um usuário a realizar uma ação indesejada em um site no qual ele está conectado.
Em teoria, a sanitização efetiva de entrada/saída pode erradicar todas as vulnerabilidades, tornando um aplicativo imune a modificações não autorizadas.
No entanto, como a maioria dos programas está em um estado perpétuo de desenvolvimento, a sanitização abrangente raramente é uma opção viável. Além disso, os aplicativos geralmente são integrados uns aos outros, resultando em um ambiente codificado que está se tornando cada vez mais complexo.
Para evitar tais perigos, soluções e processos de segurança de aplicativos da Web, como a certificação PCI Data Security Standard (PCI DSS), devem ser implementados.
Firewall para aplicativos da web (WAF)
WAFs (firewalls de aplicativos da Web) são soluções de hardware e software que protegem aplicativos contra ameaças de segurança. Essas soluções são projetadas para inspecionar o tráfego de entrada para detectar e bloquear tentativas de ataque, compensando eventuais falhas de sanitização de código.
A implantação do WAF atende a um critério crucial para a certificação PCI DSS, protegendo os dados contra roubo e modificação. Todos os dados do titular do cartão de crédito e débito mantidos em banco de dados devem ser resguardados, conforme Requisito 6.6.
Como ele é colocado à frente de sua DMZ na borda da rede, o estabelecimento de um WAF geralmente não exige nenhuma alteração em um aplicativo. Em seguida, ele serve como um gateway para todo o tráfego de entrada, filtrando solicitações perigosas antes que elas possam interagir com um aplicativo.
Para avaliar qual tráfego tem permissão de acesso a um aplicativo e qual deve ser eliminado, os WAFs empregam uma variedade de heurísticas. Eles podem identificar rapidamente atores mal-intencionados e vetores de ataque conhecidos graças a um pool de assinaturas atualizado regularmente.
Quase todos os WAFs podem ser adaptados para casos de uso individuais e regulamentos de segurança, bem como para combater ameaças emergentes (também conhecidas como zero-day). Por fim, para obter informações adicionais sobre os visitantes que chegam, as soluções mais modernas usam dados de reputação e comportamento.
Para construir um perímetro de segurança, os WAFs geralmente são combinados com soluções de segurança adicionais. Isso pode incluir serviços de prevenção distribuídos de negação de serviço (DDoS), que fornecem a escalabilidade extra necessária para evitar ataques de alto volume.
Lista de verificação para segurança de aplicativos da web
Há uma variedade de abordagens para proteger aplicativos da Web além dos WAFs. Qualquer lista de verificação de segurança de aplicativos da Web deve incluir os seguintes procedimentos:
- Coletando dados — Percorra o aplicativo manualmente, procurando pontos de entrada e códigos do lado do cliente. Classifique o conteúdo hospedado por terceiros.
- Autorização — Procure travessias de caminho, problemas de controle de acesso vertical e horizontal, autorização ausente e referências de objeto diretas e inseguras ao testar o aplicativo.
- Proteja todas as transmissões de dados com criptografia. Alguma informação sensível foi criptografada? Você empregou algum algoritmo que não está à altura? Existem erros de aleatoriedade?
- Negação de serviço — Teste antiautomação, bloqueio de conta, protocolo HTTP DoS e SQL curinga DoS para melhorar a resiliência de um aplicativo contra ataques de negação de serviço. Isso não inclui segurança contra ataques DoS e DDoS de alto volume, que exigem uma combinação de tecnologias de filtragem e recursos escaláveis para resistir.
Para mais detalhes, pode-se verificar o OWASP Web Application Security Testing Cheat Sheet (também é um ótimo recurso para outros tópicos relacionados à segurança).
Proteção contra DDoS
Ataques DDoS, ou ataques distribuídos de negação de serviço, são uma maneira típica de interromper um aplicativo da web. Existem várias abordagens para mitigar ataques DDoS, incluindo o descarte de tráfego de ataque volumétrico em Content Delivery Networks (CDNs) e o emprego de redes externas para rotear adequadamente solicitações genuínas sem causar uma interrupção de serviço.
Proteção DNSSEC (Extensões de Segurança do Sistema de Nomes de Domínio)
O sistema de nomes de domínio, ou DNS, é a agenda telefônica da Internet e reflete como uma ferramenta da Internet, como um navegador da Web, encontra o servidor relevante. Envenenamento de cache DNS, ataques no caminho e outros meios de interferir no ciclo de vida de pesquisa de DNS serão usados por agentes mal-intencionados para sequestrar esse processo de solicitação de DNS. Se o DNS é o catálogo telefônico da Internet, o DNSSEC é um identificador de chamadas infalível. Uma solicitação de pesquisa de DNS pode ser protegida usando a tecnologia DNSSEC.
Para se familiarizar em detalhes com o currículo de certificação, você pode expandir e analisar a tabela abaixo.
O EITC/IS/WASF Web Applications Security Fundamentals Certification Curriculum faz referência a materiais didáticos de acesso aberto em formato de vídeo. O processo de aprendizagem é dividido em uma estrutura passo a passo (programas -> aulas -> tópicos) que cobre partes curriculares relevantes. Consultoria ilimitada com especialistas de domínio também são fornecidos.
Para obter detalhes sobre o procedimento de Certificação, verifique Como funciona.
Baixe os materiais preparatórios completos de autoaprendizagem off-line para o programa EITC/IS/WASF Web Applications Security Fundamentals em um arquivo PDF
Materiais preparatórios EITC/IS/WASF – versão padrão
Materiais preparatórios do EITC/IS/WASF – versão estendida com perguntas de revisão