2 Políticas, Modelos e Mecanismos de Segurança

Slides:



Advertisements
Apresentações semelhantes
Decidibilidade e Indecidibilidade
Advertisements

2 Políticas, Modelos e Mecanismos de Segurança
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Análise de Casos de Uso.
Sistema de Arquivos - PROTEÇÃO DE ARQUIVOS
Software Básico Silvio Fernandes
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Gerenciamento do escopo do projeto
INTRODUÇÃO A INFORMÁTICA
Mecanismo de Proteção (Prevenção e Detecção)
Orientação a Objetos: Encapsulamento e Classificação
Resolução.
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Administrando usuários 1 Controle de contas de usuários 1.
EXPRESSÕES ARITMÉTICAS
Interação Cliente Servidor
Professora: Aline Vasconcelos
Estudo de Caso 1: UNIX e LINUX
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Introdução à Programação
GERENCIAMENTO DE REDES
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Gerência de Redes Áreas Funcionais de Gerenciamento
Programação Baseada em Objectos Desenho de TAD
Gerenciamento do Escopo
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
UML - Unified Modeling Language
Conceitos Básicos.
Elementos de um Programa Eficaz em Segurança e Saúde no Trabalho
Monitoria GDI Aula Prática
DESCRIÇÃO/OBJETIVOS O Controle de Acesso Nacional foi desenvolvido para suprir a necessidade de maior segurança e controle da informação administrada pelos.
Sistemas Operacionais
JAVA: Conceitos Iniciais
GERENCIAMENTO DE AQUISIÇÕES PMBOK
UML - Unified Modeling Language
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Object Oriented Software Construction (MEYER, Bertrand)
Gerenciamento de Configuração
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Funções Universidade Federal de Ouro Preto - UFOP
Taxonomia Profa. Lillian Alvares,
Segurança e auditoria de sistemas
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Gestão de Segurança em Comércio Eletrônico
Prof. Alexandre Vasconcelos
Conteúdo Processos e threads Partes do processo
Projeto de Banco de Dados
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
EBSCOhost Pesquisa avançada.
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
UML - Unified Modeling Language
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
A abordagem de banco de dados para gerenciamento de dados
Segurança e Auditoria de Sistemas
Banco de Dados Aplicado ao Desenvolvimento de Software
Sistemas operacionais
Planilha Eletrônica - Excel
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
INTRODUÇÃO À PROGRAMAÇÃO EM LÓGICA Profa. Joseluce de Farias Cunha
Introdução a Banco de Dados Aula 04
Laboratório de Programação
Controles Gerais Prof.: Cheila Bombana. Controles Gerais Prof.: Cheila Bombana.
Requisitos de Software
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
Segurança da Informação
Módulo II Capítulo 1: Orientação a Objetos
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Transcrição da apresentação:

2 Políticas, Modelos e Mecanismos de Segurança O papel do controle de acesso Matriz de controle de acesso Resultados fundamentais Políticas de segurança Modelos de segurança Mecanismos e implementação (C) 2005 Gustavo Motta

Políticas de segurança (1) Introdução A natureza das políticas O que elas cobrem Linguagens para políticas A natureza dos mecanismos Tipos Seguro vs. preciso Subjacente a ambos Confiança (C) 2005 Gustavo Motta

Políticas de segurança (2) Uma política particiona os estados de um sistema em Estados autorizados (seguros), que o sistema pode entrar Estados desautorizados (inseguros), que o sistema não pode entrar Sistema seguro É aquele que inicia num estado autorizado e não consegue entrar num estado desautorizado Uma violação de segurança ocorre quando o sistema entra num estado desautorizado t1 t2 t4 t5 t3 s1 s2 s3 s4 (C) 2005 Gustavo Motta

