Make your own free website on Tripod.com

SERVICIOS DE PROTECCIÓN Y DE SEGURIDAD.

Los servicios de protección y seguridad de un sistema varían dependiendo de la complejidad del sistema implementado. A continuación, presentaremos algunos servicios de protección genéricos en sistemas operativos clásicos. Dichos servicios se concentrarán para el estándar POSIX y para Windows NT.

 

Servicios genéricos.

 

En general, todos los sistemas operativos crean la información de protección cuando se crea un objeto, por lo que no es muy frecuente encontrar servicios de creación y destrucción de ACL (Access Control List) o capacidades disponibles para los usuarios. Es mucho más frecuente que los servicios de protección incluyan llamadas al sistema para cambiar características de la información de protección o para consultar dichas características. A continuación, mostraremos una descripción más compleja de servicios genéricos:


Crear un descriptor de protección: este servicio permite crear un nuevo descriptor de protección, que inicialmente, puede no estar asignado a ningún objeto. Lo más usual, sin embargo, es que estén indisolublemente unido a un objeto y que su ciclo de vida vaya asociado al del objeto, aunque puede ser más corto.

 

Destruir un descriptor de protección: Elimina del sistema un descriptor de protección. No lo hace para aquellos objetos asociados al descriptor que están siendo utilizados o están abiertos.

 

Abrir un descriptor de protección: Permite abrir un descriptor, creado previamente para usarlo asociado a un objeto.

 

Obtener información de protección: Permite a los usuarios conocer la información de protección de un objeto. Para ello, deben tener permisos de acceso al descriptor de protección que quieren consultar.

 

Cambiar información de protección: Permite a los usuarios cambiar la información de protección de un objeto. Para ello deben tener permisos de acceso y modificación del descriptor de protección que se desea modificar. Normalmente el descriptor incluye información acerca del dueño del objeto, su dominio, sus privilegios, etc. Muchas de estas características, son modificables.

 

Fijar información de protección por defecto: Permite fijar máscaras de protección que se aplican por defecto a los objetos de un dominio. De esta forma, los usuarios pueden asegurarse de que sus recursos tienen unas características de protección prefijadas, incluso aunque se creen con descriptores de protección vacíos.

 

 

Servicios POSIX.

 

El estándar POSIX, define servicios que, en general, se ajustan a los servicios genéricos ya descritos. Sin embargo, no existen servicios específicos para crear, destruir o abrir descriptores de protección. Estos se asocian a los objetos y se crean y se destruyen con dichos objetos. A continuación se definen las más frecuentes.

 

Comprobación de la posibilidad de acceder a un archivo: access comprueba si un archivo e4stá accesible con unos ciertos privilegios. Comprueba si un archivo existe y se usa una función que devuelve cero si así lo es, o -1 en caso de error.

 

Cambio del modo de protección de un archivo: chmod cambia los derechos de acceso a un archivo. Sólo el dueño de un archivo o el superusuario puede ejecutar esta llamada.

 

Cambio del propietario de un archivo: chown cambia el propietario y el grupo de un archivo. Sólo el dueño del archivo o el superusuario puede cambiar estos atributos.

Obtención de los identificadores del propietario y de su grupo: existen algunas llamadas como getuid, geteuid, getgid y qetegid que permiten obtener los identificadores reales y afectivos del propietario de un archivo y de su grupo. Estas llamadas son sólo de consulta y no modifican nada.

 

Cambio de los identificadores del propietario y de su grupo: existen algunas llamadas como setuid y setgid que permiten cambiar los identificadores reales del usuario y de su grupo.

 

Definir la máscara de protección por defecto: la llamada umask permite a un usuario definir una máscara de protección que será aplicada por defecto a todos sus objetos creados a partir de ese instante.

 

Otras llamadas POSIX: algunas están relacionadas con la identificación de usuarios y las sesiones de trabajo de los mismos. La llamada qetgroups permite obtener la lista de grupos de un usuario. Las llamadas getlogin y getlogin_r devuelven el nombre del usuario asociado a un proceso. La llamada uname permite identificar al sistema en el que se ejecuta el sistema operativo.


