SDV-Sichere Datenvernichtung

Gast #2330669
Lesenswert?

Hallo!

Wenn eine Datei gelöscht wird, wird lediglich der Speicherbereich 
freigegeben.
Somit kann die gelöschte Datei mit speziellen Programmen, 
wiederhergestellt werden.

Abhilfe schafft meine Anwendung: SDV - Sichere Datenvernichtung

Meine Anwendung steht für euch unter:
http://sourceforge.net/projects/sdv/files/
kostenlos zur Verfügung.

Ich bitte lediglich um Feedback!
Gast #2330714
Lesenswert?

Ist eines meiner ersten Programme welches ich selbst entwickelt habe.
Es geht mir lediglich um Feedback, wie schnell es läuft, ob es Fehler 
gibt, usw.

Es ist zwar "nur" ein kommandokonsolen Programm, aber dennoch ist es 
unter Bsp: Linux sehr angenehm zu verwenden, auch unter windows muss ich 
die zu löschenden Verzeichnisse/Dateien nur auf das Programm schieben.

Ob es besser als andere Programme ist, ist ein wenig relativ. Das musst 
du selbst für dich herausfinden.
#2330816
Lesenswert?

Oliver Döring schrieb:
> Dein Programm arbeitet im "user space" und weiß nichts über das
> zugrundeliegende Dateisystem. Zum Beispiel auf einem JFFS2 (viele
> Embedded Systems mit einem NAND-Flash benutzen das) könntest du nicht
> sicher sein, dass die Daten wirklich überschrieben werden.

das kannst du auch bei kernel Treibern oder Dateisystemtreibern nicht 
sein, da auf Flashebene noch Wear Leveling Algorithmen greifen können
Gast #2330847
Lesenswert?

Hier ein paar anmerkungen für dein Programm.

1. du wertest das return von  init_datenspeicher nicht aus, wenn kein 
speicher da ist machst du einfach weiter.

2. bei sichern, neu_datenspeicher das gleiche

3. das schreiben von einzelnen bytes ist viel zu langsam, man sollte 
immer mindestens die clustergröße vom filesystem schreiben. (oder 
einfach mal 8192byte. Warum überhaupt das lesen? Einfach beim stat 
gleich mit die größe auslesen und einfach bis zu dieser größe schreiben.

4. wo hast du überhaup das remove gefunden, ich kannte bis jetzt nur 
unlink. Aber auch dort sollte man prüfen ob das löschen erfolgreich war.

5. Bei einem fehler sollte dein Programm auch nicht 0 zurückgeben 
sondern ein fehlercode.

6. Die namen der Prozduren sind ein wenig merkwürdig - z.b. sichern 
könnte man besser als ReadDir machen. Auch eine stukt sollte man nicht 
STRUK nennen.


Fazit: Für ein ersten Programm ok, aber eine sehr schlechte 
Fehlerbehandung.
Gast #2333516
Lesenswert?

Ich würde ja auch gerne meinen Senf dazu geben, aber ich finde Deinen 
Quellcode nicht. Da ist nur

"Home / Quellcode (source)
Name   Modified   Size   Status
Parent folder
Totals: 0 Items
This folder has no files."

zu lesen.

Etwas anderes:
(Ich bin kein Rechtsanwalt, daher dieser Hinweis, dass folgendes mein 
persönlicher, möglicherweise falscher Wissenstand und keine 
Rechtsauskunft ist.)

Du könntest Dir vor der Veröffentlichung Deines nächsten Projekts (und 
auch zu diesem) ein paar Gedanken zur Lizensierung machen, weniger um 
Deine Rechte an Deinem Quellcode zu schützen, sondern um Dich vor 
irgendwelchen A..löchern zu schützen, die Geld daraus schlagen wollen, 
Dir rechtlich ans Bein zu pinkeln, indem sie Dich aus irgendeinem 
schwachsinnigen Grund verklagen, z.B. weil Dein Programm nicht alle 
Blöcke einer Datei gelöscht hat (und das wird es je nach Dateisystem 
wahrscheinlich tun) und dadurch Firmengeheimnisse beim Verkauf der 
Festplatte preisgegeben wurden. (Das wäre zugegebenermaßen recht 
deppert, aber es gibt Leute, die mit derart konstruierten Fällen ihren 
Lebensunterhalt "verdienen".)
Wir leben in einer Welt, wo man für das Servieren einer heißen Suppe mit 
einer Klage wegen Körperverletzung rechnen muss. Ob man für ein Produkt 
haftet, hängt nicht davon ab, ob man Geld dafür bekommen hat, sondern 
inwieweit man sich mit einem Lizenzabkommen davor schützt, für 
Folgeschäden haftbar gemacht werden zu können. Schau Dir irgendein 
Produkt an, und Du wirst mindestens einen Haftungsausschluss auf der 
Verpackung, dem Beipackzettel o.Ä. finden. Das ist nicht paranoid, 
sondern nötig. Sonst könnte man für jeden verhunzten Urlaubsfilm (sorry, 
veraltetes Beispiel) die Erstattung des Urlaubs einklagen. :D ;)

Ich habe jüngst vor der Veröffentlichung meines ersten Open Source 
Projektchens (http://pksl.de/ressearch) erst mal die GPL3 und die 
dazugehörigen FAQ angeschaut und habe für mich die Entscheidung 
getroffen, dieses und allen folgenden Open Source Kram als Free Software 
unter die GPL3 zu stellen. - Ich könnte mir keinen Anwalt leisten, der 
mir einen rechtsgültigen eigenen Lizenztext formuliert, und keiner kann 
es sich leisten, auf einen Lizenztext zu verzichten.

Nachtrag: bevor ich eine Platte weggebe mach ich
1
for (( i=0; $i<4; ++i ))
2
  do dd bs=8192 if=/dev/random of=/dev/sdb
3
  dd bs=8192 if=/dev/null of=/dev/sdb
4
done

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren