sábado, 2 de junio de 2012

Sistemas de proteccion


4.1.- Concepto y objetivos de protección
Los mecanismos de protección proporcionan un acceso controlado limitando los tipos de acceso a archivos que los diferentes usuarios pueden efectuar. También se requiere protección para asegurar que sólo los procesos que hayan obtenido la autorización debida del sistema operativo puedan operar no sólo con los archivos sino también con los segmentos de memoria, UCP y otros recursos.
La protección se proporciona con un mecanismo que controla el acceso de los programas, proceso o usuarios a los recursos definidos por el sistema que se impondrán, y hacer cumplir las restricciones.
El sistema de seguridad impide el acceso no autorizado a un sistema, que podría dar pie a la destrucción o alteración mal intencionada de los datos. La seguridad se encarga de validar a los usuarios del sistema para proteger la integridad de la información almacenada en el sistema, así como los recursos físicos del sistema de computación

4.2.-Funciones y sistemas de protección
Dado que los sistemas de computo se han venido haciendo cada vez más sofisticados en sus aplicaciones, la necesidad de proteger su integridad, también ha crecido. Los aspectos principales de protección en un Sistema Operativo son:
1. Protección de los procesos del sistema contra los procesos de usuario.
2. Protección de los procesos de usuario contra los de otros procesos de usuario.
3. Protección de Memoria.
4. Protección de los dispositivos.

4.3.-Implementacion de matrices de seguridad

¿Qué es el Dominio de Protección?
Un sistema computacional esta compuesto por procesos y objetos, los Objetos involucran Hardware y Software, cada objeto tiene un nombre único que lo diferencia y cada objeto puede ser accesado solamente mediante operaciones bien definidas.
Ejemplo:
El CPU se utiliza solamente para ejecución.
Los segmentos de memoria se pueden leer y escribir.
Un archivo puede ser leído, escrito, ejecutado y borrado.
La cambinación de valores de cada grupo de los usuarios forma un número octal, el bit x es 20 es decir 1, el bit w es 21 es decir 2, el bit r es 22 es decir 4, tenemos entonces:
  • r = 4
  • w = 2
  • x = 1
La combinación de bits encendidos o apagados en cada grupo da ocho posibles combinaciones de valores, es decir la suma de los bits encendidos:

- - -
= 0
no se tiene ningún permiso
- - x
= 1
solo permiso de ejecución
- w -
= 2
solo permiso de escritura
- w x
= 3
permisos de escritura y ejecución
r - -
= 4
solo permiso de lectura
r - x
= 5
permisos de lectura y ejecución
r w -
= 6
permisos de lectura y escritura
r w x
= 7
todos los permisos establecidos, lectura, escritura y ejecución

Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes son los permisos para el grupo del archivo y los tres últimos son los permisos para el resto del mundo o otros.

rwx       rwx     rwx

usuario   grupo   otros

Otras fuentes de información:

·          http://www.linuxtotal.com.mx/index.php?cont=info_admon_011

4.4.-Proteccion basada en aplicaciones nativas y comerciales

