Base informática de confianza

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

La base informática de confianza (TCB) de un sistema informático es el conjunto de todos los componentes de hardware, firmware y/o software que son críticos para su seguridad, en la sensación de que los errores o vulnerabilidades que ocurren dentro de la TCB pueden poner en peligro las propiedades de seguridad de todo el sistema. Por el contrario, las partes de un sistema informático que se encuentran fuera de la TCB no deben comportarse mal de manera que se filtren más privilegios de los que se les otorgan de acuerdo con la política de seguridad del sistema.

El diseño cuidadoso y la implementación de la base informática confiable de un sistema son fundamentales para su seguridad general. Los sistemas operativos modernos se esfuerzan por reducir el tamaño de la TCB para que sea factible un examen exhaustivo de su base de código (por medio de auditoría de software manual o asistida por computadora o verificación de programa).

Definición y caracterización

El término base informática confiable se remonta a John Rushby, quien lo definió como la combinación del kernel del sistema operativo y los procesos confiables. Este último se refiere a los procesos que pueden violar las reglas de control de acceso del sistema. En el artículo clásico Authentication in Distributed Systems: Theory and Practice Lampson et al. definir el TCB de un sistema informático como simplemente

una pequeña cantidad de software y hardware que depende de la seguridad y que distinguimos de una cantidad mucho mayor que puede mal comportamiento sin afectar la seguridad.

Ambas definiciones, aunque claras y convenientes, no son teóricamente exactas ni pretenden serlo, como p. un proceso de servidor de red bajo un sistema operativo similar a UNIX puede ser víctima de una brecha de seguridad y comprometer una parte importante de la seguridad del sistema, pero no es parte del TCB del sistema operativo. El Libro Naranja, otra referencia clásica de la literatura sobre seguridad informática, proporciona una definición más formal de la TCB de un sistema informático, como

la totalidad de los mecanismos de protección dentro de ella, incluyendo hardware, firmware y software, cuya combinación es responsable de hacer cumplir una política de seguridad informática.

En otras palabras, la base informática confiable (TCB) es una combinación de hardware, software y controles que trabajan juntos para formar una base confiable para hacer cumplir su política de seguridad.

El Libro Naranja explica además que

[t]he ability of a reliable computing base to enforce properly a unified security policy depends on the correctness of the mechanisms within the reliable computing base, the protection of those mechanisms to ensure their correctness, and the correct input of parameters related to the security policy.

En otras palabras, una determinada pieza de hardware o software es parte de la TCB si y solo si ha sido diseñada para ser parte del mecanismo que brinda su seguridad al sistema informático. En los sistemas operativos, esto normalmente consiste en el kernel (o microkernel) y un conjunto selecto de utilidades del sistema (por ejemplo, programas setuid y demonios en sistemas UNIX). En los lenguajes de programación diseñados con funciones de seguridad integradas, como Java y E, la TCB está formada por el tiempo de ejecución del lenguaje y la biblioteca estándar.

Propiedades

De acuerdo con la política de seguridad

Como consecuencia de la definición anterior del Libro Naranja, los límites de la TCB dependen en gran medida de los detalles de cómo se desarrolla la política de seguridad. En el ejemplo anterior del servidor de red, aunque, por ejemplo, un servidor web que atiende una aplicación multiusuario no forma parte de la TCB del sistema operativo, tiene la responsabilidad de realizar el control de acceso para que los usuarios no puedan usurpar el acceso. identidad y privilegios de cada uno. En este sentido, definitivamente forma parte del TCB del sistema informático más grande que comprende el servidor UNIX, los navegadores de los usuarios y la aplicación Web; en otras palabras, violar el servidor web a través de, p. un desbordamiento de búfer puede no considerarse como un compromiso del sistema operativo propiamente dicho, pero ciertamente constituye una explotación perjudicial en la aplicación web.

Esta relatividad fundamental del límite de la TCB se ejemplifica con el concepto de 'objetivo de evaluación' ("TOE") en el proceso de seguridad de Common Criteria: en el curso de una evaluación de seguridad de Common Criteria, una de las primeras decisiones que se deben tomar es el límite de la auditoría en términos de la lista de componentes del sistema. eso vendrá bajo escrutinio.

Un requisito previo para la seguridad

