Detección de impostores mediante perfiles basados en grafos de

Anuncio
Detección de impostores mediante
perfiles basados en grafos de navegación
1. Resumen
En la actualidad, en que la información se considera un bien valioso en
extremo, es imperante detectar oportunamente si nuestro computador está
siendo usado ilegalmente por un intruso, llamado comúnmente impostor. El
objetivo de un impostor es obtener el mayor beneficio de su intrusión (obtención
de información confidencial o de alto valor comercial, etc.), y, simultáneamente,
que dicha intrusión pase desapercibida.
La detección de impostores se ha estudiado intensamente, desde el
artículo seminal de Schonlau et al. [1], quienes sugirieron construir un perfil del
usuario a proteger a partir de los comandos UNIX, sin argumentos, que ella
ejecuta durante una sesión en su computador. Con este propósito, Schonlau et al.
desarrollaron una base de datos de impostores, conocida como SEA[2], la cual ha
sido el de facto estándar para construir, validar y comparar mecanismos rivales
para la detección de impostores (ver, por ejemplo, [3-6]). Sin embargo, el
desempeño de todos los métodos basados en SEA está lejos de ser si acaso
regular. Esto, en parte, se debe a que el uso de comandos UNIX es insuficiente
para marcar la diversidad entre un usuario y otro. Por ello, los estudios en la
detección de impostores han considerado, para caracterizar mejor a un usuario,
enriquecer SEA (por ejemplo, incluyendo los argumentos de los comandos
UNIX[7]), o considerar fuentes alternas de actividad de usuario, tales como el uso
de dispositivos (Vgr. el ratón [8] o el teclado [9]), o como el uso de aplicaciones
comunes (Vgr. un sistema de composición de documentos [10]).
Nuestra tesis sostiene que el comportamiento de un usuario puede
caracterizarse precisamente mediante una representación de qué objetos visita y
cómo lo hace dentro de su propio sistema de archivos, que es, después de todo,
para el sistema operativo la abstracción del usuario mismo. Crucial en nuestro
enfoque es una estructura, que llamamos grafo de navegación, la cual representa
la estructura jerárquica que personalmente el usuario impone sobre su conjunto
de carpetas y archivos, un compendio de los objetos visitados recientemente, así
como la secuencia en como el usuario se mueve de un archivo a otro.
A través de la investigación propuesta, demostraremos, primero, que un
grafo de navegación permite entender mejor el comportamiento de un usuario, y
así construir un perfil preciso del mismo. Por ejemplo, dado que comúnmente
colectamos archivos relacionados en una sola carpeta, dicha carpeta puede
asociarse con una tarea propia del usuario. Entonces, la realización de un
conjunto de tareas; es decir, el acceso a objetos específicos dentro de un conjunto
de carpetas, conjeturamos, debe regirse bajo el principio de localidad de
referencia. Este principio es el fenómeno que explica que ciertas localidades de
almacenamiento, que contienen el mismo valor o que están relacionadas de
alguna otra forma, sean accedidas frecuentemente. Existen dos tipos de
localidades de referencia: la temporal y la espacial. La localidad temporal se
refiere al uso repetitivo de objetos en pequeños intervalos de tiempo; mientras
que la localidad espacial se refiere al uso repetitivo de objetos que se encuentran
en lugares cercanos unos con otros. Segundo, demostraremos que los perfiles
basados en grafos de navegación pueden aplicarse en la construcción de
mecanismos de detección de impostores mucho más certeros que los que existen
en la literatura.
El trabajo de investigación aquí propuesto se enmarca dentro de las
actividades del proyecto de investigación básica “Aplicación de Modelos
Estadísticos y Técnicas de Caracterización a Tráfico de Red para la Detección de
Intrusos”, con número de referencia CONACYT – SEP 105698, el cual es una
continuación del proyecto, también de investigación básica “Detección Oportuna
de Ataques Miméticos”, con número de referencia CONACYT – SEP 47557. A
través del trabajo propuesto, nuestro objetivo es cumplir las siguientes metas
científicas:
1. Contribuir al conocimiento general de la seguridad informática;
particularmente, en la detección de impostores.
2. Inventar y desarrollar un mecanismo novedoso, basado en el uso y la
forma del sistema de archivos de un usuario a proteger, capaz de detectar
oportunamente, y con mayor certeza que otros propuestos en la
literatura, a un impostor que ha obtenido acceso no autorizado al
computador del usuario;
3. Desarrollar y poner a disposición de la comunidad científica una base de
datos con historiales de usuarios, así como de intrusiones de impostores,
que permita el desarrollo, experimentación y comparación justa de
nuevos métodos para la detección de impostores.
4. Diseminar los resultados de investigación en foros más importantes en el
área, congresos y revistas científicas.
Dichas metas científicas podrán medirse a través de los siguientes productos
científicos:
1. Dos artículos en congreso científico de alto impacto; particularmente,
nuestros congresos objetivo son RAID, SSP, CSFS, etc.
2. Artículo en revista científica de alto impacto, tal como International
Journal in Information Security.
3. Artículo de divulgación en una revista de circulación nacional o
internacional. Estos artículos reportarán los resultados de la
investigación propuesta en el presente Proyecto Académico.
4. Co-asesoría, entre el Responsable del Proyecto Académico y el Candidato
a Becario, de estudiantes del Programa de Posgrado Receptor.
5. Capacitación conjunta, entre el Responsable del Proyecto Académico y el
Candidato a Becario, de cursos especializados del Programa de Posgrado
Receptor.
Los proyectos de investigación básica, CONACYT – SEP, arriba señalados han
sido ambos realizados por el Responsable del Proyecto Académico, Dr. Raúl
Monroy Borja, y líder del grupo de seguridad y redes computacionales de la
Rectoría de la Zona Metropolitana de la Ciudad de México (RZMCM), del
Tecnológico de Monterrey. Dichos proyectos se insertan dentro de la
especialidad en redes y seguridad computacional, del Posgrado Receptor,
Doctorado en Ciencias Computacionales, del Tecnológico de Monterrey, Campus
Estado de México.
2. Palabras clave
Seguridad informática, detección de intrusiones, detección de impostores
Reconocimiento de patrones, clasificadores, clasificadores Bayesianos
3. Objetivos y metas
3.1 Objetivos científicos
1. Inventar y desarrollar un mecanismo novedoso, basado en el uso y la
forma del sistema de archivos de un usuario a proteger, capaz de detectar
oportunamente, y con mayor certeza que otros propuestos en la
literatura, a un impostor que ha obtenido acceso no autorizado al
computador del usuario;
2. Desarrollar y poner a disposición de la comunidad científica una base de
datos con historiales de usuarios, así como de intrusiones de impostores,
que permita el desarrollo, experimentación y comparación justa de
nuevos métodos para la detección de impostores.
3. Diseminar los resultados de investigación en foros más importantes en el
área, congresos y revistas científicas.
3.2 Productos científicos
1. Dos artículos en congreso científico de alto impacto; particularmente,
nuestros congresos objetivo son RAID, SSP, CSFS, etc.
2. Artículo en revista científica de alto impacto, tal como International
Journal in Information Security.
3. Artículo de divulgación en una revista de circulación nacional o
internacional. Estos artículos reportarán los resultados de la
investigación propuesta en el presente Proyecto Académico.
4. Co-asesoría, entre el Responsable del Proyecto Académico y el Candidato
a Becario, de estudiantes del Programa de Posgrado Receptor.
5. Capacitación conjunta, entre el Responsable del Proyecto Académico y el
Candidato a Becario, de cursos especializados del Programa de Posgrado
Receptor.
3.3 Metas científicas dentro del posgrado receptor
1. Vinculación con el programa de posgrado de excelencia del INAOE, centro
de investigación CONACYT.
2. Movilidad de estudiantes del programa de posgrado receptor.
4. Antecedentes en la detección de impostores
La detección de impostores se refiere a la identificación oportuna de un intruso
haciéndose pasar por un usuario legítimo en una sesión de computadora [1].
Normalmente se realiza como una tarea de detección de anomalías, donde el
mecanismo de detección de impostores intenta distinguir cualquier cambio en
las actividades del usuario actual con respecto a un perfil dado del
comportamiento normal del usuario. La detección de impostores ha sido
estudiada de manera activa a partir del importante trabajo de Schonlau et al. [1],
quienes han desarrollado una base de datos, llamada SEA [2], la que es
considerada de facto como el estándar para construir, validar y comparar
mecanismos de detección de impostores.
4.1 El conjunto de datos SEA
SEA contiene la información del registro de la actividad de 70 usuarios UNIX.
Cada registro de usuario consiste de 15,000 comandos que fueron recabados
mediante el mecanismo de auditoría de acciones (aact) descartando los
argumentos. Se seleccionaron 50 usuarios de forma aleatoria para server como
usuarios auténticos, mientras que los restantes fueron seleccionados para actuar
(artificialmente) como impostores.
El conjunto de datos SEA está estructurado de la siguiente manera. Cada
secuencia de comandos de un usuario legítimo se divide primero en bloques de
tamaño 100. Cada bloque de comandos es llamado una sesión; así, se considera
arbitrariamente que la actividad del usuario está compuesta y es representada
por 150 sesiones.
Las primeras 50 sesiones de cada usuario se mantienen intactas; éstas
constituyen el comportamiento normal del usuario, que llamamos el historial de
comandos del usuario. El conjunto de historiales de comandos se utiliza como el
conjunto de datos para construir cualquier sistema de detección de impostores
propuesto. Sin embargo, las últimas 100 sesiones, pueden o no haber sido
contaminadas, y éstas son usadas como el conjunto de datos para la validación
del mecanismo de detección.
Si fueron contaminadas, una sesión de validación es considerada como de un
impostor. Una sesión de validación puede o no estar contaminada. La
contaminación de sesión en SEA equivale al remplazo de la sesión de validación
original que fue seleccionada, por una de un usuario elegido arbitrariamente
como impostor. Las sesiones contaminadas fueron insertadas usando esta regla:
si no se encuentra presente un impostor, entonces un nuevo impostor aparece en
la siguiente sesión con una probabilidad de 1%. En caso contrario, el mismo
impostor continúa estando presente en el siguiente bloque con una probabilidad
de 80%.
En SEA se incluye una matriz que, para cada usuario, muestra donde se
encuentran las sesiones impostoras, si es que las hay. Como un conjunto de
prueba, SEA es muy restrictivo, cuando se consideran condiciones más realistas.
Para empezar, un supuesto impostor no tiene conocimiento alguno acerca del
perfil de una víctima deseada. Una sesión impostora es simplemente una
secuencia de comandos que un usuario, marcado involuntariamente como
‘impostor’, introduciría en una sesión UNIX. Más aún, en SEA, algunos de tales
impostores muestran un comportamiento muy simple y repetitivo, el cual es
fácilmente detectado como inusual, incluso mediante una inspección humana.
Para superar estas limitaciones, podemos darnos a la tarea de recopilar sesiones
UNIX confiables; sin embargo, tal tarea ha probado ser compleja, dado que las
sesiones UNIX reales son dispersas y, por tanto, difíciles de obtener. Esto ha sido
probado por Chinchani et al. [11], quienes han intentado sintetizar secuencias de
comandos de usuarios, con el propósito de permitir la construcción de un
modelo de comportamientos normales. RACOON, la herramienta de Chinchani et
al., sintetiza las sesiones de usuario con el fin de intentar evitar el
inherentemente largo tiempo que toma el recolectar las reales. El objetivo
primordial es acelerar el proceso del desarrollo y evaluación de sistemas de
detección de impostores.
Recientemente, la investigación en detección de impostores ha buscado fuentes
alternativas de actividad de usuarios para obtener perfiles más adecuados del
comportamiento del usuario. Ejemplos de fuentes alternativas de información
incluyen el uso de dispositivos de usuario (por ejemplo, el ratón [9]), y la
interacción del usuario con aplicaciones específicas (por ejemplo, el uso de un
sistema de administración de documentos [10]). Existe un amplio repertorio de
investigaciones acerca de la dinámica de pulsación de teclas [8].
4.2 Mecanismos de Detección de Impostores: un Panorama General
La investigación en detección de impostores ha sido muy prolífica. Las
limitaciones de espacio nos impiden dar un panorama general razonable, o una
comparación justa de estos mecanismos (aún si nos limitáramos a los más
significativos). Deberemos, por lo tanto, confinarnos a revisar unos cuantos,
refiriendo al lector a [12, 13] para un estudio más amplio.
Un detector de impostores es global, si, para determinar la presencia de un
impostor, usa tanto el perfil del usuario que está siendo protegido, como el perfil
de los colegas de tal usuario. En caso contrario, es global. De manera similar, un
detector de impostores se basa en la temporalidad, si, para la formación del
perfil de usuario, considera tanto acciones individuales como las relaciones de
estas; por ejemplo, una secuencia de acciones. En caso contrario, es basado en
frecuencias. Puesto que los métodos globales y temporales se encuentran mejor
informados, generalmente son más precisos que los locales y basados en
frecuencias; no obstante, exigen más información y esfuerzo de cómputo, y son
inaplicables en ciertos contextos.
La singularidad [14] es un método global de detección basado en frecuencias, el
cual proviene de la observación de que la apariencia de un comando no visto en
la construcción del perfil de un usuario puede indicar la presencia de un
impostor. Un comando se dice que es de popularidad i si y sólo sí i usuarios
utilizan tal comando. Se dice que es singular si su popularidad es uno. El modelo
de detección consiste de una puntuación, calculada sobre cada sesión de prueba,
que incrementa (respectivamente decrece) con la aparición de un comando
singular (respectivamente no visto con anterioridad). La singularidad ha sido
una referencia obligada para propósitos de comparación.
Las gramáticas personalizadas [5], son métodos de detección globales basados
en temporalidad, que obtienen un perfil del comportamiento normal usando las
secuencias de acciones de usuario únicas y las más repetitivas. Para identificar
tales secuencias de acciones dentro de un historial y de entre otros registros de
auditoría de usuarios, las gramáticas personalizadas aplican sequitur [15], un
método para inferir jerarquías composicionales a partir de cadenas. Una sesión
de prueba es clasificada usando una función de evaluación, que produce una
puntuación alta si la sesión incluye secuencias de acción muy largas con una alta
afinidad a lo propio; es decir, una alta frecuencia en el historial del usuario) y
una baja afinidad por lo ajeno (es decir, una baja frecuencia en el historial de
todos los usuarios).
Bayes simple [16, 7, 17] asume que las acciones de un usuario son
independientes entre sí. Por tanto, la probabilidad para una acción c de haber
sido originada por un usuario u, Pru (c), es dada por una distribución de
probabilidad basada en la frecuencia de acciones. Esto puede ser local o global,
con desempeños similares [17]. Para evaluar una sesión de prueba s, en la que el
usuario u se supone haber participado, la probabilidad acumulada de s es
comparada ya sea contra la probabilidad de que s sea producido por alguien más
[16] o contra un umbral definido por el usuario [17].
Sequitur-luego-MOM [6] es un detector local, temporal de impostores, que
caracteriza el comportamiento del usuario en términos de las dependencias
temporales entre las secuencias de acción de mayor ocurrencia. Este método
aplica primeramente sequitur a un historial de acciones dado. Luego, la principal
regla de producción de la gramática producida por sequitur es usada para
entrenar un Modelo Oculto de Markov (MOM). En consecuencia, este modelo no
sólo considera dependencias temporales entre acciones, gracias a sequitur, sino
que también considera dependencias temporales entre secuencias, gracias al
MOM.
El desempeño de estos (y otros) métodos, sin embargo, no es concluyente. Por
ejemplo, la mayor parte de estos métodos reporta que al operar con un nivel de
detección del 95%, producen más del 40% de falsas alarmas. Los detectores de
impostores no han sido completa o confiablemente evaluados. Esto sucede dado
que no han sido puestos a trabajar bajo condiciones difíciles, donde sea
requerido distinguir un intruso que realmente intente una suplantación real de
un usuario. A partir de aquí, se entiende que estos métodos no han sido
comparados meticulosamente entre sí.
Referencias
1. Schonlau, M., DuMouchel, W., Ju, W., Karr, A., Theus, M., Vardi, Y.: Computer
intrusion: Detecting masquerades. Statistical Science 16 (2001) 58–74
2. Schonlau, M.: Masquerading user data. http://www.schonlau.net (2008)
3. Maxion, R.A., Townsend, T. N.: Masquerade detection augmented with error
analysis. IEEE Transactions on Reliability 53 (2004) 124–147
4. Oka, M., Oyama, Y., Abe, H., Kato, K.: Anomaly detection using layered networks
based on Eigen co-occurrence matrix. In Jonsson, E., Valdes, A., Almgren, M., eds.:
Recent Advances in Intrusion Detection: 7th International Symposium, RAID
2004. Volume 3224 of Lecture Notes in Computer Science, Springer (2004) 223–
237
5. Latendresse, M.: Masquerade detection via customized grammars. In Julish, K.,
Kruegel, C., eds.: Proceedings of the Second International Conference on
Detection of Intrusions and Malware, and Vulnerability Assessment, DIMVA
2005. Volume 3548 of Lecture Notes in Computer Science, Springer (2005) 141–
159
6. Posadas, R., Mex-Perera, C., Monroy, R., Nolazco-Flores, J.: Hybrid method for
detecting masqueraders using session folding and hidden markov models. In:
Proceedings of the 5th Mexican International Conference on Artificial
Inteligence: Advances in Artificial Inteligence. Volume 4293 of Lecture Notes in
Computer Science, Springer (2006) 622–631
7. Maxion, R.A.: Masquerade detection using enriched command lines. In:
Proceedings of the International Conference on Dependable Systems and
Networks, DSN‘03, San Francisco, CA, USA, IEEE Computer Society Press (2003)
5–14
8. Killourhy, K.S., Maxion, R.A.: Why did my detector do that?! – Predicting
keystroke-dynamics error rates. In Jha, S., Sommer, R., Kreibich, C., eds.: Recent
Advances in Intrusion Detection, 13th International Symposium, RAID 2010.
Volume 6307 of Lecture Notes in Computer Science., Springer (2010) 256–276
9. Garg, A., Rahalkar, R., Upadhyaya, S., Kwiat, K.: Profiling users in GUI based
systems masquerade detection. In: Proceedings of the 7th IEEE Information
Assurance Workshop, IEEE Computer Society Press (2006) 48–54
10. Sankaranarayanan, V., Pramanik, S., Upadhyaya, S.: Detecting masquerading
users in a document management system. In: Proceedings of the IEEE
International Conference on Communications, ICC‘06. Volume 5, IEEE Computer
Society Press (2006) 2296–2301
11. Chinchani, R., Muthukrishnan, A., Chandrasekaran, M., Upadhyaya, S.:
RACOON: Rapidly generating user command data for anomaly detection from
customizable templates. In: Proceedings of the 20th Annual Computer Security
Applications Conference, ACSAC‘04, IEEE Computer Society Press (2004) 189–
204 12. Salem, M.B., Hershkop, S., Stolfo, S.J.: A survey of insider attack detection
research.
In Stolfo, S.J., Bellovin, S.M., Hershkop, S., Keromytis, A., Sinclair, S., Smith, S.W.,
eds.: Insider Attack and Cyber Security: Beyond the Hacker. Advances in
Information Security. Springer (2008) 69–90
13. Bertacchini, M., Fierens, P.: A survey on masquerader detection approaches.
In: Proceedings of V Congreso Iberoamericano de Seguridad Informática,
Universidad de la República de Uruguay (2008) 46–60
14. Schonlau, M., Theus, M.: Detecting masquerades in intrusion detection based
on unpopular commands. Information Processing Letters 76 (2000) 33–38
15. Nevill-Manning, C.G., Witten, I.H.: Identifying hierarchical structure in
sequences: a linear-time algorithm. Journal of Artificial Intelligence Research,
JAIR 7 (1997) 67–82
16. Maxion, R.A., Townsend, T.N.: Masquerade detection using truncated
command lines. In: Proceedings of the International Conference on Dependable
Systems & Networks, Washington, DC, IEEE Computer Society Press (2002) 219–
228
17. Wang, K., Stolfo, S.: One-class training for masquerade detection. In:
Proceedings of the 3rd IEEE Conference Data Mining Workshop on Data Mining
for Computer Security, IEEE (2003)
5. Justificación
El objetivo de nuestra investigación es ampliar y profundizar el nivel de
precisión en la detección oportuna de impostores. Con relación en a quién
proteger, cualquiera es nuestro usuario objetivo; nos conducimos bajo la
premisa de que todos los usuarios tenemos un interés genuino por evitar que
uno de nuestros dispositivos de Tecnología de Información (TI) caiga en manos
ajenas, potencialmente hostiles. Con relación en de quién defenderse, nuestro
enfoque es aún más comprensivo, e incluye desde intrusos de ocasión u
oportunistas, hasta atacantes profesionales, quienes pudieran haber
comprometido ya el equipo del usuario mediante la instalación de algún archivo
de acceso (generalmente llamado puerta trasera.)
La clave para lograr el objetivo arriba planteado descansa en la aplicación
de técnicas estadísticas, o de inteligencia artificial, sobre información que
represente fielmente al comportamiento de un usuario. Nuestra tesis sustenta
que dicha información puede obtenerse al observar cómo estructura un usuario
su propio sistema de archivos, y al observar cómo y cuántas veces visita los
objetos de dicho sistema. Este enfoque es novedoso, como puede constatarse en
la sección previa, que presenta antecedentes en el problema de detección de
impostores. Además, lo que hace que valga la pena investigar esta línea es la
manera natural con que ella arroja información que identifica a un usuario.
Para expresar el comportamiento de navegación de un usuario
proponemos usar lo que llamamos grafo de navegación de un usuario. Un grafo
de navegación es de hecho la unión disjunta de dos grafos: uno de acceso y el
otro de directorio. Como su nombre lo sugiere, el grafo de acceso expresa el
orden y la frecuencia con que un usuario accede a los objetos de su sistema de
archivos, considerando un objeto de partida. El grafo de directorio, por otra
parte, es una arborescencia, y representa a un subárbol de la estructura
jerárquica que constituye el sistema de archivos del usuario a proteger. Por
tanto, el grafo de navegación de un usuario expresa expeditamente la estructura
aproximada de su sistema de archivos, y también el cómo y cuántas veces visita a
objetos en dicho sistema.
El grafo de navegación de un usuario puede usarse para entender el
comportamiento de un usuario, así como para construir métodos precisos de
detección de impostores. Por ejemplo, dado que un grafo de navegación permite
determinar qué objetos han sido visitados repetidamente, también permite
determinar qué características comparten en común dichos objetos.
En particular, podríamos demostrar nuestra hipótesis de localidad de
referencia en el patrón de visitas a objetos, considerando la estructura de
directorios y definir como una actividad de un usuario a todos los objetos que
desciendan de un fólder común. Con esta noción de actividad, y una relación
usuario versus actividades, el comportamiento del usuario puede modelarse
mediante cuáles son las actividades que durante el día realiza, y el cómo lo hace.
Y, en este caso, los principios de localidad espacial y temporal podrían
corroborarse experimentalmente, a través de una gráfica en el tiempo de cómo
accede el usuario a estas actividades. Deberíamos observar, pues, acciones
repetitivas dentro de una misma actividad (localidad temporalidad) y que la
distancia entre objetos con relación en una misma actividad es relativamente
pequeña (localidad espacial).
Más aún, la noción de actividad directamente produce una matriz de
probabilidad de transiciones entre actividades. Dicha matriz puede usarse para
determinar, de modo directo, la probabilidad total de finalizar en una actividad
específica, tras visitar a unos cuantos objetos del sistema de archivos, dado que
inicialmente se partió de otra actividad dada. La relación entre la ejecución de
tareas es un proceso temporal y estocástico, que puede modelarse mediante
modelos ocultos de Markov o campos aleatorios de Markov, o algún otro enfoque
Bayesiano.
Se requiere de investigación profunda para construir modelos
sofisticados, estadísticos o de inteligencia artificial, de modo que, tras una
comparación justa y exhaustiva, podamos distinguir cuál o cuáles son los más
precisos. También, se requiere realizar investigación seria, por ejemplo, para
determinar una medida apropiada que pueda usarse para distinguir como
identificar adecuadamente qué es una tarea. Igualmente, se requiere más
investigación para analizar otras medidas de interés, como por ejemplo: el
número de accesos a objetos no visitados previamente dentro de un intervalo de
tiempo, la profundidad promedio de navegación en el árbol de directorio, etc.
En este trabajo de investigación, también exploraremos cómo aplicar
medidas para restringir el tamaño del grafo de navegación de un usuario, de
modo que siempre tenga un tamaño manejable. Exploraremos la aplicabilidad de
técnicas de reemplazo de paginas que, dentro del contexto de investigación en
sistemas operativos, se han propuesto para la administración de memoria
virtual. Por ejemplo, consideramos investigar el efecto de aplicar una política de
eliminación de nodos que remueva aquellos que no han sido usados
recientemente (Least Recently Used). Implementar este tipo de política es
generalmente costoso (complejidad espacial y temporal) en el contexto de un
sistema operativo, pero puede ser aplicable en el nuestro caso, pues podría
aplicarse justo al encender el equipo o cuando esté próximo a apagarse. Si los
resultados no fueran lo esperados, podríamos investigar implementaciones más
económicas de esta política, aunque menos precisas, tales como estrategias de
segunda oportunidad, con clasificación de páginas (Not Used Recently).
Del mismo modo que debemos guardar que el espacio del grafo de
navegación sea manejable, también debemos vigilar si el usuario bajo protección
ha, deliberadamente, eliminado o movido un objeto de su sistema de archivos
que también se encuentra dentro de nuestro grafo de navegación.
Evidentemente, esto implica que no sólo debemos vigilar el tamaño del grafo,
sino también debemos darle mantenimiento,. Esto es para que continuamente
refleje fielmente el estado del sistema de archivos del usuario a proteger.
5.1 Registro de investigación
5.1.1 Raúl Monroy
Raúl Monroy ha trabajado en el área de seguridad informática desde 2000. Posee
el grado de doctor, con especialidad en inteligencia artificial, otorgado por la
universidad de Edimburgo. El Dr. Monroy es actualmente Profesor Investigador
Titular (clasificación más alta otorgada por el senado académico) en el
Tecnológico de Monterrey, Campus Estado de México. Es líder del grupo de
investigación en seguridad y redes computacionales, el cual acoge dos
investigadores principales más, varios investigadores externos, cinco estudiantes
de doctorado (dentro del Posgrado Receptor), y seis estudiantes de maestría.
Siete de los proyectos de investigación del Dr. Monroy han recibido
financiamiento externo, principalmente de agencias tales como el CONACYT
(México), BMBF, DAAD y DFG (Alemania) y FRIDA (agencia latinoamericana). Ha
sido presidente de programa técnico de varios congresos y talleres de trabajo.
Desde noviembre de 2010, funge como presidente de la Sociedad Mexicana de
Inteligencia Artificial (SMIA), A. C.
Las investigaciones del Dr. Monroy buscan automatizar la aplicación de la
demostración automática de teoremas en el desarrollo formal de sistemas y en
aplicar técnicas de Inteligencia Artificial en la solución de problemas
relacionados con seguridad informática. Actualmente, trabaja en la invención y
aplicación de estrategias para descubrir y corregir errores en sistemas
computacionales o en sus especificaciones, así como en la invención y aplicación
de métodos para la detección de anomalías en modelos de seguridad informática
y en la invención de métodos para planificación de movimientos en robótica.
5.1.2 Carlos Arturo Hernández Gracidas
Carlos Hernández Gracidas estudió la licenciatura en ciencias de la computación
en la Benemérita Universidad Autónoma de Puebla, obteniendo el título en el año
2001. En el año 2005 se graduó como maestro en ciencias con especialidad en
ciencias computacionales en el Instituto Nacional de Astrofísica, Óptica y
Electrónica. En el año 2010 obtuvo el grado de doctor en ciencias con
especialidad en ciencias computacionales, también por parte del Instituto
Nacional de Astrofísica, Óptica y Electrónica. Fue elegido como becario por parte
de la Fundación Telmex para cursar sus estudios de licenciatura, mientras que
para sus estudios de Maestría y Doctorado fue apoyado por becas otorgadas por
el CONACyT.
Carlos Hernández Gracidas ha trabajado con anterioridad en el reconocimiento
de objetos usando el enfoque de modelos basados en apariencia. Su trabajo
actual se centra en el uso de visión computacional y métodos de representación
de conocimiento espacial, aplicados a la recuperación de imágenes por
contenido.
Adicionalmente, ha iniciado investigación utilizando minería de datos aplicada a
las relaciones espaciales presentes en las imágenes, con el fin de extraer
patrones que sean de utilidad para la descripción de conjuntos de imágenes. En
sus investigaciones ha explorado el uso de técnicas de inteligencia artificial,
fusión de datos y modelado de información. Derivado de tales investigaciones, ha
realizado más de 10 publicaciones entre reportes técnicos, artículos de revista y
conferencias internacionales. A la fecha, Carlos Hernández Gracidas ha
participado en dos proyectos de investigación auspiciados por el CONACyT.
6. Metodología
Para mejorar el nivel de detección de impostores, mediante la
información inmersa en un grafo de navegación, deben emprenderse las
siguientes tareas principales.
6.1 Tareas principales
1. Construcción de una base de datos de desarrollo y validación de los
métodos para detectar impostores, basados en grafo de navegación.
El grupo de seguridad y redes computacionales de la RZMCM del
Tecnológico de Monterrey ha desarrollado un conjunto de programas,
denominados hooks en la literatura, que permiten construir el grafo de
navegación de un usuario dado. Estos programas colectan información y
construyen el grafo de navegación de un modo transparente; es decir, que
su efecto es para el usuario a proteger imperceptible. La construcción de
una base de datos de desarrollo y validación tiene dos partes. La primera
parte consiste en aplicar estos programas para construir grafos de
navegación para un conjunto amplio y variado de usuarios (oficinistas,
asistentes, gerentes, etc.).
La segunda parte consiste también en aplicar estos programas,
pero esta vez a un conjunto de personas a quienes hayamos reclutado
para funcionar como atacantes. Los atacantes también tendrán distintos
perfiles (oficinistas, programadores, administradores de equipo de
cómputo, etc.). A ellos, se les dará un lapso de tiempo para realizar una
tarea de intrusión, con un objetivo claro. El objetivo será abierto, y lo
determinará el atacante (obtener información, instalar puertas traseras,
etc.). El lapso de tiempo que contarán para lograr su objetivo será
desconocido y aleatorio, entre varias posibilidades (1 minuto, 3 minutos,
5 minutos, etc.)
Las bases de datos para construcción y validación de métodos de
detección de impostores serán publicadas en un sitio Internet para el
beneficio de la comunidad científica. De modo que nuevos métodos
puedan proponerse y comparase de manera justa.
2. Desarrollo de programa de construcción de grafos de navegación.
Con el propósito de contar con y distribuir un programa estable de
construcción de grafo de navegación, en esta etapa desarrollaremos el
programa actual (conjunto de hooks) e incluiremos nuevas plataformas
(sistemas operativos). La nueva versión del programa debe ser general en
cuanto a que debe poder complementarse con cualquier método de
detección de impostores fácilmente.
3. Desarrollo de métodos de detección de impostores mediante grafos
de navegación. Mediante una lluvia de ideas, definiremos qué métodos
estadísticos o de inteligencia artificial usaremos para la detección de
impostores. Esto incluye determinar cómo serán dichos métodos
aplicados y la información específica que usarán para resolver el
problema de detección.
Consideraremos las técnicas estadísticas o de inteligencia artificial
más prometedoras, incluyendo, pero sin limitarnos a, redes neuronales,
clasificadores Bayesianos, modelos ocultos o campos aleatorios de
Markov, etc. Nuestra selección no será ciega, ni exhaustiva; sino que
estará basada fuertemente en un análisis riguroso del problema y de las
características teóricas de cada técnica. El resultado de esta tarea
consistirá en una colección variada pero selecta de técnicas adecuadas
para resolver el problema de detección de impostores, basada en grafo de
navegación. Todos los métodos estudiados deberán aceptar la
actualización continua de los modelos, para adaptarse a cambios en el
comportamiento del usuario (por ejemplo, cambios en las tareas
realizadas.)
4. Experimentación exhaustiva de los métodos de detección de
impostores. Conjeturamos que nuestros métodos obtendrán excelentes
resultados cuando el usuario a proteger tengan una gran variedad, pero a
la vez comunes, por su frecuencia de uso, de tareas a realizar. Es decir,
muy posiblemente será muy difícil proteger a un usuario que, por
ejemplo, únicamente envía órdenes de compra, y que, por lo tanto,
produce una distribución de probabilidad asociada a la frecuencia de uso
y modo de navegación prácticamente uniforme.
En esta tarea, realizaremos un conjunto exhaustivo de
experimentos para validar o refutar nuestras hipótesis. Para cada
hipótesis planteada, se diseñará un experimento, considerando una gran
variedad de perfiles en el usuario a proteger, así como del atacante.
Nuestros resultados deberán ser concluyentes, de modo que puedan
reportarse en artículos en los congresos más importantes en el área (por
ejemplo, Recent Advances in Intrusion Detection, RAID), así como en
revistas indizadas (por ejemplo, Information Security).
5. Integración del método de detección y el grafo de navegación. El
objetivo de esta tarea es integrar los resultados de las etapas anteriores
como un software, estable y que pueda descargarse e instalarse
fácilmente con el propósito de proteger a un equipo de cómputo de
impostores.
6. Diseminación de resultados. Los resultados del presente Proyecto
Académico serán reportados y diseminados a través de los medios
estándar de la comunidad científica. Estos incluyen artículos en congresos
y revistas, conferencias en seminarios y talleres de trabajo especializados,
artículos de divulgación, etc.
7. Otros recursos financieros
El Tecnológico de Monterrey, Campus Estado de México, proveerá la
infraestructura esencial para desarrollar el presente Proyecto Académico; a
saber: escritorio y equipo de cómputo para desarrollo, comunicaciones locales,
Internet, espacio público para alojar páginas web con relación en el Proyecto
Académico, software especializado, apoyo administrativo, biblioteca, apoyo
técnico a equipo de cómputo, etc. El Tecnológico de Monterrey, Campus Estado
de México, también proveerá tiempo al Responsable del Proyecto Académico
para realizar las actividades de investigación y dirección de trabajos del
Candidato a Becario. Adicional a lo anterior, no se vislumbran la necesidad de
otros recursos financieros con respecto a este Proyecto Académico.
8. Fortalecimiento del programa receptor
El Posgrado Receptor, Doctorado en Ciencias Computacionales, del Tecnológico
de Monterrey, Campus Estado de México es uno de los beneficiarios inmediatos
del presente Proyecto Académico propuesto. A través de este proyecto, primero
se fortalecerán dos líneas de generación de conocimiento del Programa: una,
principalmente, es la línea en Redes Computacionales; y, la otra, de manera
colateral, es la línea en Inteligencia Artificial. Segundo, se fortalecerá la Academia
propia del programa, a través de las publicaciones generadas. Tercero, se
fortalecerá el programa menor del Posgrado Receptor, la Maestría en Ciencias de
la Computación, pues por la experiencia del Candidato a Becario se le invitaría a
participar como sinodal de estudiantes quienes hayan completado sus trabajos
de tesis. Cuarto, de manera natural, se fortalecerán los vínculos que el Programa
tiene con el Doctorado en Ciencias Computacionales del INAOE, Centro de
Investigación CONACYT, pues el Candidato a Becario proviene de ahí. Quinto,
igualmente de manera implícita, se espera un incremento en la movilidad de los
estudiantes del Programa, al visitar a sus pares en el INAOE. Sexto, se fortalecerá
el Programa al contar con una fertilización cruzada por especialistas calificados,
provenientes de varios recintos académicos; particularmente, se espera que el
Candidato a Becario participe en la impartición de módulos con tópicos
especializados dentro de las materias del Posgrado Receptor, Doctorado en
Ciencias Computacionales.
El Programa Receptor también será beneficiado indirectamente por los
beneficios que el Proyecto Académico brinda a terceros. Por ejemplo, la
comunidad científica en el área de detección de intrusiones será un beneficiario
directo, pues se interesará no sólo en los resultados obtenidos, sino también en
las bases de datos generadas (ver Objetivo 2.)
9. Compromiso de la institución receptora
El Tecnológico de Monterrey, Campus Estado de México, proveerá la
infraestructura esencial para desarrollar el presente Proyecto Académico; a
saber: escritorio y equipo de cómputo, comunicaciones locales, Internet,
software especializado, apoyo administrativo, biblioteca, apoyo técnico a equipo
de cómputo, etc. El Tecnológico de Monterrey, Campus Estado de México,
también proveerá tiempo al Responsable del Proyecto Académico para realizar
las actividades de investigación y dirección de trabajos del Candidato a Becario.
10. Cronograma de actividades
Nuestro programa de trabajo está especificado en actividades (A), y exceptuando
por A3, cada una de las cuales tiene duración de cuatro meses, e incluye las
tareas principales delineadas en la metodología.
A1. Construcción de una base de datos de desarrollo y validación de los
métodos para detectar impostores, basados en grafo de navegación. Fecha
de inicio: 15 de agosto de 2011; fecha de término: 15 de diciembre de
2011. Producto esperado: Desarrollo y puesta a disposición de la
comunidad científica una base de datos con historiales de usuarios, así
como de intrusiones de impostores, que permita el desarrollo,
experimentación y comparación justa de nuevos métodos para la
detección de impostores. Impacto en el posgrado receptor:
Fortalecimiento de la línea de investigación seguridad y redes
computacionales del Doctorado en Ciencias Computacionales (DCC), del
Tecnológico de Monterrey, Campus Estado de México.
A2. Desarrollo de programa de construcción de grafos de navegación. Fecha
de inicio: 15 de agosto de 2011; fecha de término: 15 de diciembre de
2011. Productos esperados: Software estable para la construcción y
mantenimiento del grafo de navegación de un usuario. Reporte de
desarrollo y manual de usuario del método constructor del grafo de
navegación. Impacto en el posgrado receptor: Fortalecimiento de la línea
de investigación seguridad y redes computacionales del DCC, del
Tecnológico de Monterrey, Campus Estado de México.
A3. Co-asesoría, entre el Responsable del Proyecto Académico y el Candidato
a Becario, de alumnos del Programa Receptor, DCC, del Tecnológico de
Monterrey, Campus Estado de México. Fecha de inicio: 15 de agosto de
2011; fecha de término: 14 de agosto de 2012. Producto esperado:
Artículos científicos, resultado de las investigaciones realizadas por los
estudiante del Programa Receptor. Avances significativos en las
respectivas tesis. Impacto en el posgrado receptor: Fortalecimiento de la
línea de investigación seguridad y redes computacionales del DCC, del
Tecnológico de Monterrey, Campus Estado de México.
A4. Desarrollo de métodos de detección de impostores mediante grafos de
navegación. Fecha de inicio: 2 de enero de 2012; fecha de término: 15 de
mayo de 2012. Productos esperados: Métodos de detección de
impostores, con actualización, basados en grafo de navegación. Reporte
técnico de los métodos estudiados y seleccionados. Impacto en el
posgrado receptor: Fortalecimiento de la línea de investigación seguridad
y redes computacionales del DCC, del Tecnológico de Monterrey, Campus
Estado de México.
A5. Experimentación exhaustiva de los métodos de detección de impostores.
Fecha de inicio: 15 de febrero de 2012; fecha de término: 15 de junio de
2012. Productos esperados: Colección de experimentos. Reporte técnico
analizando resultados. Lluvia de ideas sobre nuevas líneas de exploración.
Impacto en el posgrado receptor: Fortalecimiento de la línea de
investigación seguridad y redes computacionales del DCC, del Tecnológico
de Monterrey, Campus Estado de México.
A6. Capacitación conjunta, entre el Responsable del Proyecto Académico y el
Candidato a Becario, de cursos especializados del Programa de Posgrado
Receptor. Fecha de inicio: 9 de enero de 2012; fecha de término: 15 de
mayo de 2012. Productos esperados: Cursos especializados impartidos
dentro del DCC. Impacto en el posgrado receptor: Fortalecimiento de la
línea de investigación seguridad y redes computacionales del DCC, del
Tecnológico de Monterrey, Campus Estado de México.
A7. Integración del método de detección y el grafo de navegación. Fecha de
inicio: 15 de mayo de 2012; fecha de término: 14 de septiembre de 2012.
Producto esperado: Software estable, listo para distribución. Reporte
técnico; manual de instalación y usuario. Impacto en el posgrado
receptor: Fortalecimiento de la línea de investigación seguridad y redes
computacionales del DCC, del Tecnológico de Monterrey, Campus Estado
de México.
A8. Preparación y diseminación de resultados. Fecha de inicio: 15 de mayo de
2012; fecha de término: 14 de septiembre de 2012. Producto esperado:
Artículos científicos, congreso y revista, sometidos a evaluación. Artículo
de divulgación. Conferencias en seminarios y talleres de trabajo
especializados. Impacto en el posgrado receptor: Fortalecimiento de la
línea de investigación seguridad y redes computacionales del DCC, del
Tecnológico de Monterrey, Campus Estado de México.
Descargar