Maximale Dateigröße, die vollständig in der NTFS Master File Table (MFT) gespeichert werden kann

1687
Jeff

Ich verwende Windows 7 und NTFS. Ich habe festgestellt, dass die MFT ein großes Sicherheitsrisiko darstellt, da sensible Dokumentdateien ohne Wissen des Benutzers lange Zeit gespeichert werden können, bevor sie überschrieben werden.

Alle von mir durchgeführten Tests zeigen an, dass Dateien, die kleiner als 640 Byte sind, in der MFT gespeichert sind und nicht sicher gelöscht werden können. Jede Datei mit 640 Byte oder mehr kann jedoch sofort sicher gelöscht werden. Dies gilt für meine 500-GB-Festplatte und mein 128-GB-Flash-Laufwerk (beide NTFS).

Ich habe dies getestet, indem ich eine Reihe von Textdateien erstellt und Wörter in sie geschrieben habe, um unterschiedliche Dateigrößen zu erstellen. Löschen, Löschen des Papierkorbs und Ausführen von Recuva und Löschen des markierten Speichers. Es kann keine Datei mit weniger als 640 Bytes sicher gelöscht werden (die Datei befindet sich in der MFT-Nachricht).

Ist dies für SSDs mit aktiviertem Trim gleich? Warum 640 Bytes? Ich dachte, es wäre maximal 512 Byte für MFT-Einträge für gelöschte Dateien?

Jede Eingabe sehr geschätzt.

5
In Bezug auf das "Warum" ... sind NTFS-Dateisätze 1024 KB. Ein Teil dieses Speicherplatzes wird für erforderliche Attribute benötigt, z. B. `$ FILE_NAME`, und der Rest verbleibt für residente Dateien. Andrea Lazzarotto vor 7 Jahren 0
@AndreaLazzarotto Die Größe des Rekodes beträgt 1 KB oder 1024 Bytes, nicht 1024 KB phuclv vor 5 Jahren 1
@phuclv heilig raucht du hast recht. Verdammter Tippfehler. :O Andrea Lazzarotto vor 5 Jahren 0

2 Antworten auf die Frage

3
phuclv

Alle Dateien können sicher gelöscht werden, solange Sie das richtige Werkzeug verwenden . Zum Beispiel kann SDelete von Sysinternals damit umgehen

Auf NTFS-Laufwerken ist der Job von SDelete nicht unbedingt abgeschlossen, nachdem die beiden Dateien zugewiesen und überschrieben wurden. SDelete muss außerdem alle vorhandenen freien Teile der NTFS-MFT (Master File Table) mit Dateien füllen, die in einen MFT-Datensatz passen. Ein MFT-Datensatz hat normalerweise eine Größe von 1 KB, und für jede Datei oder jedes Verzeichnis auf einer Festplatte ist mindestens ein MFT-Datensatz erforderlich. Kleine Dateien werden vollständig in ihrem MFT-Datensatz gespeichert, während Dateien, die nicht in einen Datensatz passen, Cluster außerhalb der MFT zugewiesen werden. Alles, was SDelete tun muss, um sicherzustellen, dass der freie MFT-Speicherplatz die größte Datei zuweist, die es kann - wenn die Datei den gesamten verfügbaren Speicherplatz in einem MFT-Datensatz belegt, verhindert NTFS, dass die Datei größer wird, da keine freien Cluster mehr vorhanden sind der Datenträger (sie werden von den beiden zuvor zugeordneten SDelete-Dateien gehalten). SDelete wiederholt dann den Vorgang. Wenn SDelete eine neue Datei nicht mehr erstellen kann, ist bekannt, dass alle zuvor freien Datensätze in der MFT vollständig mit sicher überschriebenen Dateien gefüllt wurden.

Sicher haben Sie das falsche Werkzeug gewählt, denn wenn Sie die Dokumentation gelesen haben, sehen Sie das

Recuva kann nicht:

  • ...
  • Löschen Sie bestimmte sehr kleine Dateien, die in der Master File Table (MFT) gespeichert sind, und Dateien mit einer Länge von null Byte sicher.

Recuva stellt sich vor - was es kann und was nicht


Warum 640 Bytes? Ich dachte, es wäre maximal 512 Byte für MFT-Einträge für gelöschte Dateien?