La protección que se ofrece en los sistemas de computación existentes casi siempre se ha logrado con la ayuda del núcleo de un sistema operativo, que actúa como agente de seguridad que inspecciona y valida cada intento por acceder a un recurso protegido. Puesto que la validación de todos los accesos puede dar pie a un gasto extra considerable, debemos apoyarla con hardware para reducir el costo de cada validación o bien debemos aceptar que el diseñador del sistema podría inclinarse por sacrificar los objetivos de la protección. Es difícil satisfacer todos estos objetivos si los mecanismos de soporte con que se cuenta restringen la flexibilidad para implementar diversas políticas de protección.
A medida que ha aumentado la complejidad de los sistemas operativos, sobre todo al trata de ofrecer interfaces de más alto nivel con el usuario, lo objetivos de la protección se han vuelto mucho más refinados. En esta refinación observamos que los diseñadores de los diseñadores de los sistemas de protección se han apoyado mucho en ideas que se originaron en los lenguajes de programación y especialmente en los conceptos de tipos de datos abstractos y objetos. Los sistemas de protección ahora se ocupan no sólo de la identidad de un recurso al cual se intenta acceder, sino también de la naturaleza funcional de ese acceso. En los sistemas de protección más nuevos, el interés en la función que se invocará se extiende más allá de un conjunto de funciones definidas por el sistema, como los métodos de acceso a archivos estándar, para incluir funciones que también podrían ser definidas por el usuario.
Las políticas para el uso de recursos también podrían variar, dependiendo de la aplicación, y podrían cambiar con el tiempo. Por estas razones, la protección ya no puede considerarse como un asunto que sólo concierne al diseñador de un sistema operativo; también debe estar disponible como herramienta que el diseñador de aplicaciones pueda usar para proteger los recursos de un subsistema de aplicación contra intervenciones o errores.
Aquí es donde los lenguajes de programación entran en escena. Especificar el control de acceso deseado a un recurso compartido en un sistema es hacer una declaración acerca del recurso. Este tipo de declaración se puede integrar en un lenguaje mediante una extensión de su mecanismo de tipificación. Si se declara la protección junto con la tipificación de los datos, el diseñado de cada subsistema puede especificar sus necesidades de protección así debería darse directamente durante la redacción del programa, y en el lenguaje en el que el programa mismo se expresa. Este enfoque tiene varias ventajas importantes:
1. Las necesidades de protección se declaran de forma sencilla en vez de programarse como una secuencia de llamadas a procedimientos de un sistema operativo. 2. Las necesidades de protección pueden expresarse independientemente de los recursos que ofrezca un sistema operativo en particular. 3. El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer cumplir la protección. 4. Una notación declarativa es natural porque los privilegios de acceso están íntimamente relacionados con el concepto lingüístico de tipo de datos.
Hay diversas técnicas que una implementación de lenguaje de programación puede utilizar para hacer cumplir la protección, pero cualquiera de ellas deberá depender hasta cierto punto del grado de soporte de una máquina subyacente y su sistema operativo.
¿Qué ventajas relativas tiene entonces el cumplimiento basado exclusivamente en un núcleo, en comparación con el cumplimiento forzado en gran medida por un compilador?
• Seguridad: La obligación del cumplimiento por un núcleo ofrece un mayor grado de seguridad del sistema de protección mismo, que el que ofrece la generación de código de verificación de protección por un compilador. En un esquema apoyado por compilador, la seguridad depende de lo correcto que sea el traductor, de algún mecanismo subyacente de gestión de almacenamiento que proteja los segmentos desde los cuales se ejecuta el código compilador y, en última instancia, de la seguridad de los archivos desde los que se carga el programa. • Flexibilidad: Hay límites a la flexibilidad de un núcleo de protección para implementar una política definida por el usuario, aunque podría proporcionar recursos suficientes para que el sistema haga cumplir sus propias políticas. Con un lenguaje de programación, se puede declarar la política de protección y hacerse cumplir según sea necesario en una implementación- • Eficiencia: Se logra la eficiencia máxima cuando hardware apoya directamente el cumplimiento de la protección. En la medida en que se requiera soporte de software, el cumplimiento basado en el lenguaje tiene la ventaja de que es posible verificar el cumplimiento del acceso estático fuera de línea en el momento de la compilación.
En síntesis, la especificación de la protección en un lenguaje de programación permite describir un alto nivel de políticas de asignación y uso de recursos.


4.5.-Concepto de seguridad

La seguridad está definida en el diccionario como el conjunto de medidas tomadas para protegerse contra robos, ataques, crímenes y espionajes o sabotajes. La seguridad implica la cualidad o estado de estar seguro, es decir, la evitación de exposiciones a situaciones de peligro y la actuación para quedar a cubierto frente a contingencias adversas.

