Forum: PC Hard- und Software Datenwiederherstellung


von Datus (Gast)


Lesenswert?

Hallo,

ich hätte mal eine Frage zur Datenwiderherstellung von Datenträgern.

Ich meine, die Bits und Bytes sind doch generell vorhanden und müssen 
eigentlich nur in einer definierten Reihenfolge ausgelesen werden...

D.h. es müsste doch möglich sein, z.B. nach beliebigen JPEG Files zu 
suchen, indem man einen kleinen Bildausschnitt von z.B. 100x100 Pixeln 
als JPEG-Datei annimmt und eben die nachfolgenden Bytes die Man auf der 
Platte liest in einem entsprechenden Fenster anordnet. So einen Rahmen 
schiebt man dann über die gesamte Festplatte und irgendwann erkennt man 
ein Klarbild, welches nicht verwaschen ist.
Davon ausgehend könnte man doch dann mehr als nur einen kleinen 
Schnipsel aufdecken und die wahre Größe des Bildes ermitteln. Sobald 
dies erfolgreich war und eben eine einzige Datei erkannt ist, müsste 
doch die Wahrscheinlichkeit relativ hoch sein, die benachbarten Dateien 
auf der Festplatte ebenfalls zu erkennen, da wohl zum einen Dateien 
gleichen Typs (Bilder, Musik, Videos,...) vermutlich im gleichen 
Verzeichnis liegen und mit hoher Wahrscheinlichkeit auch in benachbarten 
Speicherzellen auf der Festplatte.

mehrere mögliche Auflösungen / Höhen und Breiten ausprobiert und dann 
versucht aus den nachfolgenden Bytes ein Klarbild zu erhalten. Sobald 
man einen kleinen Schnipsel richtig zugeordnet hat, ergibt sich die 
richtige Auflösung des Bildes doch von alleine.

Eifnacher als ein Bild ist es wohl, nach Textdateien zu suchen, da 
eigentlich nur reguläre Wörter in der zu erwartenden Sprache gefunden 
werden müssen.
Ich meine, mir ist klar, dass ich mir das alles etwas einfach vorstelle, 
aber mich würde mal interessieren, ob dies ein prinzipieller Weg ist, 
Dateien auf Datenträgern wiederzuerkennen.

: Verschoben durch User
von Peter II (Gast)


Lesenswert?

Datus schrieb:
> Ich meine, die Bits und Bytes sind doch generell vorhanden und müssen
> eigentlich nur in einer definierten Reihenfolge ausgelesen werden...

wer sagt das?

Jeder Magnet, jeder Kratzer, jedes Feuer kann eine Datenträger so 
veändern, das die bits nicht mehr erkennbar sind.

von user (Gast)


Lesenswert?

das ganze gibt es schon fertig, zwar nicht ganz so wie beschreiben, aber 
es sucht auf einer Festplatte die Dateien 
http://www.cgsecurity.org/wiki/PhotoRec

von Chr. M. (snowfly)


Lesenswert?

Deine Methode funktioniert vielleicht bei .bmp Files,
.jpg sind IMHO komprimiert da geht das nicht so einfach.
Wenn die Datei dann auch noch fragmentiert ist wird es
auch nicht klappen.

Aber im Prinzip(wenn auch ein wenig komplizierter)
wir es ja auch so gemacht.

EDIT: AchJa, falsches Forum...

: Bearbeitet durch User
von Tom P. (booner)


Lesenswert?

Hei,

und dann ist da noch die böse Fragmentierung, die dafür sorgt, dass eine 
Datei in viele, viele kleine Häppchen zerlegt wird und über die ganze 
Platte verstreut ist. Die FAT  (File allocation table) beschreibt dann, 
wo diese einzelnen Happen liegen.

Soweit zu meinem Halbwissen... ;-)


Grüße,

Tom

von Karl H. (kbuchegg)


Lesenswert?

