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.