A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC 140 - SISTEMAS OPERACIONAIS I Turmas.

Cópias: 1
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.

Apresentações semelhantes


Apresentação em tema: "Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC 140 - SISTEMAS OPERACIONAIS I Turmas."— Transcrição da apresentação:

1 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas A e B Aula 24 – Segurança Profa. Sarita Mazzini Bruschi Regina Helena Carlucci Santana Marcos José Santana Slides adaptados de Luciana A. F. Martimiano baseados nos livros Sistemas Operacionais Modernos de A. Tanenbaun

2 Segurança Ambiente de segurança; Criptografia; Conceitos básicos; Autenticação de usuário; Ataques; Internos; Externos; Mecanismos de proteção; Sistemas Confiáveis;

3 Segurança Valor da informação segurança; SO proteger as informações contra acessos não autorizados; Ambiente de segurança: conceitos importantes: Ameaças (threats); Intrusão; Perda acidental de dados;

4 Segurança - Ameaças ObjetivoAmeaças Confidencialidade de dados Exposição dos dados Integridade de dadosAlteração dos dados Disponibilidade do sistemaNegação de serviço (denial of service) Exclusão de invasoresControle do sistema por vírus Três objetivos e ameaças gerais e um recente:

5 Segurança - Intrusão Intruso: pessoa que intencionalmente invade um sistema para causar danos; Ações: Passiva: intrusos apenas lêem dados sem autorização; Ativa: intrusos realizam modificações sem autorização maliciosos;

6 Segurança – Perda de dados Causas comuns para as perdas acidentais de dados: Atos da natureza: fogo, terremoto; Erros de hardware/software: defeito físico em dispositivos, defeito no programa; Erros humanos: perda de fita ou disco; Backups;

7 Segurança – Criptografia Criptografia codificar texto para que acessos não autorizados não possam ser realizados; Plaintext Ciphertext; (texto puro)(texto cifrado) Algoritmos de codificação e decodificação; Sempre públicos O segredo desses algoritmos estão nos parâmetros utilizados chaves;

8 Segurança – Criptografia Criptografia moderna está relacionada com os seguintes objetivos: Confidencialidade informação não pode ser compreendia por alguém que não tem autorização para tal; Integridade informação não pode ser alterada enquanto estiver armazenada ou enquanto estiver sendo enviada sem que uma eventual modificação não seja realizada; Irretratabilidade uma ação não pode ser negada; Autenticação o remetente e o destinatário devem conhecer a identificação um do outro;

9 Segurança – Criptografia ED Plaintext KEKE KDKD Algoritmo de Codificação Algoritmo de Decodificação C=E(P, K E ) Ciphertext Plaintext Chaves P=D(C, K D ) Princípio de Kerckhoffs: ideia de que todos os algoritmos são públicos e o segredo está na chave (filósofo Auguste Kerchkhoffs – século XIX)

10 Segurança – Criptografia Tipos de criptografias: Chave-secreta ou chave-simétrica: Pode utilizar substituição do alfabeto: Exemplo: Rot13 usado por Júlio César para se comunicar com suas tropas Chaves com 128bits, 256bits, 512bits, 1024bits, 2048bits; Vantagem: fácil de gerenciar; Desvantagem: Tanto o destinatário quanto o remetente devem conhecer a chave-secreta; Quando se tem a chave de codificação é fácil descobrir a chave de decodificação;

11 Segurança – Criptografia ROT13

12 Segurança – Criptografia Plaintext: A BCDEFGHIJKLMNOPQRSTUVWXYZ K E : QWERTYU IOPASDFGHJKLZXCVBNM ED ATTACK KEKE KDKD Algoritmo de Codificação Algoritmo de Decodificação C=E(P, K E ) QZZQEA Chaves P=D(C, K D ) ATTACK QZZQEA

13 Segurança – Criptografia ED ATTACK KEKE KDKD Algoritmo de Codificação Algoritmo de Decodificação C=E(P, K E ) QZZQEA ATTACK Chaves P=D(C, K D ) Plaintext: ABCDEFGHIJKLMNOPQRSTUVWXYZ K E : QWERTYUIOPASDFGHJKLZXCVBNM K D : KXVMCNOPHQRSZYIJADLEGWBUFT Chave de Decodificação

14 Segurança – Criptografia ED ATTACK KEKE KDKD Algoritmo de Codificação Algoritmo de Decodificação C=E(P, K E ) QZZQEA ATTACK Chaves P=D(C, K D ) Plaintext: ABCDEFGHIJKLMNOPQRSTUVWXYZ K D : KXVMCNOPHQRSZYIJADLEGWBUFT QZZQEA ATTACK

