lunes, 28 de octubre de 2013

Protección de Agentes

Desde el punto de vista del usuario final, según Lange y Oshima, en el libro escrito el año 1998 titulado “Programación e implementación de agentes móviles Java con aglets”, se menciona que los agentes pueden ser: “Programas que asisten y actúan a favor del usuario final”, en este caso se refuerza la idea de la delegación en los agentes de las tareas de usuario. Sobre el concepto de agente, se puede hablar de sus características, diciendo que un agente autónomo, para empezar, no es un programa, o al menos es algo más que un programa, al fin y al cabo, todo lo que se ejecuta en una computadora es un programa; es decir, no se suele llamar programa por el mismo motivo que un sistema operativo no se suele llamar un programa a pesar de que no pueda ser otra cosa. Una de las características que distingue los agentes de los programas sencillos es la autonomía de acción. Los agentes son más que activos, es decir, que no sólo actúan en respuesta a una acción directa del usuario, sino que también actúan siguiendo los objetivos que tienen marcados, bien por el usuario bien por su propia construcción. Además, son persistentes, aún cuando el usuario no interactúa con ellos siguen funcionando, recolectando información, aprendiendo y comunicándose con otros agentes.

Cuando se transfiere código ejecutable a través de la red, existe la posibilidad de un ataque. En palabras de los investigadores Jansen y Karygiannis, en el artículo escrito el año 2000 titulado “Seguridad en agentes móviles”, los agentes al igual que ocurre con los programas usados en redes, pueden ser susceptibles a alteraciones, ataques, espionaje, y clonaciones. Es importante ser conscientes de que siempre existe la posibilidad de que un intruso intente afectar la integridad de un sistema y por tanto llevar a cabo las medidas de prevención adecuadas ayuda a minimizar los riesgos. Algunos de los ataques que son ejecutados en contra de agentes son: Espionaje de código, espionaje de información, manipulación de código y de información, ejecución incorrecta del código, identidad falsa de un host y negación de ejecución. Un agente puede llevar consigo información confidencial, por lo que se debe prevenir en todo momento la modificación del código ejecutable. Es posible asegurar la integridad de un agente que proviene de otro host utilizando la firma digital o el cifrado. Sin embargo, es difícil detectar o prevenir los ataques que pueda realizar un host mientras se ejecuta un agente. Los hosts pueden intentar sacar provecho del agente modificando el código, los datos, las comunicaciones o incluso los resultados, ya que, como se mencionaba, tienen control total sobre la ejecución del agente. A este problema se le conoce como el de los “Hosts maliciosos”, este es considerado por muchos autores el más difícil de resolver en lo relacionado con la seguridad en sistemas de agentes móviles.

Para prevenir una alteración en el código y en la información, los agentes se pueden proteger, al igual que muchos programas informáticos, utilizando métodos criptográficos. De forma similar los agentes pueden ser autenticados con un host o incluso con otros agentes, mediante métodos de clave pública como es la firma digital. Según Chess, en el artículo escrito el año 1996 titulado “Consideraciones de seguridad en sistemas basados en agentes”, tomando en cuenta que los agentes se pueden ejecutar en hosts con diversos grados de confianza, sería ingenuo no esperar un comportamiento malicioso por su parte. Los hosts pueden sacar provecho del agente modificando el código, los datos, el modo de ejecución, el estado, las comunicaciones, el itinerario o incluso los resultados, ya que tienen control total sobre la ejecución. Precisamente esta es la razón por la cual no se pueden evitar ataques de denegación de servicio, puesto que el host tiene en sus manos el código del agente para ejecutarlo a placer, forzándolo a terminar antes de tiempo o incluso a migrar a otro destino. Para un agente móvil es imposible almacenar en claro una clave secreta, puesto que el host tiene acceso de lectura y modificación a la misma, para esto es imprescindible disponer de un entorno confiable para realizar las operaciones criptográficas.

No hay comentarios:

Publicar un comentario en la entrada