3. CONTROL DE ACCESO
- SandraLRP
- 4 ene 2018
- 4 Min. de lectura
Actualizado: 6 ene 2018
En el modelo cliente – servidor el cual se ha utilizado hasta ahora una vez que el cliente y el servidor establecen un canal seguro el cliente puede emitir peticiones que deben ser ejecutadas por el servidor. Las peticiones implican realizar operaciones en recursos controlados por el servidor. Una situación general es la de un servidor objetos que tiene varios objetos bajo su control. Una petición del cliente implica por lo general invocar un método de un objeto específico. Tal petición puede ser realizada solo si el cliente tiene derechos de acceso suficientes para conseguir dicha invocación.
3.1. Temas Generales de Control de Acceso
Para entender los diversos temas implicados en el control de acceso, en general se adopta un modelo simple. este modelo consta de sujetos que emiten una petición de acceso a un objeto. Las operaciones de un objetos que los sujetos pueden solicitar se realicen están disponibles mediante interfaces. Los sujetos pueden ser considerados mejor como procesos que actuan a nombre de los usuarios, aunque tambien pueden ser objetos que necestan los servicios de otros objetos para realizar su propio trabajo.

Matriz de Control de Acceso: Un metodo común usado para modelar los derechos de acceso de sujetos con respecto a objetos es construir una matriz de control de acceso. En esta matriz, cada sujeto esta representado por una fila y cada objeto por una columna. Si consideramos que un sistema fácilmente puede necesitar dar soporte a miles de usuarios y que millones de objetos requieren protección, implementar una matriz de control de acceso como matriz verdadera, no es la forma correcta de proceder. Muchas entradas de la matriz estarán vacias: en general, un solo sujeto tendrá acceso a relativamente pocos objetos. Por consiguiente , se siguen otras formas más eficientes para implementar una matriz de control de acceso. Un metodo ampliamente aplicado es hacer que cada objetos mantenga una lista de derechos de acceso de sujetos que deseen acceder a él. Otro metodo es distribuir la matriz en filas dando a cada sujeto una lista de las capacidades que tiene por cada objeto.
Domínios de Protección: Son conjunto de pares (objeto, derecho de acceso). Para un objeto dado, cada par especifica con exactitud que operaciones pueden realizarse. Las peticiones para realizar una operación siempre se emiten dentro de un dominio. Por consiguiente, siempre que un sujeto solicita realizar una operación en un objeto, el monitor de referencia busca primero el dominio de protección asociado a dicha petición. Acto seguido, dado el dominio, el monitor de referencia puede verificar si la petición tiene permiso de ser realizada.
3.2. Cortafuegos (Firewall)
Las cosas se complican más cuando se permite el acceso a extraños a los recursos controlados por un sistema distribuido ejemplo de tales accesos incluyen envío de correos, descarga de archivos, carga de formas fiscales, etc.
Para proteger los recursos en estas circunstancias se requieren de un método diferente. En esencia el cortafuego desconecta cualquier parte de un sistema distribuido del mundo externo, todos los paquetes salientes pero sobre todos los entrantes se canalizan a través de una computadora especial y se inspeccionan antes de permitirles el paso, el tráfico no autorizado se desecha y no se le permite continuar.

3.3. Código Móvil Seguro
Un desarrollo importante en sistemas distribuidos modernos es la capacidad de migrar el código entre servidores en lugar de solo migrar datos pasivos. Sin embargo el móvil introduce varias amenazas de seguridad serias. Entre otras cosas cuando se envía un agente a través de interne su propietario desea protegerse contra servidores malévolos que traten de robarse o modificar la información transportada por el agente.
Protección de un Agente: Antes de considerar la protección de un sistema de computadora contra un codigo malicioso desacargado, primero veamos la situacion opuesta. Consideremos un agente movil que transita por un sistema distribuido a nombre de un usuario. Tal agente puede estar buscando el boleto de avión más barato de Nairobi a Malindi y ha sido autorizado por su propietario para que haga una reservación en cuanto encuentre el vuelo. Con este proposito el agente puede portar una tarjeta de credito electronica. Desde luego en este caso se requiere protección. Siempre que el agente entre a un servidor, éste no tendrá permiso de robar la información de la tarjeta de credito del agente.
Proteccion del Destino: Aunque proteger un agente contra modificaciones puede ser imposible, por lo menos es posible que el propietario del agente detecte que se hicieron modificaciones. En el peor de los casos, el propietario tendrá que rechazar al agente cuando regresa, pero de otro modo ningun daño habrá sido hecho. No obstante, cuando hay que haberselas con agentes maliciosos, no sirve de nada detectar que los recuersos han sido hostigados. En su lugar, es esencial proteger todos los recuersos contra acceso no autorizado por medio de un codigo descargado. Una forma de protección es construir una caja de arena.

3.4. Negación de Servicio
el control de acceso se refiere en general a garantizar en forma prudente que los recursos sean accesados sólo por procesos autorizados. Un tipo de ataque particularmete molesto relacionado con el control de acceso es evitar de modo malicioso que procesos autorizados accedan a recursos. Defensa contra tales ataques de negación de servicio (DoS, del ingles denial of service) se vuelven cada vez más importantes ya que los sitemas distribuidos se encuentran abiertos en internet. Cuando los ataques DoS provienen de una o varias fuentes, a menudo pueden ser manejados con efectividad. Las cosas llegan a ser más dificiles cuando se trta de una Negación de servicios distribuidos (DDoS). En ataques DDoS, una enorme colección de procesos intenta anular conjuntamente un servicio distribuido en red. En este caso, los ataques a menudo tienen exito al secuentrar un gran grupo de maquinas que sin saber paticipan en el ataque.
Bueno por el hecho de que no se pueden dar garantías rigurosas de que un servidor hará lo que promete. Y una medida que se podria tomar es el organizar agentes de modo que por lo menos puedan ser detectadas las modificaciones, el sistema ajanta realiza este metodo :)
porque es imposible la proteccion total de un agente y que medidas se podrian tomar?