La base fiable (o segura) de cómputo (Trusted Computing Base, TCB) es
una característica de ciertos Unices que incrementa la seguridad del
sistema marcando ciertos elementos del mismo como `seguros'. Aunque estos
elementos son básicamente el hardware y ciertos ficheros, la parte software es mucho más importante para el administrador que la máquina
física, por lo que aquí hablaremos principalmente de ella.
Los ficheros pertenecientes a la base segura de cómputo, y la TCB en su
conjunto, tratan de asegurar al
administrador que está ejecutando el programa que desea y no otro que un
intruso haya podido poner en su lugar (conteniendo, por ejemplo, un troyano).
La TCB implementa la política de seguridad del sistema inspeccionando y
vigilando las interacciones entre entidades (procesos) y objetos (principalmente
ficheros); dicha política suele consistir en un control de accesos y en la
reutilización de objetos (cómo debe inicializarse o desinstalarse un objeto
antes de ser reasignado).
Los ficheros con la marca de seguridad activada son generalmente el propio
núcleo del sistema operativo y archivos que mantienen datos relevantes para
la seguridad, contenidos en ciertos directorios como /tcb/ o /etc/auth/; cualquier fichero nuevo o que pertenezca a la TCB pero que haya
sido modificado automáticamente tiene su marca desactivada. Puede ser
activada o reactivada por el administrador (por ejemplo, en AIX con la orden
tcbck -a), aunque en algunos sistemas para que
un archivo pertenezca a la TCB tiene que haber sido creado con programas que ya
pertenecían a la TCB. Con este mecanismo se trata de asegurar que nadie,
y especialmente el root, va a ejecutar por accidente código peligroso:
si el administrador ha de ejecutar tareas sensibles de cara a la seguridad,
puede arrancar un intérprete de comandos seguro (perteneciente a la TCB) que
sólo le permitirá ejecutar programas que estén en la base.
La comunicación entre la base fiable de cómputo y el usuario se ha de
realizar a través de lo que se denomina la ruta de comunicación fiable
(Trusted Communication Path, TCP), ruta que se ha de invocar mediante una
combinación de teclas (por ejemplo, Ctrl-X Ctrl-R en AIX)
denominada SAK (Secure Attention Key) siempre que el usuario deba
introducir datos que no deban ser comprometidos, como una clave. Tras invocar
a la ruta de comunicación fiable mediante la combinación de teclas
correspondiente el sistema operativo se ha de asegurar de que los programas no
fiables (los no incluidos en la TCB) no puedan acceder a la terminal desde la
que se ha introducido el SAK; una vez conseguido esto - generalmente a partir
de init - se solicitará al usuario en la terminal su login y
su password, y si ambos son correctos se lanzará un shell fiable
(tsh), que sólo ejecutará programas miembros de la TCB (algo que
es muy útil por ejemplo para establecer un entorno seguro para la
administración del
sistema, si el usuario es el root). Desde el punto de vista del usuario,
tras pulsar el SAK lo único que aparecerá será un prompt solicitando
el login y la clave; si en lugar de esto aparece el símbolo de tsh, significa que alguien ha intentado robar nuestra contraseña: deberemos
averiguar quién está haciendo uso de esa terminal (por ejemplo mediante
who) y notificarlo al administrador - o tomar las medidas oportunas si
ese administrador somos nosotros -.
A pesar de la utilidad de la TCB, es recomendable recordar que un fichero
incluido en ella, con la marca activada, no siempre es garantía de
seguridad; como todos los mecanismos existentes, la base fiable de cómputo
está pensada para utilizarse junto a otros mecanismos, y no en
lugar de ellos.
© 2002 Antonio Villalón Huerta