Ciberseguranca: Encontrar vulnerabilidades de segurança

Vulnerabilidades de segurança são qualquer tipo de defeito de software ou de hardware. Depois de tomarem conhecimento de uma vulnerabilidade, os utilizadores mal intencionados tentam explorá-la. Um exploit (exploração) é o termo utilizado para descrever um programa escrito para tirar partido de uma vulnerabilidade conhecida. O ato de utilizar um exploit contra uma vulnerabilidade designa-se por ataque. O ataque tem como objetivo a obtenção de acesso a um sistema, aos dados que aloja ou a um recurso específico.

Vulnerabilidades de software
As vulnerabilidades de software são normalmente introduzidas por erros no sistema operativo ou no código de uma aplicação e, apesar de todos os esforços que as empresas realizam para encontrar e corrigir vulnerabilidades de software, é comum surgirem novas vulnerabilidades. A Microsoft, a Apple e outros produtores de sistemas operativos lançam patches e atualizações quase todos os dias. As atualizações de aplicações são igualmente comuns. Aplicações como browsers, aplicações móveis e servidores Web são frequentemente atualizados pelas empresas ou organizações responsáveis pelos mesmos.
Em 2015, foi descoberta uma grande vulnerabilidade denominada SYNful Knock no Cisco IOS. Esta vulnerabilidade permitiu aos atacantes obterem o controlo de routers de nível empresarial, tais como os routers descontinuados Cisco 1841, 2811 e 3825. Os atacantes conseguiram, assim, monitorizar toda a comunicação de rede e infetar outros dispositivos de rede. Esta vulnerabilidade foi introduzida no sistema quando foi instalada uma versão alterada do IOS nos routers. Para evitar este tipo de situações, verifique sempre a integridade da imagem do IOS transferida e limite o acesso físico do equipamento apenas a pessoal autorizado.
As atualizações de software têm o objetivo de manterem os sistemas atualizados e evitar a exploração de vulnerabilidades. Embora muitas empresas tenham equipas de teste de penetração que se dedicam a pesquisar, encontrar e corrigir vulnerabilidades de software antes que possam ser exploradas, alguns investigadores de segurança de terceiros também são especializados em encontrar vulnerabilidades em software.
O Project Zero da Google é um excelente exemplo dessa prática. Após a descoberta de diversas vulnerabilidades em vários softwares utilizados por utilizadores finais, a Google formou uma equipa permanente dedicada a encontrar vulnerabilidades de software. Poderá encontrar a Google Security Research aqui.

Vulnerabilidades de hardware
Muitas vezes, as vulnerabilidades de hardware são introduzidas por defeitos na conceção, i.e., no design do hardware. A memória RAM, por exemplo, é constituída por condensadores instalados muito próximos uns dos outros. Descobriu-se que, devido à proximidade, a aplicação de alterações constantes a um destes condensadores pode influenciar os condensadores adjacentes. Com base nesse defeito de design, foi criado um exploit denominado Rowhammer. Ao reescrever repetidamente a memória nos mesmos endereços, o exploit Rowhammer permite a obtenção de dados de células de memória de endereços próximos, mesmo que as células estejam protegidas.
As vulnerabilidades de hardware são específicas de modelos de dispositivo e, normalmente, não são exploradas através de tentativas aleatórias de comprometimento. Embora os exploits de hardware sejam mais comuns em ataques altamente direcionados, a proteção contra malware tradicional e uma segurança física são a proteção suficiente para o utilizador comum.

Comentários

Mensagens populares deste blogue

Redes de Computadores: Comando ARP, para que serve e como funciona este protocolo?

Redes de Computadores : Subrede IP: Máscaras possíveis para classes A, B e C