As funcionalidades dos sistemas modernos de proteção de aplicações (WAF) devem ser muito mais amplas do que a lista de vulnerabilidades do OWASP Top 10.

Retrospetiva

A escala, a composição e a estrutura das ciberameaças para aplicações estão em rápida evolução. Durante muitos anos, os usuários acessaram aplicações web pela internet através de navegadores populares. Em todo momento, era necessário manter de 2 a 5 navegadores, e o conjunto de padrões para o desenvolvimento e teste de aplicações web era bastante limitado. Por exemplo, quase todos os bancos de dados foram construídos usando SQL. Infelizmente, após um curto período, os hackers aprenderam a usar aplicações web para roubo, eliminação ou modificação de dados. Eles obtiveram acesso ilegal e abusaram das capacidades das aplicações utilizando várias táticas, incluindo enganar os usuários das aplicações, injeção e execução remota de código. Logo, surgiram no mercado ferramentas comerciais de proteção para aplicações web, chamadas de Firewalls de Aplicações Web (WAF), e a sociedade reagiu à criação de um projeto aberto para garantir a segurança de aplicações web, o Open Web Application Security Project (OWASP), com o objetivo de definir e manter padrões e metodologias para o desenvolvimento de aplicações seguras.

Proteção Básica de Aplicações

Lista OWASP Top 10 é um ponto de partida para garantir a segurança das aplicações e contém uma lista das ameaças mais perigosas e configurações incorretas que podem levar a vulnerabilidades nas aplicações, assim como táticas para detectar e repelir ataques. A OWASP Top 10 é um marco reconhecido na indústria de cibersegurança de aplicações em todo o mundo e define uma lista básica de capacidades que um sistema de proteção de aplicações web (WAF) deve possuir.

Além disso, a funcionalidade do WAF deve considerar outros ataques comuns a aplicações web, incluindo falsificação de requisições entre sites (CSRF), clickjacking, web scraping e inclusão de arquivos (RFI/LFI).

Ameaças e desafios para a segurança de aplicações modernas

Atualmente, nem todos os aplicativos têm versões online. Existem aplicativos em nuvem, aplicativos móveis, APIs e, nas arquiteturas mais recentes, até funções de software individuais. Todos esses tipos de aplicativos precisam ser sincronizados e monitorados, pois criam, modificam e processam nossos dados. Com o surgimento de novas tecnologias e paradigmas, novas complexidades e desafios aparecem em todas as etapas do ciclo de vida dos aplicativos. Isso inclui a integração de desenvolvimento e operação (DevOps), contêineres, Internet das Coisas (IoT), ferramentas de código aberto, APIs, entre outros.

A distribuição de aplicativos e a diversidade de tecnologias criam problemas complexos não apenas para especialistas em segurança da informação, mas também para os fabricantes de soluções de segurança, que não podem mais depender de uma abordagem unificada. As ferramentas de proteção de aplicativos devem levar em conta suas especificidades comerciais para evitar falsos positivos e preservar a qualidade dos serviços para os usuários.

O objetivo final dos hackers geralmente é tanto roubar dados quanto interromper a disponibilidade dos serviços. Os criminosos também aproveitam a evolução tecnológica. Primeiramente, o desenvolvimento de novas tecnologias cria mais brechas e vulnerabilidades potenciais. Em segundo lugar, seu arsenal inclui mais ferramentas e conhecimentos para contornar as proteções tradicionais. Isso aumenta consideravelmente a chamada 'superfície de ataque' e a suscetibilidade das organizações a novos riscos. As políticas de segurança devem ser constantemente ajustadas em resposta às mudanças nas tecnologias e aplicativos.

Assim, os aplicativos precisam ser protegidos contra a crescente diversidade de métodos e fontes de ataques, e a repelação de ataques automáticos deve ser realizada em tempo real com base em decisões informadas. Como resultado, os custos operacionais e o trabalho manual aumentam em meio a posições de segurança enfraquecidas.

Tarefa nº 1: Gestão de Bots

Mais de 60% do tráfego na internet é gerado por bots, sendo que metade desse tráfego é considerado 'malicioso' (segundo dados do relatório de segurança da Radware). As organizações investem em aumentar a capacidade da rede, na verdade, lidando com uma carga fictícia. A distinção exata entre o tráfego de usuários reais e o tráfego de bots, assim como entre bots 'bons' (como crawlers de busca e serviços de comparação de preços) e bots 'ruins', pode resultar em economias significativas e em um aumento da qualidade dos serviços para os usuários.

Os bots não vão facilitar essa tarefa e podem imitar o comportamento de usuários reais, contornando CAPTCHAs e outros obstáculos. Além disso, em caso de ataques usando IPs dinâmicos, a proteção baseada em filtragem de IP se torna ineficaz. Muitas vezes, ferramentas de código aberto (por exemplo, Phantom JS), que podem executar JavaScript do cliente, são usadas para realizar ataques de força bruta (brute-force), ataques de preenchimento de credenciais (credential stuffing), ataques DDoS e ataques automatizados de bots.

Para uma gestão eficaz do tráfego de bots, é necessária uma identificação única de sua fonte (como uma impressão digital). Como em caso de ataque de bots há muitos registros, a impressão digital permite identificar atividades suspeitas e atribuir pontuações, com base nas quais o sistema de proteção de aplicativos toma decisões informadas — bloquear/permitir — com um índice mínimo de falsos positivos.

As funcionalidades dos sistemas modernos de proteção de aplicações (WAF) devem ser muito mais amplas do que a lista de vulnerabilidades do OWASP Top 10.