Los sistemas que no tienen una base informática confiable como parte de su diseño no brindan seguridad por sí mismos: solo son seguros en la medida en que se les brinda seguridad por medios externos (p. una habitación sin conexión a la red puede considerarse segura según la política, independientemente del software que ejecute). Esto se debe a que, como David J. Farber et al. es decir, [i]n un sistema informático, la integridad de las capas inferiores suele ser tratada como axiomática por las capas superiores. En lo que respecta a la seguridad informática, razonar sobre las propiedades de seguridad de un sistema informático requiere poder hacer suposiciones sólidas sobre lo que puede y, lo que es más importante, no puede hacer; sin embargo, salvo cualquier razón para creer lo contrario, una computadora puede hacer todo lo que una máquina general de Von Neumann puede hacer. Obviamente, esto incluye operaciones que se considerarían contrarias a todas las políticas de seguridad excepto las más simples, como divulgar un correo electrónico o una contraseña que debe mantenerse en secreto; sin embargo, salvo disposiciones especiales en la arquitectura del sistema, no se puede negar que la computadora podría programarse para realizar estas tareas indeseables.

Estas disposiciones especiales que tienen por objeto impedir la ejecución de cierto tipo de acciones, en esencia, constituyen la base informática de confianza. Por ello, el Libro Naranja (todavía una referencia sobre el diseño de sistemas operativos seguros a partir de 2007) caracteriza los distintos niveles de garantía de seguridad que define principalmente en términos de la estructura y características de seguridad de la TCB.

Las partes de software del TCB deben protegerse a sí mismas

Como se describe en el Libro naranja antes mencionado, las partes de software de la base informática confiable deben protegerse contra la manipulación para que surtan efecto. Esto se debe a la arquitectura de von Neumann implementada por prácticamente todas las computadoras modernas: dado que el código de máquina se puede procesar como cualquier otro tipo de datos, cualquier programa puede leerlo y sobrescribirlo. Esto puede evitarse mediante disposiciones especiales de gestión de la memoria que, posteriormente, deben tratarse como parte de la TCB. Específicamente, la base informática confiable debe al menos evitar que se escriba en su propio software.

En muchas CPU modernas, la protección de la memoria que aloja la TCB se logra agregando una pieza de hardware especializada llamada unidad de administración de memoria (MMU), que es programable por el sistema operativo para permitir y denegar un programa en ejecución& #39;s acceso a rangos específicos de la memoria del sistema. Por supuesto, el sistema operativo también puede deshabilitar dicha programación para los otros programas. Esta técnica se llama modo supervisor; en comparación con enfoques más toscos (como almacenar el TCB en ROM o, de manera equivalente, usar la arquitectura de Harvard), tiene la ventaja de permitir que el software crítico para la seguridad se actualice en el campo, aunque permite actualizaciones seguras de la base informática confiable. problemas de arranque propios.

Confiable vs digno de confianza

Como se indicó anteriormente, se requiere confianza en la base informática de confianza para avanzar en la determinación de la seguridad del sistema informático. En otras palabras, la base informática confiable es "confiable" ante todo en el sentido de que tiene que ser confiable, y no necesariamente que sea confiable. Los sistemas operativos del mundo real suelen tener errores críticos para la seguridad descubiertos en ellos, lo que da fe de los límites prácticos de dicha confianza.

La alternativa es la verificación de software formal, que utiliza técnicas de prueba matemática para mostrar la ausencia de errores. Los investigadores de NICTA y su spin-out Open Kernel Labs han realizado recientemente una verificación formal de este tipo de seL4, un miembro de la familia de microkernel L4, lo que demuestra la corrección funcional de la implementación C del kernel. Esto convierte a seL4 en el primer kernel de sistema operativo que cierra la brecha entre la confianza y la confiabilidad, suponiendo que la prueba matemática esté libre de errores.

Tamaño TCB

Debido a la necesidad antes mencionada de aplicar técnicas costosas, como la verificación formal o la revisión manual, el tamaño de la TCB tiene consecuencias inmediatas en la economía del proceso de aseguramiento de la TCB y en la confiabilidad del producto resultante (en términos matemáticos). expectativa de la cantidad de errores no encontrados durante la verificación o revisión). Por lo tanto, para reducir los costos y los riesgos de seguridad, el TCB debe mantenerse lo más pequeño posible. Este es un argumento clave en el debate que prefiere los micronúcleos a los monolíticos.

Ejemplos

AIX materializa la base informática confiable como un componente opcional en su sistema de administración de paquetes en el momento de la instalación.

Contenido relacionado

Valmet

Tinta

KAIST

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save