Protección de escritura a nivel de hardware para un CD-R

4

Digamos que grabas un CD-R y se finaliza. Más adelante, si lo pones en una unidad de CD con algún sistema operativo en ejecución, ¿es posible que el sistema operativo le escriba?

Obviamente, esto no debería suceder normalmente, debido a algunas convenciones que normalmente se siguen. Pero, ¿pueden estas convenciones ser desobedecidas por algún software, posiblemente malicioso? ¿O es la regla de solo lectura impuesta en el nivel de hardware (por la unidad de CD)?

Nota: Por "escribir en él", me refiero a cambiar cualquier bit que ya se haya escrito o agregar un nuevo bit. Además, el sistema operativo también incluye BIOS.

    
pregunta onelineproof 12.06.2013 - 12:04
fuente

2 respuestas

10

Un quemador de CD funciona disparando rayos precisos de radiación láser IR o UV en un punto específico en la superficie del disco, donde interactúa con un tinte químico. Este tinte cambia la reflectividad óptica cuando se expone a dicha radiación, de ahí el término "quema". Al leerlo de nuevo, un haz de menor intensidad (generalmente a una longitud de onda electromagnética diferente) escanea el disco e interpreta los niveles de reflectividad como una señal. Cuando se interpreta apropiadamente, esto produce un flujo de 0s y 1s.

Hay dos formas principales de codificar dichos datos. El primero es simplemente asignar "reflexivo" y "no reflexivo" como 0 o 1 directamente. Un inconveniente de esto es que es propenso a errores. Una mota de polvo o un pequeño rasguño podrían dañar los datos, por lo que deben incluirse extensos bloques de datos de detección de errores (por ejemplo, paridad). Un método alternativo es utilizar la codificación transitional , que convierte la transición de reflexivo a no reflexivo y viceversa en 0 y 1 bits. Esto ayuda a mejorar la detección y corrección de errores porque las series largas de respuestas reflexivas o no reflexivas simplemente se ignoran. Todavía se requiere paridad, pero en menor medida.

Si se usa el método anterior, puede ser posible grabar más bits no reflectantes (ya sea que estén determinados como 0 o 1, no estoy seguro). Sin embargo, a mi entender, esta versión simple de codificación no se usa comúnmente.

Si se usa el último método, las cosas se complican más. Hacer que un bit reflectante se convierta en no reflexivo rompería la transición (es decir, tendría no reflectivo seguido de no reflectivo) y simplemente destruiría el bit. La paridad corrigiría el error, asumiendo que hay suficientes datos restantes. Dado que el controlador de lectura es consciente de su posición en el cilindro, tratar de dañar un solo par de bits con la esperanza de compensar los datos de una manera que le permitiera controlarlo no funcionaría, ya que reconocería que el bit el par se destruyó y pasa al siguiente par de bits, en lugar de cambiar la secuencia en un bit.

El único truco que podría ver si es factible es destruir los datos hasta el punto en que la corrección de paridad resulte en los datos incorrectos, pero esto no le permitiría alterar los datos de manera arbitraria: los resultados estarían vinculados a un conjunto estricto de Resultados, basados en el cálculo de la paridad. Como tal, es relativamente imposible modificar los datos del disco de una manera significativa.

    
respondido por el Polynomial 12.06.2013 - 13:30
fuente
5

Si recuerdo correctamente, esto es forzado físicamente ya que el tinte usado en el CD es diferente entre un CD-R y un CD-RW. El CD-R tiene solo 1 capa de aleación semimetálica, mientras que un CD-RW tiene múltiples. Por lo tanto, físicamente es imposible sobrescribir un CD-R (cambiar un poco), es posible que puedas agregar bits (quemando agujeros adicionales) pero no estoy seguro de eso.

    
respondido por el Lucas Kauffman 12.06.2013 - 12:16
fuente

Lea otras preguntas en las etiquetas