Evil Maid Attack - Ataque da Camareira Malvada
Muitas vezes a consciência da insegurança é melhor do que a falsa sensação de segurança. Como vocês sabem, a frequente atualização é um pré-requisito para qualquer profissional de Segurança da Informação. São tantas novidades, papers, apresentações, notícias e outras fontes de informação interessantes que nem sempre conseguimos testar e validar rapidamente todas as informações a que somos expostos diariamente. Por isto, muitos assuntos interessantes acabam ficando em um "TO DO" list guardado em algum lugar...
Um destes assuntos que estava encalhado há alguns meses (e que tive a oportunidade de conhecer / testar mais aprofundadamente durante o carnaval) foi o ataque à implementações de Criptografia de Discos - Full Disk Encryption) publicado pela Joanna Rutkowska em seu blog em Outubro do ano passado. O que me chamou a atenção foi a facilidade do ataque descrito. Como vocês verão abaixo, realmente é muito simples..
O próprio nome da técnica "Evil Maid Attack" - ou numa tradução livre "Ataque da Camareira Malvada" já é por si só interessante e indica claramente a necessidade de acesso físico ao computador (ou no mínimo ao disco) onde a tecnologia de Full Disk Encryption está sendo utilizada. Vale a pena ressaltar que outras implementações de FDE , além do TrueCrypt, também são vulneráveis ao mesmo ataque.
Antes de mais nada, vamos fazer uma breve introdução sobre a tecnologia de Full Disk Encryption - cada vez mais utilizada por empresas e pessoas preocupadas com as informações guardadas principalmente em computadores portáteis.
Segue a entrada da Wikipedia sobre o assunto (tradução livre minha):
O termo "full disk encryption" é usado quando todos os dados presentes em uma mídia digital são criptografados, incluindo o caso de programas que criptografam partições "bootáveis" de sistemas operacionais. Mas para funcionar eles precisam deixar o master boot record (MBR) - e portanto parte do disco - descriptografado.Vale também ressaltar que existem as tecnologias de hardware-based full disk encryption e hybrid full disk encryption que podem criptografar o disco inteiro de boot, incluindo a MBR.
O TrueCrypt é uma aplicação GPL que trabalha com os algorítimos AES-256, Serpent, e Twofish. Eles são fortes o suficiente para sobreviver à ataques de força bruta, mas E SE o atacante não estiver preocupado em fazer isto, e sim em obter a sua passphrase?
Isto posto, vamos à descrição e algumas fotos que fiz do ataque sendo executado em um notebook que possui a última versão do TrueCrypt com Full Disk Encryption instalado:
Primeira fase: um atacante tem acesso físico ao computador, insere o pendrive USB já contendo a imagem da ferramenta bootável e em cerca de um minuto, os 63 setores do disco são copiados para o pendrive e o o loader do TrueCrypt presente na MBR é infectado:
Segunda fase: Depois da utilização do computador pelo usuário, basta bootar o computador mais uma vez via USB e a informação que foi digitada pelo usuário - que já foi capturada pela alteração da função do TrueCrypt que pergunta pela passphrase: AskPassword( ) - é mostrada na tela, conforme pode ser visto abaixo:
Game Over.
Vale a pena ressltar que o atacante não precisa necessariamente ter acesso físico à máquina para efetuar a segunda fase - caso a implementação do ataque envie as informações via internet para o atacante, ao invés de salvar temporariamente a informação no disco atacado.
Algumas sugestões de mitigações - usar uma Ferramenta de Full Disk Encryption com suporte a chips TPM - Trusted Platform Module podem ser bypassadas por ataques mais sofisticados - como o que comentamos aqui aqui em junho de 2008: "Cold Boot Attack" - que é capaz de identificar e recuperar a chave criptográfica utilizada direto de um dump da memória RAM congelada. Para os mais paranóicos, o segredo é garantir que seu notebook não caia - nem mesmo temporariamente - em mãos erradas =)
O FAQ do TrueCrypt discorda da sugestão de mitigação acima:
The only thing that TPM is almost guaranteed to provide is a false sense of security (even the name itself, "Trusted Platform Module", is misleading and creates a false sense of security). As for real security, TPM is actually redundant (and implementing redundant features is usually a way to create so-called bloatware). Features like this are sometimes referred to as security theaterPara os que usam tecnologias de Full Disk Encryption TrueCrypt / PGP / BitLocker / etc, repito a primeira fase do post: Muitas vezes a consciência da insegurança é melhor do que a falsa sensação de segurança. Resumindo: se um atacante sofisticado teve acesso físico ao seu computador - possivelmente ele não é só seu daí em diante... Por isto a única mitigação garantida é uma excelente segurança física.
Esta contribuição tratá benefícios em investigações envolvendo computadores em que o suspeito esteja usando Full Disk Encryption – mediante obviamente uma autorização judicial diferenciada de 'busca e apreensão' de computadores - o que certamente aumentará substancialmente a qualidade das informações disponíveis durante o processo de aquisição/coleta de evidências.
Mais detalhes sobre o ataque e sobre a ferramenta: veja o post da Joanna. Para os interessados, o código fonte do infector está disponível.
Sandro,
ReplyDeleteDigamos que o atacante teve acesso físico a máquina e esta encontra-se UP, neste momento as chaves na maioria das implementações esta em memória, isso aumenta as chances de um ataque nesta área, sem contar que se o objetivo for os dados, nada que um backdoor, ou rootkit não resolva. O ataque é interessante do ponto de vista de uma máquina que está Off, este artigo meu deu algumas idéias para alguns outros testes, assim que finalizá-los falo contigo.
Parabéns a você a Joanna pelo excelente artigo.
Abraços
Thiago Bordini
thiago (at) bordini (dot) net
www (dot) bordini (dot) net
Olá Thiago, obrigado!
ReplyDeleteUm ataque similiar ao que você descreveu - conhecido como Blue Pill Attack, pode ser encontrado neste link:
http://sseguranca.blogspot.com/2009/03/ataques-bios-e-bots-em-modems-linux.html
O mais assustador do ataque da "Camareira Malvada" é que 100% dos usuários de sistemas de Full Disk Encryption se sentem totalmente seguros ao deixar o computador desligado - pois a final o acesso ao disco só é autorizado com a entrada da passphrase.. (O problema é que esqueceram da MBR.. )
Sandro, para quem usa apenas uma "passphrase", o ataque pode ser um problema. Por outro lado, o TrueCrypt permite que o usuário utilize um "keyfile" ou arquivo-chave combinado com a senha. Assim, para se ter acesso aos dados, é preciso informar a senha e, simultaneamente, estar de posse do arquivo-chave. Desta forma, o "Evil Maid" não basta ao atacante. Pode-se utilizar vários arquivos-chave em conjunto.
ReplyDeleteJoão, obrigado pelo comentário - mas repare a resposta da Joanna sobre a mesma pergunta:
ReplyDeleteVicent: If I have enabled 2-factor using smartcard with TC, does that make it safer since the evil maid need my smartcard to unlock my encrypted HDD?
Joanna: @Vincent: Ignoring for the while the fact that TC doesn't support smart cards, or even keyfiles, FOR SYSTEM DISK ENCRYPTION, still the problem with using a smartcard is that in most cases the decryption will be carried by the CPU and not by the smarcard for the performance reasons. Evil Maid can always catch the key if it gets to system DRAM.
[ ]s!
S.S.
"Muitas vezes a consciência da insegurança é melhor do que a falsa sensação da segurança."
ReplyDeleteSandro, esta frase resume muito da paranóia que é tentar manter informações sigilosas dentro de um domínio de divulgação fechado... Excelente texto, como todos os que são postados neste blog!
Abraços!
João, Thiago e Luiz, obrigado pelos comentários / elogios!
ReplyDeleteSandro excelente post!
ReplyDeleteAgora uma simples idéia.
Posso utilizar um CD/DVD/USB (dispositivo móvel que permita gravação) e utilizá-lo ao invés de ter uma MBR, onde passo os parâmetros de inicialização. Não sei se funcionaria com TC, mas é possível criar uma imagem de inicialização (initrd) com o TC embutido. Nesse caso funcionaria para GNU/Linux e seria uma solução "menos" insegura. Pretendo fazer este teste ;P
Abraço
Hudson, esta é uma das contramedidas possíveis - manter o MBR fisicamente com você, num CD ou pen-drive... exatamente!
ReplyDeleteOlá Sandro, você poderia fazer um artigo explicando o procedimento explanado pelo Hudson?
ReplyDeleteObrigado.
Sandro,
ReplyDeleteExcelente !
Se entendi corretamente, os fabricantes poderiam colocar no produto medidas de verificação da integridade da MBR, já que o ataque passa naturalmente por uma alteração nesses setores. O código de verificação estaria dentro para parte criptografada do HD e teria as proteções habituais que os AV já fazem hoje para não serem derrubados ou subvertidos.
O que achas ?
Abração,
Tony
E se o dono do computador alvo tiver desabilitado as portas UBS's como dispositivos de boot, e tiver colocado uma senha no setup?
ReplyDeleteEsqueceram que o truecrypt permite senha externa também. Além disso posso usar criptografia em cima de criptografia.
ReplyDeleteOla gostei do seu blog, gostaria de saber se e possivel criptografar a conexão com a internet? se for possivel, se existe algum programa para fazer isto, sou leigo no assunto, então queria saber se tem algum programa de criptografia que seja digamos facil de mexer, mas que tenha pelo menos aes 128bits, obrigado dese ja.
ReplyDeletePelo que entendi, no caso do Evil Maid Attack, o risco está presente apenas quando se criptografa o HD inteiro ou uma partição dele. Se eu usar a montagem de volumes, criando um arquivo-conteineir, não haveria problema, certo?
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteMarina, como anunciado recentemente pela Elcomsoft (http://www.net-security.org/secworld.php?id=14152) em algumas situações é possível recuperar a senha de containeres criptografados a partir do dump de memória da máquina. Lembre-se que o arquivo de paginação e hibernação contém dumps de memória que também podem
ReplyDeleteser utilizados em máquinas sem FDE (Full Disk Encryption) para a recuperação destas inforamções.
Isto não é uma novidade, já que diferentes versões de alguns produtos (como o cryptoscan do projeto Volatility, Passware, e AccessData, entre outros )
sempre se dedicaram a identificar as senhas de ferramentas de criptografia em memória.
Obviamente as técnicas e resultados variam quando os fabricantes / desenvolvedores modificam seus produtos para evitar que ferramentas tão acessíveis e baratas sejam capazes de "burlar" a segurança de seus produtos.
2006 - Brian Kaplan, RAM is Key - Extracting Disk Encryption Keys From Volatile Memory - http://cryptome.org/0003/RAMisKey.pdf
2009 - Carsten Maartmann-Moe - The persistence of memory: Forensic identification and extraction of cryptographic keys- http://www.dfrws.org/2009/proceedings/p132-moe.pdf
Os "3 métodos" citados pelo fabricante (Elcomsoft) objetivam o mesmo: possuir o dump de memória da máquina para extrair a palavra chave utilizada pelo usuário da ferramenta.
Já existiram métodos diferentes e bem criativos como o "Evil Maid Attack" (já citado por aqui) - http://sseguranca.blogspot.com.br/2010/02/evil-maid-attack-ataque-ao-truecrypt.html
No caso da inexistência de portas Firewire / ThunderBolt, e ainda na linha dos ataques para recuperação de dados diretamente dos chips de memória, vale a pena lembrar dos ataques desenvolvidos pelo pessoal de Princeton (Cold Boot Attack) - http://sseguranca.blogspot.com.br/2008/06/coldboot-attack-em-forense.html
PS: Existem também outras formas menos intrusivas e eficientes poderiam ser utilizadas com o mesmo objetivo, como a leitura de emanações eletromagnéticas (TEMPEST).
PS 2: Obviamente no caso dos HDs do Daniel Dantas os discos não estavam ligados a uma máquina ligada, e por isto a obtenção do "dump de memória" não era possível =)
PS 3: Sobre o "dump" e análise de memória, eu publiquei um material que trata disto: http://sseguranca.blogspot.com.br/2011/06/forense-em-windows-aquisicao-e-analise.html