A framework for usage control policy enforcement

Detalhes bibliográficos
Autor(a) principal: Lorini, Carolina Parreira
Data de Publicação: 2010
Outros Autores: Weber, Taisy Silva
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/26366
Resumo: 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.
id UFRGS-2_ff9ef4feb5acf4cd206d7b462a5651f0
oai_identifier_str oai:www.lume.ufrgs.br:10183/26366
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Lorini, Carolina ParreiraWeber, Taisy SilvaPretschner, AlexanderNeisse, Ricardo2010-10-14T04:19:25Z2010http://hdl.handle.net/10183/26366000757773Este 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.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.application/pdfengInjecao : FalhasTestes : SoftwareUsage controlSystraceDetoursOSLA framework for usage control policy enforcementinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2010Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000757773.pdf000757773.pdfTexto completo (inglês)application/pdf328945http://www.lume.ufrgs.br/bitstream/10183/26366/1/000757773.pdfcb424b65eb7b831b33919a87d223f2ecMD51TEXT000757773.pdf.txt000757773.pdf.txtExtracted Texttext/plain67319http://www.lume.ufrgs.br/bitstream/10183/26366/2/000757773.pdf.txt23e2332c859872f38ca18fdaddf31864MD52THUMBNAIL000757773.pdf.jpg000757773.pdf.jpgGenerated Thumbnailimage/jpeg1058http://www.lume.ufrgs.br/bitstream/10183/26366/3/000757773.pdf.jpg713de050173c4237ba8d1e597e78ce7cMD5310183/263662021-05-07 04:33:09.389197oai:www.lume.ufrgs.br:10183/26366Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-07T07:33:09Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv A framework for usage control policy enforcement
title A framework for usage control policy enforcement
spellingShingle A framework for usage control policy enforcement
Lorini, Carolina Parreira
Injecao : Falhas
Testes : Software
Usage control
Systrace
Detours
OSL
title_short A framework for usage control policy enforcement
title_full A framework for usage control policy enforcement
title_fullStr A framework for usage control policy enforcement
title_full_unstemmed A framework for usage control policy enforcement
title_sort A framework for usage control policy enforcement
author Lorini, Carolina Parreira
author_facet Lorini, Carolina Parreira
Weber, Taisy Silva
author_role author
author2 Weber, Taisy Silva
author2_role author
dc.contributor.author.fl_str_mv Lorini, Carolina Parreira
Weber, Taisy Silva
dc.contributor.advisor1.fl_str_mv Pretschner, Alexander
dc.contributor.advisor-co1.fl_str_mv Neisse, Ricardo
contributor_str_mv Pretschner, Alexander
Neisse, Ricardo
dc.subject.por.fl_str_mv Injecao : Falhas
Testes : Software
topic Injecao : Falhas
Testes : Software
Usage control
Systrace
Detours
OSL
dc.subject.eng.fl_str_mv Usage control
Systrace
Detours
OSL
description 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.
publishDate 2010
dc.date.accessioned.fl_str_mv 2010-10-14T04:19:25Z
dc.date.issued.fl_str_mv 2010
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/26366
dc.identifier.nrb.pt_BR.fl_str_mv 000757773
url http://hdl.handle.net/10183/26366
identifier_str_mv 000757773
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/26366/1/000757773.pdf
http://www.lume.ufrgs.br/bitstream/10183/26366/2/000757773.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/26366/3/000757773.pdf.jpg
bitstream.checksum.fl_str_mv cb424b65eb7b831b33919a87d223f2ec
23e2332c859872f38ca18fdaddf31864
713de050173c4237ba8d1e597e78ce7c
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447049187885056