Aparência de segurança da Web do lado do cliente

A tradução do artigo foi preparada antecipando o início do curso "Segurança de aplicativos da Web" .








Neste artigo, o primeiro de três, veremos as ameaças à segurança da Web e como as ferramentas de segurança do lado do cliente lidam com uma classe de ataques cibernéticos geralmente ignorada, como o Magecart . Ele descreve técnicas tradicionais de defesa contra ameaças à segurança da Web, baseadas em padrões do lado do cliente, como política de segurança de conteúdo e integridade de sub-recursos. Essas abordagens em evolução são exibidas no contexto de uma plataforma de segurança representativa do lado do cliente.



Introdução



Talvez a pedra angular da segurança cibernética como disciplina profissional seja sua variabilidade contínua. Ou seja, assim que surgem ataques cibernéticos que afetam aspectos de confidencialidade, integridade ou disponibilidade de alguns recursos da Internet, são desenvolvidas soluções apropriadas para eliminá-los. Assim que essas soluções são integradas à infraestrutura do recurso comprometido, aparecem novos ataques cibernéticos, novas soluções são inventadas e o ciclo é encerrado.



Em alguns casos, as soluções cibernéticas defensivas têm mecanismos que antecipam novas formas de ataques maliciosos - e nos casos em que isso funciona, os riscos à segurança podem ser evitados em muitos cenários. Por exemplo, a autenticação de dois fatores foi criada como uma medida contra a adivinhação de senha e agora é um componente de segurança importante no desenvolvimento de novos protocolos para comunicação entre dispositivos IoT .



Em nenhum lugar o processo de ameaças emergentes e de superação é mais evidente do que na área de segurança da web, também chamada de segurança de aplicativos da web. Dado que ativos valiosos geralmente são processados ​​e gerenciados por meio de interfaces da web, o valor das explorações da web continua a crescer. Uma das conseqüências desse crescimento é que, apesar das muitas tecnologias para proteger os recursos da Web, a diferença entre o número de ataques e o nível de proteção está aumentando.



A principal premissa para a criação desta série técnica de artigos é uma lacuna no campo da segurança na Web, que aparece devido ao fato de a maioria dos aplicativos serem executados em navegadores modernos. A comunidade de segurança da Web há muito tempo reconhece a necessidade de implantar elementos funcionais para proteger contra vulnerabilidades do servidor que distribuem estática e conteúdo para os clientes. No entanto, pouca atenção foi dada à segurança do cliente, que é igualmente atraente para os invasores, mas é amplamente ignorada pela infraestrutura de segurança atual.



Nesta série de três partes, queremos preencher essa lacuna. Na primeira parte, falaremos sobre os ataques cibernéticos mais comuns em sites. Na segunda parte, consideraremos as soluções de segurança da Web que são mais frequentemente implantadas na produção hoje. E na terceira parte, falaremos sobre como uma solução de segurança representativa no lado do cliente pode ajudar a encontrar vulnerabilidades na infraestrutura que podem ser exploradas pelos invasores.



Ataques comuns a sites



Em meados dos anos 90 do século passado, juntamente com as idéias de Tim Berners-Lee, do nível de protocolos de transferência de hipertexto e linguagens de marcação para o protocolo Internet (IP), também havia meios de atacar as infraestruturas, sistemas e aplicativos que compõem a chamada web ou rede. Nasceu então uma disciplina como segurança na Web, que pode ser definida como um conjunto de medidas de proteção necessárias para o gerenciamento de riscos no campo da segurança da computação em rede.



Como seria de esperar, a taxonomia dos problemas de segurança da web evoluiu rapidamente em diferentes direções, mas os estágios iniciais se concentraram em impedir ataques de negação de serviço, proteger a infraestrutura de hospedagem e garantir o fluxo livre de conteúdo da web para os usuários. Esse foco na acessibilidade foi motivado pelo fato de que, se um site estiver inoperante ou não estiver funcionando como esperado, as transações eletrônicas não poderão prosseguir com segurança, com receitas óbvias.



Além dos problemas no nível da infraestrutura, foi levado em consideração que os problemas no nível do aplicativo também podem ter sérias conseqüências, principalmente para clientes que visitam um site. Assim nasceu o chamadoameaça no campo da segurança de rede , que evoluiu de um pequeno problema para um grande problema de segurança. Ainda hoje, encontrar um aplicativo da Web vulnerável é fácil.



Nos últimos anos, surgiu um conjunto padrão de estratégias ofensivas extremamente difíceis de suprimir. A intromissão desses problemas decorre da complexidade do desenvolvimento de muitos aplicativos da Web e da relativa inexperiência e ignorância de muitos administradores de rede. Abaixo, descrevemos quatro estratégias que levam a vulnerabilidades na infraestrutura de comércio eletrônico e criam problemas para muitas empresas e suas equipes de segurança.



Script entre sites (XSS)



O ataque mais comum da camada de aplicativo é o script entre sites, ou simplesmente o XSS . Na essência, um ataque entre sites é uma técnica chamada injeção, que é quando um invasor encontra uma maneira de injetar um script de terceiros em um site e fazê-lo funcionar. O objetivo final é que o aplicativo da Web direcionado envie o código do invasor ao navegador do usuário sem o conhecimento deste. Um ataque XSS funciona melhor quando um site aceita, processa e consome entradas sem muita validação.



O objetivo final é injetar código no navegador de outra pessoa. O usuário comprometido espera que todos os scripts futuros sejam seguros, pois todo o conteúdo dinâmico é proveniente do site visitado e supostamente confiável. O navegador do usuário executará esse código, geralmente em JavaScript, revelando ao invasor informações confidenciais, como tokens de sessão ou cookies. O código XSS também pode redirecionar o usuário para um site infectado.





Figura 1. Esquema de um ataque XSS



Organizações como o Open Web Application Security Project ( OWASP) oferecem várias proteções contra ataques XSS. Suas recomendações, muitas das quais ainda são ignoradas pelos profissionais, incluem procedimentos significativos de escrita de código e administração de recursos da Web que melhoram o processamento de dados provenientes dos usuários. A maioria delas envolve uma melhor validação de entrada no servidor, que é uma medida de segurança bem-vinda e deve estar presente em qualquer ecossistema de rede.



Injeção de conteúdo e anúncio



Nos últimos anos, os ataques de conteúdo e injeção de anúncios, conhecidos como malvertising, tornaram-se cada vez mais comuns . Essa tendência, no entanto, não deve ser uma surpresa, dada a ascensão do ecossistema de publicidade on-line como a força motriz por trás dos negócios atuais. Estima-se que a publicidade on-line esteja atingindo US $ 100 bilhões, e hackers e criminosos estão cientes dessa tendência e aproveitam as vulnerabilidades disponíveis.



O princípio de operação da publicidade maliciosaSemelhante ao XSS: os invasores encontram uma maneira de injetar seu código nos sites por meio de redes de anúncios legítimas. O objetivo também é semelhante ao XSS, é redirecionar os visitantes de um site para outro site de destino com código malicioso, que é o principal de qualquer ataque, como, por exemplo, roubo de identidade.



Algumas pessoas falam sobre o processo de injeção como um download drive-by . Este termo refere-se a um usuário que visualiza anúncios em um navegador com uma vulnerabilidade (que, infelizmente, é um cenário muito comum). Quando um usuário interage com um anúncio, ocorre um redirecionamento, o que resulta em malware atingindo um visitante inocente do site.





Figura 2. Download drive-by via Malvertising

A solução tradicional para esse problema é usar um controle como um firewall de aplicativo da web (WAF). O WAF será configurado para usar análises comportamentais ou baseadas em assinaturas para interromper a execução de código malicioso de fontes não confiáveis. Como no XSS, essa proteção no servidor é comumente usada em ecossistemas de publicidade como um elemento de controle principal. A abordagem descrita é aplicável à publicidade maliciosa , mas não funcionará contra todas as formas de ataques.



Magecart



O grupo de hackers Magecart surgiu há vários anos, tendo começado a aterrorizar sites com um ataque como o roubo de cartões. Geralmente, os grupos de hackers aparecem e desaparecem rapidamente, mas a Magecart há muito tempo deixa nervoso os sites e aplicativos da web das empresas. Um grande número de organizações foi invadido e as soluções de segurança não eram óbvias para a maioria das vítimas.



Ataque homem-no-meioda Magicart é bastante simples: primeiro, o código malicioso é adicionado ao código JavaScript enviado do servidor para o cliente. Em seguida, o código malicioso rastreia e coleta dados confidenciais, como informações sobre os cartões de crédito dos usuários que acessam o site por meio do navegador. Os dados são enviados para um site malicioso e carregados ilegalmente. Tudo é muito simples.





Figura 3. Skimming cards da Magicart



No entanto, o principal problema é que a segurança convencional do lado do servidor não é responsável por um ataque MITB ( Man in the Browser ) , como ocorre no lado do cliente. Por exemplo, firewalls de aplicativos da Web ( WAF) não veem ações JavaScript e não possuem ferramentas de varredura de biblioteca para injeções de código. Quando o ataque é proveniente de sites de terceiros, o resultado fica em cascata, e o que acontece é chamado de retrocesso .






Saiba mais sobre o curso.







All Articles