Está en la página 1de 10

ANGEL ROCA 20937251

La persistencia de datos es la representación residual de datos que han sido de


alguna manera nominalmente borrados o eliminados. Este residuo puede ser debido a
que los datos han sido dejados intactos por un operativo de eliminación nominal, o por
las propiedades físicas del medio de almacenaje. La persistencia de datos posibilita en
forma inadvertida la exhibición de información sensible si el medio de almacenaje es
dejado en un ambiente sobre el que no se tiene control (p. ej., se tira a la basura, se le
da a un tercero).
En informática, la persistencia se refiere a la propiedad de los datos para que
estos sobrevivan de alguna manera.
En programación, la persistencia es la acción de preservar la información de un
objeto de forma permanente (guardado), pero a su vez también se refiere a poder
recuperar la información del mismo (leerlo) para que pueda ser nuevamente utilizado.
De forma sencilla, puede entenderse que los datos tienen una duración efímera;
desde el momento en que estos cambian de valor se considera que no hay persistencia
de los mismos. Sin embargo en informática hay varios ámbitos donde se aplica y se
entiende la persistencia

CAUSAS
Muchos sistemas operativos, administradores de archivos y otros programas
proveen facilidades que hacen que el archivo no sea inmediatamente eliminado cuando
el usuario solicita esa acción. En su lugar, el archivo es trasladado a un área de retención
que permite al usuario fácilmente revertir la acción si ha cometido un error.
Incluso cuando no se proporciona un área de retención de archivos eliminados
explícita, o cuando el usuario no la usa, los equipos normales realmente no quitan el
contenido de un archivo cuando se lo intenta eliminar. En lugar de eso, simplemente
eliminan la entrada del archivo del índice del sistema de archivos porque esto requiere
menos trabajo y por lo tanto es una solución más rápida. Los contenidos del archivo –
los verdaderos datos – permanecen en el medio de almacenamiento. Los datos
permanecerán allí hasta que el sistema operativo reutilice el espacio para nuevos datos.
En algunos sistemas, suficientes metadatos del sistema de archivos son conservados
para facilitar la recuperación de los datos por programas utilitarios fácilmente disponibles.
Aun cuando la recuperación se ha tornado imposible, los datos, hasta que sean
sobrescritos, pueden ser leídos por programas que leen los sectores del disco
directamente. Los forenses informáticos a menudo emplean dichos programas.
Del mismo modo, el reformateo, el reparticionamiento o la imagen recreada de un
sistema no siempre garantiza escribir sobre todas las áreas del disco aunque todos harán
que el disco parezca vacío ó, en el caso de la imagen recreada, vacío a excepción de los
archivos presentes en la imagen, al ser examinados con la mayoría de los programas.
TIPOS DE PERSISTENCIA DE DATOS
Se consideran varios tipos de persistencia:
PERSISTENCIA EN MEMORIA
La persistencia en memoria es la capacidad de un dato u objeto para seguir
existiendo tras determinadas operaciones.
La operación más común que se presta a la persistencia en memoria es
la asignación. Existen dos ideas respecto de lo que debe suceder con un dato, estructura
u objeto una vez asignado desde el original.
En unos casos lo que se desea es que haya dos referencias a los mismos datos.
Es decir: un mismo dato tiene dos punteros desde los que es posible acceder a ellos. Un
tipo de dato que utiliza este método se dice que tiene persistencia si cuando se elimina
uno de los punteros, los datos siguen aún en memoria. En este caso el tipo de datos
utiliza un contador de referencias, de modo que cada vez que se crea una referencia se
aumenta la cuenta en uno (+1) y cuando se elimina una referencia se disminuye el
contador en uno (-1). El tipo de datos, por tanto, sólo es realmente eliminado cuando la
cuenta del contador llega a cero (0); es decir, cuando no tiene referencias apuntando a
los datos.
Ejemplo: se crea un objeto de tipo colección ( Collection ) y se le asignan dos datos; luego
se crea otro objeto al que se le asigna la colección previa.

Dim x As Collection
Dim y As Collection
Dim dia As String

Set x = New Collection

x.Add ("domingo")
x.Add ("jueves")
Set y = x
dia = y.Item(1)
MsgBox dia

y.Add ("sábado")
dia = x.Item(3)
MsgBox dia

Set x = nothing

dia = y.Item(1)
MsgBox dia

