it-swarm.com.de

Wie kann ich das sichere Löschen einer Festplatte beschleunigen?

Ich muss von Zeit zu Zeit Festplatten sicher löschen und habe dafür eine Vielzahl von Tools verwendet:

  • cat /dev/zero > /dev/disk
  • cat /dev/urandom > /dev/disk
  • shred
  • badblocks -w
  • DBAN

Allen gemeinsam ist, dass es ewig dauert, bis sie laufen.

In einem Fall cat /dev/urandom > /dev/disk hat die Festplatte getötet und sie anscheinend überhitzt.

Gibt es einen "gut genug" Ansatz, um zu erreichen, dass Daten auf der Festplatte rechtzeitig unbrauchbar werden? Superblocks und ein paar strategisch wichtige Blöcke überschreiben oder so?

Die Festplatten (sowohl Spinning als auch SSD) stammen von gespendeten Computern und werden verwendet, um anschließend Linux-Desktops auf ihnen zu installieren, die an Personen verteilt werden, die es sich nicht leisten können, einen Computer zu kaufen, aber einen benötigen.

Die Festplatten der gespendeten Computer wurden normalerweise nicht verschlüsselt. Und manchmal denken Spender nicht einmal daran, Dateien vorher zu löschen.

pdate:

Aus den bisher eingegangenen Antworten geht hervor, dass es keine Ecken und Kanten gibt. Am besten richte ich wahrscheinlich einen Laborcomputer ein, um mehrere Festplatten gleichzeitig zu löschen. Ein Grund mehr, große Unternehmen um Spenden zu bitten :-)

Vielen Dank an alle!

36
markgraf

Das Überschreiben der Superblock- oder Partitionstabelle macht es nur unpraktisch, die Daten zu rekonstruieren, was offensichtlich immer noch vorhanden ist, wenn Sie nur einen Hex-Dump ausführen.

Festplatten verfügen über eine integrierte Löschfunktion: ATA Secure Erase , die Sie mit hdparm aktivieren können:

  1. Wählen Sie ein Passwort (ein beliebiges Passwort):

    hdparm --user-master u --security-set-pass hunter1 /dev/sdX

  2. Löschen einleiten:

    hdparm --user-master u --security-erase hunter1 /dev/sdX

Da dies eine integrierte Funktion ist, ist es unwahrscheinlich, dass Sie eine schnellere Methode finden, die tatsächlich eine echte Löschung bietet. (Es liegt jedoch an Ihnen, zu bestimmen, ob es Ihrem Grad an Paranoia entspricht.)

Alternativ können Sie die Festplatte mit vollständiger Festplattenverschlüsselung verwenden und dann den Schlüssel einfach wegwerfen, wenn Sie die Daten entsorgen möchten.

43
200_success

Möglicherweise unpopuläre Antwort: Nehmen Sie sich die Zeit, um die Festplatten vollständig sicher abzuwischen.

Sie haben Spendenhardware aus verschiedenen Quellen akzeptiert und versprochen, dass deren Daten sicher gelöscht werden. Sie müssen also tun, was Sie versprochen haben und die Festplatten sicher löschen.

Wenn ich ein Spender wäre und feststellen würde, dass Sie Ihre Versprechen nicht einhalten, würde ich Ihnen in Zukunft keine Hardware mehr geben.

Und verkürzen Sie die DBAN-Laufzeit nicht, wenn Sie der Meinung sind, dass das Löschen der ersten Hälfte oder der ersten 10% ausreichend ist, wenn dies nicht der Fall ist.


Entfernen Sie im Allgemeinen Laufwerke von Hosts, um die Ausführung Ihres DBAN zu vereinfachen? Wenn ja, haben Sie einen Desktop mit relativ geringem Stromverbrauch und mehreren SATA-Anschlüssen. Wenn Sie einige Laufwerke zum Löschen bereit haben, richten Sie sie alle auf diesem einen Computer ein und löschen Sie sie mit einer bootfähigen DBAN-ISO- oder einer Netboot-DBAN-Sitzung. Lassen Sie die Maschine dann laufen, bis die letzte fertig ist.

Sie könnten ein SATA-USB-Disk-Dock verwenden, aber diese sind im Vergleich zu nativen SATA-Verbindungen sehr langsam.

