miércoles, 24 de noviembre de 2010

Unidad nº4.3: Seguridad, protección y diseño de soluciones

Respaldo y recuperación de información

Backup y Copia de Seguridad

Hacer una copia de seguridad,copia de respaldo o simplemente respaldo ( backupen inglés) consiste en guardar en un medio extraíble (para poder guardarlo en lugar seguro) la información sensible referida a un sistema. Esta se puede realizar tanto en computadores personales como en servidores.

Este medio puede ser un disco duro externo, un CD-ROM grabable o una copia de seguridad  en un disco particionado. La copia de seguridad puede realizarse solo de los datos (bases de datos , correo electrónico , carpetas compartidas en un servidor de archivos) pero también de archivos que formen parte del sistema operativo .

Las copias de seguridad en un sistema informático tienen por objetivo el mantener cierta capacidad de recuperación de la información ante posibles pérdidas. Esta capacidad puede llegar a ser algo muy importante, incluso crítico, para las empresas. Se han dado casos de empresas que han llegado a desaparecer ante la imposibilidad de recuperar sus sistemas al estado anterior a que se produjese un incidente de seguridad grave.




Típicamente las copias de seguridad  CDs o pueden realizarse a un centro de respaldo remoto. Todo dependerá de la escala a la que se trabaje, ya sea un PC doméstico o un enorme sistema centralizado de una gran empresa o un organismo público.
La primera diferenciación básica entre copias de seguridad está entre las copias de seguridad del sistema y de los datos.
Las copias de seguridad del sistema tienen por objeto el mantener la capacidad poder re-arrancar el sistema informático tras un desastre. Esta contendrá la copia de los ficheros del software de base y del software de aplicación.
Las copias de seguridad de los datos , las más importantes al fin y al cabo, tienen por objeto mantener la capacidad de recuperar los datos perdidos tras un incidente de seguridad. 

Recuperación de Datos e Información 

Se trata de operaciones informáticas orientadas a la recuperación de información de una colección de documentos. La recuperación de documentos tiene como objetivo satisfacer la necesidad de información de un usuario, normalmente expresada en lenguaje natural.

Esta recuperación puede darse en distintos tipos de sistemas de almacenamiento : Recuperación de datos informáticos , Recuperación de Discos Rígidos , Recuperación de Raid de Discos Rígidos , Recuperación de Zip, CD, DVD, MemoryCard.

La perdida de datos puede ser ocasionada por diferentes causas como daño físico del dispositivo de almacenamiento, borrado accidental, fallos del sistema, ataques de virus y hackers.

Recursos para la administración eficiente de un sistema computacional
  
1. Administración de equipos 

Administración de equipos es un conjunto de herramientas administrativas de Windows que puede utilizar para administrar un equipo local o remoto. Las herramientas están organizadas en una única consola, que facilita la presentación de las propiedades administrativas y el acceso a las herramientas necesarias para realizar las tareas de administración de equipos.

La consola Administración de equipos
La consola Administración de equipos consta de una ventana divida en dos paneles. En el panel izquierdo aparece el árbol de consola y el derecho muestra los detalles. Al hacer clic en un elemento del árbol de consola, la información acerca del elemento se muestra en el panel de detalles. La información que se muestra es específica del elemento seleccionado.
Las herramientas administrativas de Administración de equipos se agrupan en las tres categorías siguientes en el árbol de consola:
  • Herramientas del sistema
  • Almacenamiento
  • Servicios y Aplicaciones


Cada categoría incluye varias herramientas o servicios.
Herramientas del sistema
  • Visor de sucesos
Utilice la herramienta Visor de sucesos para administrar y ver sucesos grabados en los registros de Aplicación, Seguridad y Sistema. Puede supervisar los registros para hacer un seguimiento de los sucesos de seguridad e identificar posibles problemas de software, hardware o de sistema.
  • Carpetas compartidas
Utilice la carpeta Herramientas compartidas para ver las conexiones y los recursos que hay en uso en el equipo. Es posible crear, ver y administrar recursos compartidos; ver las sesiones y los archivos abiertos, y cerrar archivos y desconectar sesiones.
  • Usuarios locales y grupos