Para verificar que son la misma referencia, después de ver que en la primera (1ª)
asignación a dia es domingo (hasta este momento no hay razones para pensar si hubo
una copia o son la misma referencia), añadimos luego un nuevo ítem a la segunda (2ª)
colección. Volvemos a obtener ahora el ítem recién añadido pero ahora utilizando la
primera colección. Se demuestra que son la misma referencia al constatar que el ítem
añadido con la 2ª colección también es accesible desde la 1ª, algo que no podría suceder
si cada colección apuntara a diferentes posiciones en memoria. Finalmente eliminamos
una de las colecciones y observamos cómo la otra aún tiene acceso a los datos. El
ejemplo demuestra cómo hay persistencia de los datos. Las colecciones son
persistentes.
VECTORES O ARRAYS
En otros casos lo que interesa cuándo se hace una asignación es copiar, crear
totalmente aparte un duplicado de los datos a asignar (hay preferencias para llamar a
este tipo de copia clonar en vez de copiar). Por tanto no necesitan o no utilizan nunca
más de una referencia, ni por tanto precisan tener un contador de referencias. Estos
casos se dice que no tienen persistencia. Al eliminar la referencia los datos quedan
perdidos, nunca tienen más de una referencia, ya que cuando se hace una asignación
se realiza un duplicado de los datos con su propia referencia.
Un ejemplo de memoria no persistente: es similar al anterior, pero en vez de usar
colecciones se usan vectores (arrays).

Dim x() As Byte


Dim y() As Byte
Dim dia As String

ReDim x(0 To 2)

x(0) = 25
x(1) = 14
y=x
dia = y(1)
MsgBox dia

y(2) = 6
dia = x(2)
MsgBox dia

Se puede constatar cómo los arrays no son persistentes. Cuando asignamos el


valor 6 al segundo (2º) array en su elemento 2 vemos que el elemento 2 del primer
(1º) array no contiene el mismo dato que se acaba de introducir en el 2º array; devuelve
cero ( 0 ), ya que nunca ha sido asignado dicho elemento para el 1º array.
La comprobación del contador de referencias para (si llega el caso) su eliminación,
en los lenguajes de programación más modernos recae en el recolector de basura que
se encarga de liberar la memoria ocupada por los objetos sin referencias. En los
lenguajes sin este mecanismo, debe explícitamente eliminarse cada objeto y en general
cada aplicación es responsable de los objetos que crea.
PERSISTENCIA DE APLICACIÓN
Es la capacidad para que los datos sobrevivan a la ejecución del programa que
los ha creado. Sin esta capacidad, los datos solo existen en memoria RAM, y se pierden
cuando la memoria pierde energía, como cuando se apaga el computador.
Este tipo de persistencia requiere que los datos sean almacenados en un medio
secundario, no volátil, para su posterior reconstrucción y utilización, por lo que su tiempo
de vida es independiente del proceso que los creó. Por lo tanto, deberán permanecer
almacenados en memoria que no sea volátil. Es decir, que en caso de interrupción de la
energía que alimenta al computador, una copia de estos datos debe permanecer
almacenada.
Se puede citar, a modo ejemplo, un fichero que está almacenado en disco. Es
común a muchas aplicaciones guardar en disco una copia de las opciones
de configuración de un programa cada vez que el usuario realiza cambios. Si dichos
cambios no se guardaran a disco, la próxima vez que el usuario ejecutare la aplicación
tendría que volver a definir las opciones de preferencia.
PERSISTENCIA DE OBJETOS
En el caso de persistencia de objetos la información que persiste en la mayoría de
los casos son los valores que contienen los atributos en ese momento, no
necesariamente la funcionalidad que proveen sus métodos.
La persistencia de objetos puede ser fácilmente confundida con la persistencia en
memoria; incluso con la persistencia de aplicación.
La persistencia de objetos consiste en la inicialización de objetos con sus atributos
predeterminados o atributos por defecto. Esto es posible con dos maneras de proceder:

