Computadores
============
Funcionamento
-------------
O computador se transformou no elemento básico da comunicação digital.
Precisamos conhecer o funcionamento de um computador em linhas gerais para
que possamos entender a maioria das vulnerabilidades dos sistemas digitais.
Computadores são sistemas bem complexos. Aqui usaremos um modelo bem simplificado
mas que seja suficiente para mostrar como um computador pode ser invadido.
Na história da tecnologia, sabemos que para cada função que uma ferramenta ou
instrumento deveria cumprir existem formas específicas de montagem, escolha de
materiais, etc.
É o que acontece com máquinas. Por exemplo, um motor tem um arranjo e um conjunto
específico de peças, é feito de determinados materiais, etc. Existem diversos
tipos, ou linhagens de motores, mas todos possuem algumas características
essenciais que os diferenciam, por exemplo, de um barco a remo.
O mesmo acontecia nos primórdios da eletrônica e da comunicação digital: era
construído um aparelho específico para cada aplicação. Um tipo de equipamento
cumpria a função de radiocomunicador, outro de sistema de alarme, um outro
usado como sensor de temperatura e assim por diante.
O computador é diferente de todas essas máquinas específicas porque ele é uma
máquina genérica: ele possui uma complexidade suficiente que permite que ele
simule o comportamento de qualquer outra máquina simulável.
Isso não significa que qualquer computador pode ser usado como guindaste, mas
que qualquer computador pode simular o comportamento de um guindaste.
Hã? Qual a diferença entre simular e realizar?
Imagine um sinal de trânsito composto pela cor verde, indicando a veículos
e pedestres para que sigam adiante; amarelo, indicando atenção pois em breve
a indicação irá mudar; e vermelho, indicando que veículos e pedestres
aguardem até a cor verde para prosseguir.
Sabemos que um sinal de trânsito vai do verde para o amarelo e em seguida para
o vermelho, voltando então para o verde. E sabemos que ele permanece em cada
uma dessas situações por um intervalo de tempo. Dizemos que cada uma dessas
situações são **estados** da máquina conhecida como **sinal de trânsito**.
Simular, no nosso caso, pode ser entendido como marcar mentalmente qual
a cor atual do sinal, manter a contagem do tempo, e mudar a cor ou estado
do sinal quando o tempo passar. Se além disso usarmos placas coloridas
e formos para a rua exibi-las de acordo com o estado atual da nossa
contagem mental, estaremos não apenas simulando como nos comportando como
um sinal de trânsito.
Assim, para que um computador seja efetivamente um guindaste, basta que
liguemos a ele o braço mecânico de um guindaste e a simulação passa a
efetivamente controlar uma aplicação real.
O computador pode assumir o comportamento de outras máquinas. Inclusive, um
computador pode simular seu próprio funcionamento, isto é, um computador pode
simular um computador! Incrível, né?
É nesse sentido que dizemos que o computador é uma máquina genérica, também
chamada de máquina abstrata. O computador processa informações e esse
processamento pode ser ligado a mecanismos que realizem atividades de acordo
com essas informações?
Mas como isso pode ser feito? O que o computador tem que o faz ser uma máquina
genérica, diferentemente das máquinas específicas?
O segredo está no fato de que o computador é um dispositivo que aceita um conjunto
grande de instruções de operação de natureza lógica, matemática. Essas operações
são, por exemplo, de somar ou subtrair dois números ou mesmo de buscar por mais
instruções.
As instruções são seguidas por uma parte do computador, chamada de processador,
ou Unidade de Processamento Central (CPU).
As instruções ficam guardadas em dispositivos de armazenamento de longo prazo
(também chamados de disco ou disco rígido) mesmo quando o computador estiver
desligado.
Durante a operação do computador, essas instruções permanecem também numa
memória de curto prazo, conhecida como Memória de Acesso Aleatório (RAM).
Para que o computador possa interagir com o mundo externo, e principalmente com
humanos, ele é provido de elementos de entrada e saída de dados, como, por exemplo,
teclado, mouse, tela de vídeo, caixas de som, interfaces de rede, etc.
E, para que essas partes possam ser interligadas, existem canais de comunicação
conhecidos como barramentos de dados.
Assim, um computador pode ser pensado simplificadamente como um agregado dos
seguintes elementos:
- Processador (CPU): executa instruções genéricas para manipulação e transferência
de dados da e para a memória, para dispositivos de armazenamento ou para interfaces
de entrada e saída.
- Memória de Curto Prazo (RAM): é uma memória usada para armazenar instruções e
dados que serão manipulados pelo processador, enviados ou recebidos pelo
armazenamento de longo prazo ou para as interfaces de entrada e saída.
As informações guardadas na RAM desaparecem naturalmente e aos poucos depois
que um computador é desligado.
- Armazenamento ou Memória de Longo Prazo (Disco): é o dispositivo que guarda
as informações para acesso posterior. Essas informações não são apagadas
naturalmente depois que um computador é desligado, estando disponíveis
quando o computador é religado.
- Entrada e Saída (Vídeo, teclado, mouse, som, rede): são os dispositivos
que nos colocam em contato com o computador e permitem a interação dele
com o mundo à sua volta.
- Barramentos: conectam os elementos do computador uns aos outros. Tipicamente
o barramento conecta o processador e a memória com os outros dispositivos.
O armazenamento de longo prazo e os dispositivos de entrada e saída podem
acessar informações que estejam na memória de curto prazo usando o processador
como intermediário ou então acessar diretamente a memória, o que veremos
que pode ser uma forma de ataque ao sistema.
::
.
--------------------------------------------
/ \
memória ------------- armazenamento entrada e saída
\ | /
\ | /
\---------------- processador ------------/
Damos o nome de **hardware** a esses dispositivos físicos. Hardware significa
ferramenta dura, uma referência à resistência natural que ferramentas físicas
oferecem para serem modificadas, simplesmente porque são feitas de matéria.
Damos o nome de **software** aos conjuntos de instruções -- ou código -- que
podem ser interpretadas pelo computador. Software significa ferramenta
maleável, isto é, à facilidade de mudança da função do computador apenas com a
mudança das instruções dadas a ele. Mudando o software, mudamos o funcionamento
do computador.
Software e hardware. Instruções maleáveis que fazem com que um equipamento
duro opere de inúmeras maneiras, cumprindo determinados **programas** de operação.
Mas como o computador opera?
A operação rotineira de um computador se dá do seguinte modo:
- Ao ser ligado, o computador busca num dos seus dispositivos de armazenamento
de longo prazo chamado de BIOS algumas instruções básicas para que ele
consiga reconhecer os outros dispositivos instalados, como a memória,
as interfaces de entrada e saída e outros dispositivos de armazenamento
de longo prazo.
Essas instruções compõem um tipo de software conhecido como **firmware**,
que são os programas feitos para que os dispositivos de hardware possam
ser controlados. Ou seja, o software da BIOS é responsável pelo funcionamento
básico do computador.
- Depois que o computador é ligado e executa, isto é, processa as instruções
da BIOS, ele procura por outros softwares nos outros dispositivos de armazenamento
de longo prazo.
- A maioria dos computadores que usamos não possuem um único software instalado
no seu armazenamento de longo prazo, mas sim diversos softwares. No entanto,
para que um computador possa executar vários softwares simultaneamente, é
utilizado um software gerenciador conhecido como Sistema Operacional.
- Se o computador encontra um sistema operacional armazenado em disco, isto
é, num armazenamento de longo prazo, ele começa o processamento desse
sistema operacional e em seguida o computador estará disponível para
executar outros softwares, chamados de **aplicações**.
Resumindo
~~~~~~~~~
O computador é uma máquina genérica que pode realizar qualquer tarefa que pode
ser explicada numa **receita** chamada de **algoritmo**. Como ela é uma máquina
genérica, ela pode fazer tudo quanto é coisa.
Em outras palavras, não existe a priori uma atividade intencional no
computador, já que as pessoas que o projetaram não estavam pensando numa
aplicação específica.
Toda a intenção de uso do computador depende do seu dono, porém é muito difícil
fazer com que uma máquina genérica desempenhe apenas um conjunto mais restrito
de operações que sejam consideradas seguras. Assim, é quase que um milagre que
seja possível ter o mínimo de segurança com um computador!
Nosso modelo de computador é muito simplificado: além de cada elemento dele ser
muito complexo, hoje em dia a maioria dos computadores é na verdade uma rede de
computadores menores. Cada um deles rodando seu próprio software.
Ataques
-------
Por que tratamos de tantos detalhes de funcionamento de um computador?
A resposta é direta: porque muitos ataques são baseados exatamente no funcionamento
de todo ou de parte do computador.
Além do mais, o computador se encontra num dos níveis mais básicos de proteção
da informação. Considerando que a segurança se dá em níveis e que o comprometimento
de um nível compromete todos os níveis superiores, a perda da segurança no computador
acarreta na perda da segurança em todas as aplicações que rodam nele.
A seguir detalharemos os tipos de ataque mais comuns a computadores.
Acesso físico
~~~~~~~~~~~~~
O primeiro tipo de ataque possível é o de acesso físico.
Quando alguém tem acesso físico direto, tempo e conhecimento pode usar o fato
de estar em contato com o computador para instalar softwares ou hardwares
espiões e também analisar os dados que estiverem armazenados.
O acesso físico não autorizado pode ou não ser detectado. A ausência de sinais
não implica que um computador não tenha sofrido uma invasão de acesso físico.
Aqui estamos pensando no atacante como sendo um/a analista forense que obteve
o seu computador ligado ou desligado e que quer obter as informações nele contidas
ou instalar software e hardware malicioso e devolvê-lo a você para que essas
informações possam ser extraídas posteriormente.
Vamos listar alguns destes ataques físicos:
1. Falta de criptografia nos dados que estão dentro do computador: a criptografia
no armazenamento de longo prazo é uma medida que protege os dados no caso de
uma captura ou invasão física do dispositivo.
Ou seja, se o seu computador for roubado e o armazenamento estiver criptografado,
seus dados podem estar a salvo! Isso só funcionará bem se o computador estiver
desligado quando for roubado, como veremos mais à frente.
Se você não utiliza criptografia no armazenamento. Bom, infelizmente os dados
armazenados estarão disponíveis a qualquer pessoa que obter acesso físico
ao seu computador, independente dele estar ligado ou desligado.
2. Keyloggers e data loggers:
Dispositivos espiões básicos incluem os registradores de digitação, chamados
de keyloggers, que gravam e eventualmente enviam os dados digitados para
algum local remoto.
Tais keyloggers podem inclusive registrar a senha usada para destravar
o armazenamento criptografado do computador.
Com acesso físico, também é possível a instalação de extratores gerais
de dados e não apenas da digitação do teclado, mas também do conteúdo
da memória RAM ou de qualquer outro ponto de medição do computador.
Tanto a versão software quanto hardware dos loggers podem ser de difícil
detecção. No caso dos modelos em hardware mais grosseiros, uma inspeção
cuidadosa no hardware pode detectá-los.
3. DMA, ou Acesso Direto à Memória é um esquema que permite dispositivos
do computador acessarem diretamente a memória de curto prazo, sem que
o conteúdo da memória tenha que passar pelo processador.
DMA é um método desenvolvido para acelerar grandes transferências de
dados entre dispositivos e a memória, liberando o processador para
realizar outras atividades.
A vulnerabilidade aqui é explícita: sem controles apropriados, dispositivos
poderiam não apenas ler todo o conteúdo da memória, incluindo senhas usadas
para criptografia de armazenamento, mas também para adulterar o conteúdo
da memória.
Alguns dispositivos que utilizam a conexão Firewire tem capacidade de
leitura direta da RAM e podem ser facilmente espetados num computador.
4. Canais laterais.
Alguns ataques parecem mais esotéricos, porém já foram comprovados em
experiências de laboratório e podem se tornar bem viáveis a médio prazo.
Eles são chamados de **ataques de canal lateral** pois obtém informações
fora das vias principais. Em geral é mais difícil de se defender contra
eles pois precisam de intervenções mais pesadas no hardware.
Não se assuste! Hoje os ataques a canais laterais ainda são muito raros
e foram incluídos no curso mais para você ter consciência de que fenômenos
físicos estão muito envolvidos na computação.
Eles incluem:
* Tempestade eletromagnética, ou simplesmente TEMPEST: equipamentos
elétricos são como antenas: emitem radiações eletromagnéticas. Com a
aparelhagem apropriada e uma boa antena, é possível medir essas emissões
e delas extrair informações sensíveis.
Em alguns casos, já se conseguiu até extrair chaves criptográficas!
E isso pode ser feito a curtas distâncias, da ordem de metros. Atacantes
podem se posicionar na sala ao lado e obter informações com bastante conforto
e sem o constrangimento de serem pegos com a mão na massa!
* Ruídos sonoros: de forma similar ao TEMPEST, equipamentos elétricos também
emitem ruídos sonoros, muitos deles inaudíveis pelo ser humano porém captáveis
com microfones especiais. Tais ruídos também podem extrair informações de
do computador a curta distância.
Ruidos de digitação do teclado também podem revelar informações sobre a
digitação, baseados em pequenas diferencas de tempos levados na digitação
sucessiva de teclas: teclas mais distantes demoram diferencialmente mais tempo
para serem alcançadas pelos dedos. Tais diferenças poderiam ser utilizadas
para reconstruir o que é digitado.
Em alguns casos seria até possível diferenciar pequenas variações do ruído
da própria tecla!
* Interferência em cabeamento é outro tipo de vazamento indireto de informações
do computador. Em tese pode ser detectado no cabeamento elétrico, de rede ou
mesmo de som.
* Microsismografia: o sensor de movimento de um telefone móvel pode ser posicionado
na mesma mesa onde se encontra o teclado de um computador para detectar pequenas
variações de deslocamento da mesa e com isso tentar determinar quais teclas
estão sendo digitadas.
Falhas de hardware
~~~~~~~~~~~~~~~~~~
Classificaremos aqui como ataques a hardware aqueles que são baseados em
dispositivos físicos mas que não precisam necessariamente ser explorados
presencialmente por um atacante. Ou seja, estes são ataques ao hardware que
também podem ser feitos remotamente e via software.
Essas falhas podem ser usadas como **portas dos fundos**, também chamadas de
**backdoors**, ou seja, portas de entrada alternativas ao computador que estão
disponíveis a quem souber atacar.
Falaremos aqui um pouco sobre as principais falhas em determinados dispositivos:
- Processador: começaremos pelo pior caso, que são os problemas em processadores.
Algumas desses backdoors existem e são documentados, como é o caso dos
gerenciadores remotos, que são subprocessadores contidos dentro dos próprios
processadores usados para dar acesso remoto a inúmeras funções de hardware,
como reiniciar a máquina, alterar configurações, etc.
Esse tipo de ferramente é conhecido como **out-of-band management**, que
podemos chamar de gerenciamento remoto indireto e que pode ser acionado
mesmo que o computador esteja desligado ou em estado de espera.
Às vezes também são chamados de **Lights-out Management (LOM)**.
Podemos entender esse tipo de hardware como uma espécie de interruptor
ou controle remoto do computador.
Das tecnologias mais comuns, destacam-se:
* O Intelligent Platform Management Interface (IPMI).
* E mais recentemente o Intel Management Engine (ME).
O funcionamento desses dispositivos é obscuro e muitas vezes eles nem mesmo
podem ser desligados!
- Wireless, ou wifi: a conexão de rede sem fio também tem seus problemas:
- Monitoramento de dispositivos: os dispositivos de rede sem fio possuem
identificadores únicos que são chamados de **endereços MAC**, ou endereços
de controle de acesso de meio. Esses endereços são utilizados na comunicação
entre os dispositivos de rede wireless.
Qualquer dispositivo wireless pode observar e gravar todos os endereços
MAC que estão ao seu alcance. Não é preciso modificar o dispositivo para
realizar essa coleta. Qualquer computador com o mínimo de configurações
pode fazê-lo.
Isso inclui não só o endereço dos pontos de acesso à rede mas de todos os
computadores e outros dispositivos com wireless habilitado.
Com a coleta dos endereços MAC, é possível monitorar o deslocamento de
dispositivos num mesmo local -- por exemplo shopping center ou aeroporto --
e até mesmo construir bancos de dados globais dessa informação.
Podemos entender os endereços MAC como sendo um metadado que permite
a identificação de um computador.
- Problemas no firmware ou software, também chamado de **driver**, de operação.
Isso é agravado pelo fato de que muitos softwares de operação são
protegidos por segredos industriais e tem seu código fechado para análises.
- Problemas na criptografia utilizada: é possível usar rede wireless sem
criptografia alguma e nestes casos toda a comunicação é interceptável
por qualquer computador que possua dispositivo wireless.
Por esse motivo que é muito difundida o uso de criptografia em redes
sem fio. No entanto, existem alguns padrões de criptografia muito fracos
e com vulnerabilidades bem conhecidas como é o caso do WEP. Esse tipo
de criptografia ruim pode ser quebrada com relativa facilidade.
- Rede com fios, também chamada de **ethernet**: analogamente ao caso da rede sem
fio, a rede ethernet também é baseada em endereços MAC que podem ser coletados
por qualquer outro computador conectado à mesma rede local.
O software que controla a rede ethernet também pode conter várias falhas e,
além disso, o ethernet é um dos canais principais utilizados para o **out-of-band
management** que acabamos de mencionar.
- Bluetooth é um padrão de compartilhamento entre dispositivos que também pode
estar sujeito tanto a ataques de leitura de endereço MAC quanto as outras
vulnerabilidades existentes para redes sem fio.
- USB é um tipo de conexão para dispositivos que é muito prático mas que também
pode ser uma grande fonte de problemas. Além de falhas de hardware e software,
o padrão USB ainda tem uma funcionalidade que pode ser facilmente explorada:
dispositivos USB podem ser "anunciar" ao sistema como sendo outros dispositivos.
Assim, um pendrive USB podem se anunciar como outro tipo de hardware, por
exemplo, uma placa de rede, fazendo com que o sistema tente inicializá-la
como tal, o que pode se transformar num vetor de ataque ao sistema.
Esse tipo de vulnerabilidade é conhecido como **BadUSB**.
Tome cuidado ao utilizar dispositivos USB de terceiros ou encontrados por aí.
E mesmo os seus dispositivos USB podem ser infectados com firmware malicioso.
- Teclado e mouse sem fio também podem ser grampeados. Alguns fabricantes destes
produtos informam que os dispositivos sem fio são protegidos por criptografia
forte, porém é difícil avaliar essa segurança de fato porque em geral os
softwares que eles rodam não estão facilmente disponíveis para auditoria.
Por isso, de preferência não use esse tipo de produto.
- Microfones: computadores recentes, especialmente laptops, vem equipados com
microfones que podem ser ligados arbitrariamente por softwares espiões para
operá-los como escuta ambiental.
- Câmera: o mesmo acontece com as câmeras existentes nos computadores mais novos,
que também podem ser ligadas à revelia do usuário.
Falhas de software
~~~~~~~~~~~~~~~~~~
A exploração de falhas de software é muito mais comum, dentre outros fatores porque
elas são mais simples de ser disseminadas.
O limite da exploração das falhas do sistema é o comprometimento não só dos dados
do computador mas também a utilização da máquina para outros fins.
Existem vários vetores de ataques possíveis, mas o conceito de infecção básico
é sempre o mesmo: alguma fonte de dados ou software que são processados pelo
computador contém instruções que conseguem contornar o comportamento esperado,
produzindo erros, defeitos ou até mesmo conseguindo executar instruções arbitrárias.
A possível existência de backdoors e falhas, ou bugs de software é análoga ao
que acontece com o hardware: os softwares não estão livres de defeitos, sejam
oriundos de falhas de design, de programação ou até intencionalmente colocados.
Essas falhas podem ser exploradas manualmente. Isto é, uma pessoa pode operar
remotamente ou diretamente um computador para invadi-lo com a execução
passo-a-passo de operações. Isso acontece mas não é tão comum.
O que é mais comum é a invasão automatizada, muitas vezes sem nenhuma intervenção
humana. Procedimentos automatizados para a invasão desses sistemas são chamados
de **exploits**, os exploradores de falhas.
Existem vários tipos de exploits e muitas formas de classificá-los. Aqui dividiremos
em dois grupos:
1. Exploits remotos, quando o software de invasão roda remotamente a partir de um
outro computador. Isso implica que existe alguma conexão de rede entre os dois
computadores.
2. Exploits locais, que chamaremos de **malware**.
Quando o vetor é um software que vai rodar no computador a ser infectado, ele é
chamado de **malware**, ou software malicioso, que não precisa necessariamente
ser executado pelo usuário. Muitos malwares aparentam ser arquivos comuns, e
não programas, mas quando abertos disparam a execução de código arbitrário.
Por exemplo, uma simples imagem ou um documento de texto podem conter instruções
que aproveitam brechas nos softwares interpretadores desses arquivos para
executar comandos arbitrários num sistema.
A pessoa que abrir esses arquivos não perceberá o mal funcionamento, porque
os arquivos aparentemente abrirão da forma correta: ela conseguirá ver a imagem
e ler o documento, mas paralelamente o exploit estará rodando.
Em laboratório até já se estudou a possibilidade de infecção através do
microfone do computador!
A infecção por exploits podem ocorrer pela rede ou por qualquer outra forma
de entrada de dados, como discos externos, CDs e pendrives USB.
O método de propagação do malware também pode ocorrer na forma de **vírus**
-- programas auto-reprodutíveis que infectam outros programas -- ou
**worms**, vermes -- programas mal-intencionados que se reproduzem.
Alguns malwares se disfarçam como softwares inofensivos que desempenham
alguma tarefa de fachada mas que, além disso, realizam alguma atividade
escusa sem que o usuário perceba, como roubar dados do usuário, espioná-lo,
etc. Estes malwares ganham o nome de **Cavalo de Tróia**.
Vejamos alguns tipos de **malware** de acordo com o que eles fazem com o
seu computador:
1. Ransomware: nesse tipo de ataque os arquivos da vítima são criptografados
com uma chave que só o atacante possui. Para liberar os arquivos, o atacante
exige o pagamento de um resgate. É uma espécie de sequestro de arquivos.
2. Spyware: são softwares espiões, cujo objetivo é espionar o usuário, roubar
arquivos, etc.
3. Robôs zumbis em botnets: muitos invasores não estão interessados em você
ou nos dados do seu computador, mas sim em utilizar seus recursos computacionais
para desempenhar tarefas.
Estamos aqui falando de apropriação de recursos computacionais para todo o
tipo de fim, incluindo enviar SPAM, invadir outras máquinas, propagar malware
e assim por diante.
O caminho de uma invasão nem sempre é linear: kits de invasão podem consistir em
malwares e exploits remotos que disparem várias condições especiais no computador,
produzindo negação de serviço, execução arbitrária de código e até escalada de privilégios.
Defesas
-------
Existem muitas formas de defender o seu computador. Algumas são mais eficazes
do que outras. Algumas são mais fáceis do que outras.
Uma coisa que precisamos entender sobre o atual estado de coisas é que ele
é conveniente para parte da indústria de software e para governos que desejam
espionar as pessoas.
Parte da indústria que vende a solução dos problemas depende da indústria que
vende os problemas. Sabemos que soluções para computação mais seguras existem
e são viáveis, porém não interessam realmente à indústria. Quando não há uma
monopolização do mercado para forçar a continuidade de produtos ruins, a
própria competição degrada a segurança, pois a prioridade passa a ser
o lançamento de inovações em alta velocidade, sem tempo para se preocupar
com aspectos como a privacidade dos usuários.
Por isso, não podemos nem devemos esperar que as soluções de segurança sejam
desenvolvidas por esses atores. Em alguns casos podemos esperar sentados.
Noutros casos, as soluções que surgem são remendos que não atacam a raíz do
problema, como é o caso dos anti-virus.
Ter um computador com alto nível de segurança, hoje em dia, não é tarefa fácil,
mas também não é uma tarefa difícil ou extremamente difícil. Requer dedicação e
às vezes um pouco de recursos.
Agora, ter um computador com um nível razoável de segurança e acima da média já
está sim ao alcance de quem quiser.
Mostrarei algumas defesas, que vão do razoável, acima da média, até o alto
nível. Assim você pode ir se preparando aos poucos, com calma e até chegar no
nível que você achar suficiente.
De que computador estamos falando?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mas antes de falar sobre essas defesas, vale a seguinte pergunta: de computador
estamos falando:
1. Estamos falando de qualquer computador, isto é, o computador disponível
no seu trabalho, escola ou numa lan house?
Nestes casos estamos falando de um **Computador Público**, isto é, de
computadores que estão fora do seu controle: você não sabe quem mais os
utiliza, o que está instalado neles, se estão desprotegidos ou mal
configurados, se existem mecanismos de espionagem instalados e assim por
diante.
Esta é uma situação bem duvidosa em termos de segurança. Evite esse tipo
de computador para realizar qualquer atividade que tenha algum significado
à sua privacidade. Se você não puder evitar você poderá ao menos utilizar
algumas das defesas que mencionaremos adiante.
Pode até ser que o computador público seja confiável em termos de segurança,
a depender da competência de quem o administra e também da confiança de você
tem de quem o opera, mas isso não está garantido a priori.
2. Estamos falando do seu computador pessoal, isto é, de um computador que
é seu e está em seu controle.
Se você protege esse seu computador com algum esquema de segurança e
o utiliza para lidar com informações sensíveis à sua privacidade, diremos
que este é o seu **Computador Pessoal Confiável**.
Este então é um computador com o qual você estabelece uma relação de
confiança, por mais que você não confie totalmente que ele esteja livre de
invasões.
Caso você não proteja esse seu computador de modo algum, então estamos
tratando de um **Computador Pessoal** que é quase igual a um **Computador
Público** em termos de segurança.
Por isso digo: o fator número zero na segurança do computador é saber **quem**
controla o computador. É a partir disso que temos condições de intervir no seu
funcionamento para melhorar suas defesas e evitar que ataques sejam
perpetrados.
Acesso físico
~~~~~~~~~~~~~
As primeiras defesas estão no nível do acesso físicos:
1. Ter o seu próprio **Computador Pessoal Confiável** é um passo importante nesse
sentido.
Se você ainda não tem um computador pessoal e acha que esta seja uma medida
importante para a sua privacidade, considere adquirir um. Você não precisa
começar com o último modelo. Dê uma olhada nos usados. Se comprar um computador
usado, tente pelo menos substituir seu disco por um novo, pois esse é um dos
componentes que mais falham nos usados. Também dê uma olhada na expectativa
de vida da bateria, no caso de um laptop.
Depois, você pode prepará-lo para ter um bom nível de segurança e mantê-lo
sempre em bom funcionamento, mas é importante também evitar que ele seja
fisicamente capturado, o que traria fortes suspeitas de instalação de
grampos.
É uma boa política você não usar mais o seu computador depois que ele for
capturado, não importa como e por quem. Se você descobriu que ele foi capturado,
procure não utilizá-lo mais.
Pode ser que você não tenha condições financeiras para simplesmente deixar de
usá-lo. Neste caso, tente conseguir ajuda para alguém com conhecimentos
fazer o **exorcismo** da máquina, isto é, tentar tirar na medida do possível
qualquer indício de invasão, reinstalar o sistema, etc.
Ou, se você não conseguir esse tipo de assistência, tente vendê-lo para alguém
ciente do problema e com condições de reutilizá-lo sem sofrer danos. Assim
você consegue pelo menos recuperar o dinheiro para comprar um hardware novo.
Problema maior ainda é saber **se** o seu computador pessoal foi capturado
ou não. A não ser que você faça vigílias constantes e mantenha seu computador
sempre junto a si, você nunca vai saber. De fato, algumas pessoas que são
alvos de vigilância pesada acabam por adotar a prática de sempre andarem
junto do seu computador.
Mas essa é uma prática para casos extremos. Num nível de segurança acima
da média, você pode simplesmente evitar de deixar seu computador dando
sopa em qualquer lugar. Deixe-o apenas em lugares que você tiver uma
confiança mínima a respeito da segurança. Não estamos falando apenas
de roubo, mas também da implantação de hardware e software malicioso
usando acesso físico à máquina.
2 - Usar defesas básicas, que são muito simples de serem adotadas:
- Se for um laptop, usar um cadeado do tipo Kensington para evitar
roubos ligeiros.
- Deixar a tela travada se tiver de deixar o computador ligado e
desatendido, o que evita os atacantes curiosos e menos refinados.
- Aqui vale a regra do **Protect Your Belongings**, ou Proteja
os seus pertences. Também tente não ostentar demais o equipamento
e manter uma linha mais low profile.
3 - Criptografia de armazenamento: protege os arquivos armazenados no
computador, mas não protege todos os softwares.
Os softwares básicos de inicialização (BIOS e carregador do sistema
operacional) continuam expostos à adulteração por atacantes físicos e
remotos. Um atacante pode colocar um leitor de senhas no seu computador e
capturá-las no momento que você as digita ao iniciar seus discos
criptografados, num ataque conhecido como **Evil Maid**, em referência aos
serviços de quarto em hotéis que podem ser compostos por espiões
disfarçados.
Apesar disso, a criptografia de disco oferece boa proteção caso o seu
computador seja capturado e esteja desligado.
Note que isso implica que você pode criptografar não só os seus arquivos
mas também o próprio sistema operacional, o que chamamos de **Full Disk
Encryption (FDE)**, mas mesmo assim você ainda estará à mercê de ataques
mais sofisticados como o Evil Maid.
Se o seu computador for capturado enquanto estiver ligado, então um
atacante poderá tentar ler as chaves de criptografia de disco diretamente
da memória RAM, em ataques de **análise forense de memória**.
Vou dizer mais uma vez. A criptografia de disco não oferecerá grandes
proteções se o sistema for roubado ou invadido enquanto ele estiver ligado,
pois nessa condição as informações estarão disponíveis para acesso.
O mesmo acontece se o computador for capturado enquanto estiver no estado
semi-desligado de baixa atividade conhecido como **suspensão**. Nesse
estado, muitas partes do computador estão desligados mas a memória de
curto prazo (RAM) estará ativa e armazenando a chave criptográfica do seu
dispositivo criptografado.
Em algumas situações é possível resgatar as senhas criptográficas momentos
depois que o computador é desligado, a depender do tipo de memória RAM que o
computador utiliza, num ataque conhecido como **Cold Boot**.
- Ande com o computador sempre desligado, pois isso evita que um adversário
habilidoso consiga extrair senhas que estejam na memória operacional
(RAM) do computador.
- Desligue o computador quando não for usá-lo. Alguns sistemas possuem a
funcionalidade de **hibernação**, que, ao contrário da **suspensão**,
armazena o estado da memória RAM no disco criptografado e posteriormente
desligando efetivamente a máquina.
Na dúvia se seu sistema utiliza hibernação ou suspensão, recomendo que
você simplesmente desligue seu computador quando não for utilizá-lo.
4. Defesas contra canais laterais: estas são mais difíceis, porém são contra
ataques não muito difundidos hoje em dia até onde se sabe. Aqui coloco
apenas ilustrativamente.
Você tanto pode comprar computadores que possuem blindagem a diferentes
tipos de emanações, que são difíceis de encontrar, ou tentar utilizá-los
sempre fora da tomada ou dentro de instalações que você julga serem seguras.
Estas são algumas das defesas físicas possíveis para computadores.
Hardware
~~~~~~~~
Agora falaremos das defesas contra ataques ao seu hardware que independem
de acesso físico à máquina!
A recomendação básica é: se você não estiver usando um dispositivo de entrada
ou saída, deixe-o desligado ou desativado.
1. Uma das defesas mais básicas consiste em cobrir a câmera com um adesivo,
para que, mesmo que um software espião ligue a sua câmera, ele não
consiga capturar alguma imagem.
2. Com relação ao Bluetooth, mantenha-o ligado apenas durante o uso ou,
se não for utilizá-lo, desabilite-o completamente.
3. Para as redes sem fios, procure utilizar apenas pontos de acesso
que usem criptografia do tipo WPA2+AES e uma senha de tamanho
razoável.
Se você for configurar um ponto de acesso wireless, use também
o padrão WPA2+AES.
Mesmo assim, não conte com essa criptografia para a proteção dos seus dados
e procure usar serviços que também utilizem criptografia, de modo que você
esteja utilizando diversas camadas de criptografia ao mesmo tempo.
Considere que a criptografia do ponto de acesso oferece proteção baixa
e só opera entre o seu computador e o ponto de acesso, deixando de fazer
efeito conforme as mensagens trafegam no resto da rede.
4. Backdoors de hardware: em alguns casos é possível corrigir a falha através da
atualização do firmware, do software que o utiliza ou pela substituição do
dispositivo. Em outros casos tudo o que podemos fazer é desabilitar o
aparelho ou conviver com a falha.
- Se o seu computador possui conextão firewire, desabilite-a. Habilite
apenas durante o uso.
- Se possível, desabilite a manunteção remota, o que é feito pela
BIOS. Alguns processadores mais novos não permitem que isso
seja desabilitado. Então você pode escolher conviver com essa
possibilidade de invasão ou então tentar comprar um computador
cujo processador não possui essa funcionalidade ou que ao mesmo
permita o seu desligamento.
Outra defesa contra backdoors é a utilização de hardware livre, mas
essa é uma alternativa ainda pouco acessível.
5. Nível hardenado: só para ilustrar, vou falar de algumas coisas que você
pode fazer se quiser ter um computador de nível **hardenado**, isto é,
muito acima da média. Mas atenção: isso acarreta em mudanças que podem
quebrar seu computador se você não souber fazer corretamente. Isto
é por sua conta e risco e não nos responsabilizaremos por quaisquer
danos:
* Subsituição da BIOS, isto é, do firmware principal. Existem
projetos como o Libreboot que implementação versões em software
livre da BIOS do computador. Só funciona para alguns modelos
específicos de computadores.
* Ativação de senha da BIOS para inicialização do computador ou
para mudar configurações básicas. Essa não é uma super medida
de segurança mas pelo menos pode atrasar o tempo de trabalho
de um atacante.
* Desligamento físico de alguns dispositivos, como microfones e
adaptadores bluetooth. Estando fisicamente desligados pelo corte
de fios e pinos, eles não tem como ser ativados.
* Troca de dispositivos proprietários por versões mais abertas:
é a substituição de componentes do computador como placas de
rede e vídeo por alternativas que sejam mais compatíveis com
software livre e que também tenham um histórico de funcionamento,
segurança e estabilidade maiores.
* Randomização de endereço MAC: é possível configurar o seu
computador para que ele sempre utilize um endereço MAC aleatório
tanto para conexões com fio padrão ethernet quanto para wireless.
Isso evita o rastreamento de dispositivos via coleta de endereço
MAC, mas não evita outros tipos de identificação.
* Defesas contra ataques na USB, isto é, mitigação ao BadUSB,
são em geral bem desconfortáveis. Elas vão desde a desabilitação
das portas USB, passando pela habilitação durante o seu uso, o
que evita um atacante plugue um dispositivo USB malicioso mas
não evita que você faça isso deliberadamente quando usa um
dispositivo infectado sem saber.
Outra alternativa é o uso das chamadas "camisinhas USB", consistindo
em usar um outro computador para fazer a conexão USB com o dispositivo,
compartilhando-o com o seu computador através de algum outro meio.
Esse tipo de defesa é poquíssimo usada.
Outra mitigação possível é o bloquear todos os dispositivos USB exceto
aqueles que apresentarem os identificadores correspondentes aos
dispositivos que você conhece. Novamente, isso pode eliminar algumas
tentativas de ataque mas não impedem que um dispositivo malicioso
utilize um dos IDs autorizados.
* Air gap, ou isolamento físico do computador, é a prática de deixar
o computador o mais isolado possivel do mundo externo. Isso implica
em cortar qualquer possibilidade de conexão de rede e usar apenas
meios considerados seguros para transmissão de arquivos.
O conceito de Air gap é controverso, porque os computadores foram
feitos para operar em rede.
Manter um computador desse tipo atualizado é uma tarefa complicada
e nada garante que algum arquivo transferido para ele não contenha
algum código malicioso que possa ser usado para a extração de dados.
Software
~~~~~~~~
Por fim, falaremos agora das defesas que podem ser adotadas no nível de
software.
1. Use **Software Livre**, que é o oposto do chamado **Software Proprietário**.
Todo software livre é baseado em pelo menos quatro liberdades fundamentais:
0. Rodar o software no seu computador.
1. Estudar o software, isto é, analisar o seu código. Muitos softwares
são escritos em linguagens mais inteligíveis para seres humanos do
que o código que é interpretado pelo processador do computador.
Para que possam rodar no computador, o código do software escrito por
alguém, chamado de **código fonte**, precisa ser traduzido para a
linguagem da máquina, procedimento conhecido como **compilação**.
A liberdade de estudar o software implica na capacidade de qualquer
pessoa de acessar o código fonte do software, e não apenas a versão
compilada, também chamada de **binária**, do software, como é
o caso dos softwares proprietários.
2. Redistribuir o software sem restrições. Isso implica que você
pode vender o software livre e prestar serviços com ele mesmo que
você não tenha escrito o software! Por outro lado, você não pode
impedir alguém de fazer o mesmo.
Sempre tem alguém distribuindo software livre sem cobrar financeiramente
por isso, então ele também é gratuito nesse sentido.
3. Melhorar o software, isto é, alterar o seu código corrigindo falhas
ou implementando novas funcionalidades.
Todas essas quatro liberdades são essenciais para a segurança da informação:
0. Rodar o software implica que você pode utilizá-lo no seu próprio computador,
ao invés de ter que depender necessariamente do software rodando num computador
que você controla e que portanto você não sabe se está em controle de atores
mal intencionados.
1. Estudar o software significa que qualquer pessoa pode estudá-lo em buscas
de mal funcionamento e problemas de segurança.
2. Redistribuir implica em colaborar para a difusão do software, o que pode
atrair mais pessoas, por exemplo, para estudar o seu funcionamento e
encontrar possíveis falhas.
3. Melhorar o software implica que qualquer pessoa com capacidade técnica
pode corrigir algum problema de segurança que foi encontrado.
**Ter** essas quatro propriedades não implica necessariamente que essas
quatro propriedades estão sendo **exercidas** automaticamente. O software
é apenas uma porção de código, enquanto que a sua evolução depende da
atividade de pessoas.
Não é todo mundo que tem os meios de rodá-lo (é preciso ter um computador),
de estudá-lo (é preciso de tempo e conhecimento), redistribuí-lo (o que hoje
em dia depende mais de vontade) e de melhorá-lo (novamente, tempo e conhecimento).
Por isso, com o software livre é muito mais fácil fazer uma auditoria de segurança
pois para isso não é preciso pedir permissão a ninguém, mas isso não quer dizer
que automaticamente todo o software livre é auditado.
Essa transparência também é refletida nos anúncios de atualização dos softwares
livres, que muitas vezes indicam quais vulnerabilidades estão sendo corrigidas.
Assim, rodar software livre pode ser considerado um pré-requisito para a segurança
da informação. É uma condição necessária, porém não suficiente para a segurança.
Benefícios:
- Usuário comum não tem superprivilégios por padrão nestes sistemas.
- Arquivos anexados não são executados por padrão.
- Canais -- ou lojas -- de instalação de software fazem parte do próprio
sistema, minimizando a instalação de programas distribuídos por terceiros.
- Não te espionam por padrão como outros sistemas operacionais proprietários.
Problemas:
- Arquitetura não é 100% segura. O foco do desenvolvimento tem sido performance
e suporte e não segurança. Mas ainda assim são muito melhores do que os sistemas
operacionais proprietários.
2. Use Sistemas Operacionais Livres!
Você pode rodar não só programas livres mas todo o software de operação do seu
computador pode ser livre.
Eu recomendo você utilizar o Debian, que é um sistema operacional desenvolvido
de forma comunitária e com uma política de segurança razoável.
Se você não conseguir usar o Debian, uma alternativa é o Ubuntu, que é mantido
por uma empresa e é baseado no Debian.
Sistemas como o Debian já vem com perfis de segurança razoáveis e podem ser
instalados de forma criptografada no armazenamento do seu computador.
3. Use virtualização!
Computadores são máquinas que podem simular máquinas. Podem até simular
a si mesmos. Uma máquina virtual é um programa de computador que simula
um computador.
No contexto da segurança, máquinas virtuais são criadas para criar um
cordão de isolamento para que vulnerabilidades de um programa rodando
dentro de uma máquina virtual não consigam escapar para o resto do
computador.
Na prática, é possível rodar um sistema operacional inteiro juntamente
com aplicativos dentro de uma máquina virtual. Se você tem um computador
razoável, pode tranquilamente rodar uma máquina virtual com navegador
web, editor de textos e até ser capaz de assistir um filme!
Este isolamento é muito bom mas não é isento de problemas. Falhas no
software virtualizador podem ser utilizadas para que programas maliciosos
consigam escapar da máquina virtual e infectar outras partes do seu sistema.
Contudo, máquinas virtuais ainda oferecem um bom nível de proteção,
em muitos casos permitindo até que você rode um sistema operacional
ou softwares proprietários em ambiente virtualizado.
Lembre-se que a virtualização protege o resto do sistema contra
vulnerabilidades nas aplicações virtualizadas, e não o contrário!
3. Tenha mais de um dispositivo e compartimente o uso.
Pode ser que por algum infortúnio você precise usar software proprietário.
Ou que tenha que usar serviços de segurança duvidosa e assim por diante.
Nesses casos, você pode utilizar mais de um dispositivo com perfis de
uso distintos.
Por exemplo, um dispositivo mais "sério", mais protegido e com dados sensíveis.
E um outro dispositivo para qualquer outra coisa. Esse segundo dispositivo
pode ser um tablet ou um computador velho.
Pode ser um dispositivo apenas com software livre e outro em que seja
permitido o uso de software proprietário.
Esta pode ser uma boa alternativa caso você não confie na proteção
oferecida pelas máquins virtuais.
4. Tenha mais de um sistema operacional no seu computador, compartimentalizando
o uso de softwares mais e menos confiáveis assim como informações mais ou
menos sigilosas, o que mitiga um pouco o problema de rodar softwares não tão
confiáveis, mas não é tão eficaz pois a invasão de um sistema pode levar à
invasão de outro.
Adote essa alternativa apenas em casos que você precise de dois perfis de uso
e as opções anteriores não possam ser adotadas.
5. Use sistemas operacionais super-seguros.
Três sistemas operacionais livres e orientados à segurança são o Tails, o
Subgraph e o Qubes.
Todos os três podem ser rodados no modo **live**, isto é, não precisam ser
instalados no armazenamento do seu computador e podem ser mantidos num
pendrive USB. Se você usar um pendrive pequeno, ele pode até ficar dentro
da sua carteira para você tê-lo à mão sempre que precisar e esta pode ser
uma boa alternativa se você tem apenas um único computador e quer ter
dois perfis de segurança distintos.
O Tails é um sistema operacional baseado em Debian que é feito para oferecer
segurança e anonimato e sobretudo não deixar rastros de que foi rodado.
Ele possui uma série de melhorias de segurança e todo o tráfego de rede
que ele gera segue através da rede de roteamento Tor, sobre a qual veremos
adiante no curso.
O Tails pode até ser utilizado em computadores de terceiros desde que você
consiga reiniciá-los, oferecendo um nível razoável de segurança, a não ser
que o hardware do computador já esteja bem comprometido.
O Subgraph, até o momento que este curso foi feito, ainda não foi lançado
oficialmente, mas promete ser uma versão melhorada do Tails. Além do tráfego
roteado pelo Tor e diversas melhorias de segurança, o Subgraph ainda roda
diversos programas dentro de ambientes virtualizados, garantindo o isolamento
de aplicações como navegadores web e leitores de documentos.
O Qubes é um sistema parecido com o Subgraph nesse sentido, com a diferença
que não roteia todo o tráfego pelo Tor por padrão mas pode ser instalado
no seu computador além de rodar no modo live e também possui uma maturidade
maior pela sua idade.
Outro sistema que você pode tentar é o OpenBSD, um dos mais seguros em
existência. Demora um tempo para aprender a usar, mas ele é muito bem feito!
Se quiser seguir o caminho do aprendizado, você pode pegar um sistema como o
Debian e ir aplicando mudanças de segurança como por exemplo o PaX e o
grsecurity, ou pelo menos tentar o AppArmor, que forçam políticas restritivas
de execução de aplicações, dentre outras melhorias de segurança.
6. Rode a menor quantidade de software possível. Esta é a aplicação pura do
princípio da simplicidade, ou complexidade necessária: quanto menos código
você roda, menor é a probabilidade de falhas.
Considerando que um computador típico roda uma quantidade de instruções
correspondentes a milhões de linhas de código, a quantidade de vulnerabilidades
de segurança é igualmente enorme.
Esta pode ser uma opção controversa, mas ela tem suas razões considerando
a quantidade enorme de falhas em software que são reveladas toda a semana.
Se você puder e quiser seguir esta linha, procure também os softwares cujo
código seja menor, sejam mais bem escritos, tenham poucas funcionalidades
mas boa qualidade de funcionamento, tenham uma boa base de usuários e sobretudo
um histórico de falhas baixo.
7. Mantenha seus softwares sempre atualizados!
Toda semana existem várias atualizações de segurança para tudo quanto é tipo
de software. Isso significa que, pelo menos a partir do momento desses lançamentos,
as vulnerabilidades existentes nesses softwares passam a ser públicas.
Isso implica que, caso você deixe de fazer uma atualização de segurança,
você estará deixando softwares no seu computador que possuem falhas de
segurança conhecidas.
Por isso, mantenha sempre que possível todo o seu software atualizado.
Isso não vai oferecer uma proteção total, mas já é um começo. Podem ser
que existam vulnerabilidades nos softwares que você usa mas que não sejam
conhecidas.
Esse tipo de vulnerabilidade é chamada de **zero-day**, ou vulnerabilidade
de zero-dias, indicando que ela ainda não é pública e por isso tem zero
dias de vida pública.
É até possível que alguém conheça essas vulnerabilidades mas não as divulga
para justamente poder tirar vantagem da ignorância sobre elas.
Ou seja, manter seu software atualizado não te protege contra falhas
de zero dias, mas protege das falhas conhecidas que já foram corrigidas.
8. Não instale qualquer software.
Esta é uma dica básica. Cuidado com o software que você for instalar
no seu computador. Não execute qualquer programa que enviarem pra você.
Se você está usando um sistema operacional livre como o Debian, use
a própria central de instalação de programas que ele oferece para
encontrar softwares que satisfaçam sua necessidade.
Os programas são distribuídos nessa central num formato chamado de
**pacote**, que são versões dos programas bem compatíveis com o sistema
operacional, fazendo a instalação, remoção ou atualização de modo
facilitado.
Mesmo usando essa central de programas, tome cuidado: não é porque
está listado na central que é um software seguro.
Se você tiver na dúvida sobre algum software mas precisa rodá-lo,
use a abordagem do isolamento com máquinas virtuais ou num computador
secundário.
9. Não instale softwares de fontes desconhecidas.
Você pode confiar num determinado software, mas cuidado ao baixá-lo:
você está baixando do local oficial de distribuição? Esse download
é feito com conexão criptografada? Você possui algum meio de verificar
se você baixou o software legítimo e não uma versão contendo código
malicioso?
Existem algumas formas de fazer a checagem de integridade do software
que você baixou.
Sistemas livres como o Debian já fazem isso quando você instala um
pacote, fazendo uma checagem criptográfica dos arquivos baixados.
Mas você ainda precisa fazer isso ao menos uma única vez... quando
for baixar o Debian em si.
Para fazer essa checagem no Debian ou em qualquer outro software,
consulte a documentação correspondente.
10. Anti-virus e detectores de intrusão.
Um anti-virus pode te ajudar a eliminar alguns softwares maliciosos
do seu computador, mas essa é uma media bem paliativa.
Anti-virus são softwares que varrem o seu computador em busca de
arquivos e regiões da memória infectados por softwares maliciosos
já bem conhecidos.
Eles tem várias limitações: não detectam softwares maliciosos
ainda pouco conhecidos.
Sistemas operacionais como o Debian, que são baseados no ecosistema
conhecido como GNU/Linux são feitos numa arquitetura que torna mais
difícil a contaminação por malware.
Mesmo assim existem softwares similares aos anti-virus mas que também
detectam outros tipos de invasão. Estes são conhecidos como
**detectores de intrusão**.
11. Firewall.
Outra media importante é a utilização de um **firewall**, que é uma
barreira erguida nas conexões de rede do seu computador para filtrar,
recusar ou descartar conexões indesejadas. Assim, você pode limitar
o contato do seu computador na rede.
Estas são as principais defesas que você pode aplicar nos seus computadores.
Existem muitas outras!
Resumo
------
1. O computador é uma máquina de processamento geral. Isso implica que ela pode
ser utilizada por terceiros para obter suas informações.
2. Existem muitas falhas nos computadores em em todos os níveis: no hardware,
no sistema operacional e nos programas utilizados, assim como muitas formas
de defender.
O básico inclui o uso de software livre, criptografia de armazenamento
e manter o sistema sempre atualizado. Outras alternativas simples são ter
mais de um computador por perfil de uso ou o uso de sistemas operativos
mais seguros e que rodam sem instalação, como o Tails e o Subgraph.
Atividades
----------
1. Agora você pode completar o seu Checklist de Segurança para incluir
uma política de defesa em relação ao uso de computadores.
Assim, proceda criando um item na lista para tratar com os seus computadores
e com computadores de terceiros.
Você terá um computador sob seu controle? Outras pessoas terão acesso
a ele?
Você usará computadores que você não controla? Para que tipo de atividades?
Você terá um segundo dispositivo para usar com atividades não muito
sensíveis?
Qual serão as defesas que você adotará em cada um desses casos?
1. Instale o `Tails `_ num pendrive USB e teste-o em diversos computadores.
2. Faça o mesmo com o `Subgraph `_.
3. Teste o `Qubes `_.
4. Gostou do GNU/Linux? Instale no seu computador usando armazenamento
criptografado. Mas **ATENÇÃO**: faça backups de todos os seus dados num
outro lugar antes de proceder com a instalação, pois ela passará por cima
dos arquivos armazenados.