Utilice la herramienta Usuarios locales y grupos para crear y administrar las cuentas de usuarios locales y grupos. Usuarios locales y grupos sólo está disponibles en Windows XP Professional.
  • Registros y alertas de rendimiento Utilice la herramienta Registros y alertas de rendimiento para configurar las alertas y los registros de rendimiento con el fin de supervisar y recopilar datos acerca del rendimiento del equipo. 

  • Administrador de dispositivos
Utilice el Administrador de dispositivos para ver los dispositivos hardware instalados en el equipo, actualizar los controladores de dispositivo, modificar la configuración de hardware y solucionar conflictos con los dispositivos.

Almacenamiento
  • Medios de almacenamiento extraíbles
Utilice la herramienta Medios de almacenamiento extraíbles para hacer un seguimiento de los medios de almacenamiento extraíbles y administrar las bibliotecas (o sistemas de almacenamiento de datos) que los contienen.
  • Desfragmentador de disco
Utilice la herramienta Desfragmentador de disco para analizar y desfragmentar volúmenes del disco duro.
  • Administración de discos
Utilice la herramienta Administración de discos para realizar tareas relacionadas con el disco, como convertir discos o crear y formatear volúmenes. Administración de discos permite administrar discos duros y las particiones o los volúmenes que contienen.
Servicios y Aplicaciones
  • Servicios Utilice Servicios para administrar los servicios en equipos locales y remotos. Puede iniciar, detener, pausar, reanudar o deshabilitar los servicios.
  • Control WMI Utilice Control WMI para configurar y administrar el servicio Instrumental de administración de Windows (WMI).
  • Servicio de Index Server Utilice Servicio de Index Server para administrar el Servicio de Index Server, y para crear y configurar catálogos adicionales para almacenar información de índice.
Cómo utilizar Administración de equipos en el equipo local
Se debe haber iniciado sesión como Administrador o como un miembro del grupo Administradores para poder ver y modificar la mayoría de propiedades y realizar la mayor parte de tareas de administración de equipos.
  
Orígenes de datos ODBC


Uso del Administrador de orígenes de datos ODBC

¿Para qué sirve la ficha DSN de usuario?
 Esta ficha sirve para agregar, eliminar o configurar orígenes de datos con nombres de origen de datos (DSN) de usuario. Estos orígenes de datos son locales respecto al equipo y sólo puede obtener acceso a ellos el usuario actual.
  
Visor de eventos

Es cualquier evento significativo del sistema o de un programa que requiere que se notifique a los usuarios o que se agregue una entrada a un registro. El servicio Registro de eventos graba eventos de aplicación, de seguridad y de sistema en el Visor de eventos. Con los registros de eventos del Visor de eventos puede obtener información acerca de los componentes de hardware, software y sistema, y supervisar los eventos de seguridad de un equipo local o remoto. Los registros de eventos pueden ayudar a identificar y diagnosticar el origen de los problemas actuales del sistema o a predecir posibles problemas del sistema.


Consola de rendimiento

En los casos que el administrador de tareas, no es una herramienta que cumpla con lo necesario para determinar alguna falla o para indicar que óptimo o no óptimo resulta un determinado recurso, Windows XP ofrece la posibilidad de utilizar la Consola de Rendimiento, la cual permite manejar múltiples analizadores que ofrecen información excesivamente detallada sobre una enorme cantidad de elementos posibles a monitorear. Para ejecutarla, escribimos en la línea de comandos: PERFMON.MSC.
La barra de herramientas, permite controlar al monitor del sistema permitiendo modificar los gráficos, reiniciar los contadores o agregar y quitar contadores.
Si seleccionamos agregar un controlador, nos daremos cuenta de que existen una gran cantidad, pero no nos dejemos impresionar tan rápidamente, ya que la cantidad de contadores está en función al del objeto seleccionado, el cual, al principio es el Procesador, pero si desplegamos, la lista parece innumerable.
Cada contador tiene la posibilidad de utilizar un botón EXPLICAR que se encuentra en la parte inferior al contador seleccionado, lo que permite darnos una idea de para qué puede servir dicho contador.
Además de poder monitorear nuestro propio equipo, podemos hacerlo con un equipo remoto.
Utilizando esta herramienta, podremos darnos cuenta perfectamente de cuáles son los factores que modifican el Rendimiento del Sistema.


