67
Capítulo 9 Segurança Segurança Adriana Oliveira Diego Pizzol

Seguranca Cap09 Tanenbaum

Embed Size (px)

DESCRIPTION

Slides de uma apresentação do assunto de Segurança do capítulo 9 do livro de Sistemas Operacionais Modernos de Tanenbaum, com alguns tópicos adicionais.

Citation preview

Page 1: Seguranca Cap09 Tanenbaum

Capítulo 9

SegurançaSegurança

Adriana Oliveira

Diego Pizzol

Page 2: Seguranca Cap09 Tanenbaum

1. O ambiente de segurança

2. Criptografia básica

3. Autenticação de usuário

4. Ataques de dentro do sistema

5. Ataques de fora do sistema

6. Mecanismos de proteção

7. Sistemas confiáveis

Segurança

Page 3: Seguranca Cap09 Tanenbaum

1. O ambiente de segurança

Page 4: Seguranca Cap09 Tanenbaum

O Ambiente de Segurança (1)

E a privacidade?

Objetivo geral dos sistemas computacionais

Page 5: Seguranca Cap09 Tanenbaum

O Ambiente de Segurança (2) Invasores

Categorias comuns:1. Curiosidades casuais de usuários

leigos

2. Espionagem por pessoas internas

3. Tentativas determinadas para ganhar dinheiro

4. Espionagem militar ou comercial

Page 6: Seguranca Cap09 Tanenbaum

O Ambiente de Segurança (3) Perda Acidental de Dados

Causas comuns:

1. Atos de Deus- incêndios, enchentes, guerras

2. Erros de hardware ou software- defeitos na CPU, discos ruins, erros de

programas

3. Erros humanos- entrada incorreta de dados, montagem errada

da fita

Page 7: Seguranca Cap09 Tanenbaum

2. Criptografia básica

Page 8: Seguranca Cap09 Tanenbaum

Criptografia Básica (1)

Page 9: Seguranca Cap09 Tanenbaum

• Substituição monoalfabética– cada letra é substituída por letra diferente

• Dada a chave criptográfica,– fácil achar a chave de decriptação

• Criptografia de chave secreta ou criptografia de chave simétrica

Criptografia Básica (2)Criptografia por Chave Secreta

Page 10: Seguranca Cap09 Tanenbaum

Criptografia Básica (3) Criptografia por Chave Pública

Page 11: Seguranca Cap09 Tanenbaum

Criptografia Básica (4) Assinaturas Digitais

Page 12: Seguranca Cap09 Tanenbaum

3. Autenticação de usuário

Page 13: Seguranca Cap09 Tanenbaum

Autenticação de Usuário (1)

A maioria dos métodos de autenticação baseia-se em:

1. Alguma coisa que o usuário sabe2. Alguma coisa que o usuário tem3. Alguma coisa que o usuário é

Hacker: nome honroso dado aos grandes programadores.

Cracker: pessoa que tenta se infiltrar sem autorização em sistemas de computadores.

Page 14: Seguranca Cap09 Tanenbaum

Autenticação de Usuário (2)Autenticação Usando Senhas (1)

Page 15: Seguranca Cap09 Tanenbaum

• Como um cracker invadiu o computador do LBL– um lab de pesquisa do Dep. de Energia dos EUA

Autenticação de Usuário (3)Autenticação Usando Senhas (2)

Page 16: Seguranca Cap09 Tanenbaum

O uso do sal para atrapalhar a pré-computação de senhas criptografadas

Autenticação de Usuário (4)Segurança por senhas do Unix

Page 17: Seguranca Cap09 Tanenbaum

Autenticação de Usuário (5)Autenticação Usando

um Objeto Físico

• Cartões de plástico– cartões de faixa magnética (140 bytes);– cartões com chip: cartões com valores

armazenados (1Kb), cartões inteligentes (CPU).

Page 18: Seguranca Cap09 Tanenbaum