15 Segurança – Criptografia Chave-pública: usado para sanar a desvantagem da chave-secreta; Chaves distintas são utilizadas pelos algoritmos; Par (chave-pública, chave-secreta); Geração da chave é automática; Para enviar uma mensagem, o remetente codifica a mensagem com a chave-pública do destinatário; Como somente o destinatário possui a chave-secreta correspondente, somente ele poderá ler a mensagem (decodificar); RSA (Rivest-Shamir-Adleman, 1977) utilizado pelo Internet Explorer e Netscape; PGP (Pretty Good Privacy) codificado;

16 Segurança – Criptografia ED (K secreta, K pública ) Algoritmo de Codificação Algoritmo de Decodificação (K pública ) Plaintext Ciphertext Plaintext RSA utiliza os números primos para gerar as chaves;

17 Segurança – Criptografia Assinatura digital: assinatura eletrônica que pode ser utilizada para identificar o remetente de uma mensagem ou para assinar um documento; além disso, pode garantir que o conteúdo original de uma mensagem/documento não foi alterado; Utiliza algoritmos de Hash: MD5 (Message Digest 5): resultado de 16 bytes; SHA-1(Secure Hash Algorithm): resultado de 20 bytes; Também utiliza chave-pública e chave-secreta; Destinatário deve conhecer a chave-pública do remetente; Certificado digital: cartão eletrônico com informações tais como: nome, número serial, chave-pública;

18 Segurança – Autenticação Autenticação do usuário sistema determina quem é o usuário; Princípios: O que o usuário sabe; O que o usuário tem; O que o usuário é; Dependendo do resultado acima, diferentes propriedades são definidas; Root (superusuário); Usuários comuns; Usuários com tarefas especiais backups;

19 Segurança – Autenticação Tipos de autenticação: Senhas; Questões; Certificado digital; Letras; Objetos físicos; Biometria; Restrições: Horários permitidos; Logs registram os logins realizados; Criar grupos diferentes de pessoas, com diferentes direitos;

20 Segurança – Ataques Cavalo de Tróia (Trojan Horse) caracterizado por um programa inocente que executa ações indesejadas no sistema; código malicioso: Modificação de dados; Remoção de dados; Destruir o sistema de arquivos ou o HD;

21 Segurança – Ataques Login Spoofing: relacionado com o cavalo de tróia; Ex.: simula uma tela de login; Spoofing: esconde o real remetente do ; Spam; Buffer Overflow: processo/programa tenta armazenar mais dados em um buffer do que ele suporta; um dos ataques mais comuns;

22 Segurança – Ataques Denial of Service (negação de serviço): consumir recursos até causar uma parada no sistema (serviços de , servidor de arquivos); main () {while (1) fork();} Vírus: muito comum; Vírus de boot; Vírus residente em memória; Vírus de Macro/Drivers; Vírus de Executável;

23 Segurança - Princípios de Projeto Projeto deve ser público; Ser simples, coerente; Fácil para o usuário; O default deve ser sem acesso algum; Processos devem ter o mínimo de privilégios possíveis; Mecanismos de proteção devem ser simples, uniformes e devem estar nos níveis mais baixos do SO;

24 Segurança Mecanismos de Proteção Mecanismos que garantem as políticas de segurança estabelecidas; Característica importante: Domínios de proteção; Mecanismos: Matriz de Proteção; Lista de controle de acesso (ACL); Capabilities;

25 Segurança Mecanismos de Proteção Domínios de Proteção diferentes objetos precisam ser protegidos: Hardware: CPU, memória, disco; Software: processos, arquivos, semáforos, bases de dados; Cada objeto possui um nome e um conjunto finito de operações que podem ser realizadas sobre esse objeto: Leitura/escrita arquivos; Up/down semáforos;

26 Segurança Mecanismos de Proteção Assim, o sistema deve estabelecer quais objetos têm acesso (leitura/escrita/execução) a quais objetos; Domínio par (objeto, direitos); Um objeto pode estar presente em diferentes domínios com diferentes direitos;

27 Segurança Mecanismos de Proteção É possível que um objeto (processo, por exemplo) tenha diferentes acessos em diferentes domínios: Chamadas de sistema: modo usuário modo kernel; Matriz de proteção pouca utilizada devido ao espaço ocupado e ao fato de ser muito esparsa;