> und mit hoher Wahrscheinlichkeit auch in benachbarten Speicherzellen auf der 
Festplatte.

Das kommt drauf an, wie lange die Platte in Betrieb war. Nach relativ 
kurzer Zeit ist es nämlich nichts mehr mit "mit hoher Wahrscheinlichkeit 
sind die benachbart". Dann heißt es nämlmich "mit hoher 
Wahrscheinlichkeit sind die irgendwo auf der Platte, aber sicher nicht 
nebeneinander".

von (prx) A. K. (prx)


Lesenswert?

Darin liegt der der Clou bei Wiederherstellungsprogrammen für die 
üblichen Fotos. Mit genug Intelligenz und Zeit sollten die sich recht 
gut rekonstruieren lasst, selbst wenn fragmentiert (wobei mir nicht klar 
ist, weshalb Fotos in sich stark fragmentieren sollten). Das Zeug muss 
konsistent dekomprimierbar sein, Kanten müssen zusammenpassen usw.

Wenn dann noch Infodaten der Kamera im Bild drin sind, also von wann und 
heute nicht selten auch von wo, dann ist auch die ursprüngliche 
Zuordnung und Zeitachse leicht wiederherstellbar.

: Bearbeitet durch User
von Tom P. (booner)


Lesenswert?

A. K. schrieb:
> (wobei mir nicht klar ist, weshalb Fotos in sich stark fragmentieren sollten).


Ganz einfach, weil ein Cluster (ein Block an Daten, der nicht weiter 
zerkleinert wird) bei z.B. NTFS irgendwas zwischen 512Byte und 64KByte 
hat.
Ein normales Digitalfoto hat wohl heutzutage mehr als 3MB.
Damit kann dieses Foto z.B. auf 96 Cluster der Größe 32kB aufgeteilt 
werden und diese können wild verstreut auf der Festplatte sein.
Das wäre dann doch eine "starke Fragmentierung"...


Grüße,

Tom

von Datus (Gast)


Lesenswert?

Hm,

da lag ich ja mit meinem Halbwissen schonmal nicht so schlecht.

Was ich mir nun aber in Anlehnung an die ursprüngliche Fragestellung 
ebenfalls Kopfschmerzen bereitet, ist die Frage, inwieweit man einer 
derartigen Datenwiederherstellung durch eine Verschlüsselung begegnen 
kann?

Arbeitet ein Verschlüsselungsprogramm derart, dass wirklich jedes Bit 
quasi-zufällig nach einem Algorithmus gekippt wird, oder sind nicht am 
Ende doch wieder alle benachbarten Speicherzellen in ähnlicher weise 
gekippt, bzw. nur bestimmte N-Bytes einer Datei verändert?

Wenn nämlich jedes Bit gekippt würde, dann würde eine Verschlüsselung 
nicht nur sehr sehr lange dauern, sondern abhängig von der Art des 
Schlüssels müsste entweder genauso lang sein, wie die zu 
verschlüsselnden Daten, oder aber es würden Redundanzen auftreten.
Redundanzen treten immer dann auf, wenn man denselben Schlüssel mehrmals 
auf unterschiedliche Daten anwendet. In einem solchen Fall kann, soweit 
ich weiß, aus der Häufigkeitsverteilung mit hoher Wahrscheinlichkeit auf 
die ursprünglichen Daten zurückgeschlossen werden...

von Datus (Gast)


Lesenswert?

>NTFS irgendwas zwischen 512Byte und 64KByte

...aber gerade bei Fotos ergibt sich doch aus Blöcken, die eine Größe 
von 64kByte haben eine so große Menge an Daten, dass es speziell bei 
Fotos Randbereiche geben muss, die mit > 99,9% Wahrscheinlichkeit genau 
benachbart zu einem anderen Fotopuzzle-Stück liegen und demnach einfach 
gefunden werden können...

von Tom P. (booner)


Lesenswert?

Hei,

