Tamanho máximo do arquivo que pode ser armazenado inteiramente na tabela de arquivos mestre (MFT) do NTFS

5

Estou usando o Windows 7 e o NTFS. Eu notei que a MFT é um enorme risco de segurança porque pode armazenar arquivos de documentos confidenciais sem o conhecimento do usuário por um longo tempo antes de serem sobrescritos.

Todos os testes que executei me dizem que arquivos menores que 640 bytes são residentes na MFT e não podem ser excluídos com segurança. No entanto, qualquer arquivo com 640 bytes ou mais pode ser excluído com segurança imediatamente - isso é válido para meu HD de 500 GB e meu de 128 GB (ambos NTFS).

Eu testei isso criando um monte de arquivos de texto e escrevendo palavras para eles para criar diferentes tamanhos de arquivo. Excluindo-os, esvaziando a lixeira e executando o Recuva e, em seguida, excluindo com segurança o realce. Ele não consegue excluir com segurança qualquer arquivo com menos de 640 bytes (o arquivo residente na mensagem da MFT será exibido).

É o mesmo para SSDs com Trim Enabled? Por que 640 bytes? Achava que o máximo de 512 bytes para entradas da MFT para arquivos apagados?

Qualquer entrada muito apreciada.

    
por Jeff 05.03.2017 / 16:43

2 respostas

3

Todos os arquivos podem ser excluídos com segurança , contanto que você use a ferramenta correta . Por exemplo O SDelete da Sysinternals é capaz de lidar com isso

On NTFS drives SDelete's job isn't necessarily through after it allocates and overwrites the two files. SDelete must also fill any existing free portions of the NTFS MFT (Master File Table) with files that fit within an MFT record. An MFT record is typically 1KB in size, and every file or directory on a disk requires at least one MFT record. Small files are stored entirely within their MFT record, while files that don't fit within a record are allocated clusters outside the MFT. All SDelete has to do to take care of the free MFT space is allocate the largest file it can - when the file occupies all the available space in an MFT Record NTFS will prevent the file from getting larger, since there are no free clusters left on the disk (they are being held by the two files SDelete previously allocated). SDelete then repeats the process. When SDelete can no longer even create a new file, it knows that all the previously free records in the MFT have been completely filled with securely overwritten files.

Certamente você escolheu a ferramenta errada porque, se você leu a documentação, verá que

Recuva cannot:

  • ...
  • Securely delete certain very small files that are held in the Master File Table (MFT) and files of zero-byte length.

Introducing Recuva - What it can and can't do

Why 640 bytes? Thought it was 512 bytes maximum for MFT entries for wiped files?

O tamanho dos arquivos que podem ser armazenados na MFT (chamados arquivos residentes ) varia dependendo cada arquivo, cada sistema e quais informações são armazenadas na MFT. Quanto mais dados são usados para metadados na MFT, menos resta para o arquivo , portanto não há limite definido, mas de acordo com a Microsoft normalmente

Files smaller than approximately 900 bytes are stored within the directory entry at the MFT

link

The figure MFT Entry with Resident Record shows the contents of an MFT record for a small file or folder. Small files and folders (typically, 900 bytes or smaller) are entirely contained within the file’s MFT record.

link

Eu criei um exemplo de arquivo de 1000 bytes com metadados muito mínimos que são armazenados completamente na MFT . Mas assim que adicionei mais metadados ao arquivo (links físicos, nomes mais longos, fluxos, permissões ...), o espaço máximo que pode acomodar o arquivo residente reduz rapidamente

    
por 05.03.2017 / 17:06
0

A entrada da MFT tem 1024 bytes de comprimento (veja a seção da MFT no link ) e armazena mais do que apenas o nome do arquivo - ele também pode incluir o tamanho do arquivo, permissão de leitura / gravação, data de criação / modificação e outras meta-informações. Todos esses itens têm tamanhos alocados e é por isso que, em versões anteriores do Windows, você poderia encontrar um erro se o nome do arquivo fosse muito longo. É também por isso que você não pode armazenar arquivos maiores que 640 bytes inteiramente dentro da tabela - os 384 bytes restantes (1024-640 = 384) foram para as alocações dedicadas.

É útil saber que o computador tem duas MFTs idênticas, não uma. O principal está na borda externa do HD, e o segundo está localizado na metade. O segundo existe como backup, caso o principal esteja danificado, o que pode acontecer se o computador for desligado enquanto uma entrada estiver sendo gravada. ou alterado. Todo programa de limpeza da MFT deve ser excluído de ambas as tabelas (e o processo é tratado pelo BIOS ou pelo firmware da unidade), mas isso é uma coisa a ter em mente se você quiser levar sua segurança de dados ao extremo.

Além disso, o tamanho da linha MFT PODE ser variado, com base no tamanho da unidade (ou partição) e sua finalidade pretendida. Os datacenters e servidores são mais propensos a usar um tamanho não padrão, já que a alocação da MFT pode ser superior a 10% do HDD, portanto, o espaço extra se torna valioso. No entanto, 1024 bytes é o padrão.

    
por 15.09.2017 / 22:54