Zweitens: Haben Sie einen Workflow zum Speichern und Verarbeiten von Spenden? Oder akzeptieren Sie die Hardware, testen sie, wischen sie ab und bewahren sie dann zur Verwendung auf? Ich würde vorschlagen, dass Sie eine Pipeline erstellen, die für Sie funktioniert, und DBAN zu einer Phase in dieser Pipeline machen. Wenn Sie also eine Maschine aus dem Laden ziehen, ist sie bereits abgewischt und bekanntermaßen gut.

18
Criggie

dd mit großen Blöcken könnte schneller sein als cat:

dd if=/dev/zero of=/dev/disk bs=16M

Das Töten einer Festplatte in diesem Prozess ist gut, es war wahrscheinlich sowieso marginal.

Wenn Sie LUKS-verschlüsseln, kann dies nach dem Einrichten der Verschlüsselung erfolgen (dies erschwert das Erkennen von verwendetem/nicht verwendetem Speicherplatz auf der Festplatte).

Sie können die E/A nicht vermeiden. Bei 50 MB/s (was eine gute Geschwindigkeit für alte Festplatten ist) dauert das Schreiben von 250 GB 5000 Sekunden (ca. 1,5 Stunden). Die Frage ist nur, wie nahe Sie dem kommen können.

12
xenoid

blkdiscard - Sektoren auf einem Gerät verwerfen

Ich habe das nicht versucht, aber nach einer kurzen Lektüre könnten Sie blkdiscard versuchen.

Dies sendet nur einfache Befehle an das Laufwerk und sollte sehr schnell sein, aber Ich habe keine Garantie gefunden, dass die Daten in den Blöcken gelöscht werden. Es gibt jedoch einige Hinweise.

  • Aus der Manpage:

WARNUNG: Alle Daten im verworfenen Bereich des Geräts gehen verloren!

TRIM weist die SSD an, eine LBA-Region als ungültig zu markieren, und nachfolgende Lesevorgänge in der Region geben keine aussagekräftigen Daten zurück. Für eine sehr kurze Zeit könnten sich die Daten intern noch auf dem Flash befinden. Nachdem der Befehl TRIM ausgegeben und die Speicherbereinigung durchgeführt wurde, ist es jedoch höchst unwahrscheinlich, dass selbst ein Forensiker die Daten wiederherstellen kann.

Ich würde dies natürlich nicht für ernsthafte Geschäfte vertrauen, aber da Ihre Anforderung "gut genug" ist, könnte es eine praktikable Option sein. Vermutlich funktioniert es auch nur auf SSDs, was eine ernstere Hürde sein kann, wenn Sie mit alten gespendeten Computern arbeiten.

7
pipe

Aus Sicherheitsgründen (paranoisch) ist dies wahrscheinlich nicht möglich.

Es gibt ein Szenario, in dem Sie nur einen kleinen Teil der Festplatte neu schreiben können, und die meisten Leute werden es als sicher betrachten. Wenn ein Laufwerk verschlüsselt wurde, wurde der Verschlüsselungsheader überschrieben (ein Ort, an dem der Verschlüsselungsschlüssel gespeichert ist) sollte eine Wiederherstellung unmöglich machen.

Es gibt jedoch noch ein anderes Problem: Die SSD kann möglicherweise Headerdaten speichern (die zufälligen Daten, die zum Überschreiben des Headers verwendet wurden, können in anderen Zellen gespeichert werden).

6
Alex Baranowski

Die meisten Unternehmen, die sich um Datensicherheit kümmern, verschlüsseln ihre Laufwerke bereits (würden) Ihnen keine Laufwerkverschlüsselungsschlüssel geben, sodass Laufwerksdaten ohnehin schon effektiv "gelöscht" werden.

Parallele Löschung würde das größte Geschwindigkeitsproblem lösen. Die SATA-E/A-Geschwindigkeit ist nicht Ihr Engpass, die physische Schreibgeschwindigkeit der Festplatte ist die Grenze. Moderne Motherboards verfügen über mindestens 4-8 SATA-Laufwerksanschlüsse. Richten Sie einen (oder mehrere) Laborcomputer ein, um von der SSD zu starten (schnell). Schließen Sie 4-6 zu löschende Laufwerke an und verwenden Sie dann die bevorzugte Methode, um die bereitgestellten Ansätze zu löschen.

