3.1 Definição da Tecnologia
A Intel Trusted Execution Technology (TXT), formalmente conhecida como LaGrande Technology (LT), é um dos componentes chaves da iniciativa da Intel em promover a computação a um nível mais elevado de segurança. Essa tecnologia consiste-se de um conjunto de melhoramentos em componentes de hardware, projetados para proteger as informações mais sensíveis a ataques baseados em software. As alterações em hardware envolvem os microprocessadores, o chipset, subsistemas de entrada e saída e outros componentes da plataforma. Quando combinados um sistema com suporte a TXT e um sistema operacional capacitado a usar esses recursos, a TXT contribui para a proteção da confidencialidade e integridade dos dados.
graphic
Figura 2: Vulnerabilidades do PC [9].
O problema, como pode ser notado na Figura 1, é que softwares maliciosos podem ter acesso a [9]:
  • Memória de vídeo: qualquer software pode ter acesso a memória de vídeo, portanto, pode criar telas falsas ou monitorar o que o usuário está vendo na tela.
  • Dispositivos de entrada: qualquer software pode ter acesso aos dados de entrada do usuário, por exemplo, o que ele está digitando, além de poder alterá-los.
  • Memória: Qualquer software pode ter acesso ao que está armazenado na memória, podendo assim, capturar e mudar o que está na memória do sistema.
  • DMA (Direct Memory Access – Acesso Direto à Memória): Softwares podem acessar áreas protegidas da memória usando o controlador DMA.
O objetivo da TXT é criar uma camada de proteção baseada em hardware que resolva cada um desses pontos fracos na arquitetura PC. Para atingir tal objetivo, a TXT traz um conjunto de novas características para a plataforma IA- 32. Essas características incluem:
  • Execução Protegida (Protected Execution): Os softwares são executados em ambientes isolados protegidos, nos quais softwares não autorizados não têm acesso às informações manipuladas nesses ambientes. Cada ambiente desses tem recursos dedicados, que são controlados pelo processador, chipset e pelo núcleo do SO.
  • Armazenamento Selado (Sealed Storage): Os dados são armazenados criptografados e só podem ser decriptografados pelo mesmo ambiente que os armazenou. Assim, pode-se armazenar chaves, dados e outros segredos sem o perigo de serem roubados.
  • Entradas Protegidas (Protected Inputs): Provê um mecanismo de proteção para a comunicação entre os dispositivos de entrada e uma aplicação executada em um ambiente de execução protegida. A proteção dos dispositivos de entrada, tais como mouse e teclado, consiste em evitar que sejam monitorados ou tenham seus dados alterados por algum software malicioso. A tecnologia TXT funciona criptografando os comandos enviados através do teclado e do mouse, portanto, apenas um software que tenha a chave criptográfica correta pode ter acesso a esses comandos.
  • Gráficos Protegidos (Protected Graphics): Provê um mecanismo que permite que uma aplicação, executada em um ambiente de execução protegida, transfira os dados para a memória de vídeo, sem que essa informação seja monitorada ou alterada por outros softwares que estejam sendo executados na mesma plataforma. Isso é feito criando-se um caminho seguro entre as aplicações executada sob o modo execução protegida e a memória de vídeo, geralmente localizada na placa de vídeo.
  • Atestação (Attestation): Permite que um sistema possa garantir que um ambiente protegido foi invocado corretamente. Além de que, proporciona também uma mediação do software em execução no espaço protegido, o que permite descobrir se houve alterações no software. A atestação é provida por um modulo chamado TPM (Trusted Plataform Module).
  • Inicialização Protegida (Protected Launch): Controla a inicialização do Sistema Operacional em um ambiente protegido.
graphic
Figura 3: Computador com a tecnologia TXT [9].
A implementação da TXT querer que diversos componentes de hardware sofram modificações, como pode ser visto na Figura 2. Os principais elementos da plataforma são:
  • Processador: Extensão da arquitetura IA-32, que permite que sejam criados múltiplos ambientes de execução ou partições. Isso permite que em um mesmo processador existam concomitantemente ambientes padrão, ou seja, não protegidos para aplicações legadas, e ambientes de execução protegida. Outras mudanças no processador são o tratamento de eventos, que diminui a exposição dos dados; a introdução de instruções para gerenciar os ambientes de execução protegida; e instruções para estabelecer uma pilha de software mais segura.
  • Chipset: As mudanças no chipset incluem: a capacidade de forçar o uso de políticas de proteção à memória; acessórios para a proteção do acesso aos dados na memória; canais protegidos para a saída gráfica e para dispositivos de entrada/saída; e interface com o módulo TPM (versão 1.2).
  • Teclado e mouse: As mudanças no teclado e no mouse consistem-se em acessórios capazes de fazer a criptografia dos dados de entrada antes de enviar ao sistema. Com os dados criptografados, a aplicação capaz de ter acesso a esses dados é a que está no ambiente protegido que gerou a chave criptográfica usada por esses dispositivos. Com isso, os dados enviados pelo teclado e mouse não poderão ser observados ou modificados por softwares não autorizados que estejam sobre a mesma plataforma.
  • Sistema gráfico: Para criar um canal confiável entre o software, que está sendo executado em uma partição protegida, e a placa de vídeo, é necessário que a placa de vídeo tenha a capacidade de criar esse canal seguro. A capacidade resume- se em a placa de vídeo ser capaz de criptografar os dados trocados com o software, para que nenhum outro software que esteja sobre a mesma plataforma tenha acesso a essas informações.
  • Módulo TPM v.1.2: O módulo TPM está intimamente ligado à plataforma TXT e conectado ao barramento LPC (Low Pin Count bus). O TPM fornece mecanismos de armazenamento e “selagem” de chaves e outros dados da plataforma, além de prover mecanismos que reportam a atestação da plataforma. Os mecanismos básicos de criptografia de um TPM são: Unidade Cripto- aritmética especializada, capaz de computar rapidamente a criptografia RSA de até 2048 bits; Geração de chaves RSA de até 2048 bits; unidade de hardware para a computação de hash SHA-1; processador interno, com hardware apropriado; contador e medidor de tempo monolíticos e protegidos, para evitar ataques de reply; memória não volátil, mantém os dados mesmo que a voltagem de operação seja desligada; e sensores e estruturas internas de segurança.