Re: file shredding
- From: Jack Klein <jackklein@xxxxxxxxxxx>
- Date: Fri, 29 Jun 2007 23:47:51 -0500
On Fri, 29 Jun 2007 20:41:00 -0700, Keith Thompson <kst-u@xxxxxxx>
wrote in comp.lang.c:
Jack Klein <jackklein@xxxxxxxxxxx> writes:
On Fri, 29 Jun 2007 12:38:27 -0000, "prachi983@xxxxxxxxx"
<prachi983@xxxxxxxxx> wrote in comp.lang.c:
i lookikng for a prgram or algorithm for file shredding....anybody
having it please mail me...
The only way to almost guarantee secure file shredding on some storage
devices (e.g., CompactFlash and other flash types) is to completely
overwrite the entire thing.
Even in that case, a block failure could leave some of the original
date in existence.
This is way off-topic for comp.lang.c, but my (vague) understanding is
that even overwriting the entire file isn't guaranteed to make the
original data impossible to retrieve.
Any storage device is an analog device pretending to be a digital
device. Something that looks like either a 0 or a 1 might really be a
0.05 or a 0.95 (or a 1.05), and it may still be possible to infer
something about the bit's history.
The GNU coreutils package includes a program called "shred"; see its
documentation for more information. It does a lot more than just
overwriting data, and it doesn't guarantee results.
Thermite really is one of the most reliable methods. No kidding.
In a way it really is on-topic, because it exposes the fallacy of the
common assumption that "everything is a Windows/Linux/Mac box just
like the one I use".
How can you shred a on pressed CD that came in a shrink-wrapped box
from your local retailer? Short of physically destroying the disk,
that is.
Even assuming that the OP is thinking of a read/write device, he is
making assumptions that are nowhere as true today as they were a few
years.
He assumes that the file he wants to shred is stored on a device like
a hard or floppy disk, a block storage device where code can directly
access every block.
That's not true of a good many hard disk drives these days, and
definitely not true for most flash memory "SSD" devices.
Given sufficient free space on the SSD, attempting to use platform and
hardware specific methods to overwrite the blocks holding the file
multiple times could well result in the actual flash blocks not being
overwritten at all, although they probably will be erased once.
These flash memory cards actually have their own internal
microcontroller that remaps what the OS and device driver thinks are
absolute physical blocks into its own idea of which block should be
written to next.
Even some hard disk drives these days have onboard controllers that do
this sort of thing.
--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://c-faq.com/
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html
.
- Follow-Ups:
- Re: file shredding
- From: Richard Heathfield
- Re: file shredding
- References:
- file shredding
- From: prachi983@xxxxxxxxx
- Re: file shredding
- From: Jack Klein
- Re: file shredding
- From: Keith Thompson
- file shredding
- Prev by Date: Send funny sms
- Next by Date: Re: extern "C" in library header
- Previous by thread: Re: file shredding
- Next by thread: Re: file shredding
- Index(es):
Relevant Pages
|
|