Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
Hodiernamente, solid state drives baseados em memória flash NAND tornaram-se uma
tecnologia de destaque que desperta um forte interesse tanto na indústria quanto na
academia. O número de computadores que utilizam SSD em substituição aos tradi-
cionais hard disk drives (HDDs) vem crescendo, o IDC estima que em 2014 as cifras
que corporações gastaram com armazenamento baseado em memória flash - incluem-se
aı́ memória flash pura (SSD) e hı́brida (SSHD) -, alcançaram US$11.3 bilhões [Patrizio
2015]. O SSD é compatı́vel com as interfaces utilizadas pelo HDD, além da compatibi-
lidade a pequena latência de leitura e escrita, o baixo consumo de energia, a resistência
maior a choques mecânicos, o fato de ele ser mais leve, os ganhos de desempenho fazem
do SSD um forte concorrente do HDD.
Apesar da semelhança com os HDDs no que diz respeito às interfaces, essas
semelhanças acabam por aı́, já que por trás da interface compatı́vel há um funcionamento
interno mais complexo, com muitos algoritmos sofisticados desenvolvidos e implementa-
dos por diferentes fabricantes.
O SSD tem a sua estrutura interna diferente do HDD e o seu projeto interno pode
variar completamente de um fabricante para outro, ou mesmo variar entre modelos dis-
tintos de SSDs de um mesmo fabricante. Há implementações variadas de algoritmos que
tem por objetivo estender a vida útil e o desempenho das unidades de estado sólido, por
isso o SSD é um dispositivo de armazenamento bem diferente e seu hardware, bem como
seus mecanismos internos, propiciam não só comportamento e desempenho distintos, mas
também levam inevitavelmente a muita incerteza [Chen et al. 2009].
Em investigações nas quais procedimentos forenses computacionais sejam re-
queridos uma das tarefas mais comuns é extrair dados de computadores, o que é reali-
zado obtendo-se dados do usuário que estão disponı́veis em dispositivos não-voláteis de
armazenamento [Sharpe 2013]. Em muitas investigações as informações mais relevantes
foram apagadas, quando o armazenamento persistente é realizado em HDDs há métodos
que permitem recuperar os documentos apagados; entretanto, quando o armazenamento
é realizado em SSDs, estudos mostram que devido ao funcionamento interno distinto, os
métodos aplicados a HDDs não são eficazes para SSD, para Bell e Boddington [Bell and
Boddington 2010] mecanismos internos dos SSDs podem representar o fim das práticas
atuais de recuperação de arquivos apagados.
O restante deste artigo está organizado da seguinte forma: a Seção 2 apresenta
os trabalhos relacionados e como o trabalho proposto se diferencia deles. A Seção 3
detalha o SSD no que diz respeito ao seu hardware e a Seção 4 detalha os mecanismos
internos que, se por um lado melhoram o desempenho e estendem a vida útil do SSD, por
outro lado podem prejudicar a recuperação de arquivos apagados. A Seção 5 apresenta
técnicas atuais de recuperação de arquivos e alguns dos problemas enfrentados, tanto em
discos magnéticos quanto em discos de estado sólido. Finalmente, a Seção 6 apresenta as
conclusões deste trabalho e a proposição de linhas de pesquisa para trabalhos futuros na
área.
2. Trabalhos Relacionados
Em Skorobogatov [Skorobogatov 2005] é realizada uma análise da remanescência de
dados em dispositivos de memória semicondutora, essa pesquisa demonstra que após
operações de apagamento em memórias flash pode ser possı́vel extrair dados suposta-
mente apagados, mas o autor reconhece que a recuperação desses dados é extremamente
difı́cil. Para o autor, vários dispositivos de segurança como microcontroladores e smart-
cards com memória EEPROM/Flash assumem que a informação da memória desaparece
por completo depois de uma operação de apagamento, essa crença pode comprometer a
segurança do sistema uma vez que dados podem ser extraı́dos mesmo após essa memória
semicondutora ter passado pelo processo de apagamento.
Antonellis [Antonellis 2008] em seu trabalho adverte que SSD impõe dificuldades
para a área forense que precisam ser enfrentadas, ele faz um experimento prático cujos
resultados obtidos ele reputa serem inesperados e alarmantes, já que nos experimentos
práticos ele não consegue recuperar informação útil com as ferramentas existentes. Se-
gundo Antonellis, unidades de estado sólido deveriam retornar dados usando métodos já
padronizados de recuperação.
Chen e outros [Chen et al. 2009] mencionam que otimizações de hardware e
de software foram feitas e que elas têm como objetivo estender a vida útil e também o
desempenho de unidades SSD. Nesse trabalho, busca-se por meio de experimentos em
três unidades de estado sólido distintas entender o desempenho e o comportamento de
Solid State Drives.
Bell e Boddington [Bell and Boddington 2010] mostram que unidades de estado
sólido têm a capacidade de destruir provas (dados), mesmo na ausência de instruções
especı́ficas de um computador para fazê-lo. SSDs têm procedimentos internos que podem
contaminar as provas de forma imprevisı́vel, esse comportamento dificulta a validação de
provas e prejudica a credibilidade dos dados recuperados. Bell e Boddington verificaram
que dados podem ser removidos de um disco dentro de minutos e concluem: “parece
possı́vel que a idade de ouro para a recuperação, análise de dados e metadados excluı́dos
tenha chegado ao fim ”.
Em Wei e outros [Wei et al. 2011] são testadas técnicas de limpeza de unidades
de estado sólido. Essa pesquisa afirma que certos dados os quais foram apagados em
um SSD podem ainda estar no disco devido ao processo de wear leveling, porém esses
dados estarão inacessı́veis por meio de software. Os resultados desse trabalho levam a
três conclusões: em primeiro lugar, comandos internos são eficazes, mas os fabricantes
muitas vezes os implementam de forma incorreta; em segundo lugar, substituir todo o
espaço de endereços visı́vel de um SSD por duas vezes geralmente é suficiente para zerar
a unidade; em terceiro lugar, nenhuma das técnicas existentes para destruição de arquivo
individual em HDDs é eficaz em SSDs.
No trabalho de Nisbet e outros [Nisbet et al. 2013] é feita a análise forense em
unidades de estado sólido, não só analisando os algoritmos wear leveling e garbage col-
lection, mas também comparando o uso daqueles com outros SSDs que além de wear
leveling e garbage collection funcionam em conjunto com sistemas de arquivos capazes
de enviar aos SSDs a instrução TRIM. As conclusões desse trabalho levam a crer que
discos e sistemas operacionais com a instrução TRIM habilitada deixarão muito menos
dados para investigadores forenses do que esses mesmos discos e sistemas sem TRIM
habilitado.
Jamie Sharpe em seu artigo intitulado How SSD Technology Deletes Evi-
dence [Sharpe 2013] aborda o problema da análise forense em SSD por meio de uma
análise comparativa com discos rı́gidos tradicionais. Robert Winter e Kroll Ontrack [Win-
ter 2013] também desenvolvem um artigo com diversas comparações entre solid state
drives e hard disk drives.
Os trabalhos [Gubanov and Afonin 2014] e [Bonetti et al. 2014] apresentam entre
si conclusões semelhantes, para eles os SSDs têm implementações diferentes a depender
do fornecedor e, por isso cada SSD age de forma diferente. Em muitas situações, unidades
de estado sólido podem tornar difı́cil recuperar arquivos apagados, mas há inúmeras
exceções que permitem aos especialistas recuperar arquivos aparentemente apagados, por
isso algumas combinações de controladores de memória SSD, SO, sistemas de arquivos
e outras caracterı́sticas podem influenciar na quantidade de informações que podem ser
recuperadas.
Em [Yang et al. 2014], há uma visão geral do estado da arte de dois dos principais
mecanismos internos presentes em um SSD: garbage collection e wear leveling, os quais
são responsáveis pelo desempenho e pelo aumento da vida útil dos SSDs.
3. O Solid State Drive
Para uma melhor compreensão de como os mecanismos internos podem influenciar nega-
tivamente na recuperação de dados é preciso observar a arquitetura interna de um SSD.
A Figura 1 mostra a arquitetura interna de SSDs, nela é clara a divisão do SSD em três
camadas principais, quais sejam: HIL (Host Interface Layer), FTL (Flash Translation
Layer) e FIL (Flash Interface Layer).
4.3. TRIM
Os Hard Disk Drives (HDDs) podem realizar atualizações em locais fı́sicos marcados
como disponı́veis ainda que haja dados escritos lá. Nos HDDs os dados costumam per-
manecer intocados até que aquele espaço de armazenamento seja alocado para outro
arquivo. Devido ao fato de o SSD possuir caracterı́sticas diferentes (o SSD tem a
caraterı́stica “apague-antes-escreva-depois” enquanto o HDD tem caracterı́stica “escreva-
sobre-dados-antigos”), manter o arquivo em um local de armazenamento impede que a
escrita seja realizada e cria a necessidade de se esperar até que o apagamento da área de
armazenamento seja feita para que só então a escrita ocorra. O comando TRIM foi pu-
blicado no padrão Serial ATA em 2007, esse comando permite que o sistema operacional
informe ao SSD que determinados dados não são mais válidos e podem ser apagados.
O garbage collection não precisa preservar dados inválidos, o que evita a necessidade
de movimentar e armazenar esses dados, mitigando um problema conhecido como write
amplification.
Cabe ressaltar que o controlador do disco também decide quando iniciar e de-
sempenhar a operação de garbage collection, a TRIM sinaliza ao SSD que há blocos de
dados que não estão em uso e podem ser preparados para uma nova escrita. TRIM é
uma solução adicional implementada em diversos sistemas operacionais modernos como
NTFS no Windows 7 e posteriores, Ext4 usado na versão Linux Kernel 2.6.33 e posteri-
ores, HFS+ usado no Mac OS X 10.6.8 ou posterior [Nisbet et al. 2013].
Quando o sistema operacional possui a instrução TRIM implementada, após um
arquivo ser apagado o SO envia essa instrução para o controlador do SSD indicando os
endereços lógicos dos blocos que correspondem aos blocos que eram utilizados pelo ar-
quivo recentemente apagado. De modo que os endereços lógicos dos blocos são mapeados
para os endereços fı́sicos dos blocos pela FTL, para que seja realizada a limpeza [Gebre-
maryam 2011].
Por isso, os problemas de degradação de desempenho e de falta de comunicação
entre sistema operacional e disco impulsionaram a busca por soluções para o
aperfeiçoamento dos SSDs, a instrução TRIM foi um desses aperfeiçoamentos. A mul-
tiplicidade de algoritmos não padronizados que operam internamente tornam o SSD um
dispositivo bem mais complexo e muito diferente do HDD. Essas diferenças afetam pro-
fundamente o trabalho de peritos que buscam a recuperação de arquivos apagados em
SSDs.