Implementação de políticas UCON em um núcleo de sistema operacional



Documentos relacionados
Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

MODELO CLIENTE SERVIDOR

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Softwares Aplicativos Banco de Dados

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Lógica de Programação

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

Segurança: Controlo de Acesso

(Monitor de referências) olicy nforcement oint. olicy ecision oint

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Aluísio Eustáquio da Silva

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Prof.: Clayton Maciel Costa

CATÁLOGO DE CUSTOMIZAÇÃO Tag xped e nitempedno XML de Faturamento

Conceitos de Banco de Dados

FAQ Base de conhecimento. Treinamento OTRS Help Desk

**Docentes do Centro Universitário Filadélfia- Unifil.

Manual do Sistema "Fala Comigo - Sistema de Atendimento On-Line" Editorial Brazil Informatica

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Modelos de analise

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Projeto Pedagógico do Bacharelado em Ciência da Computação. Comissão de Curso e NDE do BCC

Governança de TI. ITIL v.2&3. parte 1

Criando um script simples

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

O que é o JavaScript?

CATÁLOGO DE APLICAÇÕES PEFIN SERASA

MÓDULO 1 Conhecendo o HÓRUS

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA

ACL Linux. O que são ACLs e por que usá-las?

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Noções de. Microsoft SQL Server. Microsoft SQL Server

GOVERNO DO ESTADO DO PARÁ MINISTÉRIO PÚBLICO DE CONTAS DOS MUNICÍPIOS DO ESTADO DO PARÁ MPCM CONCURSO PÚBLICO N.º 01/2015

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Organização de programas em Python. Vanessa Braganholo

Oficina de ferramentas de Gerência para Redes em Linux. Prof. Jefferson Santiago

Implantação de um Processo de Medições de Software

Sistemas de Gestão Ambiental O QUE MUDOU COM A NOVA ISO 14001:2004

Para a Educação, a Ciência e a Cultura TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA CONSULTOR POR PRODUTO

Data de Aplicação. Rede Local e Segurança Informática Básica

Planejando o aplicativo

Introdução à Linguagem

Prof. Esp. Adriano Carvalho

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

3 SCS: Sistema de Componentes de Software

Existem 109 questões nesta pesquisa

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula:

Access Control Lists - ACL. Treinamento OTRS Help Desk

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Manual de Utilização do GLPI

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Gerenciamento de Mudanças. Treinamento OTRS

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Laboratório de Programação I

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

Introdução ao Active Directory AD

Sintaxe Básica de Java Parte 1

Minicurso de Introdução a GNU/Linux. Nicolas Katte Dornelles Raul José Chaves Róbson Tolfo Segalla

CATÁLOGO DE CUSTOMIZAÇÕES PEFIN SERASA

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA

Guia do usuário GLPI. Versão Modificada- Thiago Passamani

Quarta-feira, 09 de janeiro de 2008

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Análise e Tramitação de Projetos nos Comitês de Ética em Pesquisa

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

Laboratório de Redes de Computadores e Sistemas Operacionais

Internet e Programação Web

Manual Operacional. Sistema Giro. Sistem a G iro

Artigo Lean Seis Sigma e Benchmarking

Java Como Programar, 8/E

BANCO DE DADOS. Isac Aguiar isacaguiar.com.br

CATÁLOGO DE CUSTOMIZAÇÕES Cópia de Pedidos de Venda entre Empresas

Aspectos técnicos do desenvolvimento baseado em componentes

Introdução à Programação

SOLICITAÇÃO DE SERVIÇO DE TECNOLOGIA DA INFORMAÇÃO

ENGENHARIA DE SOFTWARE ExtremePlanner

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

XACML. extensible Access Control Markup Language

Programação de Computadores

Apresentação de SISTEMAS OPERATIVOS

Componentes da linguagem C++

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Download. Instalaça o. Geral

Transcrição:

Implementação de políticas UCON em um núcleo de sistema operacional Rafael Coninck Teigão, Carlos Maziero*, Altair Santin Programa de Pós-Graduação em Informática Pontifícia Universidade Católica do Paraná Curitiba PR Brasil {teigao,maziero,santin}@ppgia.pucpr.br *apresentador 1/14

Visão Geral Contexto: Há uma necessidade para novos modelos de controle de acesso, para tratar Gerência de Confiança, Privacidade e DRM. Problema: O modelo UCONABC foi apenas definido matematicamente, não há ainda implementações completas. Nossa abordagem: Criar uma gramática que representa políticas UCONABC, implementá-la em um protótipo e implantá-lo no núcleo de um SO. Resultados: O protótipo implantado controla acesso e uso em um SO com sucesso. 2/14