woran erkennst Du eigentlich, ob ein Block komplett Daten enthält oder 
evtl. nur die Hälfte davon sinnvoll ist? Naja, bestimmt gibts da ein 
Steuerzeichen dafür...

Andere Frage: Was bringen Dir diese theoretischen Überlegungen für einen 
Nutzen?


Grüße,

Tom

von Peter II (Gast)


Lesenswert?

Datus schrieb:
> aber gerade bei Fotos ergibt sich doch aus Blöcken, die eine Größe
> von 64kByte haben eine so große Menge an Daten, dass es speziell bei
> Fotos Randbereiche geben muss, die mit > 99,9% Wahrscheinlichkeit genau
> benachbart zu einem anderen Fotopuzzle-Stück liegen und demnach einfach
> gefunden werden können...

so einfach ist das nicht. Es gibt ja noch viel mehr Infos in den 
Imagedaten. Wenn das Image fragmentiert ist, woher willst du wissen 
welche Header-Infos( EXIF ) zu welchen bild gehören?

Auch sind die Blöcke im Image (wenn es überhaupt welche gibt) nicht die 
gleichen Blöcke mit den ein Dateisystem arbeitet, sie sind nicht gleich 
ausgerichtet.

Das ein Image überhaupt Fragmentiert ist, kommt recht selten vor. JPEGS 
haben einen Dateiaufbau, damit finden man auch ohne Bildanalyse die 
Bilder.

von (prx) A. K. (prx)


Lesenswert?

Peter II schrieb:
> so einfach ist das nicht. Es gibt ja noch viel mehr Infos in den
> Imagedaten. Wenn das Image fragmentiert ist, woher willst du wissen
> welche Header-Infos( EXIF ) zu welchen bild gehören?

Erst einmal sortiert man mögliche Fragmente der Bilder über Konsistenz 
des Formats und über inhaltliche Kriterien zusammen. Wie beschrieben 
hatte ich das für prinzipell möglich, wenn auch vielleicht nicht in 
jedem Fall. Die EXIF Daten sind dann aufgrund ihres geringen Anteils an 
der Grösse automatisch ein Teil davon.

> Auch sind die Blöcke im Image (wenn es überhaupt welche gibt) nicht die
> gleichen Blöcke mit den ein Dateisystem arbeitet, sie sind nicht gleich
> ausgerichtet.

Richtig. Deshalb die Konsistenzbedingung.

von (prx) A. K. (prx)


Lesenswert?

Tom P. schrieb:
> Andere Frage: Was bringen Dir diese theoretischen Überlegungen für einen
> Nutzen?

Manche Leute haben sie ihre Fotomedien zerlegt. Beispielsweise durch 
defektes NAS.

von Peter II (Gast)


Lesenswert?

A. K. schrieb:
> Manche Leute haben sie ihre Fotomedien zerlegt. Beispielsweise durch
> defektes NAS.

ja über dafür gibt es schon ausreichend Programme die die Images wieder 
finden. Ist ja nicht so das das Thema neu ist.

von dsd (Gast)


Lesenswert?

Datus schrieb:
> Arbeitet ein Verschlüsselungsprogramm derart, dass wirklich jedes Bit
> quasi-zufällig nach einem Algorithmus gekippt wird, oder sind nicht am
> Ende doch wieder alle benachbarten Speicherzellen in ähnlicher weise
> gekippt, bzw. nur bestimmte N-Bytes einer Datei verändert?

heutige verschlüsselungen kippen bei jedem aufruf rund 50% der Bits 
undabhängig derer position.

Datus schrieb:
> Wenn nämlich jedes Bit gekippt würde, dann würde eine Verschlüsselung
> nicht nur sehr sehr lange dauern, sondern abhängig von der Art des
> Schlüssels müsste entweder genauso lang sein, wie die zu
> verschlüsselnden Daten, oder aber es würden Redundanzen auftreten.