Die Größe der Dateien, die in MFT gespeichert werden können (als residente Dateien bezeichnet ), variiert je nach Datei, System und den Informationen, die in MFT gespeichert sind. Je mehr Daten für Metadaten in MFT verwendet werden, desto weniger Daten bleiben für die Datei übrig. Daher gibt es kein definiertes Limit, aber in der Regel laut Microsoft

Dateien, die kleiner als etwa 900 Byte sind, werden im Verzeichniseintrag der MFT gespeichert

https://en.wikipedia.org/wiki/NTFS#File_compression

Die Abbildung MFT Entry mit residentem Datensatz zeigt den Inhalt eines MFT-Datensatzes für eine kleine Datei oder einen Ordner. Kleine Dateien und Ordner (normalerweise 900 Bytes oder kleiner) sind vollständig im MFT-Datensatz der Datei enthalten.

https://technet.microsoft.com/de-de/library/cc781134(WS.10).aspx

Ich habe eine 1000-Byte-Beispieldatei mit sehr minimalen Metadaten erstellt, die vollständig in der MFT gespeichert ist . Sobald ich der Datei jedoch weitere Metadaten hinzugefügt habe (feste Links, längere Namen, Streams, Berechtigungen ...), verringert sich der maximale Speicherplatz, der die residente Datei aufnehmen kann, schnell

Es scheint, dass unterschiedliche Dateiformate mehr Bytes in der MFT als andere haben können. Ändern SSDs mit DRAZT oder DRAT beim Zuschneiden die Informationen, die in der MFT für diese kleinen Dateien gespeichert sind? Jeff vor 7 Jahren 0
Ich weiß nicht über DRAZT oder DRAT Bescheid, aber SSDs werden Sektoren neu zuordnen und / oder Daten verschieben, um den Verschleiß auszugleichen, so dass alle Wetten deaktiviert sind. Ich glaube, dass die sichere Reinigung beim Remapping von der SSD-Firmware übernommen wird. Daher müssen Sie neben dem Betriebssystem nur ein Reinigungstool wie auf der Festplatte verwenden phuclv vor 7 Jahren 0
0
user3685427

Der MFT-Eintrag ist 1024 Byte lang (siehe Abschnitt "MFT" unter http://www.cse.scu.edu/~tschwarz/coen252_07Fall/Lectures/NTFS.html ) und speichert mehr als nur den Dateinamen - er kann auch die Datei enthalten Größe, Lese- / Schreibberechtigung, Erstellungs- / Änderungsdatum und andere Meta-Informationen. Diese Elemente haben alle eine zugewiesene Größe, weshalb in früheren Windows-Versionen ein Fehler auftreten konnte, wenn der Dateiname zu lang war. Aus diesem Grund können Sie Dateien, die größer als 640 Byte sind, nicht vollständig in der Tabelle speichern. Die restlichen 384 Byte (1024-640 = 384) waren für die dedizierten Zuordnungen bestimmt.

Es ist nützlich zu wissen, dass Ihr Computer zwei identische MFTs hat, nicht eine. Der Hauptbereich befindet sich am äußeren Rand der Festplatte, der zweite befindet sich auf halbem Weg. Der zweite befindet sich als Backup für den Fall, dass der Hauptschaden beschädigt wird. Dies kann passieren, wenn der Computer während des Schreibens eines Eintrags ausgeschaltet wird oder geändert. Jedes MFT-Reinigungsprogramm sollte aus beiden Tabellen gelöscht werden (und der Vorgang wird vom BIOS oder von der Firmware des Laufwerks übernommen). Dies ist jedoch eine Sache, die Sie beachten sollten, wenn Sie Ihre Datensicherheit auf ein extremes Niveau bringen möchten.

Außerdem kann die MFT-Zeilengröße abhängig von der Laufwerksgröße (oder Partitionsgröße) und ihrem Verwendungszweck variiert werden. Datenzentren und Server verwenden eher eine nicht standardmäßige Größe, da die MFT-Zuweisung mehr als 10% der Festplatte ausmachen kann, sodass der zusätzliche Speicherplatz wertvoll wird. 1024 Bytes sind jedoch der Standard.