O documento discute conceitos sobre discos de estado sólido e seus desafios para a computação forense, como o wear leveling e garbage collection poderem gerar falso-positivos ou comprometer a integridade de evidências digitais no futuro. Também aborda técnicas forenses como hash e file carving aplicadas a SSDs.
4. Conceitos Básicos
• Flash RAM
– Tipos
• Not OR ( NOR )
– Similar à RAM
– Usada em BIOS e firmwares
• Not AND ( NAND )
– Funcionamento diferenciado
4
5. Conceitos Básicos
• Flash RAM
– Principais diferenças
( NOR e NAND )
• Tipo de acesso
• NOR possui custo elevado
em relação à NAND
• Leitura mais rápida nas
memórias do tipo NAND
5
10. Conceitos Básicos
• Discos de Estado Sólido
– Funcionamento
• MLC com múltiplos canais de acesso
• Usam buffer para organizar operações
10
11. Conceitos Básicos
• Discos de Estado Sólido
– Efeito NOVO/USADO
• No HD os dados são gravados em setores 512 bytes
• No SSD são páginas de 4 KB
Construção didática
11
25. COMPUTAÇÃO FORENSE
E OS SSD
• Wear Leveling e a geração de
falso-positivos
25
26. COMPUTAÇÃO FORENSE
E OS SSD
• Garbage Collection e a integridade
– Comprovação futura
26
27. CONCLUSÃO
ONE DOES NOT SIMPLY
DOMAIN ALL THE TECHNOLOGY
27
28. A FORENSE COMPUTACIONAL
E OS DISCOS DE ESTADO
SÓLIDO
Jeremias Moreira Gomes
jeremiasmg@gmail.com
Notas del editor
Nos dias atuais, os SSD estão conquistando uma fatia significativa de mercado em relação aos HDs, tudo isso graças a características dos SSDs que, quando comparadas, se mostram superiores aos Discos Rígidos Desde a criação da Forense Computacional, os peritos enfrentam diversos desafios no que tange a existência de diversas tecnologias diferentes em suas diversas áreas de atuação: celulares, câmeras fotográficas, tocadores de música e mídias de armazenamento. Isso faz com que o perito tenha que possuir um conhecimento muito especializado acerca de determinado assunto. Diante desse cenário dinâmico, este trabalho é um vistoria que visa abordar a tecnologia dos SSD que estão cada vez mais presentes nos diversos ambientes computacionais
SDRAM – São unidades baseadas em chips de memória de acesso aleatório incrivelmente rápidos mas que perdem informações ao terem sua alimentação cortada
Flash RAM – Diferente da SDRAM, essa permite armazenar informações por longos períodos, sem necessitar qualquer fonte de alimentação elétrica. O que a fez se tornar uma tecnologia dominante em cartões de memória, pen-drives e os SSD que vou abordar mais a frente. Tipos de flash: Not OR – similitar a RAM e foi muito empregada em BIOS e firmwares que antes utilizavam ROM ou EEPROM Not AND – Essas que funcionavam de uma forma um pouco diferente ( explicado mais a frente ), conquistaram o mercado por possuírem diversas vantagens em relação as memórias do tipo NOR Diferenças: NOR permite acesso aleatório e NAND sequencial, Custo de fabricação da NAND é mais barato, leitura nas memórias do tipo NAND são mais rápidas
Diferenças: NOR permite acesso aleatório e NAND sequencial, Custo de fabricação da NAND é mais barato, leitura nas memórias do tipo NAND são mais rápidas
As do tipo NAND possuem células compostas por dois transistores com uma fina camada de óxido de silício para armazenar cargas negativas Esse armazenamento consegue manter os dados por longos períodos de tempo sem necessidade de alimentação de energia
- Esse esquema mostrado anteriormente ocupa um espaço relativamente menor em relação a célula de memória e faz com que cada chip armazene uma quantidade muito maior de dados com custo menor. É um conjunto que forma blocos de células ( PÁG 4KB, 128 PÁGINAS QUE FORMAM BLOCO DE 512 KB ) Cabe ressaltar que embora eu possa programar em uma página base, a exclusão se dá somente no bloco base.
São discos que usam um princípio de armazenamento completamente diferente dos HDs comuns Vantagem principal: Ótimo tempo de acesso combinado com rápidas taxas de leitura e gravação
SLC – Um bit por célula, é MAIS CARA e admite até 100.000 operações de escrita por célula ( MILITAR OU ALTA PERFORMANCE ) MLC – Trabalha com dois bits por célula, são mais baratas, admitem apenas 10.000 operações de escrita ( por serem mais baratas, são as mais empregadas atualmente ( pendrives, cartões de memória, etc ) )
A maioria usa MLC com múltiplos canais de acesso, podendo distribuir os arquivos em blocos e depois lidos simultaneamente ( SIMILAR AO RAID ) Usam buffer para organizar operações de maneira mais eficiente
SSD não é afetado pela fragmentação Em HDs o cluster é também, coincidência ou não, de 4KB ( normalmente ) ( BLOCO COM 12 PÁGINAS PARA FINS DIDÁTICOS DE UM 1 BYTE POR PÁGINA )
Esses são os valores onde existe uma diferença significativa entre leitura e escrita nos SSD A leitura ocorre de maneira independente ( Para MLC os valores )
Será gravado um arquivo com conteúdo “1234”, por exemplo
O problema inicia quando eu necessito editar e regravar algo.
- Se fosse utilizado o mesmo bloco, primeiro deveria-se apagar todo o mesmo, para então realizar uma nova gravação - O tempo agora já passa a ser de 1ms para a operação completa - Para arcar com isso, a controladora passa a buscar por blocos que estejam vazios para evitar essa necessidade
Com a existência de arquivo válido no bloco, passará a ser muito mais demorado, já que ele vai carregar o conteúdo para o buffer, fazer as alterações, limpar o bloco e depois gravar todas as informações
Vai chegar um momento onde todos os blocos já estarão dados como utilizados e será necessário começar a utilizar blocos já utilizados demorando muito mais nos tempos de resposta causando um efeito similar ao dos discos magnéticos, porém com por uma causa diferenciada
Diante desse problema de queda de performance, os fabricantes se viram obrigados a lançarem soluções emergenciais para resolver essa situação de velocidade e os Garbage Collection vieram nas atualizações de firmware para poderem realizar tal correção. ( Falar sobre o funcionamento sumário do GC )
A solução final veio com o comando TRIM ( a nível de SO ) Faz agendamento de limpezas das páginas de conteúdo deletado. Precisa ser suportado tanto pelo SSD quando pelo sistema operacional ( 2009 )
Sobre a vida útil dos SSD ( 10.000 operações ) Para evitar que algumas áreas falhem prematuramente, os fabricantes usam o wear leveling, que altera o setor de dados sempre que o mesmo é criado ou alterado
Voltado para a forense, é um mecanismo de segurança que se vale de uma função matemática unidirecional para gerar uma assinatura ( que é de tamanho fixo em sua saída ) que visa garantir integridade dos dados.
A ideia básica do carving é a busca de informações independente da sua tabela de alocação Aqui tem uma MFT só pra exemplificar como o sistema de arquivos trabalha com o famoso catálogo telefônico que contém os endereços de todos os arquivos, sem a tabela, a técnica de carving faz busca por cabeçalhos varrendo todo o disco
WL que trabalha em cima da recuperação de arquivos baseados naquilo que foi preenchido e sinalizado para ser apagado pela MFT/FAT acabam por gerar falso-positvos ou a não localização de um arquivo
Já o Garbage Collection liga-se diretamente com a integridade dos dados. O perito apreende o material a ser analisado e durante a coleta gera uma assinatura de integridade. Após a análise e na apresentação do relatório, há a necessidade jurídica e científica de se comprovar a integridade dos dados que, por atuação do garbage collection, teve sua integridade alterada de forma não previsível.
Apesar de todo o conhecimento acerca dessas tecnologias citadas, cabe ressaltar que suas implementações estão diretamente ligadas às regras de negócio do fabricante Com os SSD tomando sua parcela do mercado de mídias de armazenamento, é necessário que o perito conheça, estude e busque soluções que atendam as necessidades judiciais da atualidade E não permitir que criminosos se aproveitem da falta de padronização