Políticas de segurança (3) Confidencialidade Sejam X um conjunto de entidades e I alguma informação. I possui a propriedade de confidencialidade com relação a X se nenhum x  X pode obter informação sobre I Exemplo X é o conjunto de funcionários de empresas de seguro de vida I são informações sobre a saúde dos clientes (potenciais) I é confidencial com respeito a X se os funcionários de empresas de seguro de vida não consigam obter dados sobre a saúde dos clientes (C) 2005 Gustavo Motta

Políticas de segurança (4) Integridade Sejam X um conjunto de entidades e I alguma informação ou recurso. I possui a propriedade de integridade com relação a X se todo x  X confia em I Tipos de integridade Integridade de dados – confiança em I e de que I não foi modificada no transporte ou no armazenamento Integridade de origem ou autenticação – I é uma informação sobre a origem de alguma coisa ou sobre uma identidade Integridade de garantia – I é um recurso que funciona de acordo com o especificado (C) 2005 Gustavo Motta

Políticas de segurança (5) Disponibilidade Sejam X um conjunto de entidades e I um recurso. I possui a propriedade de disponibilidade com relação a X se todo x  X pode acessar I Tipos de disponibilidade Tradicional: x tem acesso ou não Qualidade de serviço: um nível prometido de qualidade de acesso é oferecido (C) 2005 Gustavo Motta

Políticas de segurança (6) Uma política de segurança considera todos os aspectos relevantes Confidencialidade Identifica os estados nos quais a informação vaza para aqueles não autorizados a recebê-la Vazamento de direitos e transmissão ilícita de informação – information flow Integridade Identifica os meios autorizados para modificação da informação e as entidades autorizadas para tal Princípio da separação da responsabilidade Disponibilidade Descreve quais serviços devem ser ofertados, podendo apresentar parâmetros de qualidade de serviço (C) 2005 Gustavo Motta

Políticas de segurança (7) Exemplo (1) A política de uma universidade proíbe a cópia de trabalhos, com ou sem permissão do autor Os trabalhos devem ser feitos nos computadores do curso Ana esqueceu de proteger seus arquivos contra a leitura por terceiros João conseguiu copiá-los para si Quem trapaceou a política? Ana, João ou ambos? (C) 2005 Gustavo Motta

Políticas de segurança (8) Exemplo (2) João trapaceou A política proíbe a cópia de trabalhos, o que João fez O sistema entrou num estado não autorizado – João possui uma cópia do trabalho de Ana Mas a política não especifica explicitamente que “arquivos contendo trabalhos não podem ser copiados” Irrelevante, pois a política deve seguir a norma da universidade que proíbe um aluno realizar o trabalho como se fosse outro Ana não trapaceou Ana não protegeu seu trabalho contra leitura, mas a política não requeria isto Ela não violou a política Caso a política assim determinasse, aí sim, ela a teria violado (C) 2005 Gustavo Motta

Políticas de segurança (9) Não confundir mecanismo com política O fato de João poder copiar os arquivos (mecanismo) não significa que esta ação é permitida (política) Mecanismo Um mecanismo de segurança é uma entidade ou procedimento que impõe alguma parte de uma política de segurança Controles de acesso Procedimentos que impedem o uso de CDs, disquetes e cartões de memória em computadores de uma empresa como forma de impedir a instalação de programas piratas Mecanismos de segurança podem ser controles operacionais Políticas quase sempre são implícitas Problemas quando definidas em termos de mecanismos (C) 2005 Gustavo Motta

Políticas de segurança (10) Modelos de políticas Um modelo de segurança é um modelo que representa uma política específica ou um conjunto de políticas Diferencia uma política de sua descrição abstrata Abstrai detalhes relevantes para análise de características específicas comuns a classes de políticas Níveis de segurança em modelos de segurança multinível - modelo Bell-LaPadula Separação de responsabilidade no modelo Clark-Wilson Conflitos de interesses no modelo Chinese Wall (C) 2005 Gustavo Motta