Angenommen, Sie haben 4 Laufwerke (b, c, d, e) ... dann würde ein einfaches Skript alle Laufwerke parallel löschen. Mit den Laborcomputern können Sie die Laufwerkslöschungen protokollieren.

ts=$(date +%Y%m%d%H%M%S)
mkdir -p erase-${ts}
# figure out where your linux mounts the drives (avoid trashing your SSD)
for drive in b c d e; do
    target="sd$drive"
    dd if=/dev/zero of=/dev/${target} bs=16M 2>&1 |tee erase-${ts}/${target} &
done

Obwohl ich jede Laufwerkslöschung in einem separaten Terminal ausführen würde, könnte ich auf bestimmten Laufwerken nach Fehlern suchen. Laufwerke mit mehr als einigen Fehlern sollten ersetzt werden. Die SMART -Informationen von Laufwerken geben Ihnen eine Vorstellung vom Alter des Laufwerks.

Wenn Sie 2-4 Laborcomputer konfiguriert haben, besteht die Herausforderung darin, genügend Laufwerke auf den Laborcomputern zu laden, damit diese damit beschäftigt sind, Laufwerke zu löschen. Angenommen, Sie haben 5 Laufwerke pro Laborcomputer. X 3 Laborcomputer = 15 Laufwerke werden parallel gelöscht. Sie beenden alle 30 Minuten eine Charge

Alle Wetten sind mit SSD geschlossen, sie funktionieren anders. Die meisten haben eine viel schnellere Schreibgeschwindigkeit. Und keiner der oben genannten Sektoren löscht Sektoren, die durch die Erkennung fehlerhafter Blöcke nicht mehr verwendet wurden (einige Daten werden möglicherweise ohnehin nicht gelöscht).

Es wurden mehrere Studien durchgeführt, insbesondere eine ziemlich umfangreiche Studie von Google, in der festgestellt wurde, dass die Wahrscheinlichkeit eines Festplattenausfalls nach den ersten zwei Jahren 5 bis 6% (pro Jahr) erreichte und in den folgenden Jahren signifikant anstieg. Jede Festplatte, die älter als 5 Jahre ist, weist eine erhebliche Ausfallwahrscheinlichkeit auf. Ziehen Sie in Betracht, Festplatten, die älter als fünf Jahre sind, stillzulegen (zu zerstören, zu recyceln).

Mein Rat wäre, Laufwerke nur drei oder weniger Jahre alt zu halten oder alle Laufwerke auszutauschen und in den Ruhestand zu gehen (zu zerstören oder neu zu starten).

5
ChuckCottrill

Rahmenherausforderung:

Beenden Sie die Demontage der PCs

Ich habe in meinem Leben eine Menge PCs zerlegt. Sie beschweren sich über die Zeit, verschwenden aber Zeit damit, PCs für die Bildbearbeitung zu zerlegen. Jeder PC muss zweimal auf eine Bank gesetzt und dann erneut getestet werden.

Und Ihre Einbrennzeit ist schwacher Tee. Sie bauen das System nur lange genug zusammen, um Ihr neu abgebildetes Laufwerk zu konfigurieren und zu testen. Sie werden also defekte PCs an Kunden versenden (viele werden Ihnen aus einem bestimmten Grund gegeben ; störende Störungen, z. B. thermische Probleme, sind solche.)

Ändern Sie Ihre Montagelinie. Rack den PC unter Strom, schließen Sie eine KVM an, nd wischen Sie den PC mit dem PC ab. Das gibt ihm auch ein praktisches Einbrennen "lief es für eine Weile"; und wenn Sie/dev/urandom verwenden, verwenden Sie auch eine stabile CPU/ein thermisches Einbrennen.

Sie können entweder unter der Windows-Umgebung starten und alle Dateien außer den Systemdateien und -anwendungen löschen, oder Sie können von einer CD booten oder, wenn das System dazu in der Lage ist, von einem USB-Stick booten. Oder Sie können das System zuerst abbilden und den freien Raum löschen, nachdem Ihr neues Image installiert wurde.