1. Sobre un medio (de almacenamiento) fijo se guarda (cuando el objeto fue definido)
un conjunto de datos que son recuperados cuando el tipo de objeto en cuestión
es creado; dichos datos son transferidos a las propiedades del objeto.
2. Otro objeto mantiene los datos que serán transferidos a las propiedades del nuevo
objeto creado. En este caso los datos están en memoria.
Hay muchos ejemplos para este tipo de persistencia. Un caso típico son los
controles ActiveX. Cuando el control es compilado junto al código se guarda una copia
de los datos que el programador definió de forma predeterminada. Cuando se instancia
una referencia al control, este lee del disco (donde está almacenada la librería asociada
al control) los datos que definen y configuran sus propiedades.
Otro ejemplo son las primitivas que se utilizan para recrear
objetos tridimensionales (en 3D) a partir de los cuales pueden crearse objetos más
complejos. Supongamos que vamos a crear un avión con geometría 3D. Inicialmente
podemos crear cada primitiva que compone el mismo, desde memoria, el motor de la
aplicación puede definir un nuevo objeto con las medidas que el usuario define y
posicionado igualmente en las coordenadas que el usuario señala para crear el objeto.
Sin embargo, a medida que el objeto crece y tiene más datos, se hace necesario guardar
el objeto en disco. Este objeto puede ahora ser guardado y ser utilizado las próximas
veces como una primitiva, un punto a partir del cual iniciar la creación de otros objetos
más complejos basados en este. Si ahora se quiere crear un nuevo modelo de avión
posiblemente sea más sencillo modificar la primitiva definida que crear uno totalmente
nuevo; por tanto, es necesaria la persistencia de la primitiva para recrear nuevos objetos
basados en ella. Las primitivas complejas se acoplan a la primera manera definida y las
primitivas sencillas se ajustan a la segunda manera definida.
Para guardar los datos de objetos en disco se recurre a un mecanismo conocido
como serialización (serializar), que dispone en una secuencia de bytes todos los datos
(o sólo aquellos que se desee) que definen el objeto.
Desde la óptica de la persistencia, se podrían clasificar los objetos en:

 Transitorios: cuyo tiempo de vida depende directamente del ámbito del proceso que
los instanció.
 Persistentes: cuyo estado es almacenado en un medio secundario para su posterior
reconstrucción y utilización, por lo que su tiempo de vida es independiente del
proceso que los instanció.
Al programador, la persistencia permite almacenar, transferir y recuperar el estado
de los objetos. Para esto existen varias técnicas:

 Serialización,
 Motores de persistencia,
 Bases de datos orientadas a objetos

Sin embargo en informática hay varios ámbitos donde se aplica y se entiende la


persistencia
Con el correr del tiempo, se han desarrollado varias técnicas para contrarrestar la
persistencia de datos. Dependiendo de su efectividad y de su intención, a menudo se los
clasifica como compensación o purga/higienización. Métodos específicos incluyen la
sobre escritura, la desmagnetización, el cifrado, y la destrucción física.
CONTRAMEDIDAS.
Habitualmente se reconocen tres niveles de eliminación de datos persistentes:
COMPENSACIÓN
Compensación es la remoción de los datos sensibles de un medio de
almacenamiento de tal manera que hay seguridad de que los datos no podrán ser
reconstruidos utilizando las funciones normales del sistema o programas de recuperación
de archivos/datos. Los datos pueden aún ser recuperables, pero eso requerirá técnicas
especiales de laboratorio.
PURGA
Purga o higienización es la remoción de datos sensibles de un dispositivo de
almacenamiento con el objeto de que los datos no puedan ser reconstruidos utilizando
alguna de las técnicas conocidas. La purga, proporcional a la sensibilidad de los datos,
generalmente se efectúa antes de dejar libres de control los dispositivos de
almacenamiento, en los casos en que se descartan viejos medios de almacenamiento o
se trasladan dichos medios a computadoras con diferentes requerimientos de seguridad.
DESTRUCCIÓN
El medio de almacenamiento es físicamente destruido. Su efectividad varía.
Dependiendo de la densidad de grabación del medio y/o de la técnica de destrucción,
esta técnica puede dejar datos recuperables por métodos de laboratorio. A su vez, la
destrucción física cuando se utilizan los métodos apropiados, es generalmente
considerada como el método más seguro posible.

