sábado, 30 de noviembre de 2013
lunes, 18 de noviembre de 2013
MECANISMOS DE PROTECCIÓN
Es más fácil obtener
seguridad si hay un modelo claro de lo que se debe proteger y de a quién se le
permite hacer qué cosa, nos concentraremos en unos cuantos modelos generales y en
los mecanismos para llevarlos a cabo.
Dominios de protección
Un dominio es un conjunto de pares
(objeto, permisos). Cada par especifica un objeto y cierto subconjunto de las
operaciones que se pueden realizar en él. Un permiso en este contexto indica el
permiso para realizar una de las operaciones. A menudo, un dominio corresponde
a un solo usuario y le indica lo que puede hacer y lo que no, pero un dominio
también puede ser más general que sólo un usuario. Por ejemplo, los miembros de
un equipo de programación que trabajan en cierto proyecto podrían pertenecer al
mismo dominio, de manera que todos tengan acceso a los archivos del proyecto.
La manera en que se
asignan los objetos a los dominios depende de los detalles sobre quién necesita
saber qué. Sin embargo, uno de los conceptos básicos es el POLA (Principle of Least Authority, Principio de menor autoridad),
o la necesidad de saber. En general, la seguridad funciona mejor cuando cada
dominio tiene los mínimos objetos y privilegios para realizar su trabajo; y no más.
Listas de control de acceso
La mayoría de los
dominios no tienen acceso a la mayoría de los objetos, por lo que se
desperdicia mucho espacio en disco al almacenar una matriz muy grande y en su
mayor parte vacía. Existe un método práctico: almacenar la matriz por columnas y
después almacenar solo los elementos no vacíos, esta técnica consiste en
asociar con cada objeto una lista (ordenada) que contenga todos los dominios
que pueden acceder al objeto, y la forma de hacerlo. A esta lista se le conoce
como Lista de control de acceso
(Access Control List, o ACL).
Capacidades
La otra manera de almacenar
la matriz es por filas. Al utilizar este método, a cada proceso se le asocia
una lista de objetos que puede utilizar, junto con una indicación de las
operaciones permitidas en cada objeto; en otras palabras, su dominio. A esta
lista se le conoce como lista de
capacidades (o lista-C) y a los
elementos individuales que contiene se les conoce como capacidades, cada capacidad otorga al propietario ciertos derechos
sobre un objeto.
Además de los derechos específicos dependientes del objeto, como
lectura, escritura y ejecución, las capacidades por lo general tienen permisos
genéricos que se pueden aplicar a todos los objetos. Algunos ejemplos de
permisos genéricos son:
1. Capacidad de copia: crea una nueva capacidad para el mismo objeto.
2. Copiar objeto: crea un objeto duplicado con una nueva capacidad.
3. Eliminar capacidad: elimina una entrada de la lista-C; el objeto no
se ve afectado.
4. Destruir objeto: elimina un objeto y una capacidad de manera
permanente.
Sistemas y base de cómputo confiables
En el mundo de la seguridad, todos hablan con frecuencia sobre los sistemas
confiables en vez de sistemas seguros. Éstos son sistemas que han declarado
formalmente requerimientos de seguridad y cumplen con ellos. En el centro de
todo sistema confiable hay una TCB (Trusted Computing Base, Base
de cómputo confiable) mínima que consiste en el hardware y software necesarios
para cumplir con todas las reglas de seguridad. Si la base de cómputo confiable
funciona según las especificaciones, no se puede comprometer la seguridad el
sistema, sin importar qué otra cosa esté mal.
Las funciones del sistema operativo que deben formar parte de la TCB
son: creación de procesos, cambio de procesos, administración del mapa de
memoria y parte de la administración de archivos y de la E/S. En un diseño
seguro es frecuente que la TCB esté muy separada del resto del sistema
operativo para poder minimizar su tamaño y verificar que sea correcto.
Seguridad multinivel
La mayoría de los sistemas operativos permiten a los usuarios
individuales determinar quién puede leer, escribir y ejecutar sus archivos y demás
objetos, a esta directiva se le conoce como control de acceso discrecional.
En muchos entornos este modelo funciona bien, pero hay otros en donde se requiere
una seguridad más estricta, como en la computación militar, los departamentos
de patentes corporativas y los hospitales.
En estos entornos, la organización ha establecido reglas sobre qué es lo
que puede ver cada quién, y los soldados, abogados o doctores no pueden
modificar estas reglas, por lo menos no sin antes obtener un permiso especial
del jefe. Estos entornos necesitan controles de acceso obligatorio para
asegurar que el sistema implemente las directivas de seguridad establecidas,
además de los controles de acceso discrecional estándar. Lo que hacen estos
controles de acceso obligatorio es regular el flujo de información, para
asegurar que no se fugue de una manera que no esté considerada.
viernes, 8 de noviembre de 2013
CRIPTOGRAFIA (CIFRADO)
El propósito de la
criptografía es tomar un mensaje o archivo, conocido como texto simple,
y convertirlo en texto cifrado de tal forma que sólo las personas
autorizadas sepan cómo convertirlo nuevamente en texto simple. Para todos los
demás, el texto cifrado es sólo una sucesión incomprensible de bits.
Su secreto depende de
los parámetros de los algoritmos, a los cuales se les denomina claves.
Si P es el archivo de texto simple, KE es la clave de
cifrado, C es el texto cifrado y E es el algoritmo de cifrado (es
decir, la función), entonces C = E (P, KE).
Ésta es la definición del cifrado, la cual indica que el texto cifrado se
obtiene mediante el uso del algoritmo de cifrado E, con el texto simple P
y la clave de cifrado (secreta) KE como parámetros. La
idea de que todos los algoritmos deben ser públicos y el secreto debe residir
exclusivamente en las claves se conoce como Principio de Kerckhoffs,
formulado por el criptógrafo holandés Auguste Kerckhoffs del siglo XIX. En la
actualidad, la gran mayoría de los criptógrafos han adoptado esta idea.
De manera similar
tenemos que P = D (C, KD), donde D es el
algoritmo de descifrado y KD es la clave de descifrado. Esto
indica que para obtener de vuelta el texto simple P a partir del texto
cifrado C y la clave de descifrado KD, hay que
ejecutar el algoritmo D con C y KD como
parámetros.
Clave Secreta
Para que esto sea más
claro, considere un algoritmo en el que cada letra se sustituye por una letra
distinta; por ejemplo, todas las As se sustituyen por Qs, todas las Bs se
sustituyen por Ws, todas las Cs se sustituyen por Es, y así en lo sucesivo:
Texto simple: A B C D E F G H I J K L M N O P Q R S T U V W
X Y Z
Texto cifrado: Q W E
R T Y U I O P A S D F G H J K L Z X C V B N M
A este sistema
general se le conoce como sustitución monoalfabética, en donde la clave
es la cadena de 26 letras correspondiente al alfabeto completo. La clave de
cifrado en este ejemplo es QWERTYUIOPASDFGHJKLZXCVBNM. Utilizando la
clave anterior, el texto simple ATTACK se transformaría en el texto
cifrado QZZQEA. La clave de descifrado indica cómo obtener de vuelta el
texto simple a partir del texto cifrado. En este ejemplo, la clave de
descifrado es KXVMCNOPHQRSZYIJADLEGWBUFT, debido a que una A en
el texto cifrado es una K en el texto simple, una B en el texto cifrado
es una X en el texto simple, y así sucesivamente.
Clave
Pública
Los sistemas de clave
secreta son eficientes debido a que el monto de cálculos requeridos para cifrar
o descifrar un mensaje es razonable, pero hay una gran desventaja: el emisor y el
receptor deben tener la clave secreta compartida. De hecho, tal vez hasta
tengan que reunirse físicamente para que uno le entregue la clave al otro. Para
resolver este problema se utiliza la criptografía de clave pública (Diffie y
Hellman, 1976). Este sistema tiene la propiedad de que se utilizan distintas
claves para el cifrado y el descifrado, y si se elige bien la clave de cifrado
es casi imposible descubrir la clave de descifrado correspondiente. Bajo estas
circunstancias, la clave de cifrado se puede hacer pública y sólo hay que
mantener secreta la clave de descifrado privada.
¿Cómo funciona la criptografía de clave pública?
Todos eligen un par
(clave pública, clave privada) y publican la clave pública. Esta clave pública
es la clave de cifrado; la clave privada es la clave de descifrado. Por lo
general, el proceso de generación de la clave es automatizado, en donde tal vez
una contraseña seleccionada por el usuario se alimenta al algoritmo como una
semilla. Para enviar un mensaje secreto a un usuario, un corresponsal cifra el
mensaje con la clave pública del receptor. Como sólo el receptor tiene la clave
privada, sólo él puede descifrar el mensaje.
miércoles, 6 de noviembre de 2013
SEGURIDAD EN LOS SISTEMAS OPERATIVOS
Muchas empresas
poseen información valiosa que desean tener muy bien protegida. Esta
información puede ser técnica (por ejemplo, el diseño de un nuevo chip o nuevo
software), comercial (por ejemplo, estudios de la competencia o planes de marketing),
financiera (por ejemplo, planes para una oferta de acciones), legal (por
ejemplo, documentos sobre la posible fusión o absorción de una empresa), y de
muchos otros tipos. Con frecuencia, para proteger esta información se pone un
guardia uniformado a la entrada del edificio, que asegura la adecuada
identificación de todo el que entre. Asimismo, los archiveros y las oficinas se
cierran con llave para asegurar que sólo las personas autorizadas tengan acceso
a la información.
A medida que se
almacena cada vez más información de este tipo en los sistemas computacionales,
se vuelve cada vez más importante la necesidad de protegerla. Por lo tanto,
proteger esta información contra el uso no autorizado es una de las principales
preocupaciones de todos los sistemas operativos. Utilizaremos el término seguridad para hacer referencia al
problema general, y mecanismos de protección
para referirnos a los elementos específicos del sistema operativo que se
utilizan para salvaguardar la información en la computadora.
La seguridad tiene
muchas facetas. Tres de las más importantes son la naturaleza de las amenazas,
la naturaleza de los intrusos y la pérdida accidental de datos. Ahora
analizaremos cada una de estas facetas en orden.
AMENAZAS
Desde la perspectiva de
la seguridad, en sistemas computacionales se tienen cuatro objetivos generales
con sus correspondientes amenazas.
Objetivo
|
Amenaza
|
Confidencialidad de
los datos
|
Exposición de los
datos
|
Integridad de los
datos
|
Alteración de los
datos
|
Disponibilidad del
sistema
|
Negación del
servicio
|
Exclusión de los
usuarios externos
|
Los virus se
apropian del sistema
|
INTRUSOS
En la literatura de
la seguridad, las personas que husmean en lugares en donde no tienen por qué
hacerlo se conocen como intrusos, o algunas veces como adversarios. Los
intrusos actúan en dos formas distintas. Los intrusos pasivos sólo quieren leer archivos para los cuales no tienen
autorización. Los intrusos activos
son más maliciosos; desean realizar modificaciones no autorizadas a los datos.
Al diseñar un sistema para que sea seguro contra los intrusos, es importante
tener en cuenta el tipo de intruso contra el que tratamos de protegerlo.
Algunas categorías comunes son:
1.
Usuarios no técnicos
que se entrometen en forma casual. Muchas personas tienen computadoras
personales en sus escritorios, las cuales están conectadas a un servidor de
archivos compartidos y, debido a la naturaleza curiosa de los humanos, algunas
de esas personas son capaces de leer el correo electrónico y demás archivos de
otras si no hay barreras que las detengan.
2.
Intrusos que husmean. Los estudiantes,
programadores de sistemas, operadores y demás personal técnico a menudo
consideran como un reto personal la acción de irrumpir en la seguridad de un sistema
computacional local. Por lo general son muy habilidosos y están dispuestos a
dedicar una cantidad considerable de tiempo a ello.
3.
Intentos determinados
por obtener dinero.
Algunos programadores de los bancos han tratado de robar del banco en el que trabajan.
Los esquemas varían, desde cambiar el software para truncar en vez de redondear
el interés, quedarse con la fracción de un centavo, desviar las cuentas que no
se han utilizado en años, hasta llegar al chantaje (“Si no me pagan, destruiré
todos los registros del banco”).
4.
Espionaje comercial o
militar.
El espionaje se refiere a un intento serio y bien fundamentado por parte de un
competidor u otro país de robar programas, secretos comerciales, ideas
patentables, tecnología, diseños de circuitos, planes de negocios, etcétera. A
menudo para hacer esto se intervienen líneas telefónicas o incluso se montan
antenas dirigidas hacia la computadora para recoger su radiación
electromagnética.
5.
Los virus. En esencia, un
virus es una pieza de código que se duplica a sí mismo y (por lo general)
realiza cierto daño. En cierto modo, el programador de un virus es también un
intruso, a menudo con habilidades técnicas elevadas. La diferencia entre un
intruso convencional y un virus es que el primero se refiere a una persona que
trata de irrumpir en un sistema por motivos personales para ocasionar daños,
mientras que el segundo es un programa escrito por dicha persona y que después
se suelta en el mundo con la esperanza de que provoque daños. Los intrusos
tratan de irrumpir en sistemas específicos (por ejemplo, uno que pertenezca a
cierto banco o al Pentágono) para robar o destruir datos específicos, mientras
que el programador de un virus comúnmente quiere provocar daños en general, y
no le importa a quién.
PERDIDA ACCIDENTAL DE LOS DATOS
Además de las
amenazas ocasionadas por los intrusos maliciosos, por accidente se pueden
perder datos valiosos. Algunas de las causas comunes de pérdida accidental de
datos son:
Accidentes y desastres naturales: incendios,
inundaciones, terremotos, guerras, disturbios o ratas que roen cintas
magnéticas.
Errores de hardware o software: fallas en la CPU,
discos o cintas que no se pueden leer, errores de telecomunicaciones, errores
en los programas.
Errores humanos: error al introducir los datos, al montar
una cinta o un CD-ROM de manera incorrecta; ejecutar el programa incorrecto,
perder un disco o una cinta, o cualquier otro error.
Suscribirse a:
Entradas (Atom)