Wenn es nativ unter dem älteren Betriebssystem ausgeführt wird, müssen Windows-Systemdateien und -Anwendungen, z. World of Warcraft umfasst 40 GB Daten, die nicht sicher gelöscht werden müssen. Damit \Windows, \Program Files und andere Systemverzeichnisse können von der Sicherheitslöschung ausgeschlossen werden. (Wenn sie Daten dort ablegen, können sie nicht mit einem sicheren Löschen rechnen.) Es gibt eine sehr portable Version von Perl 4, mit der sich das Problem leicht lösen lässt, und Perl 4 ist für diese Art von Dingen leistungsstark genug.

Wenn ich das native Betriebssystem verwenden würde, würde ich dies in zwei Durchgängen tun: Löschen Sie zuerst alle Nicht-System-Nicht-App-Dateien. Füllen Sie dann die Festplatte mit Nullen (oder Kopien einer Systemdatei, wenn Sie sich Sorgen über die Festplattenforensik der CIA-Ebene machen).

Oder wischen Sie es zuletzt nach der Bildgebung ab

Gleiche Sache; Verwenden Sie immer noch den PC selbst zum Abbilden, z. Booten von einer CD und Ziehen des Images über das Ethernet oder was auch immer.

Erstellen Sie nun das Image mit einer Aktion beim ersten Start, bei der der freie Speicherplatz gelöscht und dann selbst deaktiviert wird.

Alle Daten werden entweder durch a) die Dateien des neuen Bildes oder b) Ihr Überschreiben des freien Raums überschrieben.

Wenn Sie möchten, dass diese Funktion "Prüfpunkt-fähig" ist, dh nach einem Stromausfall nicht von vorne beginnen muss , dann lassen Sie sie einfach immens schreiben Dateien mit zufälligen Namen in/tmp /, bis die Festplatte voll ist. Wenn Sie bestätigt haben, dass die Festplatte voll ist, lassen Sie sie die Dateien/tmp/entfernen und entfernen Sie sich dann selbst.

Sobald die Festplatte zu 100% mit neuen Daten belegt ist, müssen die alten Daten überschrieben worden sein.

Selbst auf einem Gerät, auf dem das Dateisystem zerstört wurde, ist es häufig möglich, beispielsweise JPG-Bilder nur durch Lesen des Geräts wiederherzustellen.

Um dies zu erschweren, können Sie möglicherweise alle Starts von Dateien mit Daten überschreiben.

Etwas wie:

mount /dev/disk /mnt
find /mnt -type f |
  parallel --pipe --block 8k --roundrobin -q Perl -ne 'chomp;open(A,"+<",$_);print A "0"x8192'

Wenn nur wenige Dateien vorhanden sind, ist dies schneller als das Überschreiben des gesamten Laufwerks.

2
Ole Tange

/ dev/zero ist schnell,/dev/urandom ist langsam und CPU-schwer.

Beide werden besser mit dd unter Verwendung eines großen Blocks (bs = 1M) verwendet als mit cat. Katze hat kein Verständnis für Blöcke, sie bewegt jeweils ein Zeichen mit vielen CPU-Zyklen.

shred ist das für diesen Zweck optimierte Tool, das im Grunde das tut, was dd auf organisierte Weise tut. Es werden weniger "zufällige" Daten verwendet (im Vergleich dazu, dass alles von/dev/urandom abgerufen wird), wenn die Festplatte mit zufälligen Daten überschrieben wird - immer noch zufällig genug, um eine SSD aus Ersatzblöcken herauszuschieben und die magnetische HDD-Analyse durch zeichenübergreifende Interferenzen zu erschweren, aber weniger CPU-hungrig zu generieren.

Ich habe DBAN nie verwendet, aber nach dem, was ich gelesen habe, scheint es im Grunde ein Shred-ähnliches Tool in einem bootfähigen Wrapper zu sein.

Andererseits gibt es den Befehl ATA SECURITY_ERASE (und sogar den Befehl SECURITY_ERASE_ENHANCED), auf den in hdparm zugegriffen werden kann. Sie schreiben einfach Nullen auf die Festplatte, ohne sie in die Schnittstelle pushen zu müssen. Auf der Festplatte sind sie so schnell wie dd (Stunden). Auf SSDs werden sie auf der gesamten Festplatte gelöscht. Die erweiterte Sorte versucht, auch die als schlecht markierten Blöcke auf Null zu setzen.