viernes, 15 de octubre de 2010

Unidad nº4.2: Seguridad, protección y diseño de soluciones

Validación y Contraseñas

Uno de los casos es cuando se crea una aplicación afiliada para SSO (Single sign-on, es un procedimiento de autenticación que habilita al usuario para acceder a varios sistemas con una sola instancia de identificación) iniciado por host. La validación de contraseña de usuarios ajenos a Windows está habilitada de forma predeterminada. Esto significa que, cuando las aplicaciones llaman a SSO para obtener el token de usuario de Windows y tener acceso a los recursos, deben facilitar la contraseña y la cuenta de usuario ajeno a Windows. Si esta contraseña no coincide con la contraseña de usuario ajeno a Windows almacenada en la base de datos de SSO, se denegará el acceso. En caso necesario, la característica de validación de contraseña se puede deshabilitar para la aplicación afiliada. La característica de validación de contraseña se utiliza para las aplicaciones afiliadas de SSO iniciado por host, tanto de grupo de host como individuales.

 Amenazas que puede sufrir un sistema computacional

Estos fenómenos pueden ser causados por:
  • El usuario: causa del mayor problema ligado a la seguridad de un sistema informático (porque no le importa, no se da cuenta o a propósito).
  • Programas maliciosos: programas destinados a perjudicar o a hacer un uso ilícito de los recursos del sistema. Es instalado (por inatención o maldad) en el ordenador abriendo una puerta a intrusos o bien modificando los datos. Estos programas pueden ser un virus informático, un gusano informático, un troyano, una bomba lógica o un programa espía o Spyware..
  • Un intruso: persona que consigue acceder a los datos o programas de los cuales no tiene acceso permitido (cracker, defacer, script kiddie o Script boy, viruxer, etc.).
  • Un siniestro (robo, incendio, inundación): una mala manipulación o una malintención derivan a la pérdida del material o de los archivos.
  • El personal interno de Sistemas. Las pujas de poder que llevan a disociaciones entre los sectores y soluciones incompatibles para la seguridad informática.
Tipos de amenaza
El hecho de conectar una red a un entorno externo nos da la posibilidad de que algún atacante pueda entrar en ella, con esto, se puede hacer robo de información o alterar el funcionamiento de la red. Sin embargo el hecho de que la red no sea conectada a un entorno externo no nos garantiza la seguridad de la misma. De acuerdo con el Computer Security Institute (CSI) de San Francisco aproximadamente entre 60 y 80 por ciento de los incidentes de red son causados desde adentro de la misma. Basado en esto podemos decir que existen 2 tipos de amenazas:
  • Amenazas internas: Generalmente estas amenazas pueden ser más serias que las externas por varias razones como son:
-Los usuarios conocen la red y saben cómo es su funcionamiento.
-Tienen algún nivel de acceso a la red por las mismas necesidades de su trabajo.
-Los IPS y Firewalls son mecanismos no efectivos en amenazas internas.

Esta situación se presenta gracias a los esquemas ineficientes de seguridad con los que cuentan la mayoría de las compañías a nivel mundial, y porque no existe conocimiento relacionado con la planeación de un esquema de seguridad eficiente que proteja los recursos informáticos de las actuales amenazas combinadas.
El resultado es la violación de los sistemas, provocando la pérdida o modificación de los datos sensibles de la organización, lo que puede representar un daño con valor de miles o millones de dólares.
  • Amenazas externas: Son aquellas amenazas que se originan de afuera de la red. Al no tener información certera de la red, un atacante tiene que realizar ciertos pasos para poder conocer qué es lo que hay en ella y buscar la manera de atacarla. La ventaja que se tiene en este caso es que el administrador de la red puede prevenir una buena parte de los ataques externos.
Virus, hackers, crackers, caballos de troya, gusanos, Trap Doors