Autenticação de Usuário (6) Autenticação Usando Biométrica

Um dispositivo para medir o comprimento do dedo

Page 19: Seguranca Cap09 Tanenbaum

Autenticação de Usuário (7)Medidas de Defesa

• Limitação do horário de acesso ao sistema• Chamada automática de volta para um número

pré-especificado• Número limitado de tentativa de acessos• Uma base de dados de todos os acessos ao

sistema• Nome e senha simples como isca

– pessoal de segurança é notificado quando o intruso “morde a isca”

Page 20: Seguranca Cap09 Tanenbaum

4. Ataques de dentro do sistema

Page 21: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (1)Segurança de Sistemas Operacionais

Cavalos de Tróia

• Programa livre disponibilizado para usuários inocentes– contém na verdade código destrutivo

• Coloca versão adulterada de um programa utilitário no computador da vítima– leva o usuário a executar aquele programa

Page 22: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (2) Conexão Impostora (Spoofing)

(a) Tela de conexão verdadeira(b) Tela de conexão impostora

Page 23: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (3) Bombas Lógicas

• Programador da empresa escreve programa– com potencial para causar danos (bomba lógica)– OK desde que ele/ela alimente o programa diariamente

com uma senha– se programador é despedido, programa não é

alimentado com senha, bomba explode

Page 24: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (4) Alçapões

(a) Código normal

(b) Código com alçapão inserido

Código inserido no sistema para desviar algumaverificação corriqueira.

Page 25: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (5) Ataques Genéricos à Segurança

Ataques típicos

• Iniciar o acesso ao sistema e pressionar as teclas DEL ou BREAK

• Tentar chamadas ilegais ao sistema• Tentar todos os NÃO FAÇA especificados nos

manuais• Convencer um programador a introduzir um alçapão • Implorar para a secretária do administrador do

sistema para ajudar um pobre usuário que esqueceu a senha

Page 26: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (6) Falhas Famosas de Segurança

Unix

• Lpr – utilitário de impressora de linha

• Mkdir foo– Cria i-node– ... (tempo para trocar o i-node e fazer uma

ligação para o arquivo de senhas sob o nome foo)

– Altera de UID root para UID user

Page 27: Seguranca Cap09 Tanenbaum

Ataques de dentro do Sistema (7) Princípios de Projeto de Segurança

1. O projeto do sistema deve ser público2. Default deve ser “acesso negado”3. Checar autoridade atual4. Dar a cada processo o menor privilégio

possível5. Mecanismo de proteção deve ser

- simples- uniforme- nas camadas mais inferiores do sistema

6. Esquema deve ser psicologicamente aceitável

e … mantenha o projeto simples

Page 28: Seguranca Cap09 Tanenbaum

5. Ataques de forado sistema

Page 29: Seguranca Cap09 Tanenbaum

Ataques de Fora do Sistema

• Comunicação entre Computadores (Redes)– Redes Locais, Privadas e a Internet

• Vantagens– Facilidade, agilidade, comodidade, dinamicidade, ...

• Desvantagens– Possibilidade de descoberta de vulnerabilidades em

computadores conectados a rede

Page 30: Seguranca Cap09 Tanenbaum

Malware

• Vírus de computador– Programa capaz de se reproduzir utilizando outro programa como

hospedeiro, causando danos.• Trojan horses (Cavalos de Tróia)

– Programa que ao entrar no computador, tentar liberar uma porta para um possível invasor.

• Spyware– Programa que recolhe informações sobre o usuário e transmite-

as à uma entidade externa, sem o conhecimento e consentimento do usuario.

Programa designado a infiltrar ou danificar um sistema de computador sem o consentimento do proprietário. É a junção das palavras "malicious"

e "software".

Page 31: Seguranca Cap09 Tanenbaum

Funcionamento de um Vírus

• Criação do código do vírus (Linguagem de Montagem)

• Inserição num prog. hospedeiro

