Sie sind auf Seite 1von 39

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 1
©2002-2004 Matt Bishop
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 2
©2002-2004 Matt Bishop
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
t4 t5
s1 t2 s2 s3 s4

t(C)
3 2005 Gustavo Motta 3
©2002-2004 Matt Bishop
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 Informação

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 4
©2002-2004 Matt Bishop
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 OK!

– Integridade de dados – confiança em I e de que I não foi


OK!
modificada no transporte ou no armazenamento

– Integridade de origem ou autenticação – I é uma OK!


Informação
informação sobre a origem de alguma coisa ou
sobre uma identidade
OK!

– Integridade de garantia – I é um recurso que funciona


de acordo com o especificado
(C) 2005 Gustavo Motta 5
©2002-2004 Matt Bishop
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
Informação

(C) 2005 Gustavo Motta 6


©2002-2004 Matt Bishop
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 7
©2002-2004 Matt Bishop
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 8
©2002-2004 Matt Bishop
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,
(C) 2005 Gustavo Mottaela a teria violado 9
©2002-2004 Matt Bishop
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 10
©2002-2004 Matt Bishop
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 11
©2002-2004 Matt Bishop
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 12
©2002-2004 Matt Bishop
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 13
©2002-2004 Matt Bishop
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 14


©2002-2004 Matt Bishop
Políticas de segurança (14)
 O papel da confiança (3)
• Confiança em verificação formal (2)

– Suposições

• Quaisquer
A prova nãopolíticas,
possui errosmecanismos ou procedimentos de segurança
baseiam-se em suposições, que, se incorretas, destroem a
» Bugs nos programas assistentes de provas de teoremas
superestrutura na quais estão construídas
 As precondições valem no ambiente no qual S é usado
• Suposições não garantidas levam a conclusões erradas
 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)


(C) 2005 Gustavo Motta 15
©2002-2004 Matt Bishop
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 16
©2002-2004 Matt Bishop
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 17


©2002-2004 Matt Bishop
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 18


©2002-2004 Matt Bishop
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(C)


condições limitando
2005 Gustavo Motta a invocação de entidades 19
©2002-2004 Matt Bishop
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 20
©2002-2004 Matt Bishop
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 21
©2002-2004 Matt Bishop
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 22
©2002-2004 Matt Bishop
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 23
©2002-2004 Matt Bishop
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,
(C) 2005última
gid, tamanho, datas de criação, Gustavomodificação,
Motta último acesso, checksums ... 24
©2002-2004 Matt Bishop
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


(C) 2005oGustavo
política – então, executa-se tripwireMotta
para construir o banco de dados 25
©2002-2004 Matt Bishop
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 26


©2002-2004 Matt Bishop
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 27
©2002-2004 Matt Bishop
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 28


©2002-2004 Matt Bishop
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á
(C) 2005 Gustavo Motta 29
 A missão educacional©2002-2004
da universidade afeta a aplicação
Matt Bishop
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 30
©2002-2004 Matt Bishop
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 31
©2002-2004 Matt Bishop
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 32
©2002-2004 Matt Bishop
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
(C) 2005 Gustavo Motta 33
 Isso significa que o tempo©2002-2004
de resposta é parte
Matt da saída da função
Bishop
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
(C)informações
saídas que podem difundir 2005 Gustavo Motta
confidenciais 34
©2002-2004 Matt Bishop
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 35
©2002-2004 Matt Bishop
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 36


©2002-2004 Matt Bishop
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 37


©2002-2004 Matt Bishop
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 38
©2002-2004 Matt Bishop
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 39
©2002-2004 Matt Bishop

Das könnte Ihnen auch gefallen