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.
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.
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.