Orientador : Carlos Alberto Maziero / Dissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 11/12/2017 / Inclui referências : p. 91-95 / Resumo: Quando se trata sobre segurança computacional alguns aspectos devem ser observados. Um principio importante e manter a base de computação confiável (TCB) a menor possível. Desta forma a superfície de ataque fica reduzida, o que restringe as possibilidades de ataque do adversário e aumenta a segurança do sistema. Mesmo mantendo uma TCB pequena, não existe técnica de segurança que ofereça garantia de proteção contra qualquer tipo de adversário. Por este motivo, aplicações que requerem alto nível de sigilo devem dispor de um esquema de proteção projetado em diversas de camadas de segurança, de forma que o conteúdo sensível não seja comprometido mesmo considerando o caso do adversário explorar vulnerabilidades e violar uma das camadas de proteção. Em 2015 a Intel lançou em seus processadores a tecnologia Software Guard Extensions (SGX), que introduz um novo conjunto de instruções de CPU que permite que a aplicação utilize uma região encriptada de memoria, denominada enclave, que e protegida inclusive de códigos com alto nível de privilegio como do kernel e do sistema operacional. Junto ao SGX, a Intel prove, ainda, um mecanismo de criptografia de dados, denominado selagem, onde operações de cifragem ou decifragem são possíveis somente dentro dos enclaves. Em geral aplicações comuns tem em sua TCB além do próprio código, partes do sistema operacional, kernel e/ou hipervisor. O SGX proporciona a possibilidade de reduzir a TCB apenas a CPU e a fração sensível da aplicação, que será colocada dentro da região segura do enclave. Ainda, o SGX torna possível, através do processo de selagem, a adição de uma camada extra de segurança no armazenamento de informações sensíveis. Este trabalho propõe uma arquitetura de proteção de arquivos de senha valendo-se das possibilidades trazidas pela tecnologia Intel SGX e implementa, na forma de uma prova de conceito, um modulo de autenticação para o framework PAM do sistema operacional Linux, baseado no modulo pam_unix.so, que utiliza como referencia de autenticação um arquivo de credenciais protegido. Neste esquema o arquivo de senhas e armazenado selado através do SGX e todo o processo de validação de usuário e senha para autenticação e realizado seguramente dentro do enclave. E senso comum que segurança e desempenho em geral caminham em direções opostas, assim já era esperado custo para se trabalhar com regiões de memoria e arquivos encriptados. No entanto, o hardware SGX foi projetado para realizar operações criptográficas de maneira otimizada de forma a reduzir os impactos de desempenho. Usando um arquivo de credenciais de 500KB o tempo esperado para realização da autenticação aumentou de 1.4ms, no modulo original, para 27.1ms no protótipo implementado. O impacto no desempenho não e suficientemente grande para ser percebido pelo usuário, o que mostra que a solução e adequada para a finalidade proposta. A arquitetura apresentada neste trabalho também pode ser aplicada em outros sistemas de autenticação. Palavras-chave: Autenticação, Pluggable Authentication Module, PAM, Software Guard Extensions, SGX, Enclave, Criptografia, Proteção de credenciais. / Abstract: When it comes to computational security, some aspects must be observed. An important principle is to maintain the trusted computing base (TCB) as small as possible. With a reduced attack surface, attack possibilities are restricted and an improvement in the system security is achieved. Even keeping the TCB small, there is no security technique that guarantees protection against any type of adversary. For this reason, when it comes to applications that require high level of security, it is desirable that the protection scheme be designed with several layers of security. Thus, sensitive content will not be compromised, even considering that an adversary might find a vulnerability and violate some of the protection layers. In 2015, Intel released the Software Guard Extensions (SGX) technology in its processors, which introduces of a new set of CPU instructions that allows the application to allocate a private memory region, called enclave, that is protected even from high-level privileged kernel and operating system processes. Along with SGX, Intel also provided a mechanism of data encryption, called sealing, where encryption and decryption operations are possible only within enclaves. Usually, non-SGX applications include in its TCB not only the application code itself, but and also parts of the operating system, kernel and hypervisor. Thus SGX provides the possibility of reducing the TCB to just the CPU and to the sensitive fraction of the application, which is safely placed inside the enclave. In addition, SGX makes it possible to add an extra layer of security to sensitive information storage through the sealing process. This document presents a novel passwords file protection architecture leveraging IntelR SGX deliveries and implements, as a proof of concept, an authentication module for the Linux PAM framework based on pam_unix.so module. In this scheme, an extra layer of security is applied to the password file, by storing it sealed by the SGX mechanism. All user and password checking for authentication is securely done within the enclave. It is common sense that safety and performance in general walk in opposite directions. Obviously a cost was expected to work with memory regions and encrypted files. SGX hardware is designed to perform cryptographic operations efficiently to reduce performance impacts. Using a 500KB credential file the expected time to perform the authentication increased from 1.4ms in the original module to 27.1ms in the prototype. Despite the overhead the result is perfectly suitable for the proposed application. Finally, performance impacts were quantified due to the use of SGX. The architecture presented in this scheme is also worthy to many other authentication system. Keywords: Authentication, Pluggable Authentication Module, PAM, Software Guard Extensions, SGX, Enclave, Credencial file protection.
Identifer | oai:union.ndltd.org:IBICT/oai:dspace.c3sl.ufpr.br:1884/53489 |
Date | January 2017 |
Creators | Condé, Rafael Campra Reis |
Contributors | Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática, Maziero, Carlos Alberto |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | 100 p. : il., application/pdf |
Source | reponame:Repositório Institucional da UFPR, instname:Universidade Federal do Paraná, instacron:UFPR |
Rights | info:eu-repo/semantics/openAccess |
Relation | Disponível em formato digital |
Page generated in 0.002 seconds