• Distribuição do prog. Hospedeiro (Site de downloads)

• Vítimas baixam e instalam o prog. Hospedeiro

• Virus fica latente, esperando hospedeiro ser executado

• Infecta demais programas

Page 32: Seguranca Cap09 Tanenbaum

Objetivo de um Vírus

• Espalhar-se rapidamente

• Dificultar a sua detectacção

• Dificultar a sua remoção

• Possivelmente, causar grandes danos

Page 33: Seguranca Cap09 Tanenbaum

Tipos de Vírus

• Companheiro– Não infecta um programa, mas executa antes do programa ser

executado

• Programas Executaveis– Sobreescreve arquivos executaveis– Facil de detectar, pois não executa o programa esperado

• Parasita– Infecta um programa realizando o resultado esperado após sua

execução

• Cavidade– Se infiltra nos espaços restantes dos segmentos– No Windows segmentos são x512 bytes, sendo o restante dos

segmentos preenchido com 0’s pelo linker.

Page 34: Seguranca Cap09 Tanenbaum

Tipos de Vírus

a) Um programa executávelb) Com um vírus à frentec) Com um vírus no finald) Com vírus espalhado pelos espaços livres dentro do programa

Page 35: Seguranca Cap09 Tanenbaum

Tipos de Vírus• Residentes em Memória

– Após ser executado, permanece na memoria

– Pode modificar o endereço de Mapa de Bits para ficar oculto

• Setor de Boot– Copia-se para RAM ao iniciar o sistema, no topo ou entre os vetores de

interrupção – Ao formatar pelo fdisk do WIN a 1ª trilha do disco é ignorada

• Dispositivos– Infecta um driver do dispostivo

• Macros– Arquivos do Office, possuem macros que podem conter

programas inteiros escritos em VB

• Codigo-fonte– Infecta um código fonte: #include <virus.h> e run_virus( );

Page 36: Seguranca Cap09 Tanenbaum

(a) Vírus captura os vetores de interrupção e de desvio de controle

da CPU

(b) S.O. retoma o vetor de interrupção da impressora

(c) Vírus percebe a perda do vetor de interrupção da impressora e

recupera-o

Vírus Setor de Boot

Page 37: Seguranca Cap09 Tanenbaum

• Vírus colocados onde há chance de serem

copiados

– Sites de Downloads• Programas copiados de fontes não-confiáveis

– Infectam programas no disco rígido, disquetes, pendrivers– Podem se disseminar na rede local

• Anexam-se à mensagens eletrônicas aparentemente inocentes– quando executados, usam listas de contatospara replicar

Como os Vírus se Disseminam

Page 38: Seguranca Cap09 Tanenbaum

Briga constante e evolutiva de um

contra o outro.

Antivírus X Antiantivírus

Page 39: Seguranca Cap09 Tanenbaum

Antivírus X Antiantivírus

• Verificadores de Vírus– Coletam amostras do vírus para estudo e assim conseguir entende-lo– Armazenam dados sobre os vírus num banco de dados– Caso seja um vírus polimórfico, tentam achar o motor de mutação

• Verificação de Integridade– Calcula a Soma de verificação (checksum) para cada arquivo– Quando executado, recalculará e detectará os arquivos infectados

• Verificação de Comportamento– Antivírus, residente em memoria capturando as chamadas ao sistema e

monitorando as atividades.

• Prevenção– Opte por sistemas com alto grau de segurança, use apenas

software originais, use um antivirus potente e faça backup• Recuperação

– Quando infectado, reinicie o sistema por uma midia protegida contra escrita (CD-ROM), execute um antivírus, salve os arquivos não infectados e formate o HD

Page 40: Seguranca Cap09 Tanenbaum

Exemplos de um possível vírus polimórfico

Antivírus X Antiantivírus

Page 41: Seguranca Cap09 Tanenbaum

Convenções de Denominação: Vírus