El uso creciente y la confianza en los computadores en todo el mundo ha hecho surgir una preocupación legítima con respecto a la seguridad informática. El uso de los computadores ha extendido en ambientes comerciales, gubernamentales, militares e incluso en los hogares. Grandes cantidades de datos vitales sensibles se están confiando y almacenado cada vez más en computadores. Entre ellos se incluyen registros sobre individuos, negocios y diferentes registros públicos y secretos gubernamentales y militares. Grandes transacciones monetarias tienen lugar diariamente en forma de transferencia electrónicas de fondos. Más recientemente, informaciones tales como notificaciones de propiedad intelectual y datos comerciales estratégicos son también almacenados, procesados y diseminados mediante computadores. Entre ellos se incluyen diseños de ventas, contratos legales y muchos otros.

La seguridad, no solo requiere un sistema de protección apropiado, sino también considerar el entorno externo en el que el sistema opera. La protección interna no es útil si la consola del operador está al alcance de personal no autorizado, o si los archivos se pueden sacar simplemente del sistema de computación y llevarse a un sistema sin protección. Estos problemas de seguridad son esencialmente de administración, no problemas del sistema operativo.
La información almacenada en el sistema, así como los recursos físicos del sistema de computación, tienen que protegerse contra acceso no autorizado, destrucción o alteración mal intencionada, y la introducción accidental de inconsistencia.

4.6.-Clasificacion de la seguridad

Es decir que la clasificación de los sistemas de computación según sus requerimientos de la seguridad ha sido ampliamente discutida de la seguridad del sistema.
En esta clasificación especifica, hay cuatro niveles de seguridad: a, b, c y d… a continuación, se describen estos niveles de seguridad y las características de cada uno.
Nivel D es el Sistemas con protección mínima o nula no pasan las pruebas de seguridad mínima. MS-DOS y Windows 3. 1 son sistemas de nivel d. Puesto que están pensados para un sistema mono proceso y mono usuario, no proporcionan ningún tipo de control de acceso ni de separación de recursos.
Nivel C a la Capacidad discrecional para proteger recursos, La aplicación de los mecanismos de protección depende del usuario, o usuarios, que tienen privilegios sobre los mismos. Entonces esto significa que un objeto puede estar disponible para lectura, escritura o cualquier otra operación. Y entonces casi todos los sistemas operativos comerciales de propósito general, como Unix, Linux o Windows NT se clasifican en este nivel.es decir dos son:
1. Control de acceso por dominios.
2. Control de acceso individualizado.
Nivel B es el Control de acceso obligatorio en este nivel, los controles de acceso no son discrecionales de los usuarios o los dueños de los recursos, que deben existir obligatoriamente. Esto significa que todo objeto controlado debe tener protección sea del tipo que sea. Es decir que son tres y son:
1. Etiqueta de seguridad obligatoria.
2. Protección estructurada.
3. Y el dominio de seguridad.
Nivel A es el Sistemas de seguridad certificados para acceder a este nivel, la política de seguridad y los mecanismos de protección del sistema deben ser verificados y certificados por un organismo autorizado para ello.es decir dos tipos:
1. Diseño verificado.
2. Desarrollo controlado.

4.7.-Validacion y amenazas al sistema

 •  Identificar cada usuario que esta trabajando en el sistema (usando los recursos).
•  Uso de contrasenas.
•  Vulnerabilidad de contrasenas.
    • o Que sean complejas y dificiles de adivinar.
    • o Cambiarlas de vez en cuando.
    • o Peligro de perdida del secreto.
•  La contrasena debe guardare cifrada.

Proteccion por Contraseña

Las clases de elementos de autentificacion para establecer la identidad de una persona son:
Algo sobre la persona:
    • Ej.: huellas digitales, registro de la voz, fotografia, firma, etc.
  • Algo poseido por la persona:
    • Ej.: insignias especiales, tarjetas de identificacion, llaves, etc.
  • Algo conocido por la persona:
    • Ej.: contrasenas, combinaciones de cerraduras, etc.

El esquema mas comun de autentificacion es la proteccion por contrasena:
El usuario elige una palabra clave , la memoriza, la teclea para ser admitido en el sistema computarizado:
    • La clave no debe desplegarse en pantalla ni aparecer impresa.
La proteccion por contrasenas tiene ciertas desventajas si no se utilizan criterios adecuados para:
Elegir las contrasenas.
  • Comunicarlas fehacientemente en caso de que sea necesario.
  • Destruir las contrasenas luego de que han sido comunicadas.
  • Modificarlas luego de algun tiempo.
Los usuarios tienden a elegir contrasenas faciles de recordar:
Nombre de un amigo, pariente, perro, gato, etc.
  • Numero de documento, domicilio, patente del auto, etc.
Estos datos podrian ser conocidos por quien intente una violacion a la seguridad mediante intentos repetidos, por lo tanto debe limitarse la cantidad de intentos fallidos de acierto para el ingreso de la contrasena.
La contrasena no debe ser muy corta para no facilitar la probabilidad de acierto.
Tampoco debe ser muy larga para que no se dificulte su memorizacion, ya que los usuarios la anotarian por miedo a no recordarla y ello incrementaria los riesgos de que trascienda.

Contraseñas de un solo uso

•  Al final de cada sesion, se le pide al usuario que cambie la contrasena.
•  Si alguien “roba una contrasena”, el verdadero usuario se dara cuenta cuando vaya a identificarse de nuevo, pues el impostor habra cambiado la contrasena, con lo que el fallo de seguridad queda detectado.

Verificación de Amenazas

Es una tecnica segun la cual los usuarios no pueden tener acceso directo a un recurso :
Solo lo tienen las rutinas del S. O. llamadas programas de vigilancia.
  • El usuario solicita el acceso al S. O.
  • El S. O. niega o permite el acceso.
  • El acceso lo hace un programa de vigilancia que luego pasa los resultados al programa del usuario.
  • Permite:
    • Detectar los intentos de penetracion en el momento en que se producen.
    • Advertir en consecuencia.
Amenazas relacionadas con los programas

Los procesos son junto con el kernel , el unico medio de realizar un trabajo util en una computadora. Por tanto, un objetivo comun de los piratas informaticos consiste en escribir un programa que cree una brecha de seguridad. De hecho, las mayorias de las brechas de seguridad no relacionadas con programas tienen por objetivos crear una brecha que si este basada en un programa. Por ejemplo, aunque resulta util iniciar una sesion en un sistema sin autorizacion, normalmente es mucho mas util dejar un demonio de tipo puerta trasera que proporcione informacion o que permita un facil acceso incluso aunque se bloquee la brecha de seguridad original. En esta seccion, vamos a describir algunos metodos comunes mediante los que os programas pueden provocar brechas de seguridad. Hay que resaltar que existe una considerable variacion en lo que respecta a los convenios de denominacion de los agujeros de seguridad, y que en este texto utilizamos los terminos mas comunes o descriptivos

PUERTA TRASERA

En la informatica, una puerta trasera (o en ingles backdoor ), es una secuencia especial dentro del codigo de programacion mediante el programador puede acceder o escapar de un programa en caso de emergencia o contingencia en algun problema.

BOMBA LOGICA

Este tipo de delito forma parte de los sistemas informaticos que realizan ataques a la parte logica del ordenador.

Se entiendo por bomba logica (en ingles denominado time bombs), aquel software, rutinas o modificaciones de programas que producen modificaciones, borrados de ficheros o alteraciones del sistema en un momento posterior a aquel en el que se introducen por su creador.

VIRUS

Amenazas del Sistema y de la Red

Las amenazas basadas en programas utilizan tipicamente un fallo en los mecanismos de proteccion de un sistema para atacar a los programas. Por contraste, las amenazas del sistema y de la red implican el abuso de los servicios y de las conexiones de red. En ocasiones, se utiliza un ataque del sistema y de la red para lanzar un ataque de programa, y viceversa.

ESCANEO DE PUERTOS

El escaneo de puertos es una de las mas populares tecnicas utilizadas para descubrir y mapear servicios que estan escuchando en un puerto determinado. Usando este metodo un atacante puede crear una lista de las potenciales debilidades y vulnerabilidades en un puerto para dirigirse a la explotacion del mismo y comprometer el host remoto Una de las primeras etapas en la penetracion / auditoria de un host remoto es primeramente componer una lista de los puertos abiertos utilizando una o mas de las tecnicas descritas abajo.

DENEGACION DE SERVICIO

En seguridad informatica, un ataque de denegacion de servicio , tambien llamado ataque DoS (de las siglas en ingles Denial of Service ), es un ataque a un sistema de ordenadores o red que causa que un servicio o recurso sea inaccesible a los usuarios legitimos. Normalmente provoca la perdida de la conectividad de la red por el consumo del ancho de banda de la red de la victima o sobrecarga de los recursos computacionales del sistema de la victima.

OTRAS FUENTES DE INFORMACION:

·         http://sistemasoperativos.angelfire.com/html/6.7.html

4.8.-Cifrado

Concepto de Cifrado.

El cifrado es un método que permite aumentar la seguridad de un mensaje o de un archivo mediante la codificación del contenido, de manera que sólo pueda leerlo la persona que cuente con la clave de cifrado adecuada para descodificarlo. Por ejemplo, si realiza una compra a través de Internet, la información de la transacción (como su dirección, número de teléfono y número de tarjeta de crédito) suele cifrarse a fin de mantenerla a salvo. Use el cifrado cuando desee un alto nivel de protección de la información.
Métodos y Técnicas de Cifrado.
Cifrado de sustitución
El cifrado de sustitución consiste en reemplazar una o más entidades (generalmente letras) de un mensaje por una o más entidades diferentes.
Existen varios tipos de criptosistemas de sustitución:
  • La sustitución monoalfabética consiste en reemplazar cada una de las letras del mensaje por otra letra del alfabeto.
  • La sustitución polialfabética consiste en utilizar una serie de cifrados monoalfabéticos que son re-utilizados periódicamente.
  • La sustitución homófona hace posible que cada una de las letras del mensaje del texto plano se corresponda con un posible grupo de caracteres distintos.
  • La sustitución poligráfica consiste en reemplazar un grupo de caracteres en un mensaje por otro grupo de caracteres.
Cifrado César
Este código de cifrado es uno de los más antiguos ya que su uso se remonta a Julio César. El principio de cifrado se basa en la adición de un valor constante a todos los caracteres de un mensaje o, más precisamente, a su código ASCII.
Cifrado ROT 13
El caso específico del cifrado César donde la clave de cifrado es N (la 13º letra del alfabeto) se denomina ROT 13? (se eligió el número 13, la mitad de 26, para que sea posible cifrar y descifrar fácilmente mensajes textuales).
Cifrado de Transposición
El método de cifrado por transposición consiste en reordenar datos para cifrarlos a fin de hacerlos ininteligibles. Esto puede significar, por ejemplo, reordenar los datos geométricamente para hacerlos visualmente inutilizables.
El Cifrado Simétrico.
El cifrado simétrico (también conocido como cifrado de clave privada o cifrado de clave secreta) consiste en utilizar la misma clave para el cifrado y el descifrado.
El cifrado consiste en aplicar una operación (un algoritmo) a los datos que se desea cifrar utilizando la clave privada para hacerlos ininteligibles. El algoritmo más simple (como un OR exclusivo) puede lograr que un sistema prácticamente a prueba de falsificaciones (asumiendo que la seguridad absoluta no existe).
El Cifrado Asimétrico.
El cifrado asimétrico (también conocido como cifrado con clave pública). En un criptosistema asimétrico (o criptosistema de clave pública), las claves se dan en pares:
  • Una clave pública para el cifrado;
  • Una clave secreta para el descifrado.
En un sistema de cifrado con clave pública, los usuarios eligen una clave aleatoria que sólo ellos conocen (ésta es la clave privada). A partir de esta clave, automáticamente se deduce un algoritmo (la clave pública). Los usuarios intercambian esta clave pública mediante un canal no seguro.