Ciberseguranca: Categorização de vulnerabilidades de segurança
A maioria das vulnerabilidades de segurança de software enquadra-se numa das seguintes categorias:
Capacidade da memória intermédia excedida – Esta vulnerabilidade ocorre quando são escritos dados além dos limites de uma memória intermédia. As memórias intermédias são áreas da memória atribuídas a uma aplicação. Ao alterar dados para além dos limites de uma memória intermédia, a aplicação acede a memória atribuída a outros processos. Tal pode levar a uma falha do sistema, ao comprometimento de dados ou disponibilizar escalamento de privilégios.
Entrada não validada – Os programas trabalham frequentemente com entrada de dados. Estes dados que entram no programa podem incluir conteúdo maligno, concebido para forçar o programa a comportar-se de forma indesejada. Considere um programa que recebe uma imagem para processamento. Um utilizador mal intencionado pode criar um ficheiro de imagem com dimensões de imagem inválidas. As dimensões criadas de forma mal intencionada podem forçar o programa a atribuir memórias intermédias de tamanhos incorretos e inesperados.
Condições de corrida – Esta vulnerabilidade ocorre quando a saída de um evento depende de saídas ordenadas ou temporizadas. Uma condição de corrida torna-se uma fonte de vulnerabilidade quando os eventos ordenados ou temporizados não ocorrem pela ordem ou dentro da temporização correta.
Fraquezas em práticas de segurança – Os sistemas e dados sensíveis podem ser protegidos por técnicas como a autenticação, autorização e criptografia. Os programadores não devem tentar criar os seus próprios algoritmos de segurança, pois é provável que estes introduzam vulnerabilidades. Aconselha-se vivamente que os programadores utilizem bibliotecas de segurança que já tenham sido criadas, testadas e verificadas.
Problemas de controlo de acesso – O controlo de acesso é o processo que controla a ação de cada elemento e vai desde a gestão do acesso físico a equipamento à indicação de quem tem acesso a um recurso como, por exemplo, um ficheiro, e o que é possível fazer com o mesmo, como ler ou alterar o ficheiro. Muitas vulnerabilidades de segurança são criadas pelo uso indevido de controlos de acesso.
Quase todos os controlos de acesso e práticas de segurança podem ser ultrapassados se o atacante tiver acesso físico ao equipamento alvo. Por exemplo, independentemente das permissões que definir para um ficheiro, o sistema operativo não pode impedir que uma pessoa contorne o sistema operativo e leia os dados diretamente do disco. Para proteger o computador e os dados que contém, é necessário restringir o acesso físico e utilizar técnicas de criptografia para proteger contra roubo ou corrupção de dados.
Capacidade da memória intermédia excedida – Esta vulnerabilidade ocorre quando são escritos dados além dos limites de uma memória intermédia. As memórias intermédias são áreas da memória atribuídas a uma aplicação. Ao alterar dados para além dos limites de uma memória intermédia, a aplicação acede a memória atribuída a outros processos. Tal pode levar a uma falha do sistema, ao comprometimento de dados ou disponibilizar escalamento de privilégios.
Entrada não validada – Os programas trabalham frequentemente com entrada de dados. Estes dados que entram no programa podem incluir conteúdo maligno, concebido para forçar o programa a comportar-se de forma indesejada. Considere um programa que recebe uma imagem para processamento. Um utilizador mal intencionado pode criar um ficheiro de imagem com dimensões de imagem inválidas. As dimensões criadas de forma mal intencionada podem forçar o programa a atribuir memórias intermédias de tamanhos incorretos e inesperados.
Condições de corrida – Esta vulnerabilidade ocorre quando a saída de um evento depende de saídas ordenadas ou temporizadas. Uma condição de corrida torna-se uma fonte de vulnerabilidade quando os eventos ordenados ou temporizados não ocorrem pela ordem ou dentro da temporização correta.
Fraquezas em práticas de segurança – Os sistemas e dados sensíveis podem ser protegidos por técnicas como a autenticação, autorização e criptografia. Os programadores não devem tentar criar os seus próprios algoritmos de segurança, pois é provável que estes introduzam vulnerabilidades. Aconselha-se vivamente que os programadores utilizem bibliotecas de segurança que já tenham sido criadas, testadas e verificadas.
Problemas de controlo de acesso – O controlo de acesso é o processo que controla a ação de cada elemento e vai desde a gestão do acesso físico a equipamento à indicação de quem tem acesso a um recurso como, por exemplo, um ficheiro, e o que é possível fazer com o mesmo, como ler ou alterar o ficheiro. Muitas vulnerabilidades de segurança são criadas pelo uso indevido de controlos de acesso.
Quase todos os controlos de acesso e práticas de segurança podem ser ultrapassados se o atacante tiver acesso físico ao equipamento alvo. Por exemplo, independentemente das permissões que definir para um ficheiro, o sistema operativo não pode impedir que uma pessoa contorne o sistema operativo e leia os dados diretamente do disco. Para proteger o computador e os dados que contém, é necessário restringir o acesso físico e utilizar técnicas de criptografia para proteger contra roubo ou corrupção de dados.
Comentários
Enviar um comentário
De seu comentario acerca desta aula, sua dica, sua critica ou sugestao para que eu possa melhorar o conteudo deste Blog. Obrigado Pela Atencao dispensada boa aula a todos.