Monats-Archiv für Januar 2006

Petals around the rose

Das ist ja mal ein lustiges Rätsel.

Qemu

QEMU ist ein vielseitiger Emulator, der verschiedene Prozessoren und Systeme auf verschiedenen Architekturen und Betriebssystemen simulieren kann. Als Trägerplatform werden x86, x86_64, und PowerPC unterstützt, simulieren kann man x86, x86_64, ARM, Sparc, PowerPC und MIPS. QEMU ist sowohl für freie Betriebssysteme als auch für Windows verfügbar. Besonders interessant ist, dass auch Multiprozessorsysteme simuliert werden können:

qemudsl

Festplatten shreddern

Achtung: Die im folgenden beschriebenen Methoden vernichten Daten und Dateien vollständig und sicher.

Um mit Linux eine als defekt vermutete Festplatte unabhängig vom genutzten Dateisystem auf Fehler zu überprüfen, kann man folgenden Befehl nutzen, bei dem allerdings alle Daten gelöscht werden:

badblocks -t random -ws -v /dev/hdX

badblocks ist Bestandteil der e2fsprogs, damit es funktioniert sollte man natürlich möglichst root sein oder Zugriffsrechte auf das entsprechende Gerät haben. Der Parameter -t legt ein Bitmuster fest, mit dem die Platte beschrieben wird und das anschließend überprüft wird. -w legt fest, daß Daten sowohl geschrieben, als auch gelesen werden und -s zeigt den aktuellen Fortschritt an. Der Parameter -v erhöht die Menge der ausgegebenen Informationen. /dev/hdX steht für ein zu überprüfendes Gerät, also die zu überprüfende Festplatte oder Partition. Im Fehlerfall gibt badblocks eine Liste der defekten Sektoren aus. Zusätzlich findet man meist im Systemlog oder mit dmesg Meldungen wie Folgende:

hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: dma_intr: error=0x40 { UncorrectableError }, 
LBAsect=4561226, high=0, low=4561226, sector=4561208
ide: failed opcode was: unknown
end_request: I/O error, dev hdb, sector 4561208

Ist die Platte in Ordnung bleibt die Fehlerliste leer.

Eine andere Variante eine Festplatte von ihren Daten zu befreien, ist das Überschreiben mit zufälligen Daten mit dem in den fileutils enthaltenem Programm shred:

shred -v -n 20 /dev/hdX

Der Parameter -n legt hier die Anzahl der Durchläufe fest in denen die Daten mit zufälligen Werte überschrieben werden, die wirklich benötigte Anzahl hängt allerdings von der eigenen Zeit und dem Aufwand, den man betreiben will, ab. Für die einfache Abwehr von unspeziallisierten Angreifern, zum Beispiel beim Ebay-Verkauf einer Festplatte, sollten 5-10 Durchläufe genügen. Das Programm shred kann man zwar auch auf einzelne Dateien anwenden, laut Anleitung hat dies bei Journaling-Dateisystemen wie XFS, ext3, Reiser usw. allerdings nicht unbedingt die erwünschte Wirkung, da Daten und Dateien nicht unbedingt In-Place überschrieben werden.

Zur Vollständigkeit will ich noch eine dritte Methode um Dateien oder Geräte zu überschreiben angeben, die einfache Nutzung von dd:

dd if=/dev/random of=/dev/hdX bs=1M

Zum sicheren physikalischen Löschen von Festplatten und zum Vernichten von sensiblen Daten kann man am ehesten shred einsetzen, ultimatives Vernichten ist sowieso nur beim Erhitzen der Festplatte über ihre Curie-Temperatur, der Temperatur bei dem der Datenspeicher seine magnetischen Eigenschaften verliert, möglich.

Audio-On-Demand und Unendlichkeit

Langsam lerne ich die Tatsache schätzen, dass ich ein mobiles Musikabspielgerät zum Geburtstag geschenkt bekommen habe, auch wenn ich zur Synchronisation noch ein Windows benutzen muss. Besonders interessant finde ich Audio-On-Demand vom Deutschlandfunk, man kann viele der Beträge, die man verpasst hat, hören. Einen interessanten Beitrag gab es gestern bei Wissenschaft im Brennpunkt: Splitter der Unendlichkeit, der auch zum mobilen Hören verfügbar ist.

Microcontroller-Bastelei

Hardware-Bastelei und Programmierung liegt ja zur Zeit total im Trend. Die einen basteln Fnordlichter, manche spielen mit dem Butterfly oder der halvedDisc, wieder andere bauen Mini-Roboter wie den Asuro.

atmega8

Allem gemeinsam ist, dass die Intelligenz der Geräte durch Microcontroller verwirklich wird. Bei mikrocontroller.net findet man gute Dokumentation, unter anderem ein umfassendes Tutorial zur Atmel-Programmierung in C.