Tarefa nº 2: Proteção de API

Muitos aplicativos coletam informações e dados de serviços com os quais interagem através de APIs. Ao transmitir dados confidenciais através de APIs, mais de 50% das organizações não realizam nenhuma verificação ou proteção das APIs para detectar ciberataques.

Exemplos de uso de API:

  • Integração da Internet das Coisas (IoT)
  • Interação entre máquinas
  • Ambientes sem servidor
  • Aplicativos móveis
  • Aplicações gerenciadas por eventos

As vulnerabilidades de API são semelhantes às vulnerabilidades de aplicativos e incluem injeções, ataques a protocolos, manipulação de parâmetros, redirecionamentos e ataques de bots. Os gateways de API dedicados garantem a compatibilidade dos serviços de aplicativos que interagem por meio da API. No entanto, eles não garantem a segurança end-to-end do aplicativo, como um WAF permite com as ferramentas de segurança necessárias, como análise de cabeçalhos HTTP, lista de controle de acesso Layer 7 (ACL), análise e validação de cargas úteis JSON/XML, bem como proteção contra todas as vulnerabilidades da lista OWASP Top 10. Isso é alcançado por meio da inspeção de valores-chave da API usando modelos positivos e negativos.

Tarefa nº 3: Negação de serviço

O antigo vetor de ataque — a negação de serviço (DoS) — continua a provar sua eficácia em ataques a aplicativos. Os agressores possuem um conjunto completo de técnicas bem-sucedidas para interromper o funcionamento dos serviços de aplicativos, incluindo inundações HTTP ou HTTPS, ataques de baixa potência e lentos (como Low-and-Slow, por exemplo, SlowLoris, LOIC, Torshammer), ataques usando endereços IP dinâmicos, estouro de buffer, ataques de força bruta e muitos outros. Com o desenvolvimento da Internet das Coisas e o subsequente surgimento de botnets IoT, os ataques a aplicativos se tornaram um foco principal dos ataques DDoS. A maioria dos WAFs com monitoramento de estado de conexão pode resistir apenas a uma quantidade limitada de carga. No entanto, eles podem inspecionar fluxos de tráfego HTTP/S e eliminar o tráfego de ataques e conexões maliciosas. Após a identificação de um ataque, não faz sentido reenviar esse tráfego. Como a largura de banda do WAF para refletir ataques é limitada, uma solução adicional na periferia da rede é necessária para bloquear automaticamente os próximos pacotes "ruins". Para esse cenário de proteção, ambas as soluções devem ter a capacidade de interagir entre si para trocar informações sobre ataques.

As funcionalidades dos sistemas modernos de proteção de aplicações (WAF) devem ser muito mais amplas do que a lista de vulnerabilidades do OWASP Top 10.
Fig 1. Organização da proteção abrangente de rede e aplicativos usando soluções Radware

Tarefa nº 4: Proteção contínua

Os aplicativos estão frequentemente sujeitos a mudanças. Metodologias de desenvolvimento e implantação, como a continuidade de atualizações, significam que as modificações ocorrem sem intervenção e supervisão humanas. Em tais condições dinâmicas, é difícil manter políticas de segurança eficazes sem um alto número de falsos positivos. Aplicativos móveis são atualizados com muito mais frequência do que aplicativos da web. Aplicativos de terceiros podem mudar sem o seu conhecimento. Algumas organizações buscam maior controle e visibilidade para se manter a par dos riscos potenciais. No entanto, isso nem sempre é viável, e uma proteção confiável de aplicativos deve utilizar capacidades de aprendizado de máquina para considerar e visualizar os recursos disponíveis, analisar potenciais ameaças e criar e otimizar políticas de segurança em caso de modificação de aplicativos.

Como resultado, obtemos um serviço de "monitoramento como serviço", automatizado na linha de produção de integração contínua. O desenvolvedor ou testador precisa apenas definir a lista de métricas em um arquivo JSON, e tudo o mais acontece automaticamente. Obtemos um controle de qualidade transparente dos lançamentos: todas as notificações sobre desempenho, consumo de recursos ou regressões arquitetônicas.

À medida que os aplicativos desempenham um papel cada vez mais importante na vida cotidiana, eles se tornam um alvo principal para hackers. O potencial lucro para os criminosos e as perdas potenciais para os negócios são enormes. A complexidade da tarefa de garantir a segurança dos aplicativos não pode ser exagerada, considerando o número e a variedade de aplicativos e ameaças.

Felizmente, estamos em um momento em que a inteligência artificial pode nos ajudar. Algoritmos baseados em aprendizado de máquina proporcionam proteção adaptativa em tempo real contra as ameaças cibernéticas mais avançadas direcionadas a aplicativos. Eles também atualizam automaticamente as políticas de segurança para proteger aplicativos web, móveis e em nuvem — assim como APIs — sem falsos positivos.

É difícil prever com precisão como será a nova geração de ameaças cibernéticas para aplicativos (possivelmente também baseadas em aprendizado de máquina). Mas as organizações certamente podem tomar medidas para proteger os dados dos clientes, a propriedade intelectual e garantir a disponibilidade dos serviços, com grande benefício para os negócios.

Abordagens e métodos eficazes para garantir a segurança de aplicativos, principais tipos e vetores de ataque, áreas de risco e lacunas na cibersegurança de aplicativos web, bem como experiências e melhores práticas globais são apresentadas no estudo e relatório da Radware “Segurança de Aplicações Web em um Mundo Digitalmente Conectado”.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster