A Open Web Application Security Project (OWASP) lançou uma lista com as dez maiores falhas e riscos de segurança digital em aplicações web. Cada risco elencado acompanha descrição, exemplos de vulnerabilidades, possibilidades de ataques e as contramedidas indicadas. Esse relatório é uma ótima referência para programas de segurança e até educação de segurança na web.

A lista de 2017 apresenta três novidades que não haviam sido abordadas na última edição do relatório OWASP, em 2013, quando foi inicialmente lançado. O projeto da lista “Top 10” para conscientização sobre segurança em aplicações web através da identificação dos riscos mais críticos teve dados coletados e apresentados à comunidade, que opinou e propôs modificações. Depois, as informações foram categorizadas pela OWASP e transformadas no relatório que você pode baixar clicando aqui (PDF).

O objetivo é orientar e ajudar desenvolvedores, arquitetos de sistemas, analistas e até organizações na concepção, operação e manutenção de aplicativos que possam ser confiáveis. A fundação OWASP tem como valores produzir conteúdo gratuito, ser transparente com relação às finanças, apoiar inovações e experiências para soluções para desafios de segurança de software e atender a comunidade de todo o mundo.

Por que devo me preocupar com segurança na web?

É importante ficar atento à segurança das suas aplicações para não colocar em risco a sua empresa e os seus clientes. Ataques cibernéticos afetam empresas no mundo inteiro, com atitudes como bloqueio de informações e exigência de pagamento de um “resgate” para destravá-las.

Em maio deste ano, por exemplo, hackers conseguiram invadir servidores de empresas usando brechas de segurança encontradas pela Agência de Segurança Nacional americana (NSA), com perdas que vão além das financeiras. As telas dos computadores das empresas atingidas (incluindo hospitais britânicos) exibiam mensagens exigindo pagamento em bitcoin para que o servidor fosse liberado novamente.

O ataque, batizado como WannaCry, atingiu mais de 200 mil computadores em 150 países, segundo a BBC. Como falamos neste artigo aqui, essa é uma prova de que devemos sim investir e testar a segurança dos nossos sistemas, ainda que tudo pareça estar funcionando normalmente.

Cibercrimes (crimes envolvendo redes e computadores) podem envolver roubos, lavagem de dinheiro, distribuição de pornografia infantil e coleta de dados para uso do crime organizado. Além disso, não trabalhar a segurança na internet pode deixar sua empresa vulnerável e aberta para exploração de criminosos. Por isso, é imprescindível se preocupar com esse ponto. Vamos ver as orientações do relatório OWASP.

Imagem do ataque em maio divulgada pelo portal de notícias JOTA.

Imagem do ataque em maio divulgada pelo portal de notícias JOTA.

O que há de novo no relatório OWASP?

Após disponibilizar os estudos para a comunidade internacional, a OWASP fechou seu relatório Top 10 baseada em conjuntos de dados de empresas especializadas em aplicações de segurança, como fornecedoras de produtos ou consultoria. Veja os tópicos elencados neste ano comparados ao relatório anterior:

TOP 10 segurança digital relatório owasp

Três riscos de segurança digital de aplicativos web categorizados são novos em relação ao relatório anterior: entidades externas XML (XXE), desserialização insegura e registro e monitoramento insuficientes. Vamos analisar cada um deles:

XML Entidades Externas (XXE)

Essa vulnerabilidade permite que um invasor conduza ataques de falsificação de solicitação do servidor e use e abuse dos recursos disponíveis que são usados em analisadores XML, conhecidos como entidades externas. Por meio deles, o servidor onde o analisador XML está pode ser verificado remotamente. O invasor pode extrair dados, forjar solicitações, verificar sistemas internos e escalar ações na rede acessada.

Para prevenir esse ataque, é essencial treinar o desenvolvedor para identificar e mitigar o XXE. O relatório aponta dicas de boas práticas, como:

  • sempre que possível, use formatos de dados menos complexos, para evitar a serialização de dados sensíveis;
  • atualize os processadores e bibliotecas XML em uso pelo aplicativo;
  • implemente a validação de entrada do lado do servidor positiva (“whitelisting”);
  • considere usar gateways de segurança ou firewalls de aplicativos da Web para detectar, monitorar e bloquear ataques XXE.

Desserialização insegura

“Desserializar” significa recuperar dados (ou estado de um objeto) a partir de um conjunto de bytes, garantindo que eles representem as mesmas informações. Se isso não é feito com a devida segurança, um invasor pode executar remotamente o código dentro de um aplicativo. Esse acesso pode ser usado em escala, adaptado por exemplo para elevar os privilégios do invasor no servidor, tornando o aplicativo ainda mais vulnerável. Com isso, o invasor pode controlar toda a rede interna e aumentar ainda mais os ataques. Esse caso já foi visto em projetos desenvolvidos em várias linguagens, como Java, PHP, ASP.NET e Python.

A prevenção indicada está baseada em não aceitar objetos serializados de fontes não confiáveis, ou então:

  • implementar verificações de integridade como assinaturas digitais nos objetos serializados, evitando a criação de objetos hostis e alteração de dados;
  • isolar e executar o código que desserializa em ambientes de baixos privilégios;
  • restringir ou monitorar a rede de entrada e de saída;
  • monitorar desserialização, alertando o sistema se um usuário desserializa constantemente.

Registro e monitoramento insuficientes

Essa é uma vulnerabilidade encontrada em muitos aplicativos disponíveis no mercado. Ela refere-se a situações em que um aplicativo não está registrando corretamente e (ou) monitora eventos que normalmente se relacionam com um invasor que examina vulnerabilidades. Por exemplo, quando um invasor faz pedidos para um sistema de autenticação sem monitoramento, o aplicativo vulnerável permite solicitações ilimitadas para adivinhar as credenciais de um usuário. Como os pedidos não estão sendo monitorados, o invasor tem quantas tentativas forem necessárias disponíveis até que atinja seu objetivo. Quando ele conseguir, já não será possível reverter.

As prevenções indicadas pela OWASP são:

  • certificar-se de que todos os logins e falhas de controle de acesso podem ser registradas com um contexto de usuário suficiente para identificar contas suspeitas ou mal-intencionadas, e mantidas em espera por tempo suficiente para análises;
  • assegurar que as transações de alto valor tenham uma trilha de auditoria e controle, para evitar adulteração ou exclusão;
  • estabelecer monitoramento e alerta eficazes para detectar atividades suspeitas e responder em tempo hábil;
  • adotar um plano de resposta e recuperação de incidentes, como o NIST 800-61.

Conclusão

Vale ressaltar que alguns dos riscos apontados no relatório de 2013 não foram exatamente eliminados, mas sim combinados como práticas em um tópico específico. Outro ponto é que os tópicos foram reordenados de acordo com o maior risco que podem oferecer. A falsificação de solicitações entre sites e os redirecionamentos e encaminhamentos não validados, presentes no relatório OWASP Top 10 2013, foram descartados (o que não quer dizer que essas duas vulnerabilidades não sejam mais importantes e não requeiram atenção!).

Sabemos que criar uma aplicação totalmente segura é um desafio. Mas a segurança digital é determinante para o sucesso da sua empresa ou do seu negócio, por isso queremos te ajudar a encontrar e implantar soluções adequadas para a sua área de atuação.

Estamos preparados para analisar seu produto conforme a OWASP Top 10 2017. Saiba como se proteger: me mande um e-mail em bruno.abreu@sofist.com.br ou ligue em (19) 3291-5321 para mais informações.