28 Segurança Mecanismos de Proteção Read Write Read Write Execute Read Write Arquivo1 PlotterImpressora Arquivo4 Arquivo3 Arquivo2 D1 D3 D2

29 Segurança Mecanismos de Proteção Lista de Controle de Acesso (ACL) técnica que associa a cada objeto aos domínios/usuários que têm acesso (e quais acessos) a esse objeto (lista ordenada); ACL pode ter entradas para usuários individuais ou para grupos de usuários; ABC processo Dono (owner) Usuário Kernel F1 F2 Arquivos A: RW; B:R B: R; C:RWX ACL Forma básica de ACL

30 Segurança Mecanismos de Proteção Capabilities: a cada domínio/usuário é associada uma lista de objetos que esse domínio/usuário pode acessar (e quais acessos); ABC processo Dono (owner) Usuário Kernel F1 F2 F2: RWXF1: R F2: R F1: RW C-list

31 Segurança – Sistemas Confiáveis Muito $$$ é gasto com danos causados por vírus, perda de dados, invasão, etc; Duas questões importantes: É possível desenvolver sistemas computacionais seguros? Se é possível, por que esses sistemas não são desenvolvidos?

32 Segurança – Sistemas Confiáveis É possível construir sistemas seguros, no entanto, infelizmente, não existem sistemas 100% seguros; Muitas vezes, implementar características de segurança torna o sistema lento, complexo quanto mais características, mais problemas, mais bugs, mais erros de segurança; Ex.: páginas WEB HTML puro é mais seguro do que os Applets;

33 Segurança – Sistemas Confiáveis Sistemas confiáveis são desenvolvidos utilizando requisitos formais de segurança; Todo sistema confiável deve possuir um TCB (Trusted Computing Base) conjunto de hardware e software que auxiliam nas regras de segurança; Basicamente, um TCB consiste de hardware, uma parte do kernel do SO, e a maioria (ou todos) os programas de usuários que têm direitos de root (superusuário);

34 Segurança – Sistemas Confiáveis Funções do SO que devem fazer parte do TCB: Criação de processo; Chaveamento de processo; Mapeamento de memória; Parte do gerenciamento de arquivos e dispositivos de E/S;

35 Segurança – Sistemas Confiáveis Monitor de referência: responsável por tratar as chamadas ao sistema envolvendo segurança; decide se as chamadas podem ou não ser executadas; Usuário Kernel Processo do usuário Kernel TCB Monitor Chamadas de sistema

36 Segurança – Sistemas Confiáveis Livro Laranja (Orange Book): Diretrizes de Segurança; Criado pelo Departamento de defesa dos EUA em 1985 (DoD ); bow bow Divide os Sistemas em sete níveis de acordo com suas propriedades de segurança; Níveis: D, C1, C2, B1, B2, B3 e A1;

37 Segurança – Sistemas Confiáveis Critérios: Políticas de segurança: Controle de acesso; Reuso de objetos; Accountability (responsabilidade): Identificação e autenticação; Auditoria;

38 Segurança – Sistemas Confiáveis Critérios: Assurance (garantia): Arquitetura do sistema; Integridade do sistema; Projeto formal; Documentação: Manuais de segurança; Documentos de projeto e teste;

39 Segurança – Sistemas Confiáveis Nível D requisitos mínimos de proteção; MS-DOS; Windows95; Windows98*; WindowsME;

40 Segurança – Sistemas Confiáveis Nível C ambientes com usuários cooperativos; C1 requer login de autenticação; usuários podem estabelecer quais arquivos podem ser acessados por quais usuários (controle discretionary); ACL; TCB; Versões mais antigas do UNIX; C2 além das características de C1, o sistema deve possuir um mínimo de auditoria (logs de eventos); controle de acesso; WinNT 4.0, Windows2000, Oracle 7, Novell Netware;

41 Segurança – Sistemas Confiáveis Nível B: algumas políticas de segurança são impostas (mandatory); B1 C2; integridade dos dados; controle do fluxo de informações dos usuários e objetos do sistema; B2 B1; além de controlar o fluxo, o sistema deve ter sido projetado de maneira top-down e modular; modelo formal de TCB; B3 B2; possuir ACL tanto para usuários quanto para grupos; auditoria; recuperação de problemas; Nível A1: Funcionalidade igual ao B3; Modelo formal do sistema de proteção;


Carregar ppt "Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC 140 - SISTEMAS OPERACIONAIS I Turmas."

Apresentações semelhantes


Anúncios Google