stringtranslate.com

Direccionamiento basado en capacidades

En informática , el direccionamiento basado en capacidades es un esquema utilizado por algunas computadoras para controlar el acceso a la memoria como una implementación eficiente de la seguridad basada en capacidades . Bajo un esquema de direccionamiento basado en capacidades, los punteros son reemplazados por objetos protegidos ( capacidades nombradas ) que especifican tanto una ubicación en la memoria, junto con los derechos de acceso que definen el conjunto de operaciones que se pueden llevar a cabo en la ubicación de memoria. [1] Las capacidades solo se pueden crear o modificar mediante el uso de instrucciones privilegiadas que solo pueden ser ejecutadas por el núcleo o algún otro proceso privilegiado autorizado para hacerlo. Por lo tanto, un núcleo puede limitar el acceso del código de aplicación y otros subsistemas a las porciones mínimas necesarias de memoria (y deshabilitar el acceso de escritura cuando sea apropiado), sin la necesidad de usar espacios de direcciones separados y, por lo tanto, requerir un cambio de contexto cuando se produce un acceso.

Implementaciones prácticas

Hay dos técnicas disponibles para su implementación:

Direccionamiento de capacidades en IBM System/38 y AS/400

El sistema operativo System/38 CPF admitía dos tipos de punteros de objetos: punteros autorizados y punteros no autorizados ; el primero era la implementación de la plataforma del direccionamiento basado en capacidades. [2] Ambos tipos de punteros solo se podían manipular mediante instrucciones privilegiadas y solo se diferenciaban en si las autorizaciones de objetos (es decir, los derechos de acceso) estaban codificadas o no en el contenido del puntero. Los punteros no autorizados no codificaban las autorizaciones de objetos y requerían que el sistema operativo verificara la autorización del objeto por separado para determinar si se permitía el acceso al objeto. Los punteros autorizados codificaban las autorizaciones de objetos, lo que significa que la posesión del puntero implicaba acceso y el sistema operativo no estaba obligado a verificar la autorización por separado. Los punteros autorizados eran irrevocables por diseño: si se alteraban las autorizaciones del objeto, no se alterarían las autorizaciones codificadas en ningún puntero autorizado que ya existiera.

Las primeras versiones del sistema operativo OS/400 para el AS/400 también admitían punteros autorizados y, por extensión, direccionamiento basado en capacidades. Sin embargo, los punteros autorizados se eliminaron en la versión V1R3 de OS/400, ya que su naturaleza irrevocable se consideró una vulnerabilidad de seguridad. [3] Desde entonces, todas las versiones de OS/400 (posteriormente IBM i) se basan únicamente en punteros no autorizados que no admiten direccionamiento basado en capacidades.

Cronología de los sistemas que adoptan el direccionamiento basado en capacidades

Referencias

  1. ^ Levy, Henry M. (16 de mayo de 2014). "Capacidad y conceptos de sistemas basados ​​en objetos" (PDF) . Capability-Based Computer Systems . Digital Press. pág. 3-4. ISBN 978-1-4831-0106-4.
  2. ^ Levy, Henry M. (16 de mayo de 2014). "El IBM System/38" (PDF) . Sistemas informáticos basados ​​en capacidades . Digital Press. ISBN 978-1-4831-0106-4.
  3. ^ Soltis, Frank (1997). Inside the AS/400 – Featuring the AS400e series (2.ª ed.). Duke Press. ISBN 978-1-882419-66-1.

Lectura adicional

Enlaces externos