Intrusos en la nube Por Manuel Dávila Sguerra En otro artículo

Anuncio
Intrusos en la nube
Por Manuel Dávila Sguerra
En otro artículo habíamos hablado del software seguro y decíamos que cuando se habla de seguridad
informática, lo común es referirse a la protección centrada en el tráfico de la red es decir, seguridad perimetral.
Esta área es cada vez más robusta, aunque sabemos que lograr un 100% de seguridad es casi imposible.
Algún “hueco de seguridad” queda abierto por donde puede entrar un intruso.
El concepto del software seguro tiene otra orientación. Imaginémonos una aplicación en la nube a la cual
intentarán entrar muchos usuarios, autorizados unos y no autorizados otros. Los roles y permisos de los
usuarios autorizados seguramente han sido establecidos previamente y sin excepción hay un usuario que tiene
el rol de administrador con permisos especiales para controlar la configuración funcional del sistema, autorizar
el acceso y administrar el sistema. Claramente tendrá el control total del sistema.
Uno de los puntos de riesgo que trata el diseño de software seguro, está en la posibilidad de que alguien se
apodere de una o varias cuentas con sus respectivas contraseñas y entre al sistema en cuyo caso habría
vulnerado la seguridad perimetral. Sea o no la cuenta del administrador la vulnerada, la aplicación estaría en un
momento crítico. Es cuando cabe la pregunta:¿Como se va a defender el sistema?
En el artículo mencionado sobre software seguro hacíamos un esbozo de los planteamientos hechos por Gary
McGraw un experto en ciencia de los computadores y filósofo de profesión, que se ha convertido en uno de los
principales promotores de las propuestas del software seguro. En esta ocasión vamos a tratar solo uno de los
aspectos cruciales como es el caso de los intrusos en la nube bajo el contexto que hemos venido exponiendo.
El centro de nuestra propuesta de solución está en el sistema de autenticación, es decir en el instante en el cual
el sistema recibe los datos de cuenta y contraseña de un usuario que entre al sistema, momento en el cual se
establecen los permisos de navegación determinados por el rol que se le ha autorizado a dicho usuario. En el
libro de O'Reilly sobre “Crimen por computador”, en el cual se relatan las experiencias recopiladas por el FBI,
dicen que el caso más común de fraude o intrusión se debe al robo de las claves de acceso a un sistema. No
son, en general, intrusiones de altos niveles de conocimiento. Esto nos reafirma la idea de controlar el momento
de la autenticación y considerarlo un punto de alta vulnerabilidad.
Imaginémonos el caso en el cual un sistema financiero sufre un ataque de las características mencionadas y
entra al sistema un usuarios autorizado, pero otro u otros también lo hacen usando la misma cuenta; los demás
son intrusos. Usualmente los sistemas no se desarrollan incluyendo una fase de seguridad y la mayoría de las
veces el sistema ni siquiera se percata de que eso esté ocurriendo.
Narraré de manera muy resumida un mecanismo que hemos implementado para buscar seguridad en la
autenticación, de tal manera que el software “sepa” quienes están conectados y detecte y actúe cuando se
presente la situación que acabamos de describir. Estos prototipos los implementamos dentro de proyectos de
investigación los que,una vez se haya comprobado su eficiencia, los promovemos dentro de la comunidad
educativa de informática para proponer proyectos de grado, investigaciones y hacer consciencia dentro de los
estudiantes la importancia de incluir estas funcionalidades dentro de los desarrollos de software.
Asumamos entonces que las claves han sido “robadas” y que han logrado entrar, uno o varios usuarios,
simultáneamente con las mismas cuentas y claves. Lo primero que contempla el algoritmo es poder analizar las
lista de usuarios conectados de tal manera que al entrar un nuevo usuario, verifique si la cuenta con la cual se
registró el nuevo usuario ya existe dentro de los usuarios activos. En ese momento el programa no sabe cuál de
ellos es el verdadero usuario autorizado. No hay manera de saberlo y solo queda la alternativa que el mismo
sistema cancele la ejecución de ese usuario sin contemplaciones, pues es un momento de altísimo riesgo. Con
esa decisión se le ha cortado el acceso a todos los usuarios conectados con dicha cuenta, inclusive al usuario
propietario.
En este aspecto el diseño del software debe tener en cuenta los procesos de recuperación para que las bases
de datos no vayan a quedar polucionadas.
Probablemente el intruso o intrusos y el usuario autorizado querrán volver a entrar al sistema para reiniciar la
ejecución de la aplicación. En ese momento el algoritmo, que debe estar dentro del sistema de autenticación, ya
1
está anunciado de la anomalía y por lo tanto el proceso de autenticación ya no será el estándar pues debe
asegurarse que el usuario que entra es el que dice ser. La manera de asegurarse de esto es la formulación de
preguntas que aseguren que solo pueden ser respondidas por dicho usuario. La debilidad de este método
radica en que las respuestas también pudieron haber sido “robadas”. El nivel de fidelidad que tenga este
método es el que asegurará la autenticación segura. Estamos probando mecanismos más estrictos en donde la
meta es asegurar que quien entra al sistema sea en realidad la persona que dice ser, basados en la
comprobación del conocimiento de aspectos del mismo sistema que solo él podría saberlo. Estos algoritmos
son ricos en expresiones regulares y tienen visos de inteligencia artificial pero son factibles de implementar.
2
Descargar