Motivação e Definição do Problema A disponibilidade dos dados mudou, mas os controles atuais não acompanharam a mudança. Há uma necessidade para se gerenciar Confiança, Privacidade e DRM. Novos modelos devem suportar modelos clássicos (e.g. DAC, MAC e RBAC). O modelo de Controle de Uso foi apenas apresentado formalmente. 3/14

O Modelo de Controle de Uso UCONABC Uma ampliação da Matriz de Acesso Introduz mutabilidade de atributos Validação das permissões é contínua 3 fatores de decisão: o Autorização: controle de acesso tradicional o obrigação: ações que o usuário deve executar antes ou durante o acesso o Condição: requisitos ambientais que podem ser considerados 4/14

Mutabilidade dos Atributos e Continuidade da Avaliação Continuidade da avaliação pre(abc) antes pre-update Mutabilidade do atributo on(abc) Uso do Recurso on-update após post-update 5/14

A Gramática Proposta A linguagem deve expressar claramente os predicados funcionais de autorização, obrigação e condição. O acesso deve apenas ser permitido após todas as regras avaliadas retornarem true. Qualquer regra que retorne false nega o uso. Um conjunto vazio de regras não nega o acesso. Deve ser possível adicionar novas regras sem modificar os atributos do usuário (desde que os atributos necessários estejam presentes). O processo de avaliação das regras deve ser eficiente. A proposta deve ser implementável e facilmente integrável aos ambientes existentes. 6/14

Símbolos Terminais e Operadores Variáveis e símbolos de valores Símbolo Tipo Descrição $nome inteiro, string Uma variável, iniciada com o símbolo $, seguido pelo o nome único Dígitos inteiro Um valor inteiro constante [string_1,..., string_n] string Um conjunto constante de strings o$slot inteiro Palavra-chave para acessar valores de obrigação c$nome inteiro Palavra-chave para acessar valores do recurso nome, utilizada em condições Operadores Operador Tipo Funcionalidade = Atribuição Atribui um valor a uma variável ==!= < > <= >= Comparação Compara operandos & Lógico AND e OR size Conjunto Retorna o tamanho de um conjunto + -*/ Aritimético Operações numéricas básicas + * Conjunto União e interseção de conjuntos (expressão) Precedência A expressão mais interna deve ser avaliada antes da expressão fora dos parênteses # Inicia um comentário 7/14

Exemplo de Uso 1 Limita a quantidade de usuários, com UCONpreA13preC0 Atributos do Objeto: $users = 0 $max_day = 10 $max_night = 20 $day_start = 8 $day_end = 18 Políticas pos: $users = $users - 1 Políticas pre: ( ( (c$time > $day_start) & (c$time < $day_end) ) & ($users < $max_day) ) ( ( (c$time < $day_start) (c$time > $day_end) ) & ($users < $max_night) ) $users = $users + 1 8/14

Exemplo de Uso 2 RBAC Restrito Separação de Tarefas Atributos do usuário: $roles = director manager teller $active_roles = manager teller Atributos do objeto: $required_roles = teller manager Políticas pre: size ($required_roles * $roles)!= 0 $active_role = $active_role + ($required_roles * $roles) size ($active_role * $required_roles) == 1 Políticas on: size ($active_role * $required_roles) == 1 9/14

Exemplo de Uso 3 Limitação da quantidade de usuários concorrentes baseado no tempo de uso, com UCONonA123 Atributos do usuário: $total_usage = 0 $last_action = 0 Políticas pre: $users < $max_users $users = $users + 1 $last_action = c$time Atributos do objeto: $max_users = 10 $max_usage = 6 $users = 0 Políticas pos: $total_usage = 0 $last_action = 0 $users = $users - 1 Políticas on: $total_usage = $total_usage + (c$time - $last_action) $max_usage < $total_usage $last_action = c$time 10/14

Implementação do Protótipo User space enforcer syscall User identification Object identification Right required granted/denied Kernel space Policy evaluation engine object object object object object files files files files files Access to resources Implementação em um núcleo OpenBSD para controle de uso de arquivos (intercepta chamadas open/close/read/write) user attributes 11/14

Resultados Obtidos Relação Regras vs. Tempo para 18922 Chamadas 12/14

Trabalhos Futuros Compilação das políticas para melhorar o desempenho; Aumentar a quantidade de condições suportadas; Melhorar a representação das obrigações; Adaptar o mecanismo para suportar políticas de gestão autonômica de recursos. 13/14

Conclusão Acreditamos que a gramática apresentada neste trabalho, juntamente com seu mecanismo de efetivação de políticas, pode facilitar a adoção do modelo UCONABC como uma solução viável para o controle de acesso, DRM e proteção de dados. 14/14