Servicios de Win32.

Windows NT tiene un nivel de seguridad C2 según la clasificación de seguridad del Orange Book del DoD, lo que significa la existencia de control de acceso discrecional, con la posibilidad de permitir o denegar derechos de acceso para cualquier objeto partiendo de la identidad del usuario que intenta acceder al objeto. Para implantar el modelo de seguridad, Windows NT usa un descriptor de seguridad y listas de control de acceso (ACL), que a su vez incluyen dos tipos de entradas de control de acceso (ACE): las de permisos y las de negociaciones de accesos. Las llamadas al sistema de Win32 permiten manipular la descripción de los usuarios, los descriptores de seguridad y las AOL. A continuación se definen las más frecuentes.

 

Dar valores iniciales a un descriptor de seguridad: el servicio InitializeSecurityDescriptor inicia el descriptor de seguridad con unos valores de protección por defecto.

 

Obtención del identificador de un usuario: la llamada GetUserName permite obtener el identificador de un usuario que ha accedido al sistema.

 

Obtención de la información de seguridad de un archivo: el servicio GetFileSecurity extrae el descriptor de seguridad de un archivo.

 

Cambio de la información de seguridad de un archivo: el servicio SetFilesecurity fija el descriptor de seguridad de un archivo.

 

Obtención de los identificadores del propietario de su grupo para un archivo: las llamadas GetSecurityDescriptorOwner y GetSecurityDescriptorGroup permiten extraer la identificación del usuario de un descriptor de seguridad y del grupo al que pertenece. Habitualmente, el descriptor de seguridad pertenece a un archivo. Estas
llamadas son sólo de consulta y no modifican nada.

 

Cambio de los identificadores del propietario de su grupo para un archivo: las llamadas SetSecurityDescriptionOwner y SetSecurityDescriptorGroup permiten modificar la identificación del usuario en un descriptor de seguridad y del grupo al que pertenece.

 

Gestión de ACLs y ACEs: las llamadas InitializeAcl, AddAccessAllowedAce y AddAccessDeniedAce permiten iniciar una AOL y añadir entradas de concesión y denegación de accesos.

 

Otras llamadas de Win32: algunas están relacionadas con la identificación de usuarios. LookupAccountName permite obtener el identificador de un usuario
mediante un nombre de cuenta suya. LookupAccountSid permite obtener el nombre de la cuenta de un usuario a partir de su identificador. Además incluye llamadas para obtener información de las ACL (GetAclInformation), obtener las entradas de una ACE (GetAce) y borrarlas (deleteAce). Existe un conjunto de llamadas similar al mostrado para proporcionar seguridad en objetos privados de los usuarios, tales como sockets o bases de datos propietarias. Otras, permiten proteger objetos del núcleo, tales como la memoria.

 

EL SERVICIO DE SEGURIDAD DE WINDOWS NT.

Es una combinación de técnicas que aseguran un nivel de protección consistente contra los accesos no deseados. Para implementar la seguridad, hay que proteger la red, el sistema operativo y los datos. Para eso, se dispone de la autentificación de acceso propia de Windows NT, seguridad a nivel de objeto y derechos de usuarios, proceso a cargo del administrador del sistema. Para sacar provecho de los más altos niveles de seguridad que permite Windows NT, el nivel de seguridad C2, se necesitan tanto el hardware como el software adecuados.

 

NT dispone de herramientas de auditoria que permiten conocer nuestros niveles de seguridad. La seguridad puede ser clasificada en tres diferentes áreas funcionales:
La seguridad de red: ofrece autentificación (verificando que el servidor de datos y que el receptor de los mismos son correctos) y verifica la integridad de la información (de forma que los datos enviados y los recibidos sean los mismos). Conseguir este nivel de seguridad a nivel de red significa haber implementado un protocolo de red; esos protocolos ofrecen varios niveles de seguridad, rendimiento (conseguidos reduciendo al mínimo la carga derivada de la seguridad), flexibilidad, y disponibilidad sobre múltiples plataformas.

