Exploit e vulnerabilidade de segurança
Vulnerabilidade de segurança são quaisquer tipos de defeito de software ou hardware. Um exploit é um programa escrito para tirar proveito de uma vulnerabilidade de segurança. Um criminoso digital pode uar um exploit contra uma vulnerabilidade de segurança.
Vulnerabilidade de hardware
Section titled “Vulnerabilidade de hardware”São frequentemente introduzidas por falhas de projeto de hardware. Por exemplo, o tipo de memória chamada RAM consiste basicamente em muitos capacitores instalados um próximo do outro. No entanto, foi descoberto que, devido a sua proximidade, as mudanças aplicadas a um desses capacitores poderiam influenciar os capacitores vizinhos. Com base nessa falha, foi criado um exploit chamado Rowhammer. Ao acessar repetidamente uma linha de memória, a exploração do Rowhammer aciona interferências elétricas que eventualmente corrompem os dados armazenados na RAM.
Meltdown e Spectre
Section titled “Meltdown e Spectre”São duas vulnerabilidades de hardware, descobertas por pesquisadores do Google, que afetam quase todas as unidades de processamento central (CPUs) lançadas deste 1995. Os invasores podem ler todas a memória de um determinado sistema (Meltdown), bem como os dados manipulados por outras aplicações (Spectre). Eles tem a capacidade de comprometer grandes quantidades de dados de memória, porque os ataques podem ser executados várias vezes em um sistema com muita pouca possibilidade de uma falha ou outro erro.
Vulnerabilidade de software
Section titled “Vulnerabilidade de software”São introduzidas por erros no sistema operacional ou no código do aplicativo.
Vulnerabilidade SYNful Knock
Section titled “Vulnerabilidade SYNful Knock”A vulnerabilidade SYNful Knock permitiu que os invasores ganhassem o controle de roteadores de nível empresarial, como os roteadores Cisco ISR antigos, dos quais poderiam monitorar toda a comunicação de rede e infectar outros dispositivos de rede. Essa vulnerabilidade foi introduzida no sistema quando uma versão alterada do IOS foi instalada nos roteadores. Para evitar isso, sempre verifique a integridade da imagem do IOS baixada e limite o acesso físico do equipamento somente ao pessoal autorizado.
Categorias de vulnerabilidade de software
Section titled “Categorias de vulnerabilidade de software”A maioria das vulnerabilidade de segurança de software se enquadra em várias categorias principais:
-
Buffer overflow: Os buffers são áreas de memória alocadas a um aplicativo. Uma vulnerabilidade ocorre quando os dados são gravados além dos limites do buffer. Ao alterar os dados além dos limites de um buffer, o aplicativo pode acessar a memória aplicada para outros processos. Isso pode levar a uma falha do sistema, comprometimento de dados ou fornecer escalonamento de privilégios.
-
Non-validade input: Os programas frequentemente requerem a entrada de dados, mas entre os dados pode haver conteúdos maliciosos, escritos para forçar o programa a se comportar de maneira não intencional. Por exemplo, considere um programa que recebe uma imagem para processamento. Um usuário malicioso pode criar um arquivo de imagem com dimensões inválidas. Este arquivo pode forçar o programa a alocar buffers de tamanhos incorretos e inesperados.
-
Race conditions: Esta vulnerabilidade descreve a situação onde a saía de um evento depende de saídas ordenadas ou temporizadas. Uma race condition se torna uma fonte de vulnerabilidades quando a fila de eventos exigidos não ocorrem na ordem correta ou no momento certo.
-
Weaknesses in security practices: Sistemas e dados sensíveis podem ser protegidos através de técnicas como autenticação, autorização e encriptação. Desenvolvedores devem seguir o uso de técnicas de segurança e bibliotecas que já foram criadas, testadas e verificadas e não devem tentar criar seus próprios algoritmos de segurança. Isso provavelmente apenas introduzirá novas vulnerabilidades.
-
Access control problems: O controle de acesso é processo de controlar quem faz o quê e abrange deste o gerenciamento físico ao equipamento até ditar quem tem acesso a um recurso, como um arquivo, e o que pode ser feito com ele, como ler ou alterar o arquivo. Quase todos os acessos e as práticas de segurança poderão ser superados se o invasor tiver acesso físico ao equipamento de destino. Por exemplo, não importa as configurações de permissão de um arquivo, um hacker pode ignorar o sistema operacional e ler os dados que ela contém, o acesso físico deve ser restrito e as técnicas de criptografia devem ser usadas para proteger dados contra roubo ou dano.
Atualizações de softwares
Section titled “Atualizações de softwares”O objetivo das atualizações de software é sempre estar atualizado e evitar a exploração de vulnerabilidades. Apesar das atualizações constantes, novas vulnerabilidades são descobertas regularmente.