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

Ich verwende Windows 7 und NTFS. Ich habe festgestellt, dass die MFT ein großes Sicherheitsrisiko darstellt, da sie vertrauliche Dokumentdateien lange Zeit ohne Benutzerwissen speichern kann, bevor sie überschrieben werden.

Alle Tests, die ich ausgeführt habe, sagen mir, dass Dateien, die kleiner als 640 Byte sind, sich im MFT befinden und nicht sicher gelöscht werden können. Alle Dateien mit 640 Byte oder mehr können 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 verschiedene Dateigrößen zu erstellen. Löschen Sie sie, Entleeren Papierkorb und laufen Recuva und dann sicher löschen hervorgehoben. Es kann keine Datei unter 640 Bytes sicher löschen (Datei befindet sich in MFT Nachricht wird kommen).

Ist dies auch für SSDs mit aktiviertem Trim? Warum 640 bytes? Dachte, es waren 512 Bytes maximal für MFT-Einträge für gelöschte Dateien?

Jede Eingabe viel tzt.

Author: phuclv, 2017-03-05

2 answers

Alle Dateien können sicher gelöscht werden, solange Sie das richtige Werkzeug verwenden. Zum Beispiel Sysinternals' SDelete ist in der Lage, dies zu handhaben

Auf NTFS-Laufwerken ist die Aufgabe von SDelete nicht unbedingt erledigt, nachdem die beiden Dateien zugewiesen und überschrieben wurden. SDelete muss auch alle vorhandenen freien Teile der NTFS MFT (Master File Table) mit Dateien füllen, die in einen MFT-Datensatz passen. Ein MFT-Datensatz ist normalerweise 1 KB groß und jede Datei oder jedes Verzeichnis auf eine Festplatte benötigt mindestens einen MFT-Datensatz. Kleine Dateien werden vollständig in ihrem MFT-Datensatz gespeichert, während Dateien, die nicht in einen Datensatz passen, Clustern außerhalb des MFT zugewiesen werden. Alles, was SDelete tun muss, um sich um den freien MFT-Speicherplatz zu kümmern, ist, die größte Datei zuzuweisen, 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 auf der Festplatte vorhanden sind (sie werden von den beiden Dateien gehalten, die SDelete zuvor zugewiesen). SDelete wiederholt dann den Vorgang. Wenn SDelete nicht einmal mehr eine neue Datei erstellen kann, weiß es, dass alle zuvor freien Datensätze in der MFT vollständig mit sicher überschriebenen Dateien gefüllt wurden.

Sicherlich haben Sie das falsche Werkzeug gewählt, denn wenn Sie die Dokumentation gelesen haben, würden Sie sehen, dass

Recuva kann nicht:

  • ...
  • Löschen Sie sicher bestimmte sehr kleine Dateien, die in der Master File Table (MFT) und Dateien von null-byte-Länge.

Einführung in Recuva-Was es kann und was nicht


Warum 640 bytes? Dachte, es waren 512 Bytes maximal für MFT-Einträge für gelöschte Dateien?

Größe der Dateien, die in MFT gespeichert werden können (genannt resident files) variiert je nach Datei, jedes System und welche Informationen in MFT gespeichert. Je mehr Daten für Metadaten in MFT verwendet werden, desto weniger bleibt für die Datei übrig, daher gibt es kein definiertes Limit, aber nach typischerweise Dateien kleiner als etwa 900 Bytes werden im Verzeichniseintrag am MFT gespeichert

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

Wie NTFS funktioniert

Als Beispiel habe ich eine example 1000-Byte-Datei mit sehr minimale Metadaten, die vollständig im MFT gespeichert werden können. Aber sobald ich der Datei weitere Metadaten hinzugefügt habe (harte Links, längere Namen, Streams, Berechtigungen...) der maximale Speicherplatz, der die residente Datei aufnehmen kann, reduziert sich schnell

 3
Author: phuclv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

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 - es kann auch die Dateigröße, Lese - /Schreibberechtigung, Erstellungs - /Änderungsdatum und andere Metainformationen enthalten. Diese Elemente haben alle zugewiesene Größen, weshalb in früheren Windows-Versionen ein Fehler auftreten kann, wenn der Dateiname zu lang ist. Aus diesem Grund können Sie auch keine Dateien speichern, die größer als 640 sind bytes vollständig innerhalb der Tabelle - die restlichen 384 Bytes (1024-640=384) waren für die dedizierten Zuordnungen.

Es ist nützlich zu wissen, dass Ihr Computer zwei identische MFTs hat, nicht eine. Der Hauptteil befindet sich am äußeren Rand der Festplatte und der zweite befindet sich auf halbem Weg. Die zweite existiert als Backup, falls die Hauptsicherung beschädigt ist, was passieren kann, wenn der Computer abgeschaltet wird, während ein Eintrag geschrieben oder geändert wurde. Jedes MFT-Reinigungsprogramm sollte von beiden gelöscht werden tabellen (und der Prozess wird vom BIOS oder der Firmware des Laufwerks abgewickelt), aber dies ist eine Sache, die Sie beachten sollten, wenn Sie Ihre Datensicherheit auf ein Extrem bringen möchten.

Außerdem KANN die MFT-Zeilengröße basierend auf der Größe des Laufwerks (oder der Partition) und dem beabsichtigten Zweck variiert werden. Rechenzentren und Server verwenden eher eine nicht standardmäßige Größe, da die MFT-Zuweisung mehr als 10% der Festplatte betragen kann, sodass der zusätzliche Speicherplatz wertvoll wird. 1024 Bytes sind jedoch der Standard.

 0
Author: user3685427,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-09-15 20:54:46