Por que o número de ataques virtuais aumentou e como evitá-los

O número de ataques virtuais está aumentando em todo o mundo. Pelo menos é o que diz o Relatório anual de Vulnerabilidade de Aplicações Web 2016 da Acunetix. A pesquisa foi feita com base em 45 mil sites e redes. E os resultados são assustadores.

Mais de 55% dos sites têm uma ou mais vulnerabilidades de alta gravidade (como XSS e SQL Injection, por exemplo), o que representa um aumento de 9% em apenas um ano. Quando a vulnerabilidade é de média gravidade, 84% dos sites escaneados apresentaram pelo menos um tipo, tal como CSRF.

Mas o que estaria provocando esse aumento tão grande? Com as empresas reduzindo a o máximo ciclo de lançamento de seus produtos, é fácil perceber que muitas vulnerabilidades acabam passando despercebidas. O problema é que as falhas são perigosas para as empresas, tanto em termos de reputação quanto de violação de dados.

O que são riscos de vulnerabilidades

Imagine uma pessoa que represente uma ameaça a um sistema que possa apresentar uma
vulnerabilidade. Essa pessoa apresenta um risco, ou seja, é um agente de ameaça que pode verificar um sistema e encontrar vulnerabilidades, explorando-as e causando um impacto negativo para sua empresa.

Níveis de vulnerabilidade

O nível de vulnerabilidade classifica a gravidade do risco que uma vulnerabilidade representa para a segurança de um sistema, rede ou aplicação. O resultado de um ataque bem sucedido ao explorar uma vulnerabilidade varia, e vai desde a negação de serviço à divulgação de informações sensíveis. Elas podem ser classificadas em:

Gravidade alta

Neste tipo de ataque, o invasor pode comprometer totalmente a confidencialidade, integridade ou disponibilidade de um sistema, mesmo sem acesso especializado, interação do usuário ou circunstâncias que estão além do controle do invasor.

Computer Data Security Concept

Um exemplo é o SQL injection (SQLi). Ao aproveitar uma vulnerabilidade um agente pode utilizá-lo para contornar os mecanismos de autenticação e autorização de uma aplicação web e roubar todo o conteúdo de um banco de dados.

O ataque também pode ser usado para adicionar, modificar e apagar registros em um banco de dados, afetando a integridade dos dados. Entre esses dados, podem estar segredos comerciais, propriedade intelectual e outras informações confidenciais.

Como já abordamos aqui no blog, o SQL Injection foi utilizado em um dos maiores ataques hacker da história. Invasores russos roubaram logins e senhas de aproximadamente 1,2 bilhão de contas em websites diversos. De acordo com uma matéria do New York Times, os hackers atacaram cerca de 420 mil websites.

23% dos alvos do estudo da Acunetix foram considerados vulneráveis ao SQL Injection

Gravidade mediana

Neste caso, o invasor pode comprometer parcialmente a confidencialidade, integridade ou disponibilidade de um sistema. Para atacar uma vulnerabilidade do tipo mediana, o invasor precisa de acesso especializado, interação do usuário, ou outras circunstâncias que estão além do controle do invasor.

Um exemplo é o Cross-Site Request Forgery (CSRF). O ataque explora a relação de confiança entre o usuário e o website, enganando-o até que ele realize ações indesejadas na aplicação em que está autenticado.

Os alvos geralmente são transações cotidianas, mas valiosas, como mudança de e-mail ou dados pessoais. A maneira mais comum de ataque é o envio de e-mail para a vítima com um link ou formulário.

Um exemplo recente do ataque foi o “Golpe da Oi”. O ataque CSRF foi executado via e-mail e alterou as características das configurações dos roteadores e modens no país inteiro.

59% dos pesquisados eram suscetíveis à esse tipo de ataque

Gravidade baixa

O comprometimento da confidencialidade, integridade ou disponibilidade de um sistema é limitado. Um ataque de baixa gravidade precisa ser utilizado em conjunto com outros para ser bem sucedido.

Como diminuir o número de ataques virtuais?

Para diminuir os ataques é preciso diminuir as vulnerabilidades. Veja abaixo algumas formas de fazer isso:

  • Utilizar um framework de desenvolvimento seguro de software;
  • Antes de construir um software ou aplicação, é preciso conhecer os princípios básicos de segurança;
  • Faça uma revisão ampla dos princípios de segurança com toda equipe;
  • Coloque como meta manter a confidencialidade, integridade e disponibilidade dos recursos de informação;
  • Implemente controles de segurança.

teste-de-software

Faça a gestão de vulnerabilidades

Para diminuir as vulnerabilidades, é preciso atuar na fonte, ou seja, na falta de critérios de segurança e cuidado durante o ciclo de desenvolvimento. Gerenciar as vulnerabilidades encontradas em uma aplicação web é fundamental para identificar falhas de segurança antes de um agente malicioso encontrá-las. Além disso, a gestão possibilita a tomada de decisão no que se refere à segurança muito mais assertiva.

Veja quais são os três elementos essenciais para que a gestão de vulnerabilidades seja bem sucedida:

#1 Pessoas

Quem irá trabalhar na segurança da aplicação? A equipe interna? Uma parceira? Lembre-se também de incluir serviços de suporte técnico na equipe responsável por identificar falhas. Coordenando esse trabalho entre desenvolvedores e responsáveis por testar essas aplicações, é visível uma grande diminuição nas vulnerabilidades da empresa.

#2 Tecnologia

Ter ferramentas eficientes para executar testes de segurança também é um preceito fundamental da gestão de vulnerabilidades. Assim, fica mais fácil identificar falhas e tornar a aplicação web mais segura e confiável.

#3 Metodologia

A gestão de vulnerabilidades precisa de uma metodologia. Isso significa que é necessário escolher primeiro os ambientes que serão testados, observar e analisar os resultados para, então, conduzir o desenvolvimento a uma melhoria efetiva e consistente.

Agora que você sabe que o número de ataques aumentou e que sua empresa pode ser alvo a qualquer momento, é hora de investir em segurança. Lembre-se que segurança em aplicações web não é mais opção, e sim um requisito fundamental.

Em qualquer etapa desse processo, a One Day Testing está disposta a te ajudar a manter a segurança do seu software e prevenindo ataques maiores. Fazemos testes controlados para assegurar que seu negócio está totalmente protegido.

Me mande um e-mail em julio.viegas@sofist.com.br ou ligue em (19) 3291-5321. Será um prazer ajudá-lo! =)