Sistemas operativos modernos
Servidor 0 0 0 0 0 0 0 Ei servidor bloquea el archivo para enviar un 1 El servidor desbloquea el archivo para enviar un O O — Flujo de bits enviados Colaborador- o o o o o o o o Tiempo — ► Figura 9-34. Canal encubierto que emplea bloqueos de archivos. no usar dos archivos por tiempo de bit, o hacer que el canal tenga anchura de byte con ocho ar chivos de señalización, SO a 57? También puede utilizarse la obtención y liberación de recursos dedicados (unidades de cin ta, graficadores, etcétera) para enviar señales. El servidor obfiene el recurso para enviar un 1 y lo libera para enviar un 0. En UNIX, el servidor podría crear un archivo para indicar un 1 y eli minado para indicar un 0 ; el colaborador podría usar la llamada al sistema access para ver si existe el archivo. Esta llamada funciona aunque el colaborador no tenga permiso para usar el archivo. Por desgracia, existen muchos otros canales encubiertos. Lampson también mencionó una forma de filtrar información al propietario (humano) del proceso servidor. Es de suponer que el proceso servidor estará autorizado para decir a su dueño cuánto trabajo realizó a favor del cliente, para poder facturarlo. Si la factura de computación real es de, digamos, 100 dólares, y los ingresos anuales del cliente ascienden a 53,000 dólares, el servidor podría informar una factura por 100.53 a su dueño. Tan sólo encontrar lodos los canales encubiertos, no digamos bloquearlos, es difícil en ex tremo. En la práctica, no hay mucho que pueda hacerse. Introducir un proceso que cause fallo de página al azar, o dedique su tiempo a otras actividades que degraden el desempeño del sis tema con el fin de reducir el ancho de banda de los canales encubiertos, no es una propuesta muy atractiva. Hasta aquí hemos supuesto que el cliente y el servidor son procesos distintos. Otro caso es el de un solo proceso, el cliente, que está ejecutando un programa que contiene un caballo de Troya. El caballo de Troya podría haber sido escrito por el colaborador con el propósito de que el usuario lo ejecute y filtre datos que el sistema de protección impide al colaborador obtener directamente. Un fipo un tanto diferente de canal encubierto puede servir para transferir información se creta entre procesos, aunque un censor humano o automafizado inspeccione todos los mensa jes entre los procesos y bloquee los que le parezcan sospechosos. Por ejemplo, consideremos una compañía que revisa en forma manual todos los mensajes de correo electrónico enviados por empleados de la compañía, para asegurarse de que no estén filtrando secretos a cómplices o competidores fuera de la compañía. ¿Hay alguna forma de sacar grandes volúmenes de infor mación confidencial bajo las narices mismas del censor? Resulta que sí.
RkJQdWJsaXNoZXIy MjI4NDcx