Jedes bit zu kippen ist die einfachste Verschlüsselung. Rate mal wieso.
Ich rate dir die Wikipediaartikel zu AES und RSA zu lesen.
Die Länge der Schlüssel ist bei den meisten verfahren Fix.
Wenn du also ein Passwort eingibst wird ein passender Hash dazu 
berechnet.
deshalb ist die Lände eines Passworts in sofern nur interessant, als 
dass der Raum der gültigen Hashes für jede Buchstabenkombination 
berechnet und beim knacken ausprobiert werden kann. Nennt sich 
RainbowTable.

Redundanz vermeidet man heute weitgehents indem man den Strom betrachtet 
und nicht jedes Byte, vergleiche ECB und CBC.

von dsd (Gast)


Lesenswert?

Datus schrieb:
> Arbeitet ein Verschlüsselungsprogramm derart, dass wirklich jedes Bit
> quasi-zufällig nach einem Algorithmus gekippt wird,

hast du dir mal überlegt wie man ein quasi zufällig gekipts Bit 
zurückrechnen soll?

von (prx) A. K. (prx)


Lesenswert?

Der ist der Unterschied zwischen zufällig und quasi-zufällig.

von Reinhard Kern (Gast)


Lesenswert?

Datus schrieb:
> oder sind nicht am
> Ende doch wieder alle benachbarten Speicherzellen in ähnlicher weise
> gekippt

Alle real angewandten Verschlüsselungsprogramme führen eine Anzahl von 
Vertauschungsoperationen durch, um das zu verhindern und um jeden Rest 
von statistischen Zusammenhängen zu beseitigen. D.h. es werden nicht 
Bytes, sondern Blöcke bearbeitet.

Gruss Reinhard

von kopfkratzer (Gast)


Lesenswert?

kopfkratz
Welches Filesystem und wie sind die Daten "verloren" worden ?
Un*x und rm = inode weg = absolut gelöscht
Un*x Journaling FS und Stromausfall = fsck und es werden nur die Daten 
die geöffnet waren überprüft
Un*x ohne Journaling FS = fsck und vieeeeel Kaffee ...
Wenn es dagegen darum geht gezielt bestimmte Daten wieder aufzuspüren 
macht man normalerweise eine 1:1 Kopie auf einer identischen Platte und 
läßt nachdem man das Filesystem wieder hergestellt hat Software darüber 
laufen die auf FS Ebene versuchen die gesamte Datei zu erkennen.
Die Idee mit Deinen Bildfragmenten oder Textbaustein funktioniert so 
nicht wirklich.
Kannst ja mal im Windows Suchindex das Wort "Kin" eingeben, wenn dann 
jemand mal im Netz nach "kin" gesucht hat wird's im Browsercache fündig, 
wenn jemand eine e-mail für Oma Friede verfaßt hat und da "Kinners" 
drinsteht wird das auch gefunden usw. usf.
Du mußt also unterscheiden zwischen Datenwiederherstellung und 
Datensuche.
Und wenn dann jemand so gemein war TrueCrypt zu installieren oder die 
Verschlüsselung im Un*x Kernel, tja dann kommst Du auch mit einer 1:1 
Kopie ohne das Paßwort nicht weiter.
Es reicht sogar meistens ein PW geschütztes ZIP um die Schweizer 
Kontodaten der Steuer vorzuenthalten :-P

von Andy P. (bakaroo)


Lesenswert?

Die besseren Festplattenverschlüssler klinken sich zwischen dem 
Dateisystem und dem sektorweisen Schreiben auf a) Treiberebene 
=Softwarebasiert und b) Interfaceebene =Hardwarebasiert ein.
Sie nehmen praktisch den zu schreibenden Block vom Betriebssystem 
entgegen, verschlüsseln ihn komplett und schreiben diesen dann statt des 
Klartextes auf die Festplatte. Beim Lesen läuft es genau umgekehrt: der 
zu lesende Bock wird von der Festplatte angefordert, entschlüsselt und 
an das Betriebssystem weitergreicht.
Dazu braucht der Festplattenverschlüssler folgende Parameter: 
Algorithmus +Modus (AES/DES + CBC/XTS.. Wird bei der Herstellung / 
Programmierung des Verschlüsslers Fix vorgegeben), Schlüssel, IV und 
Nebenbeisachen wie Hashes.

