quarta-feira, 23 de dezembro de 2009

Vulnerabilidades em sistemas - Parte 1

-->

Define-se como “vulnerabilidade” toda a falha de projeto, implementação ou configuração de um software aplicativo ou sistema operacional, que, quando explorada por pessoas mal intencionadas, resultam numa violação de segurança do sistema. Hoje em dia é bem comum que computadores estejam conectados em rede (lembrando sempre que a Internet é uma rede “mundial”), permitindo que invasores explorem essas vulnerabilidades remotamente, ou seja, numa localidade geográfica distante. Isso significa dizer que uma pessoa acessando a Internet no Japão ou mesmo na casa ao lado, pode explorar uma vulnerabilidade no seu computador.

É importante ressaltar que por maior qualidade que os programas possam ser escritos, não existem programas 100% seguros. As aplicações e mesmo os sistemas operacionais possuem falhas que permitem que invasores possam violar sua segurança. Alguns sistemas possuem mais, outros menos, mas todos possuem falhas. Geralmente os desenvolvedores desses sistemas lançam atualizações, correções (patches) e pacotes de soluções (service packs) que procuram corrigir ou minimizar o efeito de uma determinada falha de programação. Logo, é imprescindível que essas correções sejam aplicadas no computador, diminuindo o risco de um suposto “atacante” explorar uma vulnerabilidade cuja correção já tenha sido lançada pelo fabricante. E acredite, isso acontece e é muito comum. Exemplo:

* Julho de 2001: o vírus "Code Red" infectou 250 mil computadores em questão de 9 horas, tendo impacto econômico de U$2,62 bilhões.
* Setembro de 2001: o "Nimda" ("Admin" ao contrário), infectou 2,2 milhões de computadores, tendo impacto econômico de U$365 milhões.
Note-se que o Nimda explorava a mesma vulnerabilidade explorada pelo Code Red, amplamente divulgada, mas pelo visto, amplamente negligenciada também. Numa comparação grosseira, seria como uma montadora fazer um recall de um veículo por ter encontrado uma falha grave no sistema de freios, mas o motorista ignorar o chamado. Apesar de trabalharmos com a idéia de que 100% de segurança ser inatingível,  manter seus sistemas atualizados sempre diminui os riscos.


Como comentei na definição de vulnerabilidade, ela também pode ser considerada como uma falha de configuração. Seu sistema pode vir com diversos mecanismos de proteção, mas se você não utilizá-los torna-o vulnerável. Você sabia, por exemplo, que é possível desabilitar hyperlinks nas janelas de conversa do Windows Live Messenger? Dessa maneira, mesmo que um usuário infectado por um vírus lhe mande uma mensagem instantânea com um link para uma página fraudulenta, você não conseguirá acessá-la clicando no endereço, precisará copiar e colar o endereço no navegador (o que já lhe dará no mínimo, um pouco mais de tempo para desconfiar do link).

Vamos verificar as vulnerabilidades de alguns serviços e o que você pode fazer para minimizá-las. De uma maneira geral a dica é sempre a mesma: sempre mantenha seus sistemas atualizados e principalmente, tenha uma postura segura (não promíscua), frente ao uso do computador. Uma correta configuração dos programas também é recomendada.

 Navegadores: como o nome sugere, são programas que permitem que permitem a navegação pelas páginas da Internet. Apesar de muito úteis, representam um grande risco para os usuários pois a navegação é um dos serviços mais utilizados pelos usuários e um dos grandes responsáveis pela popularizaçao da Internet. Os "vilões" no acesso aos navegadores são:

Programas Java: o Java é um método de fazer programas desenvolvido pela Sun Microsystems, de maneira que o programa desenvolvido possa ser executado em computadores de plataformas diferentes e aparelhos eletrodomésticos como TVs, relógios de pulso, etc. Na verdade quem executa os programas Java é um outro programinha chamado "Máquina Virtual Java", que está presente em praticamente todos os navegadores. Como não há diferença na máquina virtual de um navegador para outro, basta fazer um único programa em Java que este será executado em todos os navegadores. Por ser capaz de ter um código compacto e de grande funcionalidade, diversos sites da Internet utilizam o Java nas suas páginas. Normalmente as máquinas virtuais são "isoladas" do resto do computador, portanto um programa não teria como afetá-lo diretamente. Porém as máquinas virtuais que rodam estes programas, possuem algumas vulnerabilidades, possibilitando a alguns programas Java "hostis", executar código maléfico no equipamento. Como precaução, o Java pode ser facilmente desativado nas opções de configuração do seu navegador, mas note que diversos sites (principalmente os de Internet Banking) utilizam-se dessa tecnologia e será necessário habilitá-lo para ter acesso aos serviços disponíveis. Nada o impede, portanto, de desabilitar o acesso ao Java do seu computador e habilitá-lo somente quando precisar fazer uso de uma página que precise dessa tecnologia habilitada para rodar um serviço. No Internet Explorer 8, por exemplo, vá até o menu "Ferramentas" e clique em "Opções da Internet". Clique na guia "Avançadas" e desmarque as opções referentes ao Java.

Programas Javascript: Como mostrado acima, o Java é utilizado para montar programas que podem ser executados em diversas plataformas e equipamentos. Mas agora imagine que a intenção do webdesigner é apenas alterar a cor do mouse quando esse passar por um determinado hyperlink dentro de um site, por exemplo. Com essa finalidade foi desenvolvido o Javascript, que é um "Java bem mais compacto". Como o Javascript nada mais é do que um "Java Diet" ;o) os perigos são os mesmos, e logo, a prevenção. Caso um desses programinhas tenha um código hostil e o suporte ao Java esteja habilitado, ele será executado no seu computador. Os programas em Javascript são largamente utilizados na Internet, portanto se você utilizá-lo, várias páginas deixarão de funcionar corretamente. A dica é desabilitar essa função só para visitar sites de pouca visibilidade onde a idoneidade é desconhecida ou suspeita e reabilitá-la logo a seguir. Para desabilitar o acesso ao Javascript no Internet Explorer, vá até o menu "Ferramentas" e clique em "Opções da Internet". Acesse a guia "Segurança", selecione a opção "Internet" e clique em "Nível personalizado". Na janela aberta, navegue até a opção "Script" e desabilite suas funções.

Após visitar o site suspeito, reative essas opções sob o risco de ter o funcionamento de muitas páginas comprometido.

Essa foi a primeira abordagem sobre o conceito de vulnerabilidade e algumas vulnerabilidades conhecidas de determinados serviços. Em breve falarei mais sobre o tema.

Nenhum comentário:

Related Posts Plugin for WordPress, Blogger...