blkdiscard - funktioniert nur auf SSD. Markiert Blöcke als frei, sodass sie als Nullen angezeigt werden. Es gibt keine Garantie, wann sie intern gelöscht werden.

1
fraxinus

Installieren Sie kein Betriebssystem, erstellen Sie ein Image

Wenn Sie GNU/Linux trotzdem installieren möchten, können Sie beides in einem Schritt ausführen: Nehmen Sie ein Laufwerk (oder Image) mit einer Neuinstallation und klonen Sie es auf die neue Festplatte.

Wenn Ihr Betriebssystem z. 8 GB, das sind 8 GB Speicherplatz, den Sie nicht zuerst ausblenden müssen. Ich gebe zu, nicht viel im Vergleich zu 1 TB, aber es könnte Ihnen auch einige Installationszeit sparen. Je mehr Sie vorinstallieren, desto besser;)

Wenn das Quell-Image zu kurz ist, um die gesamte Festplatte abzudecken (besser zu kurz als zu lang), können Sie dd verwenden, um den Rest der Festplatte auszublenden. Wenn Sie möchten, ändern Sie die Größe der Partition nach dem Klonen.

Wenn Sie eine Image-Datei verwenden möchten, anstatt eine Festplatte zu klonen, können Sie eine nützliche Funktion namens "Sparse-Dateien" verwenden, um die Dateigröße überall dort zu verringern, wo die Blöcke alle Nullen im Image sind.

1
Artelius

Die Festplatten (sowohl Spinning als auch SSD) stammen von gespendeten Computern und werden verwendet, um anschließend Linux-Desktops auf ihnen zu installieren, die an Personen verteilt werden, die es sich nicht leisten können, einen Computer zu kaufen, aber einen benötigen.

Okay, Ihre langfristige Lösung lautet also (es ist eine Variation von DBAN).

  • bereiten Sie eine selbststartbare Linux-Installations-CD vor (z. B. mit Anaconda).
  • schreibe ein Skript, das:
    • führen Sie memtest86 und andere einfache Diagnosen aus
    • erkennen Sie die Hardware (nur die CPU, ob 32 oder 64 Bit)
    • setzen Sie die gesamte Festplatte mit dd auf Null
    • partitionieren Sie die Festplatte in System, Swap und Daten
    • installieren Sie die entsprechende Linux-Distributionsversion auf dem System
    • werfen Sie die CD aus

Angenommen, drei PCs kommen ins Labor, Sie schalten sie ein, legen eine Kopie der CD in das Fach, booten von der CD und machen weiter, was Sie zuvor getan haben, bis sie Sie warnen, dass die Arbeit erledigt ist. Vor Jahren habe ich so etwas gemacht: Das Skript gab sofort nach dem Start drei lange Pieptöne aus (also wusste ich, dass der Lautsprecher funktionierte, es waren Desktops und ich wollte keinen Monitor anschließen, es sei denn, ich musste es wirklich), dann andere Töne abhängig vom Exit-Status.

Grundsätzlich dauerte jeder Computer ungefähr eine Minute - vierzig Sekunden, um ihn hochzufahren, zwanzig Sekunden, um ihn herunterzufahren, wenn er entweder "Reveille" oder "Taps" abspielte. Ich hatte dort keine Datenschutzprobleme, daher habe ich den Schritt dd nie hinzugefügt. aber es sollte leicht zu implementieren sein. Auch wenn mein ursprünglicher Vorschlag, wie @PeterCordes bemerkte, fehlerhaft war.

1
LSerni

Richten Sie einen Raspberry Pi so ein, dass alle angeschlossenen USB-Speicher automatisch gelöscht werden, und leuchten Sie eine LED auf, wenn Sie fertig sind. Klonen Sie dann die SD-Karte und kaufen Sie ein paar Himbeeren, um parallel zu arbeiten. Wenn Sie sich für die sichere Löschung von ATA entscheiden, können Sie mit 4 Geräten Laufwerke so schnell löschen, wie Sie sie anschließen können. Wenn Sie das gesamte Gerät überschreiben, ist es immer noch langsam, aber immer noch viermal so schnell wie das Löschen jeweils eines Laufwerks.

Das Gleiche gilt für normale Laptops, wenn Sie diese auch in Ihrer Spendenbox haben, wodurch Sie Hardwarekosten sparen.

0