• As convenções de denominação de vírus do Norton AntiVirus (Symantec) é Prefixo.Nome.Sufixo:– O prefixo denota a plataforma em que o vírus é duplicado ou o

tipo do vírus. Em geral, os vírus de DOS não contêm um prefixo.

– O nome é o nome da família do vírus.

– O sufixo pode não existir sempre. Os sufixos diferenciam variantes da mesma família e, em geral, são um número que denota o tamanho do vírus ou uma letra.

• Por exemplo, WM.Cap.A seria uma variante da família Cap. O WM significa que o vírus é um vírus de macro para Word.

Page 42: Seguranca Cap09 Tanenbaum

Ainda tem Mais …

• Worms ou vermes– Programas que se auto-replicam com o intuito de se

disseminar sem causar graves danos aos sistemas.

• Hijackers– Programas ou scripts que "sequestram" navegadores

de Internet, alterando a página inicial do browser, impedindo o usuário de mudá-la e exibindo propagandas em pop-ups ou janelas novas.

• Keylogger– Programas que ficam escondidos no sistema

operacional, sem que a vitima saiba que está sendo monitorada, sendo utilizados para obter senhas pessoais.

Page 43: Seguranca Cap09 Tanenbaum

Código Móvel - Applet

• SandBoxing ou Caixa de Areia– Confina cada applet a um intervalo limitado de

endereços virtuais.– Utilização de um monitor de referência para checar JMP

e CALL

• Interpretação– Executar o applet de forma interpretativa sem deixar eles

tomarem controle real do hardware.

• Assinatura de código– Aceitar apenas applets de fontes confiáveis e que

assinaram digitalmente seus applets.

Page 44: Seguranca Cap09 Tanenbaum

Código Móvel - Applet

Applets podem ser interpretadas por um navegador Web

Page 45: Seguranca Cap09 Tanenbaum

Código Móvel - Applet

• JDK 1.0– Applets confiáveis (local) e não confiáveis

(remoto)

• JDK 1.1– Empregado a assinatura de código

• JDK 1.2– Empregado política de segurança com

granularidade fina e configurável.

Page 46: Seguranca Cap09 Tanenbaum

6. Mecanismos de Proteção

Page 47: Seguranca Cap09 Tanenbaum

Mecanismos de Proteção

• Domínios de Proteção– Conjunto de pares (objetos, diretos)

Objetos: arquivo, impressora, ...Diretos: leitura, escrita, execução, ...

Page 48: Seguranca Cap09 Tanenbaum

Mecanismos de Proteção

• No Unix– O domínio de um processo é definido pela

combinação do UID e GID

• Alternância de Domínios– Cada processo tem duas partes:

» Parte do Usuário» Parte do Núcleo (Chamadas ao Sistema)

– SetUID e SetGIDSetUID: Processo em execução terá mesmos direitos que o dono do

arquivo.

SetGID: Processo em execução terá mesmos direitos que o grupo do dono do arquivo.

Page 49: Seguranca Cap09 Tanenbaum

Matriz de Proteção

• Modelo Conceitual

Page 50: Seguranca Cap09 Tanenbaum

Matriz de Proteção

Matriz de Proteção com Domínios como Objetos

Exemplo de execução de processo com SetUID ativado.

Page 51: Seguranca Cap09 Tanenbaum

Representação da Matriz de Proteção

• Matriz contém muitos espaços vazios– Seu armazenamento seria muito custoso.

• Método prático de representar a Matriz– Por Colunas:

• Lista de Controle de Acesso (ACL)

– Por Linhas:

• Capacidades (Capabilities)

Page 52: Seguranca Cap09 Tanenbaum

Lista de Controle de Acesso (ACL)

• Associação Objeto – Lista (Dom, Dir)– Associa a cada objeto uma lista contendo domínios e

seus respectivos direitos.

Page 53: Seguranca Cap09 Tanenbaum

Lista de Controle de Acesso (ACL)