Virus :En informática, pequeño software que al igual que un virus biológico, infecta a una computadora y se propaga en ella con diversos propósitos como daño, robo de información, molestia, etc. y por lo general intenta pasar desapercibido por el usuario el mayor tiempo posible. Los virus se incluyen dentro de los malwares (programas malignos).



El contagio por un virus suele producirlo el mismo usuario al ejecutar un programa que está infectado y toma los servicios básicos del sistema operativo para lograr sus objetivos. Suele quedar residente en memoria.
Lo más habitual es que los virus permanezcan ocultos en archivos del tipo ejecutable (.exe y .com), pero pueden existir en otros formatos.
Los programas que protegen, detectan y eliminan virus y programas afines son llamados antivirus.


Hacker: Usuario de ordenadores especializado en penetrar en las bases de datos de sistemas informáticos estatales con el Fin de obtener información secreta. En la actualidad, el término se identifica con el de delincuente informático, e incluye a los cibernautas que realizan operaciones delictivas a través de las redes de ordenadores existentes. (Ver: Pirata Informático).
Tradicionalmente se considera Hacker al aficionado a la informática cuya afición es buscar defectos y puertas traseras para entrar en los sistemas. Para los especialistas, la definición correcta sería: experto que puede conseguir da un sistema informático cosas que sus creadores no imaginan.




 Encriptación de datos



Una de las técnicas de encriptación de datos es la criptografía que altera las representaciones lingüísticas de un  mensaje.
La criptografía trata de enmascarar las representaciones caligráficas de una lengua, en donde el más común es el cifrado. Esta técnica enmascara las referencias originales de la lengua por un método de conversión gobernado por un algoritmo que permita el proceso inverso o descifrado de la informacion. El uso de esta u otras técnicas, permite un intercambio de mensajes que sólo puedan ser leídos por los destinatarios designados como 'coherentes'. Un destinatario coherente es la persona a la que el mensaje se le dirige con intención por parte del remitente. Así pues, el destinatario coherente conoce el discretismo usado para el enmascaramiento del mensaje. Por lo que, o bien posee los medios para someter el mensaje criptográfico al proceso inverso, o puede razonar e inferir el proceso que lo convierta en un mensaje de acceso público.
 En la jerga de la criptografía, la información original que debe protegerse se denomina texto en claro . El cifrado es el proceso de convertir el texto plano en un galimatías ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicación concreta del algoritmo de cifrado (también llamado cifra) se basa en la existencia de una clave: información secreta que adapta el algoritmo de cifrado para cada uso distinto. Cifra es una antigua palabra arábiga para designar el número cero; en la Antigüedad, cuando Europa empezaba a cambiar del sistema de numeración romano al arábigo, se desconocía el cero, por lo que este resultaba misterioso, de ahí probablemente que cifrado signifique misterioso.



La máquina alemana de cifrado Lorenz, usada en la Segunda Guerra Mundial para el cifrado de los mensajes para los generales de muy alto rango.



  Seguridad contra accesos no autorizados