La seguridad a nivel de sistema operativo: de por si debe tener ya un mínimo nivel de seguridad. Windows NT dispone de unas robustas funciones de seguridad que controla el acceso de los usuarios a los objetos como archivos, directorios, registro de sistema e impresoras. También incluye un sistema de auditoria que permite a los administradores rastrear los accesos a los archivos u a otros objetos, reintento de inicio de sesión, apagados y encendidos del sistema, etc.

 

Encriptación de datos: NT dispone de un servicio básico de criptografía que permite codificar los datos facilitando así el almacenamiento seguro y una transmisión segura combinando claves públicas y privadas.

 

También NT ofrece seguridad en otras áreas fundamentales. Se trata de autentificación en el inicio de sesión, seguridad a nivel de objetos y derechos de los usuarios. La “Local Security Authority” efectúa validaciones interactivas y remotas, inicios de sesión locales y globales (en dominios) verificándolo contra SAM (Security Account Manager), la base de datos donde se almacenan los nombres de los usuarios y sus contraseñas. La “Local Security Authority” también gestiona los mensajes de auditoria. El “Security Reference Monitor” verifica si un usuario tiene derecho a acceder a un objeto y ejecutar la acción solicitada. Además, es el responsable de los mensajes de auditoria.

 

Como se ha visto, el modelo de seguridad incluye componentes para controlar quién accede a los objetos, qué accesos pueden efectuar los usuarios sobre un evento y qué eventos se auditan. Todos estos componentes juntos, componen el subsistema de seguridad de Windows NT.

 

Como se muestra en la figura N°1, el modelo de seguridad de Windows NT, incluye los siguientes componentes:

• Procesos de logon, que muestran las ventanas de diálogo para que los usuarios puedan acceder al sistema, piden el identificador de usuario, su palabra clave y su dominio.

 

• Autoridad de seguridad local, que controla que el usuario tenga permiso para acceder al sistema. Es el corazón del sistema porque gestiona la política local, los servicios de autenticación, política de auditoria y registro de eventos auditados.

• Gestor de cuentas de usuario, que mantiene la base de datos de usuarios y grupos. Proporciona servicios de validación de usuarios.

 

  • Monitor de referencia de seguridad, que controla los accesos de los usuarios a los objetos para ver si tienen los permisos apropiados aplicando la política de seguridad y genera eventos para los registros de auditoria.

El modelo de seguridad mantiene información de seguridad para cada usuario, grupo y objeto del sistema. Puede identificar accesos directos de un usuario y accesos indirectos a través de procesos que ejecutan en representación del usuario. Permite a los usuarios asignar permisos a los objetos de forma discrecional, pero si el usuario no asigna estos permisos, el subsistema de seguridad asigna permisos de protección por defecto.


Cada usuario se identifica en este sistema mediante un identificador de seguridad único (SID, Security ID) durante la vida del usuario dentro del sistema. Cuando un usuario accede al sistema, la autoridad de seguridad local crea un descriptor de seguridad para cada acceso, lo que incluye una identificación de seguridad para el mismo usuario y otra para cada grupo al que pertenece el usuario. Además cada proceso que ejecuta en nombre del usuario tiene una copia de descriptor de seguridad del usuario.


Cuando el usuario trata de acceder a un objeto con una máscara de protección, por ejemplo, READ-Write, su SID se compara con los existentes en la CL del objeto p2ra verificar que el usuario tienen permisos suficientes para efectuar la operación de acceso. Para ello, el Monitor de Referencia de Seguridad evalúa cada entrada de la ACL, denominada ACE (Acces Control Entry).

 

Las utilidades de registro de eventos permiten recolectar información sobre los accesos de los usuarios a los objetos y monitorizar eventos relacionados con el sistema de seguridad. El registro permite identificar fallos de seguridad y determinar la extensión de los daños, si se han producido.

 



Pagina Principal | | ©2005 Universidad Tecnologica de Panama |