• Em sistemas que utilizam grupos:– UID1, GID1 : direitos1; UID2, GID2 : direitos; ...

• Utilização de Caracteres-chave

– Generalização

• Exemplo: Ana, * : RW

– Especificação

• Exemplo: Teresa, * : (none); *, * : RW

Page 54: Seguranca Cap09 Tanenbaum

Capacidades (Capabilities)

• Associação Processo – Lista (Objeto, Dir)– Associa a cada processo uma lista contendo objetos e seus

respectivos direitos.

Page 55: Seguranca Cap09 Tanenbaum

ACL X Capabilities

• Ambas são equivalentes

• Revogação

– ACL : Facil, mas não imediata.

– Capabilities: Mais complicada.

• Checagem

– ACL: Lenta, para muitos grupos.

– Capabilities: Mais rápida.

Page 56: Seguranca Cap09 Tanenbaum

7. Sistemas Confiáveis

Page 57: Seguranca Cap09 Tanenbaum

Sistemas Confiáveis

• TCB (Trusted Computing Base)– Monitor de Referência: Parte do sistema operacional que

é responsável pela imposição da política de segurança

Page 58: Seguranca Cap09 Tanenbaum

Políticas de Controle de Acesso

• Controle de acesso discricionário– Usuário individual pode configurar um

mecanismo de controle de acesso para permitir ou proibir o acesso a um objeto.

• Controle de acesso compulsório– Quando um mecanismo do sistema controla o

acesso a um objeto e um usuário individual não pode alterar este acesso.

Page 59: Seguranca Cap09 Tanenbaum

Modelos de Segurança

• Modelo Bell-LaPadula (Bell & LaPadula, 1975)

• Modelo Biba (Biba, 1977)

• Modelo Clark-Wilson (Clark & Wilson, 1987)

• Modelo Chinese Wall (Brewer & Nash, 1989)

• Controle de Acesso Baseado em Papéis (Ferraiolo et al., 2001)

Page 60: Seguranca Cap09 Tanenbaum

Modelo Bell-LaPadula

• Política de confidencialidade

– Lida com o fluxo da informação

– Prevenir a liberação não autorizada da informação

• Modelo de segurança multinível

– Classificação no estilo militar

• Influência para muitos outros modelos

Page 61: Seguranca Cap09 Tanenbaum

Modelo Bell-LaPadula

• Propriedade simples– Ler apenas no seu nível ou no nível inferior

• Propriedade *– Escrever apenas no seu nível ou no nível superior

Page 62: Seguranca Cap09 Tanenbaum

Modelo Biba

• Alteração do Modelo Bell-LaPadula

– Objetiva a integridade invés da confidencialidade

• Modelo de segurança multinível

– Classificação no estilo empresarial

• Propriedade simples:

– Escrever apenas no seu nível ou no nível inferior

• Propriedade *:

– Ler apenas no seu nível ou no vível superior

Page 63: Seguranca Cap09 Tanenbaum

Controle de Acesso Baseado em Papéis (RBAC)

Modelo de referencia da NIST

• Separação de Responsabilidades– Estática– Dinâmica

• Hierarquias de Papéis– Genérica (Grafo)– Limitada (Árvore)

Page 64: Seguranca Cap09 Tanenbaum

Canais Subliminares

Apesar de todos esse sistemas teóricos serem seguros,

na prática Lampson (1973) definiu o problema do

confinamento:

Page 65: Seguranca Cap09 Tanenbaum

Um canal subliminar usando impedimento de arquivo

Canais Subliminares

Page 66: Seguranca Cap09 Tanenbaum

• Técnicas de Esteganografia– Imagem à direita contém os textos de 5 peças de

Shakespeare– 1024 x 768 x 3 bits = 294 912 bytes

Zebras Hamlet, Macbeth, Julius CaesarMercador de Veneza, Rei Lear

Canais Subliminares

Page 67: Seguranca Cap09 Tanenbaum