Die Verschlüssler, die einfach nur Dateien verschlüsseln, sind nur 
sicher, solange niemand auf die Festplatte schaut. Denn die Daten liegen 
dort in der Regel auch im Klartext und sind mit den 
"Datentettungsmaßnahmen" des TO recht zuverlässig wiederherstellbar.

von dsd (Gast)


Lesenswert?

Andy P. schrieb:
> Die Verschlüssler, die einfach nur Dateien verschlüsseln, sind nur
> sicher, solange niemand auf die Festplatte schaut. Denn die Daten liegen
> dort in der Regel auch im Klartext und sind mit den
> "Datentettungsmaßnahmen" des TO recht zuverlässig wiederherstellbar.

Ist irgendwie nicht ganz logisch oder.
Wenn ich dem BS DatenBlöcke zum schreiben auf Festplatte gebe kann es 
ihm herzlkich egal sein was das für daten sind. Das BS kann nicht 
entscheiden ob er verschlusselt ist. Wäre ja noch schöner.

Es ist eine Frage des Anwendungsfalls wann die Daten verschlüsselt 
werden.
Bei einer Full disk entcryption ist es so wie wie du vorher gesagt hast.
Der Vorteil dabei ist, dass ich mir keine gedanken machen muss wenn ich 
den pc ausmache. Wenn er gestohlen wird kann keiner die daten lesen.
Werden nur Anwenderdateien verschlüsselt geht das zum einen auch wie du 
gesagt hast mit gleichem vorteil oder ich nehm ein Programm. Beim 
Programm habe ich nur den Nachteil dass ich mich selber darum kümmern 
muss dass keine Klartextversion noch vorhanden ist beim ausmachen.

Verschlüsselt ist verschlüsselt egal auf welcher ebene.

von (prx) A. K. (prx)


Lesenswert?

dsd schrieb:
> Ist irgendwie nicht ganz logisch oder.

Folgende Sequenz:
(1) File wird entschlüsselt.
(2) File wird bearbeitet.
(3) File wird wieder verschlüsselt.

Ein sauber arbeitendes Verschlüsselungsprogramm sollte klug genug sein, 
die entschlüsselte Version zu plätten, bevor es sie löscht. Andernfalls 
liegt deren Inhalt im Klartext noch auf Disk und kann gefunden werden.

Dieses Problem kann aber auch durch das Programm in (2) entstehen, wenn 
dabei temporäre Versionen, implizite Backups usw. erzeugt werden, die 
nach Beendigung wieder weggeräumt werden.

Um solche Probleme zu vermeiden muss man systematisch dafür sorgen, dass 
alle gelöschten Files überschrieben werden und erst dann deren Platz 
vom Filesystem freigegeben wird. Es gibt Tools, die mindestens auf 
Anfrage den kompletten Freiraum des Filesystems plätten. Evtl. gibts das 
auch automatisch, als Teil der Löschoperation.

: Bearbeitet durch User
von Reinhard Kern (Gast)


Lesenswert?

A. K. schrieb:
> Evtl. gibts das
> auch automatisch, als Teil der Löschoperation.

Das wäre entweder ein Eingriff ins Betriebssystem - nicht so gut - oder 
die Software selbst sollte immer zuerst Nullen schreiben und dann den 
Bereich löschen (und möglichst dafür sorgen, dass die Nullen vom BS auch 
tatsächlich geschrieben werden, sonst wird das möglicherweise 
wegoptimiert). Schneller wird der Rechner dadurch nicht gerade.

Gruss Reinhard

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.