A framework for usage control policy enforcement
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
Outros Autores: | |
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 |