Políticas de segurança (11) Tipos de políticas de segurança Política de segurança militar (governamental) Visa proteger, primariamente, a confidencialidade Fator chave para privacidade Política de segurança comercial Visa proteger, primariamente, a integridade Política de segurança orientada a integridade de transação Política de confidencialidade Visa proteger apenas a confidencialidade Política de integridade Visa proteger apenas a integridade (C) 2005 Gustavo Motta

Políticas de segurança (12) O papel da confiança (1) Teorias e mecanismos de segurança baseiam-se em certas suposições Quando se entende as suposições em que se baseiam as políticas, os mecanismos e os procedimentos de segurança, então tem-se um entendimento muito bom do quão efetivos são essas políticas, mecanismos e procedimentos Exemplo: instalação de um patch por um administrador Confia que o patch veio realmente do fabricante, não tendo sido adulterado Confia que o patch foi testado em profundidade Confia que o ambiente de teste no fabricante corresponde ao ambiente local Confia que o patch foi instalado corretamente (C) 2005 Gustavo Motta

Políticas de segurança (13) O papel da confiança (2) Confiança em verificação formal (1) Fornece uma prova matemática formal de que para uma dada entrada i, um programa P produz uma saída o, como especificado Suponha um programa relativo a segurança S formalmente verificado para trabalhar com sistema operacional O Quais são as suposições? (C) 2005 Gustavo Motta

Políticas de segurança (14) O papel da confiança (3) Confiança em verificação formal (2) Suposições A prova não possui erros Bugs nos programas assistentes de provas de teoremas As precondições valem no ambiente no qual S é usado S foi transformando num programa objeto S’, que segue as ações prescritas em S Compiladores e ferramentas auxiliares livres de bugs O hardware executa S’ como esperado Hardware bugs (Pentium f00f bug, por exemplo) Quaisquer políticas, mecanismos ou procedimentos de segurança baseiam-se em suposições, que, se incorretas, destroem a superestrutura na quais estão construídas Suposições não garantidas levam a conclusões erradas (C) 2005 Gustavo Motta

Políticas de segurança (15) Tipos de controle de acesso Controle de acesso discricionário (CAD) Se um usuário individual pode configurar um mecanismo de controle de acesso para permitir ou proibir o acesso a um objeto, então tal mecanismo é um controle de acesso discricionário, também conhecido por controle de acesso baseado na identidade (CABI) Controle de acesso compulsório (CAC) Quando um mecanismo do sistema controla o acesso a um objeto e um usuário individual não pode alterar este acesso, então tal mecanismo é um controle de acesso compulsório, ocasionalmente chamado controle de acesso baseado em regras Controle de acesso controlado pelo originador (CACO) Um controle de acesso controlado pelo originador baseia o acesso no criador de um objeto (ou nas informações que ele contém) O objetivo é permitir ao originador o controle da disseminação da informação Owner como fiel depositário, sujeito às determinações do originador (C) 2005 Gustavo Motta

Políticas de segurança (16) Linguagens para políticas (1) Usadas para representar uma política de segurança Alto nível Restrições da política expressas abstratamente Baixo nível Restrições da política expressas em termos de opções de programas, entradas ou características específicas da entidades de um sistema (C) 2005 Gustavo Motta

Políticas de segurança (17) Linguagens para políticas (2) Linguagens de alto nível para políticas Restrições expressas independentemente do mecanismo de imposição Restrições atuam sobre entidades e ações num sistema Restrições expressas sem ambigüidades Requer uma linguagem precisa, usualmente, uma linguagem matemática, lógica ou similar a uma linguagem de programação (C) 2005 Gustavo Motta

Políticas de segurança (18) Linguagens para políticas (3) Exemplo: linguagem de alto nível para segurança de um web browser (1) Objetivo Restringir as ações de programas Java baixados e executados sob controle do web browser Linguagem específica para programa Java Expressa restrições como condições limitando a invocação de entidades (C) 2005 Gustavo Motta

