seguranca cap09 tanenbaum

Post on 06-Jun-2015

7.454 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

Capítulo 9

SegurançaSegurança

Adriana Oliveira

Diego Pizzol

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

1. O ambiente de segurança

O Ambiente de Segurança (1)

E a privacidade?

Objetivo geral dos sistemas computacionais

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

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

2. Criptografia básica

Criptografia Básica (1)

• 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

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

Criptografia Básica (4) Assinaturas Digitais

3. Autenticação de usuário

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.

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

• 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)

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

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).

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

Um dispositivo para medir o comprimento do dedo

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”

4. Ataques de dentro do sistema

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

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

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

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

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.

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

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

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

5. Ataques de forado sistema

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

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".

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

Objetivo de um Vírus

• Espalhar-se rapidamente

• Dificultar a sua detectacção

• Dificultar a sua remoção

• Possivelmente, causar grandes danos

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.

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

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( );

(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

• 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

Briga constante e evolutiva de um

contra o outro.

Antivírus X Antiantivírus

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

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

Antivírus X Antiantivírus

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.

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.

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.

Código Móvel - Applet

Applets podem ser interpretadas por um navegador Web

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.

6. Mecanismos de Proteção

Mecanismos de Proteção

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

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

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.

Matriz de Proteção

• Modelo Conceitual

Matriz de Proteção

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

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

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)

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.

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

Capacidades (Capabilities)

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

respectivos direitos.

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.

7. Sistemas Confiáveis

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

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.

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)

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

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

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

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)

Canais Subliminares

Apesar de todos esse sistemas teóricos serem seguros,

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

confinamento:

Um canal subliminar usando impedimento de arquivo

Canais Subliminares

• 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

top related