.METODOS ESPECIFICOS
Sobre escritura
Un método común de contrarrestar los datos persistentes es sobre escribir el
medio de almacenaje con nuevos datos. Esto se llama a menudo limpieza o trituración
de un archivo o de un disco. Es una opción popular y de bajo costo de algunos programas
debido a que a menudo puede ser implementado simplemente en dichos programas y
puede ser selectivamente dirigido solo hacia una parte del medio de almacenaje. La
sobre escritura es generalmente un método aceptable de compensación siempre y
cuando el medio de almacenaje sea grabable y no esté dañado.
La técnica de sobre escritura más simple escribe los mismos datos en todas
partes, a menudo simplemente una muestra de ceros. Como mínimo, esto evitará que
los datos sean recuperados simplemente por la lectura del medio de almacenaje
utilizando las funciones habituales del sistema.
Para contrarrestar técnicas de recuperación de datos más avanzadas, a menudo
se prescriben muestras de sobre escritura específicas. Estas pueden ser muestras que
intentan erradicar cualquier traza de firmas. Por ejemplo, escribiendo en forma repetida,
muestras alterantes de unos y ceros puede ser más efectiva que utilizar sólo ceros.
Frecuentemente se indican combinaciones de muestras.
Un desafío de la sobre escritura es que ciertas áreas del disco pueden ser
inaccesibles por degradación de los medios o por otros errores. La sobre escritura por
software puede ser problemática en medios de alta seguridad que requieren controles
más fuertes de la mezcla de datos que la que puede proveer el programa en uso. El uso
de técnicas avanzadas de almacenamiento también puede hacer inefectivo la sobre
escrituración basada en archivos.
Factibilidad de recuperar datos sobre escritos:
Peter Gutmann investigó la recuperación de datos de medios de almacenaje
nominalmente sobre escritos a mediados de la década del 90. El sugirió que la
microscopia por fuerza magnética puede ser capaz de recuperar dichos datos y
desarrolló patrones de sobre escritura específicos, para controladores específicos, para
contrarrestar este tipo de recuperación. Estos patrones se conocen como el método de
Gutmann.
Daniel Feenber, un economista del privado National Bureau of Economic
Research, afirma que las posibilidades de recuperar datos sobre escritos de un disco
duro moderno son una “leyenda urbana”.También señala “la brecha de 18½ minutos que
Rose Mary Woods creo en una cinta de Richard Nixon discutiendo sobre el caso
Watergate”. La información de la brecha aún no ha sido recuperada y Feenberg afirma
que recuperarla sería una tarea fácil comparada con la recuperación de una señal digital
de alta densidad.
Para noviembre de 2007, el Departamento de Defensa de los Estados Unidos
consideraba que la sobre escritura era un método aceptable para compensar medios
magnéticos dentro de la misma área/zona de seguridad, pero no como un método de
higienización. Solamente aceptaba como método de higienización la de magnetización
o la destrucción física.
Por el otro lado, de acuerdo a la Publicación Especial 800-88 del 2006 NIST (p.7):
“Los estudios han demostrado que la mayoría de los medios de almacenaje pueden ser
efectivamente compensados con una sobre escritura” y “para los discos ATA fabricados
con posterioridad a 2001 (de más de 15 GB), los términos compensación e higienización
han convergido”.Un análisis de Wright y colaboradores de técnicas de recuperación,
incluyendo microscopia por fuerza magnética, también concluyen que una simple
limpieza es todo lo que se necesita en los controladores modernos”. Señalan que el largo
tiempo que requieren múltiples limpiezas “han creado una situación en la que muchas
organizaciones ignoran totalmente el tema – lo que ocasiona filtraciones y pérdidas.
DE MAGNETIZACIÓN
De magnetización es la remoción o reducción del campo magnético de un disco o
controlador utilizando un dispositivo llamado de magnetizador que ha sido diseñado para
el medio de almacenaje que se desea borrar. Aplicado a medios magnéticos, la de
magnetización puede purgar el medio rápida y efectivamente.
La de magnetización a menudo torna los discos duros inoperables, ya que borra
el formateo de bajo nivel que solamente es efectuado en las fábricas durante la
fabricación. Es posible, sin embargo, devolver el disco duro a un estado funcional si el
fabricante accede a reformatearlo. Los diskettes desmagnetizados pueden ser
generalmente reformateados y reutilizados con el hardware habitual de los
consumidores.
En algunos entornos de alta seguridad, puede que se requiera utilizar un de
magnetizador que ha sido aprobado para la tarea. Por ejemplo, en las jurisdicciones
gubernamentales y militares de los Estados Unidos, puede que se exija el uso de un de
magnetizador de la “Lista de Productos Evaluados” de la NSA.

CIFRADO
El cifrado de datos antes de que sea almacenado en el medio puede mitigar las
preocupaciones sobre la persistencia de datos. Si la clave criptográfica es
suficientemente fuerte y cuidadosamente controlada (p. ej., no sujeta a persistencia de
datos) puede hacer irrecuperable en forma efectiva cualquier dato del medio. Aun si la
clave está almacenada en el medio, puede resultar más fácil o rápido sobre escribir
solamente la clave en lugar de sobre escribir todo el disco.
El cifrado puede hacerse sobre la base de archivo por archivo ó sobre todo el
disco. Sin embargo, si la clave es almacenada, aunque sea temporariamente, en el
mismo sistema que los datos, puede pasar a ser un dato remanente y recuperada por
un atacante. Véase ataque de arranque en frío (cold boot attack).
DESTRUCCIÓN FÍSICA
Una cuidadosa destrucción física de todo el medio de almacenaje es
generalmente considerado como el método más seguro de contrarrestar la persistencia
de datos. Sin embargo, el proceso generalmente lleva tiempo y es engorroso. La
destrucción física puede requerir métodos extremadamente cuidadosos ya que aún un
muy pequeño fragmento del medio puede contener grandes cantidades de información.
Las técnicas de destrucción específica incluyen:

 Rotura física del medio por molienda, trituración, etc.


 Incineración
 Cambio de estado ( por ejemplo licuefacción o vaporización de un disco sólido)
 Aplicación de químicos corrosivos, tales como ácidos, a las superficies de grabación.
 Para medios magnéticos, la elevación de la temperatura por encima de la
