[HACK] Destruccion segura de datos en particiones

José Carlos Carrión Plaza jc at um.es
Wed May 19 23:50:46 CEST 2004


Ave:

Cada vez estoy más convencido de que la ironía no es fácil expresarla 
mediante el correo electrónico...

En mi mensaje anterior quise decir:

a) Para escribir directamente en el disco duro, no hace falta más 
herramienta que «cat» (o «dd» como indicaba J. Cea en otro mensaje). 
Creo innecesario recordar que hay que tener los permisos adecuados sobre 
/dev/hda.

b) Aliméntese a «cat» con el flujo de datos adecuado. Para las pasadas 
identificadas en

http://wipe.sourceforge.net/secure_del.html

como 1, 2, 3, 4, 32, 33, 34 y 35 utilícese /dev/urandom. Para el resto 
de pasadas, utilícese un conjunto de órdenes similar al expuesto en mi 
mensaje anterior, «mutatis mutandis», verbigratia:

while :
do
/bin/echo -e "\x92\x49\x24"
done | cat >/dev/hda

para el caso de la pasada 26 del documento citado. En el caso en que se 
conozca el número de sectores exactos del disco duro, utilícese:

while :
do
/bin/echo -e "\x92\x49\x24"
done | dd of=/dev/hda obs=512 count=<nº de sectores del disco>

Por todo lo anterior y siguiendo lo especificado en el documento citado 
anteriormente:

«We now have a set of 22 overwrite patterns which should erase 
everything, regardless of the raw encoding. The basic disk eraser can be 
improved slightly by adding random passes before and after the erase 
process, and by performing the deterministic passes in random order to 
make it more difficult to guess which of the known data passes were made 
at which point. To deal with all this in the overwrite process, we use 
the sequence of 35 consecutive writes shown below»...

un borrado relativamente seguro del disco /dev/hda se llevaría a cabo 
con la casera secuencia de órdenes siguiente:

# Establézcase el valor de la variable de entorno $sectores al valor 
adecuado
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
for patron in "\x55" "\xaa" "\x92\x49\x24" "\x49\x24\x92" "\x24\x92\x49"
do
   while :
   do
      echo -n -e $patron
   done | dd of=/dev/hda obs=512 count=$sectores
   sync
done
dd if=/dev/zero of=/dev/hda obs=512 count=$sectores
sync
for patron in \
"\x11" \
"\x22" \
"\x33" \
"\x44" \
"\x55" \
"\x66" \
"\x77" \
"\x88" \
"\x99" \
"\xaa" \
"\xbb" \
"\xcc" \
"\xdd" \
"\xee" \
"\xff" \
"\x92\x49\x24" \
"\x49\x24\x92" \
"\x24\x92\x49" \
"\x6d\xb6\xdb" \
"\xb6\xdb\x6d" \
"\xdb\x6d\xb6"
do
   while :
   do
      echo -n -e $patron
   done | dd of=/dev/hda obs=512 count=$sectores
   sync
done
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync
dd if=/dev/urandom of=/dev/hda obs=512 count=$sectores; sync

Si a alguien no le convence esto (y abundando en lo que decía J. Cea), 
cómprese un bidón de 5 litros de agua regia y sumerja el disco en él. 
Cuidado que no salpique.
 
Vale.

José Carlos Carrión Plaza
Universidad de Murcia

J.A. Gutierrez escribió:

>>>       Segun <http://wipe.sourceforge.net/secure_del.html> hay que
>>>       dar unas 35 pasadas, algunas con datos aleatorios y otras con
>>>       patrones determinados.
>>>
>>>      
>>>
>
>  
>
>>while :
>>do
>>   echo "Me han  borrado"
>>done | cat >/dev/hda
>>    
>>
>
>	UUOC
>
>  
>
>>no llenaría completamente el dispositivo /dev/hda con la secuencia de 
>>caracteres "Me han borrado"?
>>    
>>
>
>	bueno, no es que sea algo muy aleatorio que digamos.
>	Leyendo el articulo citado en la primera linea, me da la
>	impresion de que no se conseguiria un nivel de borrado
>	aceptable.
>
>	La conclusion que sacaria yo es que es un problema lo
>	bastante complejo como para no molestarse en pensar en
>	soluciones caseras...
>
>
>  
>




More information about the hacking mailing list