Copy Link
Add to Bookmark
Report
SET 030 0x04
-[ 0x04 ]--------------------------------------------------------------------
-[ Seguridad en los datos ]--------------------------------------------------
-[ by blackngel ]----------------------------------------------------SET-30--
@ @
@@@ blackngel_hack@hotmail.com @@@
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
III @@@@ @ @@@@@ @@@@@ @ @ @@ @ @@@@@ @@@@@ @ III
III @ @ @ @ @ @ @ @ @ @ @ @ @ @ III
III @@@@@ @ @@@@@ @ @@@ @ @ @ @ @@@ @@@@ @ III
III @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ III
III @@@@ @@@@@ @ @ @@@@@ @ @ @ @@ @@@@@ @@@@@ @@@@@ III
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
@@@ @@@
@ @
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%========================%%%
%%% SEGURIDAD EN LOS DATOS %%%
%%%========================%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
"Bienvenidos al mundo de lo real..."
=_&_==_&_==_&_==_&_==_&_=
=_&_= 01 INDICE =_&_=
=_&_==_&_==_&_==_&_==_&_=
~$~~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~
~$01$ INDICE $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$02$ INTRODUCCION $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$03$ INFORMATICA FORENSE $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$04$ ALMACENAMIENTO $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$05$ DESPERFECTOS $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$06$ ELIMINACION DE DISQUETES $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$07$ ELIMINACION DE CDs $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$08$ SOFT DE BORRADO $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$09$ SOFT DE ANALISIS $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$10$ PRUEBAS $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$11$ MI IMPLEMENTACION $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$12$ CONSEJOS $~
~$~~$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$~
~$13$ DESPEDIDA $~
~$~~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~
<< En todas las actividades es saludable, de vez
en cuando, poner un signo de interrogacion
sobre aquellas cosas que por mucho tiempo se
han dado como seguras. >>
[ Bertrand Russell ]
=_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 02 INTRODUCCION =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_=
Hola de nuevo a tod@s, nos volvemos a ver otra vez con muchos mas
conocimientos y seguro que con muchas mas ganas de seguir aprendiendo.
Esta vez nos toca centrarnos en la seguridad que hay en los datos y
en sus medios de almacenamiento. El articulo se basara principalmente
en la proteccion de los mismos, pero tambien se vera algo sus
posibilidades de violacion y los puntos mas debiles que nos ofrecen
los sistemas para encontrarlos.
Puede que en ciertas ocasiones el articulo se vuelva algo tecnico,
pero para eso estamos, y repito que ami estas cosas me gustan.
Entonces, para que nadie salga de aqui insatisfecho, si tiene alguna
duda, solo tiene que enviarme un email a "blackngel_hack@hotmail.com"
y tratare de resolversela.
La mayor parte de esta informacion la podemos encontrar en infinidad
de paginas sobre informatica e investigacion forense, asi como en
articulos de aspecto tecnico o informacion sobre soportes. Se destaca
que la gran parte de estas paginas se encuentran en ingles pero
tambien se hayan articulos dedicados a nuestra nacion ;D.
En este estudio que estamos haciendo nos basamos en la recuperacion
y borrado seguro respectivamente de datos en los diferentes medios
que conocemos, pero..., un analisis forense normalmente trata sobre
el estudio de un ataque, todas las huellas que hayan podido quedar,
los metodos que se han utilizado, cambios en el sistema y su
implementacion. A partir de aqui se obtiene un informe con el que
poder realizar las acciones adecuadas (personales o judiciales).
Sin mas preocupaciones, comencemos, espero que disfruten de los
conocimientos que yo puedo aportarles.
<< Lo que conduce y arrastra
al mundo no son las maquinas,
sino las ideas. >>
[ Victor Hugo ]
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 03 INFORMATICA FORENSE =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
Definiremos informatica forense como la ciencia de manipular (en cualquier
sentido de la palabra) los datos que han sido procesados electronicamente
y que se encuentran almacenados en un medio computacional.
Muchas veces relacionamos este termino con nuestro amigo el FBI y no nos
equivocamos demasiado ya que ellos desarrollan software para la
recoleccion de evidencia. Cabe decir que desarrollan mucho mas software
de tipo catalogado y para fines desconocidos (no ilicitos, porque ellos son
la ley :)).
Por cierto, por lo que he visto hay mucha gente que no conoce el significado
de "FBI". Traducido a nuestro lenguaje: Oficina Federal de Investigaciones.
Con la informatica forense se logran 3 objetivos principales:
* Compensacion de daños.
* Persecucion y procesamiento judicial de los criminales.
* Creacion y aplicacion de medidas preventivas.
Los analistas forenses utilizan muchas herramientas para hacer mas facil
su labor a la hora de presentar puntos de evidencia. Uno de los programas
mas conocidos para estas labores es "EnCase" hecho por Guindace Software
Inc.
podemos encontrar mas informacion en esta direccion:
http://www.guidancesoftware.com.
Como no, esto no se consigue por la cara, sus precios:
@ Gobierno y Educación ->> US$1,995
@ Sector Privado ->> US$2,495
Alquien podria ofrecer soporte economico para gente curiosa como nosotros...
OK, veo que no :).
Tambien hay que mencionar a "The Coroner Toolkit", esta herramienta fue
utilizada por Wietse Venema y Dan Farmer (dos expertos en seguridad) en
una demostracion de Unix Forensics, en la que dieron conocimiento de
sus grandes posibilidades en la extraccion de informacion tanto del sistema
de ficheros como de la red.
Pasaros por esta pagina: http://www.porcupine.org/forensics. Alli
encontrareis el codigo fuente de esta herramienta y muchos de sus
diferentes "parches". Ademas, tambien tendreis acceso atraves de sus
links a diversa documentacion de nuestros queridos amigos.
Los documentos y paginas man que trae consigo esta fantastica herramienta,
nos aportaran un monton de nuevos conocimientos sobre la recoleccion
de evidencia y como recuperar datos que hemos perdido.
Nota: Es necesario aprender ingles para conseguir estar bien informado.
Esta deberia de ser nuestra segunda lengua.
Entre las herramientas forenses nos encontramos las de monitorizacion,
logeo, marcado de documentos e incluso herramientas de hardware para el
analisis exhaustivo.
Decir que los estudios que se hacen mediante dispositivos hardware son mas
conocidos como "analisis de laboratorio". Ya teneis otro punto de busqueda
mas para encontrar otra informacion jugosa en inet.
Los peores inconvenientes para un analista forense sean quizas los temas
judiciales, no es tan facil como parece presentar evidencias y cargos contra
alguien en una corte. Aunque sea poco lo que le dificultemos nosotros, mucho
mas dificil sera para ellos, por esto mismo debemos preocuparnos de proteger
de la mejor forma posible nuestra informacion.
<< Nuestra tecnica no solo produce artefactos,
esto es, cosas que la naturaleza no produce,
sino tambien las cosas mismas que la naturaleza
produce y dotadas de identica actividad
natural. >>
[ Xavier Zubiri ]
=_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 04 ALMACENAMIENTO =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_=
LAS BASES FISICAS
-----------------
Aqui se mencionaran los cuatro fenomenos utilizados para el almacenamiento
de datos en un medio magnetico:
- 1 - Una corriente electrica produce un campo magnetico.
- 2 - Algunos materiales se magnetizan con facilidad cuando
son expuestos a un campo magnetico debil. Cuando el
campo se apaga, el material se desmagnetiza rapidamente.
Se conocen como Materiales Magneticos Suaves.
- 3 - En algunos materiales magneticos suaves, la resistencia
electrica cambia cuando el material es magnetizado. La
resistencia regresa a su valor original cuando el campo
magnetizante es apagado. Esto se llama Magneto-Resistencia,
o efecto MR. La Magneto-Resistencia Gigante, o efecto GMR,
es mucho mayor que el efecto MR y se encuentra en sistemas
especificos de materiales de peliculas delgadas.
- 4 - Otros materiales se magnetizan con dificultad (es decir,
requieren de un campo magnetico fuerte), pero una vez se
magnetizan, mantienen su magnetizacion cuando el campo se
apaga. Se llaman Materiales Magneticos Duros, o Magnetos
Permanentes.
ESCRIBIR DATOS
--------------
Los computadores almacenan datos en un disco magnetico en un sistema
de numeracion binario, es decir, una secuencia consecutiva de 1s y 0s.
Los bits se transforman en una onda de corriente electrica que es
transmitida por medio de cables al rollo de la cabeza de escritura.
Un bit 1 corresponde a un cambio en la polaridad de la corriente,
mientras que un bit 0 corresponde a una ausencia de este cambio en la
polaridad de la corriente de escritura.
Los 1s almacenados aparecen en donde se produce una inversion en la
direccion magnetica en el disco, y los 0s residen entre los 1s.
LEER DATOS
----------
Para realizar la lectura de los datos previamente almacenados
se hace uso de una tecnica llamada "efecto GMR" que es utilizado
por la cabeza de lectura.
Al pasar una corriente por el elemento GMR, los cambios que se
producen en la resistencia son interpretados como cambios en el
voltaje.
El tiempo entre los impulsos que se producen, son decodificados
respectivamente como 1s y 0s segun convenga.
Existe un problema bastante desagradable, y es que, como todo
componente electrico, las fuentes magneticas generan ruido y
esto puede ser mal-interpretado por una cabeza de lectura
<< Si el unico instrumento de que se
dispone es un martillo, todo acaba
pareciendo un clavo. >>
[ Lotfi Zadeh ]
=_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 05 DESPERFECTOS =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_=
Ahora es el momento de estudiar las zonas debiles que se encuentran en
nuestro disco duro. Estas son controladas por el Sistema Operativo pero
tambien se sabe que pueden ser manejadas por software especialmente
diseñado para tal objetivo.
Pueden ser utilizadas para la recoleccion de rica y variada informacion,
por este motivo, debemos de ser conocedores de las mismas y asegurarnos
de que no ofrezcan datos sensibles.
FILE SLACK
----------
Para entender esto, debemos comprender mas o menos la estructura de un
"sistema de archivos" y como estes son almacenados en nuestro disco duro.
Todas las diferentes versiones de Windows dividen el disco duro en pequeños
bloques denominados "clusters", su tamaño es especifico dependiendo del
tamaño del disco y del sistema de archivos.
Por ejemplo, para NTFS se decide de esta forma:
.----------------------------------------.
| Tamaño del disco | Tamaño del cluster |
|-------------------|--------------------|
| 512 MB o menos | 512 bytes |
| 513 MB - 1024 MB | 1 KByte |
| 1025 MB - 2048 MB | 2 KByte |
| 2049 MB o mas | 4 KBytes |
'----------------------------------------'
*Esta tabla ha sido extraida del articulo de NTFS del Profesor Falken.
Aunque parezca mentira, una de mis computadoras aun trabaja con un
disco duro de escasos 2 Gigabytes. La verdad, para mi, cuanto mas vieja
es una maquina, mas gusto me da el explotar al maximo todos sus recursos
y sacarle el maximo probecho y rendimiento.
Para comprender el almacenamiento en Linux recomiendo una atenta lectura
a los fuentes del sistema de archivos ext2 (recientemente nos encontramos
con ext3, con journaling).
En "linux/ext2_fs.h" nos encontramos con las siguientes estructuras:
# struct ext2_super_block -> Formato del superbloque.
# struct ext2_group_desc -> Formato del descriptor de grupo.
# struct ext2_dir_entry -> Formato de las entradas de directorio.
# struct ext2_inode -> Formato de un inodo.
La ultima sea quizas la mas importante, ya que un inodo es el bloque de
construccion basico del sistema de archivos. Y contiene toda la
informacion que puede describir a un fichero.
Pues bien, suponiendo que queremos guardar un archivo de 2Kb y el tamaño
del cluster esta definido a 4Kb estaremos desperdiciando otros 2Kb. Este
espacio sobrante, entre el final del archivo y el final del cluster, es al
que llamamos "file slack".
Este espacio es sin duda una gran y valiosa fuente de informacion porque
los SOs de Microsoft utilizan (rellenan) este espacio para almacenar datos
que se encuentran en la memoria principal.
Actualmente lo mas normal es encontrarnos con un tamaño de cluster igual
que el de una pagina, es decir, 4Kb.
AREA DE SWAP
------------
Debemos de diferenciar el sentido de este concepto para cada SO:
1.- Windows: Este utiliza un archivo que hace las veces de repuesto para la
memoria principal del sistema (la RAM) y almacena informacion
de acceso aleatorio en el mismo. El usuario no es conocedor de
este suceso y por tanto una considerable vulnerabilidad.
El tamaño de este archivo no es fijo y puede ser modificado.
En WinXP vete a: Panel de control->Sistema->Op. Avanzadas->
->Configuracion(Rendimiento)->Op.Avanzadas->Cambiar(M. Virtual)
una vez ahi, puedes modificar a tu gusto el tamaño inicial y el
tamaño maximo.
Estos son los archivos de almacenamiento:
* Windows 9x/Me -> win386.swp
* Windows 2000/XP -> pagefile.sys
Nota importante:
Si bien es posible deshabilitar el uso de la memoria virtual
o modificar su tamaño, ello no es nada conveniente, ya que
provoca problemas frecuentes en el sistema y, por otro lado,
hay gran cantidad de software que hace uso de estes archivos.
En vez de esto, la mejor opcion seria cifrar su contenido,
ello, por ejemplo, es una gran posibilidad que nos ofrece la
fantastica herramienta BCWipe.
2.- Linux: Linux utiliza un area de tamaño definido por el usuario en la
instalacion del sistema en el que se almacenan tambien datos de
la memoria principal. Normalmente este area es una particion
que
se crea junto la particion raiz de 'Linux' y no deberia de
sobrepasar el mismo tamaño de nuestra memoria RAM o el doble.
Por otro lado, Linux hace uso de un dispositivo de caracter, que se
encuentra
en /dev/kmem, esta es una imagen de la memoria principal del ordenador.
Bastantes toqueteos se han realizado ya con "kmem", busquen en inet o
empiecen por nuestro amigo 'man mem' para mas informacion.
Los dos son un buen lugar de comienzo para un investigador interesado en
nuestras propiedades (si quieren, pueden...).
UNALLOCATED FILE SPACE
----------------------
Cuando los usuarios de Windows confian en el simple borrado del mismo SO,
estan cometiendo realmente dos errores, el primero es que este no es seguro
y el segundo (peor aun) es que estes no son realmente borrados.
Lo que realmente pasa con los ficheros es que son removidos a un area de
espacio no-asignado, de tal forma que los datos siguen existiendo pero se
encuentran ocultos a los ojos de los osuarios (que no a software especial).
En los Windows 9x/Me, cuando un archivo es borrado, la FAT (Tabla de
asignacion de ficheros) marca el expacio de este archivo como libre para asi
poder ser sobreescrito con nueva informacion, pero mientras ello no se
realiza, la informacion sigue manteniendose intacta con los consecuentes
problemas de seguridad que ello conlleva.
ARCHIVO DE HIBERNACION
----------------------
Es un archivo de sistema que utilizan los SOs Windows antes y despues
del estado de hibernacion (o estado S4). Es una "imagen del sistema" que
se escribe al disco antes de entrar en el estado de hibernacion, cuando el
usuario vuelve a trabajar, este fichero se carga y todo vuelve a la
normalidad (al estado anterior).
Haber cabezas pensantes, que mejor que tener toda la configuracion del
sistema en un solo archivo? A alguien se le empiezan a ocurrir ideas...
La herramienta BCWipe tiene una opcion que se encarga de este archivo y
es conveniente hacerlo con regularidad, mas facil activandolo como tarea
programada.
BORRADO EN UNIX
---------------
Pues que mas que la otra cara de la moneda.
Lo que unix hace para borrar un archivo de nuestro sistema, es setear el
contador link a "0", eliminando el nombre del mismo de las entradas de
directorio. El espacio se queda en un estado disponible para otros archivos,
pero...
- que pasa mientras este espacio no es utilizado?
- se podria acceder a esta "basura"?
Desgraciadamente el inodo sigue manteniendo informacion sobre el archivo
al que hace referencia y solo habria que realizar la busqueda de inodos
con datos y con el contador link con el valor de "0", seguir el puntero
de bloques, llegando exactamente al contenido del fichero.
En fin:
Al igual que cualquier persona se preocupa de lo que sucede en su casa
(quien anda en ella), su coche (que nadie lo raye), tambien deberiamos de
preocuparnos de lo que pasa con nuestra informacion y de lo que alguien
podria hacer con ella. No seamos conformistas e investiguemos un poquito
que no nos viene nada mal.
<< La tecnica no solo es una
modificacion, es poder sobre
las cosas. >>
[ Xavier Zubiri ]
=_&_==_&_==_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 06 ELIMINACION DE DISQUETES =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_==_&_==_&_=
Nostalgia me produce el hablar de los tan conocidos "disquetes", pero
sin duda alguna muchos seguimos aun utilizandolos para pequeños trabajos
y tambien para las preciadas minidistribuciones :) Si alguien no las
ha probado, deberian hacerlo y entender su estructura, es facil.
Por si solos son medios bastante fragiles, pero siguen siendo fuentes
significables de informacion y aqui expondremos diferentes modos de
conseguir la destruccion de los mismos o su borrado de datos.
Como todos sabemos, los disquetes, a diferencia de los CD-R, son medios
reescribibles y que funcionan al igual que un disco duro (no tan asi :))
incluso utilizan el mismo "Sistema de Ficheros" que nuestro SO, por ello
los metodos de borrado por software utilizados tienen la misma influencia
en este que en nuestro HD.
METODOS
-------
1.- Pasar un iman a la superficie electro-magnetica del disquete hara
que los datos se pierdan irremediablemente ya que estes son
almacenados mediante pulsos electro-magneticos y cualquier fuerza
proveniente de una de estas fuentes provoca su cambio o perdida.
2.- Incineracion, necesita de alguna explicacion?. El unico inconveniente
es la contaminacion ambiental :). No os lo tomeis a broma, o sino,
leeros el How-To en español de "Ecologia y Linux", para mi tiene
cierto contenido de interes.
3.- Vertido de alguna substancia corrosiva sobre la superficie magnetica
del disquete.
4.- Cortar en trozos el disquete asegurando que el disco interior queda
convenientemente troceado. Se pueden recuperar datos de cada uno de
los cachos...
5.- Sobreescritura del contenido del disquete, no es el metodo mas bueno
pero si el mas facil. Cuantas mas veces se reescriba el mismo mas
dificil sera la recuperacion de informacion. Es mas eficiente
utilizar un programa que realice las iteraciones de sobreescritura.
Podriamos cubrir mas formas pero no creo que necesitemos de su uso
despues de que utilicemos correctamente las anteriores, demos paso
entonces al soporte mas demandado en nuestros dias. Subida del precio
de CDs? a que me suena eso? ;)
<< La television es el espejo donde
se refleja la derrota de todo
nuestro sistema cultural. >>
[ Federico Fellini ]
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 07 ELIMINACION DE CDs =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
En este apartado daremos un vistazo a las opciones que disponemos para
la eliminacion de los datos en nuestro querido soporte "el CD".
Claro es de suponer que cualquiera de ellas provocara la inutilizacion
total del mismo, pero realmente eso es lo que deseamos, que nadie
pueda volver a reconstruir nuestra informacion.
METODOS
-------
1.- Retirar la lamina reflectiva con algun elemente cortante. Pueden
seguir quedando datos en el policarbonato.
2.- Introducir el CD en un microhondas. Esto trae consigo ciertos
inconvenientes, puede causarse un cortocircuito por culpa del
contendio de metales en el CD.
3.- Rayar la parte superior del CD que es la que contiene los datos.
4.- Cortar el CD en la mayor cantidad de trozos posibles asegurandose
de que la lamina reflectiva queda destruida.
5.- Utilizacion de productos quimicos sobre el soporte. Quizas sea
suficiente con cualquier tipo de acido corrosivo. Tener cuidado
con lo que jugais, yo no me hago responsable.
6.- Incineracion del CD, la mas efectiva. Repito lo de la contaminacion
ambiental... :D
7.- Y por ultimo si nuestro CD es regrabable, podemos hacer uso de la
reescritura, pero aun despues de varias pasadas, podria llega a
sacarse informacion (aunque seria un proceso muy dificil).
Hasta aqui hemos llegado con los diferentes metodos que podemos y
debemos utilizar en caso de hacer falta.
Que os pareceria meter el CD en "Acido Sulfurico", si sigue vivo,
cortarlo en trozos y por ultimo quemarlo en una hoguera (si no tienes
conocimientos suficientes para hacer una hoguera puedes tirarlo a las
lavas de Mordor).
Si alquien es capaz de recuperar un CD despues de este proceso, estaria
por apostar que ya esta fichado por nuestra amiga la NSA.
<< La gente comienza a plantearse
si todo lo que se puede hacer
se debe hacer. >>
[ D. Ruiz Larrea ]
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 08 SOFT DE BORRADO =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
Las siguientes herramientas aqui presentadas, han sido analizadas y
descritas bajo mi punto de vista, agradeceria que se me comentase
cualquier discrepancia encontrada.
Para un mejor conocimiento de cada una de estas utilidades, deben
ser utilizadas con detenimiento, repito, "utilizadas".
###################
# MS-DoS//WINDOWS #
###################
__________
|_BCWipe_|
Estupendo producto de la casa Jetico, su mayor defecto es que no es
gratutito, fuera de esto, sus carateristicas son ampliamente
destacables.
Una de sus facetas mas interesantes es la de "Cifrado de la swap",
con ello elevaremos de forma considerable nuestro grado de seguridad.
Los algoritmos de cifrado disponibles son:
* Rijndael -> 256-bit
* Blowfish -> 448-bit
* GOST 28147-89 -> 256-bit
* Twofish -> 256-bit
Este software dispone de diversas opciones que pueden ser modificadas
a gusto del usuario.
Metodo de borrado:
* Metodo Gutmann de 35 pasadas.
* Recomendado en el manual NISPOM del US DoD, 7 pasadas.
* Una pasada aleatoria.
Esta fantastica herramienta trae consigo una utilidad llamada
"BCWipePD.exe", su objetivo es el de borrar todo el contenido de un
disco duro, desde los sistemas operativos hasta la tabla de
particiones. Usa el metodo del US DoD de 7 pasadas. Evidentemente,
eficaz si vuestro sistema va a pasar por las manos de algun
investigador forense, sin duda, se lo pondreis dificil.
Y seguimos, BCWipe Task Manager, con esto podemos programar las tareas
que queremos realizar cada cierto tiempo con BCWipe.
Su uso es extremadamente sencillo, por ello no me detendre aqui
ha explicarlo y seguiremos con mas descripciones generales.
El software trae consigo suficiente documentacion, ademas, muchas
paginas hacen mencion al mismo y a su utilizacion.
____________________
|_Norton Utilities_|
Este gran kit de herramientas trae consigo a nuestro conocido "Wipe",
lo podemos encontrar en Inicio > Programas > N. Utilities > Wipe Info.
Una vez abierto nos da la posibilidad de borrar archivos, carpetas y
el espacio libre del disco duro. Los metodos de borrado que nos ofrece
son los siguientes:
* Fast Wipe -> 1 pasada, sobreescribe con 0s pero el valor puede ser
cambiado (0 a 255), 246 recomendado gubernamentalmente.
* Government Wipe -> Sigue las indicaciones del manual NIPSON,
7 pasadas, sobreescritura de 0s y 1s alternada,
tiene varior parametros modificables.
Antes de culminar con el proceso de borrado, nos mostrara un resumen
con todas las opciones que hemos elegido, asi podremos asegurar que
todo esta en el orden correcto.
_______
|_PGP_|
Nuestro gran amigo el Pretty Good Privacy dispone de dos utilidades
de cierta impotancia:
Wipe -> Se encarga de la eliminacion segura de ficheros de
nuestro sistema.
FreeSpace Wipe -> Se encarga de el borrado del espacio libre
disponible en el medio de almacenamiento. Solo
debemos de elegir la unidad deseada y el numero
de pasadas que nos parezcan.
La segunda herramienta nos indica el tiempo aproximado que tardara
en realizar la operacion, nunca biene mal si andamos justos del mismo.
En mi caso, la version de la que estoy hablando es la 8.0.3, pero
versiones anteriores tambien incluyen estas utilidades.
###############
# UNIX//LINUX #
###############
_______________________
|_THC-Secure Deletion_|
Esta herramienta desarrollada por THC (The Hacker´s Choice) es un
conjunto de utilidades que mantienen la seguridad de los datos que
no podemos controlar en nuestro sistema o los cuales deseamos
eliminar.
Estas utilidades son:
* srm ->> Borrado seguro de ficheros.
* sfill ->> Borrado seguro del espacio libre de un disco.
* sswap ->> Borrado seguro del area de 'swap'.
* smem ->> Borrado seguro de datos en la RAM.
El proceso utilizado por "srm" se basa 5 caracteristicas:
1.- Sobreescribe 38 veces.
2.- Flush de la cache de disco entre cada pasada.
3.- Truncamiento del fichero.
4.- Renombramiento del fichero.
5.- Llamada a 'unlink()'.
_________________________
|_The Defiler's Toolkit_|
Formada por dos herramientas complementarias, esta herramienta es
conocida como una utilidad "anti-forensics".
Las dos utilidades que incluye son: "necrofile" y "klismafile".
En un sistema de archivos Unix/Linux cualquiera de las siguientes
partes contendra evidencia de la existencia de archivos:
* inodes (inodos)
* directory entries (entradas de directorios)
* data blocks (bloques de datos)
Entre necrofile y klistmafile, se aseguran de eliminar cualquier
rastro de informacion de las estructuras anteriormente mencionadas.
Necrofile: Se encarga de la implementacion de borrado seguro en
los inodos y de eliminar cualquier contenido de los
bloques de datos.
Klismafile: Su objetivo es sobreescribir las entradas de directorio
que han sido eliminadas. La sobreescritura se realiza
con ceros.
____________
|_MANDRAKE_|
Esta distribucion trae consigo una opcion de borrado seguro
que realiza sobre un fichero una sobreescritura de 35 pasadas,
puede ser eficiente y una forma facil de empezar.
#########
# OTROS #
#########
___________
|_PM WIPE_|
Este herramienta es para el sistema OS/2, solo tienes que elegir
los archivos a eliminar y listo. Tiene una interfaz amigable.
OS/2 tambien hace uso de un archivo de 'swap' para el almacenamiento
de datos en memoria.
Tambien existe otra herramienta que solo borra directorios y otras
de pago.
<< La humanidad necesita con urgencia
una nueva sabiduria que proporcione
el conocimiento de como usar el
conocimiento para la supervivencia
del hombre y para la mejora de la
calidad de vida. >>
[ V. R. Potter ]
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 09 SOFT DE ANALISIS =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
Solo me centrare en las carateristicas principales de cada utilidad
pero, no explicare su funcionamiento, para ello, os envio directos
a las paginas 'man' e 'info' de sus correspondientes y simplemente
probar las cosas vosotros mismos.
_______
|_TCT_|
Describire aqui el objetivo de cada una de las utilidades que
conforma este estupendo kit y tambien las del paquete 'TCT Utils'
que lo complementa.
* "file": Busca archivos.
* "icat": Contenido de un inodo.
* "ils": Informacion de un inodo.
* "lastcomm": Ultimos comandos ejecutados.
* "lazarus": Recupera datos de un dispositivo.
* "unrm": Recupera datos de un dispositivo
* "grave-robber": Informacion del sistema.
* "mactime": Fechas de acceso y modificacion.
* "bcat": Contenido de un dispositivo de bloques.
* "blockcalc": Crea un mapa de bloques.
* "fls": Lista entradas de directorio.
* "find_file": Dado un inodo e imagen determina el archivo.
* "find_inode": Dado un bloque e imagen determina el inodo.
* "istat": Informacion de un inodo dado inodo e imagen.
Cuando hablo de 'imagen' hago referencia a una imagen creada con
"dd" de un dispositivo. Mas informacion 'man dd(1)' o 'info dd'.
Os remito de nuevo a esta direccion:
http://www.porcupine.org/forensics/tct.html
___________________
|_MANIPULATE_DATA_|
Paquete con tres herramientas simples pero bastante eficientes, su
codigo fuente es facil de comprender y se centra en su objetivo.
Las tres utilidades son las siguientes:
* "search_data": Busca una cadena en el dispositivo de bloques
y muestra el numero correspondiente donde se
encuentra.
* "read_data": Lee tantos bytes como el usuario especifique a
partir del numero de bloque dado.
* "write_data": Sirve para escribir en el dispositivo.
Buscar en este estupendo repositorio de herramientas, alli la
encontrareis:
http://fux0r.phathookups.com/tools
Mas info en la siguiente seccion.
___________
|_HEXDUMP_|
Esta fantastica utilidad viene incluida practicamente en cualquier
distribucion Linux estandar.
Realiza un volcado en hexadecimal. Para nosotros es muy util porque
conseguimos pasar toda la informacion de un dispositivo a un fichero
con el cual podremos trabajar despues.
La ventaja es que mediante sus argumentos podremos especificar el
formato de salida. El que mas nos interesa es el de ASCII, asi
encontraremos de una forma mas comoda 'texto plano'.
_________
|_OTROS_|
Aqui nombrare el resto de herramientas que conozco pero queda de
deberes el que sigais buscando mas informacion sobre ellos.
* Partition recovery
* Data Recovery Software
* Magic Undelete
* RIP
* LDE (Linux Disk Editor)
<< Pensar la tecnologia es entonces
una de las varias maneras de pensar
al hombre... No es preciso tener
ideas claras sobre el sentido y la
funcion de la tecnologia para poder
decidir que hacer con ella... >>
[ Jose Luis Gonzalez Quiros ]
=_&_==_&_==_&_==_&_==_&_=
=_&_= 10 PRUEBAS =_&_=
=_&_==_&_==_&_==_&_==_&_=
En esta seccion realizaremos una prueba simple pero de la cual
aprenderemos bastante, nuestro objetivo es que los resultados
sean los que esperamos.
Trataremos de recuperar un archivo previamente borrado de un
disquete. Lo hago en este medio por la simple razon de que seria
un poco angustioso que cada uno tuviera que andar jugando con
su disco duro, de esta forma nos evitamos todos problemas.
De todas formas, en cualquiera de los casos bastaria con cambiar
las referencias a '/dev/fd0' por un '/dev/hdx' donde 'x' es
variable para cada sistema.
Nota: Seria mejor realizar todo lo que aqui se mostrara en un
disquete nuevo, ya que asi todo sera mas limpio. De la otra
forma, podriamos encontrar mucha mas informacion de la que
nos pueda importar (Info interesante? Tal vez si... :)).
Primero crearemos un archivo de texto dentro del disquete, esto
seria algo asi:
-> cd /media/floppy #Aqui deberia de estar montado el disquete
-> echo 'Tenemos 5 misiles' > pruebas.txt
Como es de suponer, ahora solo queda borrarlo:
-> rm pruebas.txt
OPCION 1
--------
Utilizaremos aqui, el kit "Manipulate Data" para nuestro objetivo
solo haran falta las utilidades 'search_data' y 'read_data'.
Con la primera buscaremos una cadena de la que nos acordemos,
dare por supuesto que esta palabra es 'misiles'. El comando se
ejecutaria de esta forma:
-> search_data -i /dev/fd0 "misiles"
* "-i": Esto hara que no se distingan mayusculas de minusculas.
La salida del programa sera un numero de bloque que nos indicara
donde se encuentra la cadena deseada, algo asi:
-> found at 17418: misiles
Ahora solo nos quedara valernos de nuestro amigo 'read_data' para
encontrar el resto del archivo. Como el texto que buscamos esta
mas atras que 'misiles' tendremos que utilizar un numero de bloque
mas bajo y buscar mas cantidad de bytes, este seria el comando:
-> read_data /dev/fd0 17408 30
La salida nos ofrecera lo que buscamos y, ademas, unos bytes de
sobra que pueden o no tener informacion. Lo encontraremos en un
archivo con el nombre '17408.30' en el directorio actual.
-> Tenemos 5 misiles_____________ #El subrayado representa
#datos desconocidos
Como podemos comprobar, un metodo facil, pero seguiremos probando
e investigando un poco mas.
OPCION 2
--------
Con esta famosa utilidad volcaremos el contenido del disqute
a un archivo estatico para despues examinarlo con calma.
El comando que podemos utilizar es:
-> hexdump -c /dev/fd0 > datos.txt
* "-C": La salida es en formato hexadecimal y ASCII.
Como bien podemos comprobar redireccionamos la salida hacia
un fichero que analizaremos seguidamente en busca de la
cadena deseada.
El archivo se mostrara en tres columnas, eso puede hacer
que una parte de la palabra que buscamos este en una linea
y el final de la misma en otra. Por ello intentaremos
buscar con una palabra mas pequeña como 'misil':
-> grep -i 'misil' datos.txt
La salida sera algo parecido a esto:
00004400 54 65 6e 65 6d 6f 73 20 35 20 6d 69 73 69 6c 65 |Tenemos 5
misile|
Aqui vemos el claro ejemplo de que la palabra 'misiles' queda
cortada en dos lineas. Ahora solo tendriamos que buscar en el
archivo, a partir de ese offset (00004400) el resto de nuestra
informacion.
OPCION 3
--------
En este ultimo caso utilizaremos las herramientas que nos
proporciona TCT, estas deberian acompañarnos alla donde nosotros
vayamos.
Con 'lazarus' conseguiremos recuperar la informacion del
disquete, expuesta por bloques. Presento aqui el comando y
despues paso a explicar cada uno de sus argumentos:
-> lazarus -hB -D blocks -H html -w html /dev/fd0
* "-h": Salida en formato HTML.
* "-B": No escribe bloques de binarios.
* "-D": Crea un directorio con el nombre que prosigue
al argumento, ahi se guardan los archivos con
el contenido de los bloques.
* "-H": Igual que el anterior pero aqui se guardan los
archivos con extension '.html'.
* "-w": Igual que el anterior (que alguien me lo explique).
Ahora solo nos queda buscar entre los archivos del directorio
'blocks', cual de ellos contiene el texto que a nosotros nos
interesa. Yo utilice un comando como este:
-> strings -af *.txt | grep -i 'misil'
La salida del mismo es la siguiente:
-> 18.t.txt: Tenemos 5 misiles
Segun indica la documentacion de 'lazarus' tambien podrias usar
algo parecido a esto:
-> egrep -l 'misil' blocks/*.txt > allfiles
Y buscar entre los archivos listados en 'allfiles'.
Para las imagenes bastaria con ejecutar lo siguiente:
-> xv blocks/*.gif blocks/*.jpg # Y asi con cualquier formato
Los ficheros del directorio anterior terminaran con diferentes
extensiones segun 'lazarus' interprete el contenido de los mismos.
Las posibles extensiones serian estas:
A -> Archivo M -> Mail U -> UUencoded
C -> Codigo C O -> Null W -> Contraseñas
E -> ELF P -> Programa X -> EXE
F -> Sniffer Q -> Mailq Z -> Comprimido
H -> HTML R -> Eliminado . -> Binario
I -> Imagene S -> Lisp ! -> Sonido
L -> Log T -> Texto
Con un poco de suerte, en nuestro caso podriamos reducir las
posibilidades y el tiempo de esta forma:
-> strings -af *.t.txt | grep -i misil # Notese el *.t.txt
Esto nos ayuda para que el rango de ficheros que nos interesa sea
menor y, por lo tanto, mas rapida su busqueda.
Otro metodo que tambien seria efectivo, es utilizar en conjunto
las dos herramientas de recuperacion: 'lazarus' y 'unrm'.
Podriamos hacer esto:
-> ./unrm /dev/fd0 > salida
-> ./lazarus -h salida
Los siguientes pasos son identicos a los explicados anteriormente.
Nota: En el primer comando, el fichero 'salida' tiene que estar
en un dispositivo diferente al examinado. Tambien decir que
cada una de estas tareas lleva cierto tiempo segun el sistema.
<< Felicidad no es hacer lo que
uno quiere, sino querer lo que
uno hace. >>
[ J. P. Sartre ]
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
=_&_= 11 MI IMPLEMENTACION =_&_=
=_&_==_&_==_&_==_&_==_&_==_&_==_&_=
Os presento aqui una "vaga" implementacion de un programa de
borrado seguro. Utiliza las funciones principales como podreis
comprobar pero, sin duda alguna, esta dispuesto a sutiles
mejoras, tanto de rendimiento como de eficiencia.
Es algo lento en archivos de tamaño grande, por otra parte,
util a la hora de eliminar de forma segura documentos y/o
informaciones confidenciales de no gran embergadura.
Este programa es libre para ser modificado por cualquiera,
pero si lo modificais para cualquier otro fin, borrar cualquier
referencia a mi persona.
Por que lenguaje PERL? Facil respuesta. Por su gran potencial,
rapidez teniendo en cuenta que es un lenguaje interpretado y
lo compacto que resulta resolver cualquier problema. Si mal no
me acuerdo, existe un programa llamado "perl2exe", que convierte
el codigo fuente de perl en un ejecutable (Dificil deduccion :)).
Debido a la portabilidad de este lenguaje, no deberiais de
tener ningun problema a la hora de ejecutar este programa tanto
en plataformas Linux como en Windows.
Si alguien sabe como realizar el flush de la cache de disco
le agradeceria que se pusiese en contacto conmigo.
--------------------xxx CORTAR AQUI xxx--------------------
#!/usr/bin/perl
#####################################
# Nombre: Bsecdat V. 1.0 #
# By: blackngel #
# Mail: blackngel_hack@hotmail.com #
# Coment: No me hago responsable... #
#####################################
print "\n\n";
print " @@@@@@@@@@@@@@@@@@@@@@@@ \n";
print " @ Bsecdat by blackngel @ \n";
print " @@@@@@@@@@@@@@@@@@@@@@@@ \n";
print "\n\n";
print "Que archivo desea eliminar?: ";
$archi=<STDIN>;
chop $archi;
print "\nNumero de sobreescrituras?: ";
$num=<STDIN>;
chop $num;
open (ARCH,"+<$archi") or die "El documento no se ha abierto o no existe.";
# Sacamos la informacion del archivo para extraer su tamaño -> $tam
($dev, $ino, $info, $links, $IDuser, $IDgrp, $IDdev, $tam, $uacc, $umod,
$uino, $tambloqIO, $IO) = stat (ARCH);
sobreescribir(); # Sobreescribe el archivo X veces
truncate(ARCH, 0); # Trunca el tamaño del archivo a 0
utime(0, 0, $archi); # Cambia la fecha de ultima modificacion
close(ARCH);
# Nota: El archivo es renombrado y eliminado despues de ser cerrado
renombrar(); # Renombra el archivo
unlink($archi); # Elimina el archivo
sub sobreescribir # Funcion o algoritmo de sobreescritura
{
for($i=0; $i < $num; $i++){
seek(ARCH, 0, 0);
for($j=0; $j < $tam; $j++){
$car = rand(255);
printf ARCH "%c", $car;
}
}
}
sub renombrar # Funcion que genera un nombre aleatorio
{
$n = rand(255);
$nom = sprintf("%f", $n);
rename($archi, $nom);
}
print "\n\n";
print " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n";
print " @@@@@ Bsecdat V. 1.0 by blackngel @@@@@\n";
print " @@@@@ blackngel_hack @ hotmail.com @@@@@\n";
print " @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n";
print "\n";
--------------------xxx CORTAR AQUI xxx--------------------
Como podeis ver, he escrito el programa de forma que sea altamente
legible. Se podrian haber realizado diversos cambios para que el
codigo fuente quedara notablemente reducido.
Posibles mejoras:
* Entrada de datos como argumentos.
* Operacion sobre multiples archivos.
* Flush de la cache de disco.
* Algoritmos mas complejos (pero mas lentos).
* Otros...
<< La utopia esta en el horizonte. Me
acerco dos pasos, ella se aleja dos
pasos. Camino diez pasos y el horizonte
se corre diez pasos mas alla. Por
mucho que yo camine, nunca la alcanzare.
¿Para que sirve la utopia? Para eso
sirve, para caminar. >>
[ E. Galeano ]
=_&_==_&_==_&_==_&_==_&_=
=_&_= 12 CONSEJOS =_&_=
=_&_==_&_==_&_==_&_==_&_=
Pues que decir, ahora me toca expresar las ideas que llevo metidas
en mi cabeza y que para mi resultan eficientes a la hora de una
buena administracion y proteccion del sistema.
Decir que estos consejos que os voy a dar debereis de razonarlos
(como todo en la vida) y sacar partido de todo lo que creais que
puede ser util para vosotros. Mis ideas son mis ideas y las vuestras
son... las vuestras. No hagais caso absoluto nunca de lo que alguien
os diga o de la informacion que consigais, sacar vuestras propias
conclusiones y determinar que es lo correcto y lo que no.
CONSEJOS
--------
1.- Ante todo, manten siempre cifrada la informacion que permanezca
estatica en tu ordenador (no nombrare las herramientas de cifrado
como siempre, esto queda a eleccion propia).
2.- Si una herramienta te permite elegir entre varios metodos de
cifrado, (a no ser que sea necesario) trata de elegir una de las
opciones que no esten por defecto, ya que este metodo seria el
primero en ser atacado por alguien con malas intenciones.
3.- Utiliza siempre herramientas de borrado seguro, al fin de todo
siempre mereza la pena, ademas hoy por hoy nos encontramos
utilidades GUI user-friendly. Y para mas, adaptadas a diferentes
entornos y SO's.
4.- Manten una buena programacion del horario de administracion.
Intenta que este horario sea aleatorio pero con sentido, ya que
de esta forma, por ejemplo, si realizaramos el borrado todos los
martes de cada semana, un atacante se encargaria de sacarnos
la informacion los lunes, de otra forma, manteniendo una
buena aleatoriedad, tendrian que tener suerte para encontrar
algo entre nuestra "basura".
5.- Utiliza un sistema de archivos que no este al alcance de una
herramienta de analisis forense (normalmente Ext2, UFS, etc...)
6.- No olvides nunca los metodos de destruccion de medios portables,
estOs nos pueden dar sorpresas el dia menos esperado. Hay que
ser responsable y saber que es lo que estamos guardando y donde.
7.- A ser posible utiliza un sistema de archivos cifrado o para mas
seguridad uno esteganografico. Como recomendacion, buscar info
sobre "StegFS" para Linux (hay un buen articulo en el numero 8
de NetSearch).
<< Hasta ahora las masas han ido
siempre tras el hechizo. >>
[ K. Jaspers ]
=_&_==_&_==_&_==_&_==_&_=
=_&_= 13 DESPEDIDA =_&_=
=_&_==_&_==_&_==_&_==_&_=
Que tal chic@s, espero que con todo esto hayais quedado bien agusto
y quizas con ganas de meter algun CD en el microhondas :) Siento
haber parecido vuestro padre en algun momento, pero mis articulos
son mi forma de expresion, y sin ello muero.
Seria bueno que cada uno intentase hacer su propia implementacion
de 'borrado seguro' y añadiera nuevos aspectos a gusto personal.
Tampoco estaria de mas que leyeseis los codigos fuentes de alguna
de las utilidades citadas anteriormente y sobretodo aprender su
documentacion, es sin duda una gran fuente de conocimiento.
Ojala hagais uso de todo lo aqui expuesto y sigais aprendiendo, que
eso es, seguramente, el objetivo que vosotros y yo, tenemos en comun.
Como siempre, sigue buscando en la red, que ahi es donde de verdad
se encuentra la informacion valiosa. Nunca te conformes, complace
tu sed de conocimiento.
A todo esto, para que despues digan que no hay gente con ganas
de trabajar y hacer algo decente por los demas. Esto forma parte
de los muchos proyectos altruistas que nadan por la red...
Cualquier duda, opinion, sugerencia o insulto que merezca la pena ser
publicado, mail-me a: blackngel_hack@hotmail.com.
<< Los apasionados de Internet han encontrado
en esta opcion una impensada oportunidad
de volver a ilusionarse con el futuro. No
solo algunos disfrutan como enanos; creen
que este instrumento agiganta y que, acabada
la fragmentacion entre unos y otros, se ha
ingresado en la era de la conexion global
Internet no tiene centro, es una red de
dibujo democratico y popular. >>
[ V. Verdu: El enredo de la red ]
<< Solo existen 10 tipos de personas: los que
saben binario y los que no. >>
[ XXX ]
by blackngel
*EOF*