5 mitos sobre a segurança do seu website.

O site White Hat Security tem divulgado dados preocupantes que demonstram aumentos nos ataques a sites de pequenas e médias empresas em relação ao número de ataques aos das grandes.
Um dos motivos para esta mudança de foco, por parte dos invasores, é que as grandes empresas, agora, têm programas profissionais de segurança na Web — o que já torna mais difícil o cracking de seus sites.

Mudaram as vítimas, mas as técnicas de invasão continuam, basicamente, as mesmas.

O propósito deste artigo é questionar e, quem sabe, ajudar a desconstruir 5 dos maiores mitos sobre a segurança na web.

O SSL deixa o meu site mais seguro?

ssl lock
O TSL, sigla para Transport Layer Securty e o seu predecessor, SSL (Secure Sockets Layer), ambos são comumente referenciados pela mesma sigla: SSL.
Trata-se de protocolos criptográficos que oferecem um ambiente de comunicações seguro sobre uma rede de computadores.
O principal objetivo do protocolo é garantir privacidade e integridade à transferência de dados entre o servidor da empresa e o navegador do cliente.
Em outras palavras, sua função é dar ao seu cliente a certeza de que o site que ele está vendo é um site genuíno — e não uma impostura, com o objetivo de fornecer falsas informações ou de obter dados de forma fraudulenta de seus visitantes.
O SSL também assegura que o conteúdo da conversação entre o cliente e o site não possa ser lido, caso seja interceptada.
Se um website for crackeado e passar a ter um comportamento nocivo em relação aos visitantes, tudo o que SSL fará é lhes assegurar que o site é legítimo, genuíno — cumprindo a sua função.

Desta forma, o SSL não tem absolutamente qualquer impacto na segurança do website ou na forma como os seus dados e os de seus usuários são manipulados e guardados.

Por ser um protocolo de transporte de dados, o SSL procura garantir a segurança das informações, enquanto trafegam entre um ponto e outro, na rede.
Os dados armazenados no cliente ou no servidor, não são protegidos por este protocolo — nem ele foi concebido para protegê-los.
Leia mais sobre o SSL: É hora de encriptar toda a Internet? Isto é possível?

Firewalls protegem de ataques externos?

firewall parede corta-fogo
O firewall é um programa ou um equipamento que controla o fluxo de dados em uma rede, baseado em um conjunto de regras.
Sua função é estabelecer uma barreira entre uma rede segura e confiável e outra não considerada tão segura ou tão confiável (a Internet, por exemplo).
A principal função de um firewall é criar restrições ou filtros de acesso entre redes e evitar propagação de acessos ou comportamentos nocivos.
Os firewalls, ou “paredes corta-fogo”, não tem a função de proteger o site em si, seus dados ou a forma como são manipulados.
Portanto, todos os problemas e falhas de segurança de seus aplicativos Web (comércio eletrônico, fóruns, email etc) continuam intocados pela presença de um firewall.

Enquanto o SSL foi concebido para dar segurança ao transporte dos dados, os firewalls foram criados para dar segurança à sua passagem entre redes. Em todos os outros momentos, as vulnerabilidades permanecem inalteradas.

A ideia do firewall é a de separar o tráfego nocivo do “benigno” — o que é feito através de Listas de Controle de Acesso, ou ACL (Access Control List).
O ACL determina o que pode trafegar entre as redes e o que deve ser bloqueado.
Uma vez dentro da sua rede, através de algum dos serviços permitidos pelo(s) firewall(s), um visitante malicioso estaria livre para agir.
Isto quer dizer que o mundo inteiro entra no seu site, usa seus serviços de email, contatos, chat, navega por onde quiser etc — e é aí que mora o perigo.

Scanners de vulnerabilidade de rede são capazes de protegê-la?

satan
Um scanner de vulnerabilidades, é um programa projetado para acessar computadores, sistemas computacionais, redes ou aplicações em busca de pontos falhos na segurança.
Há vários tipos de vulnerability scanners. O que os distingue, entre eles, é o foco dado a problemas específicos.
O ponto em comum é o objetivo de listar as vulnerabilidades encontradas em um ou mais alvos.
No início dos anos 90, o programa SATAN (descontinuado), escrito em Perl, era muito popular entre administradores de sistemas e profissionais de segurança de rede, como software de teste de vulnerabilidades, entre outros.
A lógica é que, após encontrar e resolver todos os problemas de vulnerabilidade o website estará suficientemente seguro na Internet.
Contudo, os scanners de vulnerabilidades não abrangem os aplicativos Web, rodando nos servidores, que podem conter inúmeras falhas de segurança.
Este tipo de software pode ser usado para conduzir testes de reconhecimento da rede — um comportamento típico de um acesso remoto malicioso, com o objetivo de coletar informações ou obter acessos privilegiados e não autorizados à rede.

Os scanners trabalham com seus próprios bancos de dados ou listas, contendo os tipos e os detalhes das vulnerabilidades que devem ser encontradas.
Estas listas são baseadas em falhas já conhecidas.

As fragilidades e pontos de suscetibilidade dos seus aplicativos Web não são conhecidos pelos scanners e, por isto, não serão detectados.
Mesmo tendo um website profundamente comprometido, inseguro e com seus bancos de dados totalmente desprotegidos, você vai receber um sinal verde, informando que tudo está bem.

Os desenvolvedores são sempre culpados pelas falhas?

desenvolvedor digitando
Infelizmente, não é tão fácil encontrar culpados.
Há muitos fatores, fora do controle dos desenvolvedores, que promovem as fragilidades dos sites.
Parte do código (fechado ou não), escrito por terceiros e inserido nos aplicativos web da sua empresa, pode conter vulnerabilidades.

Com prazos curtos para finalizar projetos, os desenvolvedores raramente têm tempo para checar os meandros das linhas de código que chegam através de atualizações e patches.
Código proprietário e fechado, definitivamente, não pode sequer ser auditado.

Além disto, as falhas de segurança podem surgir da simples combinação entre componentes do sistema — e estamos provavelmente falando de milhares de componentes e quantidades exponenciais de possibilidades de combinação.
É humanamente impossível prever ou prevenir todas as falhas, portanto.

Avaliações anuais das vulnerabilidades são suficientes?

O código dos aplicativos Web estão em constante mudança. Muita coisa sofre alterações no período de um ano.
Cada nova versão do aplicativo ou atualização (mesmo que de segurança), traz novos riscos e potenciais pontos fracos a serem explorados por crackers.
Finalizar projetos estratégicos para os negócios é sempre prioritário e (como já foi dito) os desenvolvedores nunca têm tempo para testar todas as possibilidades de quebra da segurança dos aplicativos.
O ideal é ter práticas sempre em curso para resolver problemas de segurança, à medida em que forem detectados.

Conclusão

Se já sabemos que algumas ações não são eficazes para tornar um website mais seguro.
Há várias outras medidas, contudo, que podem ajudar neste sentido e devem ser consideradas com seriedade:

  1. A segurança do website deve ser reavaliada com maior periodicidade e, principalmente, a cada atualização de cada novo componente — cada nova linha de código é, potencialmente, um novo problema de segurança.
  2. Os scanners de vulnerabilidade podem ser usados em conjunto com um processo manual de testes, personalizado e adaptado aos aplicativos que você tem rodando no site.
  3. Aos desenvolvedores cabe nunca confiar nos dados fornecidos por usuários. Sempre preveja a introdução de códigos maliciosos nos formulários — esta é a principal porta de entrada dos crackers.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Referências

https://www.whitehatsec.com/assets/WP5myths041807.pdf.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *