A framework for usage control policy enforcement
View/ Open
Date
2010Advisor
Co-advisor
Academic level
Graduation
Abstract in Portuguese (Brasil)
Este trabalho de conclusão foi iniciado sobre a orientação do professor Alexander Pretschner da Universidade Técnica de Kaiserslautern, em 2009 e também com orientação do Ricardo Neisse, do Instituto Fraunhofer, e mais tarde com a supervisão da professora Taisy Weber. Este trabalho trata da aplicação de mecanismos de controle de uso de dados, com ênfase na aplicação no nível de sistemas operacionais. No mundo digital atual, a segurança de dados tornou-se uma grande preocupação. Para lidar com e ...
Este trabalho de conclusão foi iniciado sobre a orientação do professor Alexander Pretschner da Universidade Técnica de Kaiserslautern, em 2009 e também com orientação do Ricardo Neisse, do Instituto Fraunhofer, e mais tarde com a supervisão da professora Taisy Weber. Este trabalho trata da aplicação de mecanismos de controle de uso de dados, com ênfase na aplicação no nível de sistemas operacionais. No mundo digital atual, a segurança de dados tornou-se uma grande preocupação. Para lidar com esta preocupação foram desenvolvidos vários métodos, entre eles o controle de uso dos dados. Controle de uso é uma extensão do controle de acesso que determina não apenas quem pode acessar os dados, mas também o que pode ou deve ser feito com esses dados e pode ser aplicado nas mais diversas áreas, incluindo, mas não limitado a, gerenciamento de direitos digitais (DRM). Controle de uso funciona através da aplicação de políticas a dados, as quais determinam obrigações do usuário em relação a esses dados. Por exemplo, é possível especificar que um usuário que baixa um determinado filme só poderá tocá-lo um número máximo de vezes e não é permitido a copiar ou re-distribuir o filme através de meios de armazenamento portáteis. Para que as políticas de controle de uso sejam aplicadas corretamente, um tipo de mecanismo de execução deve ser implementado. Estes mecanismos podem ser divididos em duas categorias: mecanismos de observação, que relatam violações de políticas para o proprietário dos dados e que gera ações penalizantes, e mecanismos de controle, que impedem que as políticas sejam violadas através de restrições as ações do usuário. Os mecanismos de controle de uso são compostos por três componentes principais: o monitor de obrigações, responsável por detectar violações de políticas, um componente de sinalização, que gera eventos com base em ações do usuário que envolvem dados controlados e que alimentam o monitor de obrigações, e uma componente de execução, que executa ações que penalizam o usuário ou que impede violações, de acordo com a categoria do mecanismo. Controle de uso pode ser aplicado em diferentes níveis de abstração, como no kernel do sistema operacional, no nível de máquinas virtuais (VMWare, por exemplo), sistemas runtime (JavaVM), e na camada de aplicações. Em níveis de abstração mais altos as ações observadas são mais específicas e em níveis mais baixos são mais genéricos e com poucas distinções. Para ser mais eficiente, uma política deve ser implementada no nível que mais se adapte às características dos dados e da prórpia política. Uma política que especifica restrições com relação à reprodução de um filme vai ser melhor aplicada na camada de aplicação do que ao nível do sistema operacional, por outro lado, uma política que afirma que um arquivo não deve ser aberto, exceto em circunstâncias especiais, será mais fácil aplicar no nível do sistema operacional através do controle de chamadas do sistema do tipo "open". Controle do uso também pode ser aplicada em mais de um nível ao mesmo tempo. O foco desta tese é sobre a aplicação de políticas de controle de uso no nível do sistema operacional utilizando a Obligation Specification Language (OSL). Políticas de controle de uso em OSL representam ações do usuário por meio de eventos, e podem ser aplicadas usando tanto mecanismos de observação quanto mecanismos de controle. Um mecanismo de observação verifica se uma seqüência de eventos está em conformidade com uma fórmula OSL e gera notificações quando não for compatível, enquanto um mecanismo de controle não apenas observa um evento, mas pode impedir, modificar, substituir ou atrasar o eventos que não é compatível com a política. Nesta tese, será apresentado um parser OSL e monitor de obrigações genéricos, além de um monitor que permita a utilização de mecanismos de controle. Adicionalmente, será apresentado um arquitetura genérica para implementação de controle de uso, e a instanciação desta arquitetura para dois sistemas operacionais reais: OpenBSD e Windows. Finalmente, será avaliado o impacto da aplicação de controle de uso sobre o desempenho do sistema operacional. ...
Abstract
Usage control is an extension of access control that determines not only who may access data but also what can or must be done with this data. Usage control works by applying OSL policies to data, which state the user’s obligations in relation to that data. In this work, we implemented an OSL parser and obligations monitor then extended this monitor to support enforcement by control using usage control mechanisms. We also present the architecture of a generic usage control enforcement framework ...
Usage control is an extension of access control that determines not only who may access data but also what can or must be done with this data. Usage control works by applying OSL policies to data, which state the user’s obligations in relation to that data. In this work, we implemented an OSL parser and obligations monitor then extended this monitor to support enforcement by control using usage control mechanisms. We also present the architecture of a generic usage control enforcement framework with remote policy deployment. This framework was then instantiated in two real-world systems, OpenBSD and Windows, using Systrace and Microsoft Detours respectively. The security and performance of the implementations were evaluated and analysed. ...
Institution
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Collections
This item is licensed under a Creative Commons License