Políticas de segurança (19) Linguagens para políticas (4) Exemplo: linguagem de alto nível para segurança de um web browser (2) Entidades: classes ou métodos Operações Instanciação: s cria uma instância da classe c: s –| c Invocação: s1 excuta objeto s2: s1 | s2 Restrições de acesso deny(s op x) when b Enquanto b é verdadeiro, o sujeito s não pode executar op em (sujeito ou classe) x; o s vazio denota todos os sujeitos (C) 2005 Gustavo Motta

Políticas de segurança (20) Linguagens para políticas (5) Exemplo: linguagem de alto nível para segurança de um web browser (3) Exemplo de restrição: o programa baixado não pode acessar o arquivo de senhas num sistema Unix Classe e métodos de manipulação de arquivos do programa class File { public file(String name); public String getfilename(); public char read(); Restrição deny( |-> file.read) when (file.getfilename() == “/etc/passwd”) (C) 2005 Gustavo Motta

Políticas de segurança (21) Linguagens para políticas (6) Exemplo: linguagem de alto nível para segurança de um web browser (4) Exemplo de restrição: máximo de 100 conexões de rede abertas Classe Socket define interface de rede O método Network.numconns fornece o numero de conexões de rede ativas Restrição deny( -| Socket) when (Network.numconns() >= 100) (C) 2005 Gustavo Motta

Políticas de segurança (22) Linguagens para políticas (7) Linguagens de baixo nível para políticas Conjuntos de entradas ou argumentos para comandos Definir ou verificar restrições num sistema Baixo nível de abstrações Necessita de detalhes do sistema, comandos Exemplo: acesso a displays X11 controlado por listas xhost +groucho -chico Conexões do host groucho permitidas Conexões do host chico proibidas (C) 2005 Gustavo Motta

Políticas de segurança (23) Linguagens para políticas (8) Exemplo: tripwire – assume uma política de constância num sistema de arquivos (1) Registra um estado inicial, depois acusa os arquivos que tiveram atributos modificados /usr/mab/tripwire +gimnpsu012345678-a Verifica todos os atributos, menos data do último acesso (“-a”) Um banco de dados mantém os valores anteriores dos atributos /usr/mab/tripwire/README 0 ..../. 100600 45763 1 917 10 33242 .gtPvf .gtPvY .gtPvY 0 .ZD4cc0Wr8i21ZKaI..LUOr3 .0fwo5:hf4e4.8TAqd0V4ubv ?...... ...9b3 1M4GX01xbGIX0oVuGo1h15z3 ?:Y9jfa04rdzM1q:eqt1APgHk ?.Eb9yo.2zkEh1XKovX1:d0wF0kfAvC ?1M4GX01xbGIX2947jdyrior38h15z3 0 Nome do arquivo, versão, máscara de bits, modo, número do inode, número de links, uid, gid, tamanho, datas de criação, última modificação, último acesso, checksums ... (C) 2005 Gustavo Motta

Políticas de segurança (24) Linguagens para políticas (9) Exemplo: tripwire – assume uma política de constância num sistema de arquivos (2) Observações Não se espera que administradores editem o banco de dados para definir atributos apropriadamente Verificar a ocorrência de mudanças num sistema de arquivos com o tripwire é fácil Execute uma vez para criar o banco de dados e execute novamente para verificar Verificar a conformidade com uma política é mais difícil Necessita ou editar o arquivo do banco de dados, ou definir o sistema em conformidade com a política – então, executa-se o tripwire para construir o banco de dados (C) 2005 Gustavo Motta

Políticas de segurança (25) Exemplo: política de segurança numa universidade (1) Política de alto nível – expressa em linguagem natural O nível de detalhamento depende do ambiente e da cultura das organizações Universidade têm políticas mais genéricas Bancos têm políticas mais detalhadas e explícitas Instituição Múltiplos campi, administradas centralmente Cada campus tem uma administração local, possuindo aspectos e necessidades únicas Política de uso autorizado Política de e-mail (C) 2005 Gustavo Motta

Políticas de segurança (25) Exemplo: política de segurança numa universidade (2) Política de uso autorizado - genérica Aplicável para apenas um campus (Davis) Objetivos para computação no campus Intenções subjacentes às regras Enumera exemplos específicos de ações que são consideradas abusos Lista não exaustiva Mecanismos de imposição – procedimentos Advertências Proibição do acesso aos computadores Sanções disciplinares, incluindo a expulsão Escrita informalmente, com o objetivo de alcançar a comunidade de usuários (C) 2005 Gustavo Motta

Políticas de segurança (26) Exemplo: política de e-mail numa universidade (1) Abrange todos os campus da UC Três partes Sumário Política completa Interpretação no campus (C) 2005 Gustavo Motta

Políticas de segurança (27) Exemplo: política de e-mail numa universidade (2) Sumário Adverte que o e-mail não é privado Pode ser lido durante a administração normal do sistema Pode ser forjado, alterado e re-enviado Incomum, pois políticas em geral não alertam usuários sobre ameaças Em geral, orientam na prevenção de problemas, mas não definem as ameaças O que os usuários deveriam e o que eles não deveriam fazer Pense antes de enviar um e-mail Seja cortês e respeitoso com os outros Não interfira com o uso do e-mail pelos outros Permitido o uso pessoal, desde que a sobrecarga seja mínima A quem a política se aplica O problema é que a UC é quasi-governamental, tendo de obdecer a regras que uma empresa privada não está A missão educacional da universidade afeta a aplicação (C) 2005 Gustavo Motta

Políticas de segurança (28) Exemplo: política de e-mail numa universidade (3) Política completa (1) Contexto Não se aplica aos laboratórios do Depto. de Energia da universidade Não se aplica a cópias impressas de e-mail Outras políticas da universidade se aplicam Serviços de e-mail e infra-estrutura são propriedades da universidade Todos que usam são obrigados a obedecer a lei e a política da universidade São garantidos os princípios de liberdade acadêmica e de expressão Acesso sem a permissão do usuário só é permitida com a anuência do vice-diretor ou do vice-reitor Caso inviável, deve-se pedir a autorização retroativamente (C) 2005 Gustavo Motta

Políticas de segurança (29) Exemplo: política de e-mail numa universidade (4) Política completa (2) Uso do e-mail Anonimato permitido Exceção: violação da lei ou de outras políticas Não se pode interferir no uso do e-mail pelos outros Proibidos spam, letter bombs, vermes por e-mail, etc. Uso pessoal permitido com limitações Não pode interferir nos interesses da universidade Por ser um registro da universidade, pode ser divulgado a critério desta (C) 2005 Gustavo Motta

Políticas de segurança (30) Exemplo: política de e-mail numa universidade (5) Política completa (3) Segurança do e-mail A universidade pode ler um e-mail Permitido em virtude de interesses legítimos da universidade Permitido para oferecer um serviço de e-mail robusto e confiável Arquivamento e retenção permitidos Cópias são mantidas num servidor (cópia de segurança, por exemplo) Implementação Adiciona requisitos e procedimentos específicos a um campus Exemplo: “uso incidental pessoal” não permitido se beneficia uma organização não universitária Procedimentos para monitoração, inspeção e revelação do conteúdo de e-mails Backups (C) 2005 Gustavo Motta

Políticas de segurança (31) Segurança e precisão (1) Pode-se conceber um procedimento para desenvolver um mecanismo que seja seguro e preciso? Considera-se apenas políticas de confidencialidade Obtém-se os mesmos resultados com políticas de integridade Considera-se um programa P tendo múltiplas entradas e uma única saída Seja p uma função p: I1  ...  In  R, então P é um programa com n entradas ik  Ik, 1 ≤ k ≤ n e com uma saída r  R Postulado da observação A saída de uma função p(i1, ..., in) incorpora toda informação disponível sobre i1, ..., in Os canais ocultos fazem parte da saída Exemplo: função de autenticação Entradas: nome, senha; saída: sucesso ou insucesso Caso o nome seja inválido, imprime imediatamente insucesso; senão acessa banco de senhas Problema: o tempo de resposta da saída insucesso pode determinar se um nome é válido Isso significa que o tempo de resposta é parte da saída da função (C) 2005 Gustavo Motta

Políticas de segurança (32) Segurança e precisão (2) Mecanismo de proteção Seja p a função p: I1  ...  In  R. Um mecanismo de proteção m é uma função m: I1  ...  In  R  E para a qual, quando ik  Ik, 1 ≤ k ≤ n, uma das seguintes opções valem m(i1, ..., in) = p(i1, ..., in) ou m(i1, ..., in)  E. E é o conjunto de saídas de erro No exemplo anterior, E = { “Banco de dados senhas não especificado”, “Banco de dados de senhas bloqueado” } Toda entrada legal para m produz ou o mesmo valor para a mesma entrada em p, ou uma mensagem de erro O conjunto de valores de saída de p que é excluído das saídas de m é o conjunto de saídas que podem difundir informações confidenciais (C) 2005 Gustavo Motta

Políticas de segurança (33) Segurança e precisão (3) Política de segurança (1) Uma política de confidencialidade para o programa p estabelece quais entradas podem ser reveladas Formalmente, para p: I1  ...  In  R, a política de confidencialidade é a função c: I1  ...  In  A, onde A  I1  ...  In A é o conjunto de entradas disponível para observação Seja a função m: I1  ...  In  R  E um mecanismo de segurança para p, então m é seguro se e somente se  m´: A  R  E tal que, para todo ik  Ik, 1 ≤ k ≤ n, m(i1, ..., in) = m´(c(i1, ..., in)) m retorna valores consistentes com a política de confidencialidade c (C) 2005 Gustavo Motta

Políticas de segurança (34) Segurança e precisão (4) Política de segurança (2) Exemplos c(i1, ..., in) = C, uma constante Proíbe a observação de qualquer informação – a saída não varia com as entradas c(i1, ..., in) = (i1, ..., in), e m´ = m Permite a observação completa da informação c(i1, ..., in) = i1 Permite a observação de informação relativa a primeira entrada, mas nenhuma informação sobre as outras entradas (C) 2005 Gustavo Motta

Políticas de segurança (35) Segurança e precisão (5) Precisão Uma política de segurança pode restringir além do necessário Precisão mede o quanto a restrição é além do necessário m1, m2 são mecanismos de proteção distintos para o programa p sob a política c m1 é tão preciso quanto m2 (m1 ≈ m2) se, para todas as entradas i1, …, in, m2(i1, …, in) = p(i1, …, in)  m1(i1, …, in) = p(i1, …, in) m1 é mais preciso que m2 (m1 ~ m2) se existe uma entrada (i1´, …, in´) tal que m1(i1´, …, in´) = p(i1´, …, in´) e m2(i1´, …, in´) ≠ p(i1´, …, in´) (C) 2005 Gustavo Motta

Políticas de segurança (36) Segurança e precisão (6) Combinando mecanismos m1, m2 são mecanismos de proteção m3 = m1  m2 Para entradas nas quais m1 ou m2 retornam o mesmo valor em p, m3 também retorna; nos outros casos, m3 retorna o mesmo valor que m1 Teorema: se m1, m2 são seguros, então m3 também é seguro Em adição, m3 ≈ m1 e m3 ≈ m2 Seguem das definições de seguro, preciso e de m3 (C) 2005 Gustavo Motta

Políticas de segurança (37) Segurança e precisão (7) Teorema da existência Para qualquer programa p e política de segurança c, existe um mecanismo preciso e seguro m* tal que, para todo mecanismo seguro m associado a p e c, m* ≈ m Mecanismo maximamente seguro Assegura segurança Minimiza o número de proibições para ações legítimas Ausência de um procedimento efetivo Não existe um procedimento efetivo para determinar um mecanismo maximamente preciso e seguro para qualquer política e programa (C) 2005 Gustavo Motta