temperatura de Curie
 Para muchos medios de almacenaje eléctrico volátil y no volátil, la aplicación de
extremadamente altos voltajes, muy por encima de las especificaciones
operacionales.

COMPLICACIONES

ÁREAS INACCESIBLES
Los medios de almacenaje pueden tener aéreas que son inaccesibles por
métodos normales. Por ejemplo, los discos magnéticos pueden desarrollar “sectores
averiados” después de que los datos han sido grabados, y las cintas tienen brechas entre
las distintas grabaciones. Los discos duros modernos a menudo tienen un re mapeo
automático de sectores marginales o pistas que el sistema operativo no puede siquiera
detectar. Los intentos de contrarrestar la persistencia de datos por sobre escritura puede
no ser exitosa en tales situaciones, ya que los datos persistentes pueden persistir in estas
áreas nominalmente inaccesibles.

MEDIOS DE ALMACENAJE AVANZADOS


Sistemas de almacenaje de datos con características más sofisticadas pueden
hacer que la sobre escritura sea inefectiva, especialmente la basada en la sobre escritura
por archivo.
Los sistemas de archivos con journaling incrementan la integridad de los datos al
registrar las operaciones de escritura en múltiples ubicaciones y mediante la aplicación
de semántica de tipo transaccional. En estos sistemas, los datos persistentes pueden
persistir en ubicaciones “fuera” de las ubicaciones de almacenamiento nominal del
archivo.
Algunos sistemas de archivos implementan copy-on-write ó control de versiones
con la intención de que al escribir en un archivo nunca se sobrescriba los datos ya
ubicados.
Tecnologías tales como RAID y técnicas de anti fragmentación pueden hacer que
los datos del archivo sean escritos en múltiples ubicaciones, ya sea por diseño (tolerancia
de falla), o como datos persistentes.
El wear levelling es una técnica que también puede derrotar el borrado de los
datos, al relocalizar los bloques escritos entre el momento en que originalmente fueron
escritos y el momento en que se están sobrescribiendo
MEDIOS ÓPTICOS
Los medios ópticos no son magnéticos y no son afectados por la de
magnetización. Los medios ópticos de escritura única (CD-R, DVD-R, etc.) tampoco
pueden ser purgados por sobre escritura. Los medios ópticos de lectura/escritura tales
como CD-RW y DVD-RW, pueden ser sobrescritos. Métodos para higienizar
exitosamente los discos ópticos incluyen la de laminación-abrasión de la capa metálica,
trituración, electro destrucción (como por exposición a microondas), y la sumersión en
solventes poli carbonatados (p.ej., acetona)
DATOS EN RAM
Se ha observado persistencia de datos en SDRAM, la que típicamente se
considera volátil (es decir que sus componentes se borran con la pérdida de la potencia
eléctrica). En el estudio, a veces se observó retención de datos a temperatura ambiente.
Otro estudio encontró persistencia de datos en una DRAM, también con retención
de datos durante minutos o segundos a temperatura ambiente y "durante toda una
semana sin refresco cuando se lo enfrió con nitrógeno líquido 9Los autores del estudio
fueron capaces de usar un ataque de arranque en frío para recuperar claves
criptográficas para varios populares sistemas de cifrado total del disco. Pese a cierto
grado de degradación de la memoria, fueron capaces de aprovecharse de la redundancia
en la forma en que las claves se almacenan después de que se han expandido para ser
usadas eficientemente como en el caso de las claves maestras. Los autores
recomiendan que las computadoras sean apagadas más que dejadas en el estado de
“dormidas” cuando no están bajo el control físico del dueño, y en ciertos casos, como si
uno posee el programa Bitlocker que se configure también un PIN para el arranque. Los
chips de RAM modernos tienen incorporados un módulo de auto refresco de tal manera
que pueden retener los datos mientras reciban energía y una señal de reloj.