• Nenhum resultado encontrado

CAPÍTULO 5 MECANISMO DE PERSONALIZAÇÃO DA PRIVACIDADE 44 

5.4 Protótipo 60

Com o intuito de provar a funcionalidade da proposta aqui apresentada e avaliar algumas de suas características, como o desempenho e a aceitação por usuários de dispositivos móveis, foi implementado um protótipo do mecanismo utilizando a plataforma Android.

Conforme exposto anteriormente, o motivo da escolha da plataforma para a implementação da prova de conceito se deu pelo fato de que a plataforma é de código aberto e fornece facilidades para alterações e geração de versões que contenham as alterações.

O código base utilizado na implementação e alterado para a inserção do mecanismo é da versão 4.0.3 da plataforma e foi obtido através do repositório disponibilizado pelo Google na Internet.

Como plataforma de desenvolvimento, foi utilizado o sistema operacional Ubuntu 12, escolhido pelo fato de a ferramenta disponibilizada pela plataforma Android para a compilação de novas versões só executar em plataformas Linux e MAC.

Para a alteração do código fonte e a depuração das alterações foi utilizada a plataforma Eclipse juntamente com o plugin SDK (Sistem Develop Kit), também disponibilizado pelo Google.

protótipo, pois disponibilizam funcionalidades para monitorar e depurar as alterações realizadas. O mecanismo foi implementado como descrito no capítulo 5.3; para tanto, dois módulos foram implementados.

O primeiro deles, no núcleo de verificação do Android, com a inserção do desvio para as classes que realizam a implementação do modelo e os métodos para acesso do mecanismo através da interface gráfica. No momento desse desvio, o mecanismo realiza a mediação da solicitação. Essa fase foi inserida antes da verificação de permissão da plataforma.

A implementação do mecanismo teve como foco o menor número de operações para realizar uma verificação, a fim de diminuir o atraso ao verificá-la.

Após o mecanismo realizar a mediação da solicitação, é realizada a chamada ao mecanismo que realiza a verificação das regras.

Nesse momento foram utilizadas funcionalidades disponibilizadas pela plataforma, como a execução de pesquisa de dados em um repositório, para realizar a consulta por regras personalizadas. Algumas regras de exclusão foram empregadas para melhorar o desempenho do mecanismo, como, por exemplo, a exclusão da verificação dos componentes utilizados durante a inicialização e usados pelo mecanismo em tempo de execução.

Com base no retorno da consulta ao repositório do mecanismo, é verificado se um bloqueio foi definido. Em caso afirmativo, um sinal de bloqueio é enviado como retorno e a solicitação é interrompida. Já em caso de concessão da permissão, a solicitação é enviada para o mecanismo e continua seu fluxo normal.

A interface implementada para o gerenciamento do mecanismo é apresentada na

Figura 25. Essa interface apresenta todas as aplicações instaladas no dispositivo -

Figura 25(a) - e ao selecionar uma aplicação é possível ver todas as permissões solicitadas e criar regras personalizadas -

Figura 25(b). O mecanismo, como descrito acima, realiza a verificação de permissões de forma dinâmica e baseada no estado do dispositivo. Após a criação de uma nova regra, esta já será aplicada na próxima vez que a aplicação solicitar a permissão.

Figura 25 – Tela inicial (a) e Tela de personalização (b)

Fonte: Elaborado pelo autor.

A Figura 26 mostra um exemplo da mensagem apresentada pelo mecanismo ao usuário no momento em que um bloqueio é realizado. Desta forma, se o usuário julgar necessário, poderá alterar a regra definida.

Figura 26 – Alerta de bloqueio

intuito de mensurar a aceitação e facilidade de uso; testes para verificar os atrasos inseridos pela proposta também foram executados e os resultados serão apresentados no próximo capítulo.

5.5 Considerações Finais

O mecanismo aqui apresentado é uma combinação das técnicas abordadas nos trabalhos relacionados no Capítulo 4, no que diz respeito a interceptar e validar requisições, porém utilizando uma metodologia diferenciada.

O maior diferencial do mecanismo aqui proposto consiste no fato de realizar a transferência do controle de personalização do acesso para o usuário por meio de regras e não simplesmente inserir um novo método para avaliar as permissões.

A implementação do modelo mostrou-se viável, sendo capaz de fornecer uma maior segurança aos usuários de dispositivos móveis, como será apresentado no próximo capítulo.

Entre as principais contribuições da proposta aqui apresentada destacam-se a disponibilização de uma maneira de controlar o modo como as aplicações utilizam o dispositivo, bem ou aumento da consciência do usuário sobre o que cada aplicação realiza.

A plataforma Android utilizada mostrou-se satisfatória, possibilitando a alteração para a inserção do mecanismo e auxiliando muito no seu processo de desenvolvimento, destacando-se as funcionalidades para criar novas versões customizados.

Entretanto, como já dito, o mecanismo foi desenvolvido para ser aplicável a todos os sistemas operacionais executados em dispositivos móveis, tendo sido a prova de conceito da proposta criada para Andorid devido ao fato de o código fonte dos demais sistemas operacionais para dispositivos móveis não estarem disponíveis para acesso público.

Durante a elaboração deste trabalho, foram pesquisadas maneiras de implementar a proposta para outras plataformas, esbarrando porém na dificuldade de acesso ao código dos demais sistemas operacionais e em restrições, como a necessidade do dispositivo do fabricante para criar ferramenta, como é o caso dos produtos da Apple.

Limitaram a evolução do estudo nesse sentido. uma solução que poderia sanar essa dificuldade seria o contato com os fabricantes para verificar possíveis alternativas de testar a proposta.

Devido à limitação, o que pode ser feito para contribuir com a evolução do estudo com relação a implementação foi a pesquisa da especificação das demais plataformas, como iOS e proposição de locais onde o sistema operacional poderia ser alterado para a inserção da proposta. Uma funcionalidade adicional que poderia ser oferecida pelo mecanismo e que garantiria a segurança do usuário.

Seria a definição de um alerta, ou uma tela pop-up, apresentada ao usuário perguntando se deseja conceder permissão quando alguma solicitação de acesso sem regra personalizada for detectada. Assim, o recurso só seria disponibilizado se o usuário permitisse manualmente.

Trabalhos futuros, visando à implementação do mecanismo sem a necessidade de alteração do núcleo do sistema operacional executado no dispositivo, podem auxiliar sua aceitação e instalação em outros SO para dispositivos móveis.

A

Figura 27 apresenta o modelo de arquitetura de segurança existente na plataforma iOS (APPLE, 2013). Um possível ponto de alteração da plataforma para a inserção do mecanismo proposto seria na camada de User Portion, por ser a camada responsável pela segurança do usuário e o mecanismo aqui desenvolvido se propor a transferir o controle de permissão para o usuário. Porém, não foi possível avançar na avaliação dos pontos onde as alterações deveriam ser realizadas, por não estar o código disponível para análise.

Documentos relacionados