Segurança e Criptografia em Sistemas Operacionais
Segurança: Objetivos Gerais
- Confidencialidade dos dados: O SO deve permitir que o usuário defina quem pode ver determinado dado e garantir que não ocorra a liberação de acesso aos dados a pessoas não autorizadas.
- Integridade dos dados: Usuários não autorizados não devem ser capazes de modificar qualquer dado sem a permissão do proprietário. Inclui permissões de leitura, escrita e execução.
- Disponibilidade do sistema: Ninguém pode perturbar o sistema de forma a deixá-lo inutilizável. Deve-se evitar ataques do tipo recusa de serviço (DoS).
Criptografia
Consiste em codificar uma informação em um formato que apenas os destinatários apropriados possam acessá-la. Existem duas classes principais de algoritmos:
- Chave Secreta Compartilhada: Remetente e destinatário compartilham uma única chave. A mesma chave é usada para cifrar e decifrar um dado (Sistemas de criptossistema simétrico, como o DES).
- Chave Pública: Composto por um par de chaves (pública e privada). A chave pública pode ser distribuída a outros, enquanto a chave privada deve ser secreta e pertencente a uma única pessoa (Sistemas de criptossistema assimétrico, como o RSA).
Autenticação
O método mais comum é através de usuário e senha. Existem duas formas principais de manter a senha em disco:
- Senha descriptografada;
- Senha criptografada.
Firewalls
Serve como uma barreira de proteção que controla o tráfego de dados entre o sistema e o acesso externo (Internet). Seu objetivo é permitir somente a transmissão e recepção de dados autorizados.
Ataques
- Entrada: Crackers, tentativas de invasão e vírus.
- Saída: Liberação de informações confidenciais.
Antivírus e Vírus
Vírus: Programas de computador capazes de se reproduzir, anexando seu código a outros programas. Modificam o comportamento dos programas com o intuito de obter informações do usuário ou inviabilizar a utilização de um sistema.
Tipos de Vírus:
- Vírus companheiro: Não infecta o programa, mas executa junto com o mesmo.
- Vírus de programa executável: Modifica o programa executável (por sobreposição ou parasita).
- Vírus residente em memória: Permanece na memória RAM todo o tempo.
- Vírus de setor de inicialização: Sobrescreve o MBR (Master Boot Record), sendo executado antes da inicialização do SO.
Técnicas de Antivírus:
- Verificador de vírus: Em um ambiente controlado, o vírus infecta um programa cobaia. Após detectar o vírus, o código é inserido em um banco de dados. O software consulta todos os arquivos em busca de vírus conhecidos.
- Verificador de integridade: Procura por vírus em disco através de uma soma de verificação (checksum) para cada arquivo executável.
- Verificador de comportamento: O antivírus fica residente em memória e captura todas as chamadas de sistema em busca de atividades suspeitas.