Según los autores chilenos Marcelo Huerta y Claudio Líbano, consiste en acceder de manera indebida, sin autorización o contra derecho a un sistema de tratamiento de la información, con el fin de obtener una satisfacción de carácter intelectual por el desciframiento de los códigos de acceso o passwords, no causando daños inmediatos y tangibles en la víctima, o bien por la mera voluntad de curiosear o divertirse de su autor.
Se conoce como `Hacker´, término de origen inglés, a los autores de estas acciones de violación de programas y sistemas supuestamente considerados impenetrables.
El hacker no se conforma con una conducta inicial de acceso no autorizado al sistema. Puede derivar eventualmente a acciones de:
a) sabotaje informático, que consiste en borrar, suprimir o modificar sin autorización funciones o datos de computadora con intención de obstaculizar el funcionamiento normal del sistema
b) fraude informático que supone el cambio de datos o informaciones contenidas en la computadora en cualquier fase de su procesamiento o tratamiento informático, en el que media ánimo de lucro y genera perjuicio a terceros.
c) espionaje informático o fuga de datos que consiste en obtener no autorizadamente datos almacenados en un fichero automatizado, en virtud de lo cual se produce la violación de la reserva o secreto de información de un sistema de tratamiento automatizado de la misma.
Entre los diferentes métodos preferidos se pueden encontrar
* Puertas falsas. Consiste en aprovechar los accesos o “puertas de entrada” que sirven para hacer la revisión o la recuperación de información en caso de errores del sistema
* Llave maestra (Superzapping). Es el uso no autorizado de programas para modificar, destruir, copiar, insertar, utilizar o impedir el uso de datos archivados en un sistema informático. El nombre proviene de un programa de utilidad que se llama superzap, que permite abrir cualquier archivo de una computadora aunque se halle protegido por medidas de seguridad.
* Pinchado de líneas. Se realiza a través de la interferencia de las líneas telefónicas o telemáticas a través de las cuales se transmiten las informaciones procesadas en las bases de datos informáticas.
Algunas de las herramientas de software comúnmente utilizadas son:
Sniffers : Programas encargados de interceptar la información que circula por la red. Por ejemplo: Cuando un usuario entra en un sistema, tiene que dar login y clave de acceso. Estos datos viajan para ser comprobados con el fichero password y ahí es donde el sniffer actúa: intercepta estos datos y los guarda en un fichero para su utilización posterior de forma fraudulenta.
Rootkits : Es un programa que se encarga de borrar o enmascarar las huellas dejadas después de introducirse en un sistema. Estas huellas se encuentran en los ficheros guardando todas las operaciones hechas por un usuario (entrar, salir, ejecutar un programa, etc.).
TroyanHorse : Programa que se queda residente en el sistema que se pretende sabotear pudiendo, facilitar información sobre lo que pasa en él, o ejecutar cambios sin que el usuario lo detecte. El popularmente llamado “troyano” se utiliza para introducir otras formas de ataques, como los virus y las bombas lógicas. Es uno de lomas difundidos, sirviendo para oscuros propósitos como el tomar el control de una computadora remota, sin el consentimiento de su dueño.
Gusanos y virus : El virus es un es un segmento de programa de computación capaz de cambiar la estructura del software del sistema y destruye o altera datos o programas u otras acciones nocivas, con o sin el conocimiento del operador. La diferencia entre el virus, conocido por todos, y los gusanos, es que éstos últimos son programas que se duplican ellos solos en un ordenador o en toda una red. 

 
Satan (Security AdministratorToolforAnalysing Networks) : Programa que analiza una red determinada y detecta sus debilidades en seguridad, como la vulnerabilidad de un host (ordenador servidor de Internet) y de todas las máquinas conectadas a él vía Internet.


Seguridad física y lógica 

Seguridad Física, este concepto hace referencia a la protección frente a las amenazas físicas de las instalaciones, equipos, datos, software de base y aplicativos, personal y documentación fundamentalmente. Para ello se recomienda realizar un diseño de las instalaciones, restricción de acceso de personal al área de sistemas, implementar un plan de Backup para los datos, etc.La seguridad externa consiste en seguridad física y seguridad de operación. La seguridad física incluye laprotección contra desastres y la protección contra intrusos. Los mecanismos de detección sonimportantes para la seguridad física. Los detectores de humo y los sensores de calor puedenproporcionar un aviso temprano en caso de incendio; los detectores de movimiento pueden determinar siha entrado un intruso en una instalación de cómputo.
Poner en práctica la protección contra desastres puede resultar costoso y a menudo se trata condemasiada ligereza, pero es obvio que la necesidad de este tipo de protección depende de lasconsecuencias de una pérdida. La mayoría de las organizaciones sencillamente no pueden darse el lujode un plan minucioso para protección contra desastres, por lo que las principales labores en cuanto aseguridad física se encaminan hacia el rechazo de intrusos. Para dicho propósito, las instalacionesutilizan diversos tipos de sistemas de identificación física, como por ejemplo, las credenciales con firmas,o fotografías, o bien, las dos cosas. Los sistemas de huellas dactilares o de patrón de voz también gozande popularidad.

Seguridad Lógica, básicamente es la protección de la información, en su propio medio contra robo o destrucción, copia o difusión. Para ellos puede usarse la Criptografía, Firma Digital, Administración de Seguridad y limitaciones de Accesibilidad a los usuarios, más adelante veremos estos conceptos en profundidad.

jueves, 30 de septiembre de 2010

Unidad nº4.1: Seguridad, protección y diseño de soluciones


SEGURIDAD y PROTECCION EN SISTEMAS OPERATIVOS DE PROPOSITO GENERAL 

Un sistema operativo puede dar soporte de ejecución a múltiples procesos de múltiples usuarios, que ejecutan de manera concurrente. Por ello, una de las funciones principales del sistema operativo es proteger los recursos de cada usuario para que pueda ejecutar en un entorno seguro. Donde los mecanismos permiten controlar el acceso a los objetos del sistema permitiéndolo o denegándolo sobre la base de información tal como la identificación del usuario, el tipo de recurso, la pertenencia del usuario a cierto grupo de personas, las operaciones que puede ,hacer el usuario o el grupo con cada recurso, etc. 

MECANISMOS Y POLÍTICAS

La función de la protección en un sistema computacional es la de proveer un mecanismo para la aplicación de políticas que gobiernen el uso de los recursos. Estas políticas pueden ser establecidas de varias maneras. Algunas son fijadas durante el diseño del sistema, mientras que otras son formuladas como parte de la administración en la ejecución del sistema. Algunas otras son definidas por usuarios individuales para proteger sus archivos y programas. Un sistema de protección debe tener la flexibilidad para aplicar las políticas que sean declaradas para ello.

Las políticas para el uso de recursos puede variar, dependiendo de la aplicación y pueden estar sujetas a cambios. Por estas razones, la protección no puede ser considerada como un problema que solamente concierne al diseñador de un Sistema Operativo, sino que debe considerarse, como una herramienta para los programadores de aplicaciones, de manera que los recursos creados y soportados por un subsistema de aplicación, puedan ser protegidos contra el mal uso.

Un principio importante es la separación entre política y mecanismo. Los mecanismos determinan como será realizado algo. En contraste, las políticas deciden que es lo que se realizará. Es posible que las políticas cambien de lugar en lugar o de tiempo en tiempo. En el peor de los casos, cada cambio en la política requerirá un cambio en el subyacente mecanismo.

Dominios de protección

Cada proceso opera dentro de su dominio de protección, que indica las operaciones que el proceso puede hacer sobre un determinado conjunto de objetos. La habilidad de un proceso de ejecutar una operación sobre un objeto se denomina derecho (acces right). Un dominio es un conjunto de derechos cada uno de los cuales es un par ordenado <objeto, lista de derechos>
- Un dominio puede estar definido de varias formas:
- Un usuario es un dominio. El conjunto de objetos que pueden ser accedidos dependen de la identidad del usuario.
- Un proceso es un domino. El conjunto de objetos que pueden ser accedidos dependen de la identidad del proceso.
- Un procedimiento es un dominio.

Un sistema computacional es una colección de procesos y objetos. Los objetos involucran tanto  hardware (como CPU, segmentos de memoria, impresoras, etc.) y software (como archivos, programas, etc.). Cada objeto tiene un nombre único que lo diferencia de los demás objetos del sistema y cada una puede ser tener acceso solamente mediante operaciones bien definidas. Los objetos son esencialmente tipos de datos abstractos. Las posibles operaciones que realice un objeto, dependen de él mismo y sus características.
Por ejemplo, un CPU se utiliza solo para ejecución; en los segmentos de memoria se puede leer o escribir; los archivos de datos pueden ser creados, abiertos, escritos, leídos, cerrados y borrados; un archivo de programa puede ser leído, escrito, ejecutado y borrado.
Obviamente, un proceso tendrá permitido tener acceso solamente a aquellos recursos que está autorizado a tener acceso solamente a aquellos recursos que está autorizado a accesar. Además, en un momento dado podrá tener acceso a aquellos recursos que requiera para realizar su tarea. Este requerimiento comúnmente llamado el principio "Need_To_Know" es útil en la limitación de la cantidad de daño que un proceso defectuoso pueda causar al sistema.

MATRICES DE PROTECCIÓN 

La relación entre dominios y objetos se puede definir de forma completa mediante 6ba matriz de protección, también denominada de acceso.El modelo de protección puede ser visto mediante una matriz de acceso. Las filas representan dominios y las columnas representan objetos. Las entradas de la matriz representan el conjunto de derechos para el objeto en cuestión, para determinado dominio.

El elemento (i, j) expresa las operaciones que el dominio i ; puede ejecutar sobre el objeto j. Si la matriz de protección esta completamente definida, los mecanismos de protección pueden saber siempre qué hacer cuando un proceso de un dominio solicita determinada operación sobre un objeto.
El modelo de matriz de protección, derivado del modelo teórico HRU punto devista conceptual, pero tiene inconvenientes para su implementación:
  • La matriz de un sistema complejo puede ser muy grande y muy dispersa.
  • Una matriz tiene un número fijo de filas (dominios) y columnas (objetos), lo que es muy poco flexible para sistemas cuyo número de dominios u objetos puede cambiar.
Para resolver estos problemas, la mayoría de los sistemas operativos implementan la matriz mediante estructuras dinámicas de datos (listas) a las que se puede añadir o quitar elementos sin tener que redefinir ninguna estructura de datos del sistema operativo. Para la implementación de la matriz mediante elementos dinámicos, los sistemas operativos usan dos enfoques: 

*Almacenar la matriz por columnas, con una lista por objeto que especifica qué operaciones puede hacer cada dominio sobre ese objeto. La lista resultante se denomina lista de control de acceso (ACL, Acces Control List). 

*Almacenar la matriz por filas, con una lista por dominio que especifique qué operaciones se pueden hacer sobre un objeto cuando se pertenece a ese dominio. La lista resultante se denomina lista de capacidades (capabilities).     

Listas de acceso para objetos (ACL)


Almacena la matriz por columnas. Asocia a cada objeto una lista ordenada de pares <dominio, conjunto_derechos>

- Ventaja: Fácil agrupar dominios
- Problema: Saber para un dominio dado, su conjunto
de <objeto, conjunto_derechos>


Cada columna de la matriz implementa una lista de acceso para cada objeto
         A cada archivo y directorio se le asignan un propietario, un grupo o posiblemente una lista de usuarios y para cada una de estas entidades se asigna una información de control de acceso.
          Un privilegio es el derecho de ejecutar una llamada al sistema o a usar una opción dentro de dicha llamada (abrir un archivo con acceso a escritura).
          A los usuarios se les asigna roles (adoptan roles) basándose en contraseñas  asignadas a los roles.
          Un usuario puede adoptar un rol que activa un privilegio, permitiendo al usuario ejecutar un programa para llevar a cabo una tarea específica.


 Listas de capacidades para dominios

Almacena la matriz por filas. Asocia a cada dominio una lista ordenada
de pares <objeto, conjunto_derechos>

- Cada elemento se denomina capacidad
- La listas de capacidades deben protegerse por el SO
- Cada fila de la matriz se implementa Lista de capacidades para cada dominio
- Una capacidad es un objeto que contiene los derechos de acceso a un objeto
- Una capacidad se representan usualmente como un puntero o dirección
- Posecion de la capacidad habilita el acceso
- Una capacidad generalmente no es accesible por el proceso q ue se ejecuta en el dominio (es un objeto protegido)

Mecanismo llave/cerradura 

Tambien se le dice protección por contraseña.

- Cada objeto tiene una lista de patrones de bits únicos
(cerrojos), y cada dominio otra lista (llaves)
- Un proceso en un dominio puede acceder a un objeto
si tiene una llave que se corresponde con uno de los
cerrojos del objeto

Hay tres clases de elementos para la verificación de autenticidad con los cuales puede establecerse la
identidad de un usuario de un sistema:
·  Algo característico de la persona. Esto incluye huellas dactilares, patrones de voz, fotografías y
firmas.
·  Algo que posee la persona. Esto incluye credenciales, tarjetas de identificación y claves.
·  Algo que sabe la persona. Esto incluye contraseñas y combinaciones de candados.
El esquema más común para la verificación de autenticidad es la simple protección por contraseña
utilizando una matriz de accesos sobre dominios de protección. El usuario escoge una palabra clave, la
memoriza y después la teclea para obtener acceso a un sistema de cómputo. La mayor parte de los
sistemas suprimen la impresión o despliegue de la contraseña mientras se teclea.

Pero la protección por contraseña tambien tiene puntos debilescomo, por ejemplo, cuando las contraseñas son muy faciles como los datos de familia, de esa forma seria muy facil para otros decifrarla, tambien en casos de que sean muy largas el usuario tenderia a anotarlas en algun lado siendo que tambien se podria tomar poseción de dicha contraseña. Y en cuanto a defensa contra esto se hizo  el bloqueo de intentos repetitivos los cuales les da a los usuarios un numero limitado de intentos a escribir la contraseña correcta y en el caso de fallarlas se detecta el intento de adivinar la contraseña.
La penetración de las defensas de un sistema operativo no resulta por fuerza un peligro significativo para
la seguridad. Por ejemplo, supóngase que alguien logra obtener acceso a la lista maestra de
contraseñas de un sistema. En general, esto significaría que el intruso podría obtener acceso a cualquier
información en el sistema. Para lograr que las contraseñas resulten inútiles para un intruso, se puede
usar el ciframiento. Así, la posesión de las contraseñas servirá de poco a menos que la persona cuente
también con la clave de desciframiento. Se recomienda a los usuarios cambiar sus contraseñas con
frecuencia; de este modo, aunque un intruso obtenga una contraseña, ésta podría haber cambiado antes
de que él logre hacer un verdadero daño.


Autenticación y autorización

Una de las mejores maneras de tener protegido un sistema es a travez de la autenticación y la autorización de usuarios.
La autenticación generalmente se da a través de esquemas de contraseñas , las cuales si no cuentan con una política robusta de generación y mantenimiento se vuelven fácilmente vulnerables.

* Se basa en uno o mas de tres aspectos:
     Posesión del Usuario (una llave o tarjeta).
     Conocimiento del Usuario (Contraseña).
     Atributo del usuario (Huella digital, firma).

CONTRASEÑAS:

     Son las más comunes.
     Protegen objetos en el sistema de cómputo, en ausencia de esquemas de protección más complejos.
     Se puede asociar una contraseña para cada recurso.
     Pueden estar asociadas con diferentes derechos de acceso.(Leer, anexar, actualizar).
     Son muy comunes, debido a que son fáciles de entender y usar.
     Dificultad de mantenerlas secretas.
     Se adivinan, se divulgan accidentalmente o se transfieren ilegalmente de un usuario autorizado a uno no autorizado.
     Biometricas: muy segura, pero limitada y costosa
     Basada en tokens: segura pero costosa
     Criptografia: arte de cifrar la información, lo más usado en sistemas distribuidos

* Se adivinan, se divulgan accidentalmente o se transfieren ilegalmente de un usuario autorizado a uno no autorizado.


  Un esquema  de autenticación seguro es kerberos, el cual se utiliza para autenticar el uso de servicios NFS, etc.
  Kerberos se basa en un esquema de boletos entregados para la autenticación y de dos llaves secretas una dada por kerberos  y otra por los usuarios para entrar al sistema.

CONTASEÑAS CIFRADAS

* Sistema Unix hace uso del cifrado para evitar la necesidad de mantener en secreto su lista de contraseñas.
* El sistema contiene una función: Dado un valor x, es fácil calcular el valor de la función f(x) , pero dado un valor f(x), es imposible calcular x.
* Sólo las contraseñas codificadas se almacenan.
* Deficiencia: El sistema ya no tiene control sobre las contraseñas.
* Buena Técnica: Generar contraseña utilizando la primera letra de cada palabra de una frase fácil de recordar, utilizando mayúsculas y minúsculas, insertando números o un signo de puntuación.

CONTRASEÑAS DE USO ÚNICO

* Conjunto de contraseñas pares.
* Un usuario teclea una contraseña, pero cualquier entidad que intercepte y trate de volver a utilizar dicha contraseña fracasa.
* Impiden una autenticación incorrecta debida a una exposición de la contraseña.
* Libro de códigos: Cada contraseña de la lista se utiliza, en orden, una vez, y luego se tacha y se borra.