Secure admission and execution of applications in noc-based many-cores systems - Caimi, Luciano Lores (2019)
A adoção de sistemas múltiplos núcleos torna a preocupação com a proteção de dados um requisito crítico de projeto de taos sistemas devido ao compartilhamento de recursos e a execução simultânea de várias aplicações na plataforma. Uma aplicação que processa dados confidenciais pode ter sua segurança prejudicada por um processo malicioso. A literatura contém várias propostas para proteção de sistemas many-core, concentrando-se principalmente na proteção da execução da aplicação ou no acesso a memórias compartilhadas. No entanto, uma solução que englobe todo ciclo da aplicação, incluindo a admissão da aplicação, sua execução e o acesso a periféricos, é uma lacuna a ser preenchida. Esta Tese discute três questões relacionadas à segurança em sistemas many-core basados em redes intra-chip: a admissão segura de aplicações, a prevenção do compartilhamento de recursos durante sua execução, e o acesso seguro a dispositivos externos. Esta Tese propõe um conjunto de protocolos e mecanismos, aplicados em tempo de execução, para abordar estas questões. Antes da requisição de admissão de aplicações as entidades responsáveis pela admissão são autenticadas. Uma entidade autenticada pode implantar aplicações, necessitando apenas da verificação de um Código de Autenticação de Mensagem (MAC - Message Authentication Code) para garantir a integridade da aplicação. As aplicações são mapeadas em zonas seguras contínuas opacas (OSZ - Opaque Secure Zones), com a reserva de todos os elementos de processamento e recursos de comunicação. Todos os fluxos de tráfego que devem atravessar as OSZ são redirecionados para o exterior das OSZ. Essa abordagem de isolamento evita ataques de negação de serviço (DoS - Denial-of-Service), ataques de temporização e falsificação, e garante a confidencialidade e integridade dos dados. Os dispositivos externos também são autenticados, permitindo o uso de uma chave compartilhada dedicada para criptografar as trocas de mensagens com periféricos. No que diz respeito à admissão de aplicações, o overhead dominante da proposta corresponde às etapas de computação e verificação do MAC, o que resulta na latência para iniciar uma aplicação segura por alguns milissegundos. Relativamente à execução da aplicação, a avaliação mostra um impacto insignificante no tempo de execução de aplicações seguras e não seguras, mesmo na presença de vários caminhos reroteados e respectivo reencaminhamento e retransmissão de mensagens. A proteção do cabeçalho da mensagem e da carga útil durante o acesso a periféricos corresponde ao custo principal na latência de comunicação. O que se apresenta é um conflito entre o custo da criptografia (hardware ou software) versus a latência adicional na comunicação com o periférico. Esta Tese avança o estado da arte na área de pesquisa de sistemas many-core baseados em redes intra-chip, uma vez que engloba mecanismos de segurança para todo ciclo da aplicação. O mecanismo leve de autenticação mútua entre entidades externas e o many-core e a utilização de um MAC para proteger o código-fonte da aplicação são inovações propostas na Tese. A proteção da execução das aplicações sem mecanismos criptográficos através de OSZ, evitando o compartilhamento de recursos computacionais e de comunicação, representa outra contribuição desta Tese.