SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Clasificación de intrusos a través del análisis de comandos
            Universidad Tecnológica Nacional - Facultad Regional Buenos Aires
                           Romina Bin             Julio Rossini
                                       Año 2005




            Abstract. El objetivo de esta investigación fue clasificar intrusos
            aplicando métodos de agrupamiento (K-Means y X-Means) y
            clasificación (Perceptrón multicapa), mediante la utilización de
            herramientas de procesamiento automático aplicadas a datos
            colectados en un honeypot. Luego de realizar un agrupamiento
            manual donde se infirieron 5 grupos de intrusos que fueron
            contrastados con los resultantes del procesamiento automático, se
            determinaron errores de clasificación que oscilaban entre 50 y 70%.
            Sin embargo, se cree que los resultados se debieron mayormente a la
            dificultad de tratar algunos parámetros y a carencia de información
            relacionada con parámetros de red.


1   Introducción
Desde hace muchos años se ha estudiado y comprobado la precisión de los resultados
arrojados por el análisis de los tiempos de la dinámica de tecleo (keystroke dynamics),
considerándose esta técnica biométrica como una de las que poseen la menor tasa de error en
cuanto a la falsa aceptación de usuarios [JKMW03].
Existen otras características en el patrón de tipeo relacionadas con la “personalidad” y
“costumbres” del usuario que, sumadas al análisis de tecleo, podrían utilizarse para la
identificación [1] de usuarios y/o clasificación [2] de los mismos.

La identificación temprana de usuarios no solo incrementaría la seguridad de los sistemas
existentes sino que también podría ayudar en el tratamiento adecuado de las intrusiones,
permitiendo que se tomasen acciones preventivas y/o correctivas anticipadamente.

Por los motivos mencionados, el grupo SI6 de CITEFA [3] emprendió un proyecto llamado
Paranoid, cuya finalidad es “... desarrollar un sistema de identificación de intrusos a través de
su comportamiento en la red. Esto se realizará a través del análisis de parámetros de host
(patrón de tipeo, comandos utilizados, lenguaje, errores, etc.) y de parámetros de red
(direcciones IP, routers, sistema operativo, etc.).”

El objetivo de la investigación emprendida por nuestro equipo fue analizar los archivos de
captura del honeypot [4] de CITEFA, para comprobar la factibilidad de clasificar intrusos
mediante patrones de comportamiento. Los utilizados en nuestra investigación fueron:
comandos y parámetros [5], uso de caracteres de corrección (delete, backspace), utilización
de caracteres de separación de comandos [Pel03] y editores preferidos.

                                               1
2   Limitaciones y restricciones de la investigación
Se descartó la información relacionada con tiempos entre teclas, ya que la misma sumaba
complejidad al análisis abriendo nuevas líneas de investigación. Esto excedía los alcances y
los tiempos fijados previamente por la cátedra de Proyecto Final, a través de la cual nuestro
equipo tuvo la posibilidad de participar en esta investigación.

En el juego de datos recibido no existía separación de sesiones realizada en forma automática
ya que, por un inconveniente en el programa que capturaba la actividad del honeypot, no se
pudo disponer de la información relacionada con las terminales de origen. Por lo expuesto,
este proceso debió realizarse en forma manual, utilizando diferentes técnicas de inspección y
agrupamiento detalladas posteriormente en la sección de Metodología de este documento.

En los comandos donde fue presionada la tecla “tabulador” (ASCII 9) para
“autocompletar”[9] fue considerada únicamente la parte del lexema correspondiente hasta
dicha tecla, ya que resultaba imposible determinar cual fue el comando completo digitado
previamente por el intruso.

En las herramientas de análisis automático elegidas (PCP versión 1.2 [Lju05] y WEKA
versión 3.5.1 [WiFr05]: [6]) se encontraron algunas limitaciones a saber:
        Existe escasa documentación acerca de los detalles de implementación de los
        métodos de minería de datos.
        PCP posee restricciones respecto de la cantidad de atributos y de vectores que pueden
        ser evaluados.
        PCP en diversas oportunidades se cerró abruptamente en medio del procesamiento,
        sin devolver código de error alguno. En consecuencia no pudimos interpretar con
        exactitud cuales eran las causas de ello.
        Falla en la visualización de resultados en WEKA al analizar vectores con muchas
        dimensiones (no se pudo determinar la cantidad exacta de dimensiones en la que
        comenzaba a fallar la herramienta).


3   Adaptación de los datos
Para comenzar con la adaptación de los datos provenientes del honeypot previamente se
desarrolló una macro en planilla de cálculo de modo que se pudiesen recuperar las teclas de
forma legible, ya que se encontraban en formato hexadecimal. El paso siguiente fue separar
los datos en sesiones. Para ello como primera medida se separaron por fecha, terminal de
usuario e identificación de usuario. Posteriormente, se utilizó un tiempo promedio de
inactividad de 10 minutos (calculado a través de las diferencias de tiempo entre una tecla y su
antecesora), que luego tuvo que ser analizado en detalle, ya que en algunos casos este tiempo
no era el determinante del fin de sesión. Adicionalmente, se detectaron como finalizadores de
sesión la utilización de los comandos “exit”, “shutdown”, “kill -9 $$” y “kill -9 0” (también
se verificó que en todos los casos existiera coherencia en lo digitado en forma global). Por
ejemplo, existió también una excepción en el día 22/04/2005. A priori parecían existir varias


                                              2
sesiones, pero luego de un intenso análisis se llegó a la conclusión de que se trataba de una
    sola sesión de varias horas de duración, donde el intruso cambiaba la identificación de
    usuario a través de la ejecución del comando “su”.

    Una vez identificadas las sesiones, se reconstruyeron los comandos digitados, generando una
    segunda macro. La función principal de la macro fue concatenar las teclas de cada sesión en
    diferentes líneas, considerando como determinante de una nueva línea las siguientes teclas:
    (expresadas en valor ASCII): 10, 13, 59.

    Luego, los datos adaptados se importaron a una base de datos MS SQL Server1 con el fin de
    obtener la información por vectores [7], aptos para ser procesados con PCP y posteriormente
    con Weka.

    Para comprender mejor el proceso, en [Anexo I] se adjunta un diagrama con los pasos
    efectuados.


    4     Metodología adoptada para el análisis de los datos

    En [DHS01] se enumeran los pasos para efectuar clasificación de patrones: Identificación del
    Modelo, Pre-procesamiento, Segmentación, Extracción de características distintivas,
    Utilización de conjunto de datos de entrenamiento, Costo, Teoría de la decisión, Límites de
    decisión, Generalización y Análisis por síntesis.
    Para poder clasificar a los intrusos se adoptó, en parte, la metodología enumerada, tomándose
    en cuenta sólo aquellas que eran aplicables al modelo de investigación emprendido.

    4.1    Pre-procesamiento: agrupamiento manual de sesiones

    Previo al agrupamiento manual de sesiones se debió realizar una nueva y exhaustiva
    verificación y “reconstrucción” de los comandos digitados, ya que la información de los
    mismos contenía los errores cometidos y las posteriores correcciones por parte de los intrusos
    (se entiende por “reconstrucción” la obtención del comando finalmente digitado por el
    intruso). Asimismo, fueron eliminados aquellos comandos en los cuales la sintaxis final no
    era clara o bien cuando se podían identificar como comandos erróneos.

    El agrupamiento de sesiones se realizó por inspección, evaluando cada sesión como un
    “todo”. Se buscaron comportamientos comunes considerando:
            Acceso a destinos similares (dominios y/o direcciones IP)
            Directorios accedidos
            Comandos utilizados en general, para comprender el accionar del intruso
            Shell utilizado
            Editores preferidos

    De este modo se infirieron 5 grupos de intrusos, dentro de los cuales se pudieron diferenciar
    claramente tres grupos de intrusos rumanos y dos grupos de sesiones contenían

1
    Marca registrada de Microsoft Corporation.

                                                  3
comportamiento similar entre si, pero cuya procedencia no pudo ser identificada.
Adicionalmente, se detectó un grupo correspondiente a la actividad de la administración del
honeypot (CITEFA). Para comprender mejor como se distribuyen los grupos según
características distintivas, ver imágenes en [Anexo III].

4.2    Extracción de características distintivas

Algunas de las características distintivas detectadas fueron las siguientes:
      Ratio de errores cometidos: de esta información pudieron inferirse dos
      comportamientos excluyentes: el uso de las teclas Del ó Backspace (expresadas en
      ASCII: 127 y 8 respectivamente). No se incluyó el uso de “x” en el caso de
      equivocaciones cometidas por usuarios que utilizaban “vi” como editor de Shell.
      Ratio de presión de tecla Tabulador (expresada en ASCII: 9).
      Ratio de uso de tecla “;”para separación de comandos.
      Ratio de uso de comandos.
      Uso de editores (Vi, Pico).
      Comandos utilizados sin parámetros.
      Comandos utilizados acompañados de parámetros.

Respecto al último punto mencionado, se debe realizar una aclaración: en los casos donde el
parámetro variaba, fue generalizado [8] con el objetivo de facilitar el procesamiento
automático. Casos típicos fueron: directorios accedidos, IPs, nombres de archivos y número
de puertos.
Se menciona el ejemplo “ls <DIR>”: si se tomaba en cuenta el parámetro completo, producía
un muy bajo ratio de ocurrencia, no permitiendo determinar en forma automática el perfil de
la sesión que lo contenía.
Por otra parte, tomar sólo una porción (la más relevante) de esos parámetros representaba un
alto nivel de complejidad y además requería una decisión respecto de hasta donde cortar el
parámetro mencionado. De este modo se favorecía una incorrecta clasificación debido al
elevado número de atributos característicos a evaluar en un vector correspondiente a una
sesión.

Se entiende por Ratio la razón porcentual entre la cantidad de veces que se digitó la tecla y el
total de teclas digitadas o entre la repeticiones de un comando respecto al total de comandos.
Estos totales son los correspondientes a cada sesión.


5     Procesamiento automático de vectores
5.1    Método de clasificación

El método de clasificación elegido fue Multi-layer Perceptron (red neuronal multicapa) con
herramienta PCP, ya que el grupo de investigación tenía mejor dominio del método
mencionado.
Luego de cargar los archivos conteniendo cada clase (entendiéndose por clase cada uno de
los grupos generados en forma manual), se procesaron los datos con los siguientes
parámetros:


                                               4
Enter number of hidden layers (>= 1) [1]: 15 //cantidad de capas ocultas (también
    llamada capa intermedia).
    Number of inputs is: 394.   //cantidad de atributos (características), que representan
    una entrada en la red
    Number of output nodes is: 6. //cantidad de nodos de salida.
    Enter number of nodes in hidden layer [1-10]: 60 nodes //cantidad de nodos en capa
    oculta
    Enter number of nodes in hidden layer [11-15]: 40 nodes //cantidad de nodos en cada capa
    oculta
    Enter seed for pseudo-random number generator [    1]: 1
    Enter amplitude of initial weights [ 1.00]: 1.00
    Enter optimization method - conj. grad (1), grad. descent (2) [    1]: 1 //método del
    conjunto gradiente
    Enter number of iterations (-1 for no iterations) [ 100]: 100 //cantidad de iteraciones


    Error rate: 46.51 %
    Avg. error per ouput node: 0.0741



Nota: luego de sucesivas pruebas se determinó que con 15 capas ocultas y con cantidad de
nodos mayores o iguales a 40, se obtuvo la menor tasa de error.
Con grandes cantidades de nodos el procesamiento fue muy inestable, ya que producía
errores en la ejecución de PCP, tal como fue comentado anteriormente.
En cuanto a la cantidad de iteraciones, se utilizó la cantidad por defecto que ofrecía PCP ya
que, para cantidades de iteraciones mayores, los resultados no se vieron afectados.

|          Class         |    Actual/predicted card.   |         Error rate         |
|     Total                  |           43/43         |    46.51% (    20/   43)   |
|     1/citefa               |            7/0          |   100.00% (     7/    7)   |
|     2/Grupo1               |            3/0          |   100.00% (     3/    3)   |
|     3/Grupo2               |           11/16         |     9.09% (     1/   11)   |
|     4/Grupo3               |            6/0          |   100.00% (     6/    6)   |
|     5/Grupo4               |           14/27         |     7.14% (     1/   14)   |
|     6/Grupo5               |            2/0          |   100.00% (     2/    2)   |


|   Vector               |   Actual class              |   MLP prediction               |
|   4                    |   citefa                    |   Grupo4                       |
|   8                    |   citefa                    |   Grupo4                       |
|   15                   |   citefa                    |   Grupo4                       |
|   19                   |   citefa                    |   Grupo4                       |
|   23                   |   citefa                    |   Grupo2                       |
|   32                   |   citefa                    |   Grupo4                       |
|   41                   |   citefa                    |   Grupo2                       |
|   5                    |   Grupo1                    |   Grupo4                       |
|   6                    |   Grupo1                    |   Grupo4                       |
|   7                    |   Grupo1                    |   Grupo4                       |
|   12                   |   Grupo2                    |   Grupo4                       |
|   1                    |   Grupo3                    |   Grupo4                       |
|   14                   |   Grupo3                    |   Grupo4                       |
|   20                   |   Grupo3                    |   Grupo2                       |
|   22                   |   Grupo3                    |   Grupo4                       |
|   31                   |   Grupo3                    |   Grupo4                       |
|   42                   |   Grupo3                    |   Grupo4                       |
|   10                   |   Grupo4                    |   Grupo2                       |
|   18                   |   Grupo5                    |   Grupo2                       |
|   27                   |   Grupo5                    |   Grupo2                       |


Referencias:
Citefa: sesiones con terminal vc/1 ó vc/2
Grupo1: Otros 1


                                                5
Grupo2:   Otros 2
Grupo3:   Rumania 1
Grupo4:   Rumania 2
Grupo5:   Rumania 3


Actual Class: Clase determinada con agrupamiento manual.

Los resultados expuestos fueron los que menor tasa de error retornaron. Esto pudo
determinarse luego de pruebas sucesivas con la herramienta PCP, ya que se estimó que el
promedio de rango de error se encontraba entre 50 y 70%. Observar que las sesiones
correspondientes a CITEFA fueron clasificadas en su totalidad como intrusos dentro de las
sesiones agrupadas manualmente como grupos rumanos.


5.2   Métodos de agrupamiento (clustering)

Los métodos de clustering escogidos para el estudio fueron K-Means [DHS01].y X-Means
[PeMo00], ya que posibilitaron realizar una agrupación de sesiones mediante las
características elegidas y comparar los resultados con la pre-agrupación manual. La
herramienta elegida para el procesamiento automático fue WEKA. En una primera etapa se
procesaron los datos con PCP, pero debido a los inconvenientes mencionados en la sección
de “limitaciones”, la herramienta fue desestimada.
En la forma de procesamiento elegida, el cálculo de error está basado en la comparación
realizada entre el agrupamiento manual y el cluster creado por el método elegido.
Las pruebas se realizaron configurando los vectores con diferentes dimensiones (variando la
cantidad de propiedades elegidas). Además se usaron diferente semillas de números
aleatorios, y otros parámetros propios del método Xmeans. Para mayor detalle ver [WiFr05]
y [PeMo00].
El error obtenido en todos los casos superó el 50%. Utilizando los mismos métodos, en los
juegos de datos de prueba de dominio público (ejemplo Iris, Leukemia, Landsat), el error en
términos generales no superaba el 20%, a excepción de aquellos casos en los cuales la semilla
elegida generaba un punto de ensilladura o un extremo local.
Los resultados expuestos a continuación se encuentran reducidos a los efectos de agilizar su
comprensión. Asimismo, los resultados expuestos fueron los que se consideraron más
significativos.

Se adjuntan referencias de los parámetros utilizados en las configuraciones de los dos
métodos elegidos:
binValue: -B
cutOffFactor: -C
debugLevel: -U
maxIterations: -I
maxKMeans: -M
maxKMeansForChildren: -J
maxNumClusters: -H
minNumClusters: -L
seed: -S
numClusters: -N



                                              6
5.2.1   Resultados con método K-Means

Scheme:       weka.clusterers.SimpleKMeans -N 5 -S 10
Incorrectly clustered instances : 26.0   60.4651 %

Scheme:       weka.clusterers.SimpleKMeans -N 4 -S 10
Incorrectly clustered instances : 27.0   62.7907 %

5.2.2   Resultados con método X-Means

Scheme:       weka.clusterers.XMeans -I 1 -M 1000 -J 1000 -L 3 -H 7 -B 1.0 -C
0.5 -D "weka.core.EuclideanDistance " -S 10
Incorrectly clustered instances : 24.0   55.814 %

Scheme:        weka.clusterers.XMeans -I 1 -M 1000 -J 1000 -L 2 -H 4 -B 1.0 -C
0.5 -S 1234
Incorrectly clustered instances : 22.0   51.1628 %



6   Conclusiones
En el agrupamiento manual se infirieron cinco grupos de intrusos, más un grupo adicional
resultante de la actividad de CITEFA. Por el comportamiento observado, dichos grupos
determinan diferentes “perfiles”.
A partir del agrupamiento manual realizado, suponiendo que el mismo fue correcto,
emprendimos la desafiante tarea de analizar la información.

Luego de haber determinado características propias de cada sesión, al procesarlas de forma
automática según el método empleado, resultaron identificados hasta 3 grupos (cuando
hablamos de grupos estamos haciendo referencia tanto a clusters determinados por métodos
de agrupamiento como a clases determinadas mediante redes neuronales).

Sin embargo, los resultados no son desalentadores. Creemos que uno de los factores
determinantes del alto porcentaje de error fue que los métodos de clustering seleccionados no
posibilitan la asignación de pesos intencionales a las características elegidas y algunas de
ellas resultaron tener más relevancia que otras (este es el caso de las características
mencionadas para realizar el agrupamiento manual).

Otro de los factores que puede haber incidido en todos los métodos aplicados –y con mayor
peso que el primero mencionado– fue la imposibilidad de incluir en el procesamiento
automático los parámetros que brindaban mayor información acerca de los intrusos:
directorios accedidos, IPs, etc. pero que debieron generalizarse por la dificultad que
representaba tratarlos.

Consideramos que, a futuro, existe mucho por hacer. Mencionamos algunos puntos que
podrían tenerse en cuenta: observar resultados mediante otros métodos de agrupamiento y
clasificación, encontrar una forma (no manual) de considerar los parámetros que en nuestra
investigación se descartaron, así como también incluir parámetros de red.




                                             7
7   Reconocimientos
Al grupo SI6 de CITEFA, por abrirnos sus puertas e invitarnos a colaborar en este proyecto.
A los Ingenieros Sebastián García (CITEFA) y Jorge Garay (UTN), por el apoyo y tutoría
brindados. Al Lic. Carlos Tomassino, por facilitar nuestra participación desde la materia
Proyecto Final en esta investigación.


8   Referencias
[JKMW03] Lucy Jin, Xian Ke, Ryan Manuel, Matt Wilkerson, “Keystroke Dynamics - A
Software-based Biometric Solution”, Massachusetts Institute of Technology, Diciembre
2003.
[Lju05] Ljubomir J. Buturovic, “PCP - Pattern Classification Program, version 1.2 - User’s
Guide”, February 27, 2005. Obtenido el 15/04/2005 de http://pcp.sourceforge.net
[DHS01] Richard O Duda, Peter E Hart, David G Stork, “Pattern Classification”, 2Ed – J.
Wiley & Son’s, 2001.
[Pel03] Bob Pelletier, “Honeypots: An exploration”, 2003.
[WiFr05] Ian H. Witten and Eibe Frank, "Data Mining: Practical machine learning tools and
techniques", 2nd Edition, Morgan Kaufmann, San Francisco, 2005.
[PeMo00] Dan Pelleg, Andrew Moore, "X-means: Extending K-means with Efficient
Estimation of the number of clusters", School of Computer science, Carneguie Mellon
university, Pittscburgh, 2000


9   Bibliografía
[WMM98] Walpole Ronald, Myers Raymod y Myers Sharon, “Probabilidad y Estadística
para ingenieros”, Sexta Edición, 1998.
[Much00] Muchnik Jorge Daniel, “Autómatas finitos y expresiones regulares”, Editorial
CEIT, 2000.
[McC04] Bill McCarty, “Honeypot Forensics, Part I: Analyzing the network”, 2004.
[McC04] Bill McCarty , “Honeypot Forensics, Part II: Analyzing the Compromised Host”,
2004.
[DVT02] Vu N. P. Dao, Rao Vemuri, Steven J. Templeton, "Profiling Users in the UNIX OS
Environment", 2002.
[Bach02] Johann Bacher, "Cluster Analysis", Chair of Sociology, University Erlangen-
Nuremberg, 2002.
[VeMa00] Jeroen K. Vermunt, Jay Magidson, "Latent class cluster analysis", 2000
[GaJi99] James K. Galbraith, Lu Jiaqing, “Cluster and Discriminant analysis on Time-Series
as a Research Tools”, 1999.
http://www.rae.es/
http://www.citefa.gov.ar/SitioSI6_EN/si6.htm


                                             8
10 Glosario
[1] Identificar: Reconocer si una persona o cosa es la misma que se supone o se busca. –
    Diccionario de la Real Academia Española.
[2] Clasificar: Ordenar o disponer por clases. - Diccionario de la Real Academia Española.
[3] SI6 es el Laboratorio de Investigación en Seguridad Informática del Instituto de
    Investigaciones Científicas y Técnicas de las Fuerzas Armadas (CITEFA), dependiente
    del Ministerio de Defensa, República Argentina.
[4] Honeypot: es un sistema instalado en una red como cebo para los atacantes. Un honeypot
    pretente descubrir a las personas que utilizan la red para actividades no autorizadas. Por
    ese motivo, el solo hecho de que un usuario acceda a un Honeypot lo convierte en
    atacantes. Cualquier interacción con un Honeypot implica una actividad no autorizada.
    Esta es la verdadera esencia de los mismos La idea es engañar a los atacantes, haciendo
    que el Honeypot se comporte como un sistema legítimo.
[5] Comando: lexema. Se encuentran definidos dentro del lenguaje del sistema operativo.
    Parámetro: lexema que sucede a un Comando
    Lexemas: secuencias de caracteres escritas que poseen un significado único.
    Sentencia: conjunto de lexemas finalizados con un caracter separador de sentencias. Los
    caracteres separadores de sentencias son {Enter, ; , | }.
[6] PCP: Pattern Classification Program
    Weka: Waikato Enviroment for Knowledge Analysis
[7] Vectores: conjunto de características distintivas de una sesión. Posee una dimensión de 1
    fila por “n” columnas, donde las “n” columnas corresponden a las características
    evaluadas.
[8] Generalización: acción de generalizar. Abstraer lo que es común y esencial a muchas
    cosas, para formar un concepto general que las comprenda todas.
[9] Autocompletar: es un automatismo de algunos intérpretes de comando (Shell) que
    permiten inferir el comando completo utilizando las primeras teclas digitadas.




                                              9
11 Anexos
I. Diagrama de Proceso




                         10
II. Referencia breve de método de Clustering K-Means
Dado un k, el algoritmo k-means realiza 4 pasos:
    1. Repartir los objetos (vectores para PCP y Weka) en k subconjuntos no vacíos.
    2. Determinar los puntos semilla como los centroides de los clusters. El centroide es el centro (punto
       medio) del cluster.
    3. Asignar cada objeto al cluster con el punto semilla más cercano.
    4. Volver al punto 2 y detenerse cuando no haya más asignaciones nuevas para realizar.




                                                    11
III. Imágenes de dispersión de datos
Se adjuntan dos pantallas que muestran la dispersión del ratio de errores y la dispersión del ratio de tabs
digitados, respecto del agrupamiento manual realizado.




                           Gráfico 1: Ratio errores vs agrupamiento manual.
                   Eje horizontal: Grupos inferidos a partir de agrupamiento manual.
                              Eje vertical: Ratio de errores de tecla Delete.
             Cada punto representa el ratio teclas Delete digitadas en una sesión determinada.




                                                    12
Gráfico 2: Ratio Tabs vs. agrupamiento manual.
         Eje horizontal: Grupos inferidos a partir de agrupamiento manual.
Eje vertical: Ratio de teclas Tabs respecto del total de teclas digitadas en la sesión.
Cada punto representa el ratio de teclas Tabs digitadas en una sesión determinada.




                                          13

Más contenido relacionado

Similar a Clasificacion de intrusos a traves de analisis de comandos

Documentación de pruebas del software
Documentación de pruebas del softwareDocumentación de pruebas del software
Documentación de pruebas del software
Lina Vega
 
Actividad unidad iii_angeles_martinez
Actividad unidad iii_angeles_martinezActividad unidad iii_angeles_martinez
Actividad unidad iii_angeles_martinez
ammpms
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOS
LuiS YmAY
 
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
ZekiEvaristo
 
Temas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemasTemas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemas
Oswaldo Hechenleitner
 
Ciclo de vida del desarrollo de software
Ciclo de vida del desarrollo de softwareCiclo de vida del desarrollo de software
Ciclo de vida del desarrollo de software
Dulce Arenas Garzon
 
Analisis de sistema
Analisis de sistemaAnalisis de sistema
Analisis de sistema
el_musico
 
Gestiondeauditoriasdeseguridad
GestiondeauditoriasdeseguridadGestiondeauditoriasdeseguridad
Gestiondeauditoriasdeseguridad
oscar lopez
 
I N F O R M E D E A U D I T O R I A F I N A L
I N F O R M E  D E  A U D I T O R I A  F I N A LI N F O R M E  D E  A U D I T O R I A  F I N A L
I N F O R M E D E A U D I T O R I A F I N A L
alexwill88
 
Auditoria Final
Auditoria FinalAuditoria Final
Auditoria Final
alexwill88
 

Similar a Clasificacion de intrusos a traves de analisis de comandos (20)

Documentación de pruebas del software
Documentación de pruebas del softwareDocumentación de pruebas del software
Documentación de pruebas del software
 
Actividad unidad iii_angeles_martinez
Actividad unidad iii_angeles_martinezActividad unidad iii_angeles_martinez
Actividad unidad iii_angeles_martinez
 
Ciclo de Vida y Diseño de Sistemas de Informacion
Ciclo de Vida y Diseño de Sistemas de InformacionCiclo de Vida y Diseño de Sistemas de Informacion
Ciclo de Vida y Diseño de Sistemas de Informacion
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOS
 
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
 
Expo bases de datos
Expo bases de datosExpo bases de datos
Expo bases de datos
 
Expo bases de datos
Expo bases de datosExpo bases de datos
Expo bases de datos
 
Practicas
PracticasPracticas
Practicas
 
Temas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemasTemas de exposiciones teoria de sistemas
Temas de exposiciones teoria de sistemas
 
Ciclo de vida del desarrollo de software
Ciclo de vida del desarrollo de softwareCiclo de vida del desarrollo de software
Ciclo de vida del desarrollo de software
 
Una introduccion a la monitorizacion y ajuste de recursos en unix
Una introduccion a la monitorizacion y ajuste de recursos en unixUna introduccion a la monitorizacion y ajuste de recursos en unix
Una introduccion a la monitorizacion y ajuste de recursos en unix
 
AREAS FUNCIONALES DE LA GESTIÓN DE RED.pptx
AREAS FUNCIONALES DE LA GESTIÓN DE RED.pptxAREAS FUNCIONALES DE LA GESTIÓN DE RED.pptx
AREAS FUNCIONALES DE LA GESTIÓN DE RED.pptx
 
Respuestas de analisis de sistema
Respuestas de analisis de sistemaRespuestas de analisis de sistema
Respuestas de analisis de sistema
 
Help desk
Help deskHelp desk
Help desk
 
Analisis de sistema
Analisis de sistemaAnalisis de sistema
Analisis de sistema
 
REDES II
REDES IIREDES II
REDES II
 
Gestiondeauditoriasdeseguridad
GestiondeauditoriasdeseguridadGestiondeauditoriasdeseguridad
Gestiondeauditoriasdeseguridad
 
I N F O R M E D E A U D I T O R I A F I N A L
I N F O R M E  D E  A U D I T O R I A  F I N A LI N F O R M E  D E  A U D I T O R I A  F I N A L
I N F O R M E D E A U D I T O R I A F I N A L
 
Auditoria Final
Auditoria FinalAuditoria Final
Auditoria Final
 
S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 

Clasificacion de intrusos a traves de analisis de comandos

  • 1. Clasificación de intrusos a través del análisis de comandos Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Romina Bin Julio Rossini Año 2005 Abstract. El objetivo de esta investigación fue clasificar intrusos aplicando métodos de agrupamiento (K-Means y X-Means) y clasificación (Perceptrón multicapa), mediante la utilización de herramientas de procesamiento automático aplicadas a datos colectados en un honeypot. Luego de realizar un agrupamiento manual donde se infirieron 5 grupos de intrusos que fueron contrastados con los resultantes del procesamiento automático, se determinaron errores de clasificación que oscilaban entre 50 y 70%. Sin embargo, se cree que los resultados se debieron mayormente a la dificultad de tratar algunos parámetros y a carencia de información relacionada con parámetros de red. 1 Introducción Desde hace muchos años se ha estudiado y comprobado la precisión de los resultados arrojados por el análisis de los tiempos de la dinámica de tecleo (keystroke dynamics), considerándose esta técnica biométrica como una de las que poseen la menor tasa de error en cuanto a la falsa aceptación de usuarios [JKMW03]. Existen otras características en el patrón de tipeo relacionadas con la “personalidad” y “costumbres” del usuario que, sumadas al análisis de tecleo, podrían utilizarse para la identificación [1] de usuarios y/o clasificación [2] de los mismos. La identificación temprana de usuarios no solo incrementaría la seguridad de los sistemas existentes sino que también podría ayudar en el tratamiento adecuado de las intrusiones, permitiendo que se tomasen acciones preventivas y/o correctivas anticipadamente. Por los motivos mencionados, el grupo SI6 de CITEFA [3] emprendió un proyecto llamado Paranoid, cuya finalidad es “... desarrollar un sistema de identificación de intrusos a través de su comportamiento en la red. Esto se realizará a través del análisis de parámetros de host (patrón de tipeo, comandos utilizados, lenguaje, errores, etc.) y de parámetros de red (direcciones IP, routers, sistema operativo, etc.).” El objetivo de la investigación emprendida por nuestro equipo fue analizar los archivos de captura del honeypot [4] de CITEFA, para comprobar la factibilidad de clasificar intrusos mediante patrones de comportamiento. Los utilizados en nuestra investigación fueron: comandos y parámetros [5], uso de caracteres de corrección (delete, backspace), utilización de caracteres de separación de comandos [Pel03] y editores preferidos. 1
  • 2. 2 Limitaciones y restricciones de la investigación Se descartó la información relacionada con tiempos entre teclas, ya que la misma sumaba complejidad al análisis abriendo nuevas líneas de investigación. Esto excedía los alcances y los tiempos fijados previamente por la cátedra de Proyecto Final, a través de la cual nuestro equipo tuvo la posibilidad de participar en esta investigación. En el juego de datos recibido no existía separación de sesiones realizada en forma automática ya que, por un inconveniente en el programa que capturaba la actividad del honeypot, no se pudo disponer de la información relacionada con las terminales de origen. Por lo expuesto, este proceso debió realizarse en forma manual, utilizando diferentes técnicas de inspección y agrupamiento detalladas posteriormente en la sección de Metodología de este documento. En los comandos donde fue presionada la tecla “tabulador” (ASCII 9) para “autocompletar”[9] fue considerada únicamente la parte del lexema correspondiente hasta dicha tecla, ya que resultaba imposible determinar cual fue el comando completo digitado previamente por el intruso. En las herramientas de análisis automático elegidas (PCP versión 1.2 [Lju05] y WEKA versión 3.5.1 [WiFr05]: [6]) se encontraron algunas limitaciones a saber: Existe escasa documentación acerca de los detalles de implementación de los métodos de minería de datos. PCP posee restricciones respecto de la cantidad de atributos y de vectores que pueden ser evaluados. PCP en diversas oportunidades se cerró abruptamente en medio del procesamiento, sin devolver código de error alguno. En consecuencia no pudimos interpretar con exactitud cuales eran las causas de ello. Falla en la visualización de resultados en WEKA al analizar vectores con muchas dimensiones (no se pudo determinar la cantidad exacta de dimensiones en la que comenzaba a fallar la herramienta). 3 Adaptación de los datos Para comenzar con la adaptación de los datos provenientes del honeypot previamente se desarrolló una macro en planilla de cálculo de modo que se pudiesen recuperar las teclas de forma legible, ya que se encontraban en formato hexadecimal. El paso siguiente fue separar los datos en sesiones. Para ello como primera medida se separaron por fecha, terminal de usuario e identificación de usuario. Posteriormente, se utilizó un tiempo promedio de inactividad de 10 minutos (calculado a través de las diferencias de tiempo entre una tecla y su antecesora), que luego tuvo que ser analizado en detalle, ya que en algunos casos este tiempo no era el determinante del fin de sesión. Adicionalmente, se detectaron como finalizadores de sesión la utilización de los comandos “exit”, “shutdown”, “kill -9 $$” y “kill -9 0” (también se verificó que en todos los casos existiera coherencia en lo digitado en forma global). Por ejemplo, existió también una excepción en el día 22/04/2005. A priori parecían existir varias 2
  • 3. sesiones, pero luego de un intenso análisis se llegó a la conclusión de que se trataba de una sola sesión de varias horas de duración, donde el intruso cambiaba la identificación de usuario a través de la ejecución del comando “su”. Una vez identificadas las sesiones, se reconstruyeron los comandos digitados, generando una segunda macro. La función principal de la macro fue concatenar las teclas de cada sesión en diferentes líneas, considerando como determinante de una nueva línea las siguientes teclas: (expresadas en valor ASCII): 10, 13, 59. Luego, los datos adaptados se importaron a una base de datos MS SQL Server1 con el fin de obtener la información por vectores [7], aptos para ser procesados con PCP y posteriormente con Weka. Para comprender mejor el proceso, en [Anexo I] se adjunta un diagrama con los pasos efectuados. 4 Metodología adoptada para el análisis de los datos En [DHS01] se enumeran los pasos para efectuar clasificación de patrones: Identificación del Modelo, Pre-procesamiento, Segmentación, Extracción de características distintivas, Utilización de conjunto de datos de entrenamiento, Costo, Teoría de la decisión, Límites de decisión, Generalización y Análisis por síntesis. Para poder clasificar a los intrusos se adoptó, en parte, la metodología enumerada, tomándose en cuenta sólo aquellas que eran aplicables al modelo de investigación emprendido. 4.1 Pre-procesamiento: agrupamiento manual de sesiones Previo al agrupamiento manual de sesiones se debió realizar una nueva y exhaustiva verificación y “reconstrucción” de los comandos digitados, ya que la información de los mismos contenía los errores cometidos y las posteriores correcciones por parte de los intrusos (se entiende por “reconstrucción” la obtención del comando finalmente digitado por el intruso). Asimismo, fueron eliminados aquellos comandos en los cuales la sintaxis final no era clara o bien cuando se podían identificar como comandos erróneos. El agrupamiento de sesiones se realizó por inspección, evaluando cada sesión como un “todo”. Se buscaron comportamientos comunes considerando: Acceso a destinos similares (dominios y/o direcciones IP) Directorios accedidos Comandos utilizados en general, para comprender el accionar del intruso Shell utilizado Editores preferidos De este modo se infirieron 5 grupos de intrusos, dentro de los cuales se pudieron diferenciar claramente tres grupos de intrusos rumanos y dos grupos de sesiones contenían 1 Marca registrada de Microsoft Corporation. 3
  • 4. comportamiento similar entre si, pero cuya procedencia no pudo ser identificada. Adicionalmente, se detectó un grupo correspondiente a la actividad de la administración del honeypot (CITEFA). Para comprender mejor como se distribuyen los grupos según características distintivas, ver imágenes en [Anexo III]. 4.2 Extracción de características distintivas Algunas de las características distintivas detectadas fueron las siguientes: Ratio de errores cometidos: de esta información pudieron inferirse dos comportamientos excluyentes: el uso de las teclas Del ó Backspace (expresadas en ASCII: 127 y 8 respectivamente). No se incluyó el uso de “x” en el caso de equivocaciones cometidas por usuarios que utilizaban “vi” como editor de Shell. Ratio de presión de tecla Tabulador (expresada en ASCII: 9). Ratio de uso de tecla “;”para separación de comandos. Ratio de uso de comandos. Uso de editores (Vi, Pico). Comandos utilizados sin parámetros. Comandos utilizados acompañados de parámetros. Respecto al último punto mencionado, se debe realizar una aclaración: en los casos donde el parámetro variaba, fue generalizado [8] con el objetivo de facilitar el procesamiento automático. Casos típicos fueron: directorios accedidos, IPs, nombres de archivos y número de puertos. Se menciona el ejemplo “ls <DIR>”: si se tomaba en cuenta el parámetro completo, producía un muy bajo ratio de ocurrencia, no permitiendo determinar en forma automática el perfil de la sesión que lo contenía. Por otra parte, tomar sólo una porción (la más relevante) de esos parámetros representaba un alto nivel de complejidad y además requería una decisión respecto de hasta donde cortar el parámetro mencionado. De este modo se favorecía una incorrecta clasificación debido al elevado número de atributos característicos a evaluar en un vector correspondiente a una sesión. Se entiende por Ratio la razón porcentual entre la cantidad de veces que se digitó la tecla y el total de teclas digitadas o entre la repeticiones de un comando respecto al total de comandos. Estos totales son los correspondientes a cada sesión. 5 Procesamiento automático de vectores 5.1 Método de clasificación El método de clasificación elegido fue Multi-layer Perceptron (red neuronal multicapa) con herramienta PCP, ya que el grupo de investigación tenía mejor dominio del método mencionado. Luego de cargar los archivos conteniendo cada clase (entendiéndose por clase cada uno de los grupos generados en forma manual), se procesaron los datos con los siguientes parámetros: 4
  • 5. Enter number of hidden layers (>= 1) [1]: 15 //cantidad de capas ocultas (también llamada capa intermedia). Number of inputs is: 394. //cantidad de atributos (características), que representan una entrada en la red Number of output nodes is: 6. //cantidad de nodos de salida. Enter number of nodes in hidden layer [1-10]: 60 nodes //cantidad de nodos en capa oculta Enter number of nodes in hidden layer [11-15]: 40 nodes //cantidad de nodos en cada capa oculta Enter seed for pseudo-random number generator [ 1]: 1 Enter amplitude of initial weights [ 1.00]: 1.00 Enter optimization method - conj. grad (1), grad. descent (2) [ 1]: 1 //método del conjunto gradiente Enter number of iterations (-1 for no iterations) [ 100]: 100 //cantidad de iteraciones Error rate: 46.51 % Avg. error per ouput node: 0.0741 Nota: luego de sucesivas pruebas se determinó que con 15 capas ocultas y con cantidad de nodos mayores o iguales a 40, se obtuvo la menor tasa de error. Con grandes cantidades de nodos el procesamiento fue muy inestable, ya que producía errores en la ejecución de PCP, tal como fue comentado anteriormente. En cuanto a la cantidad de iteraciones, se utilizó la cantidad por defecto que ofrecía PCP ya que, para cantidades de iteraciones mayores, los resultados no se vieron afectados. | Class | Actual/predicted card. | Error rate | | Total | 43/43 | 46.51% ( 20/ 43) | | 1/citefa | 7/0 | 100.00% ( 7/ 7) | | 2/Grupo1 | 3/0 | 100.00% ( 3/ 3) | | 3/Grupo2 | 11/16 | 9.09% ( 1/ 11) | | 4/Grupo3 | 6/0 | 100.00% ( 6/ 6) | | 5/Grupo4 | 14/27 | 7.14% ( 1/ 14) | | 6/Grupo5 | 2/0 | 100.00% ( 2/ 2) | | Vector | Actual class | MLP prediction | | 4 | citefa | Grupo4 | | 8 | citefa | Grupo4 | | 15 | citefa | Grupo4 | | 19 | citefa | Grupo4 | | 23 | citefa | Grupo2 | | 32 | citefa | Grupo4 | | 41 | citefa | Grupo2 | | 5 | Grupo1 | Grupo4 | | 6 | Grupo1 | Grupo4 | | 7 | Grupo1 | Grupo4 | | 12 | Grupo2 | Grupo4 | | 1 | Grupo3 | Grupo4 | | 14 | Grupo3 | Grupo4 | | 20 | Grupo3 | Grupo2 | | 22 | Grupo3 | Grupo4 | | 31 | Grupo3 | Grupo4 | | 42 | Grupo3 | Grupo4 | | 10 | Grupo4 | Grupo2 | | 18 | Grupo5 | Grupo2 | | 27 | Grupo5 | Grupo2 | Referencias: Citefa: sesiones con terminal vc/1 ó vc/2 Grupo1: Otros 1 5
  • 6. Grupo2: Otros 2 Grupo3: Rumania 1 Grupo4: Rumania 2 Grupo5: Rumania 3 Actual Class: Clase determinada con agrupamiento manual. Los resultados expuestos fueron los que menor tasa de error retornaron. Esto pudo determinarse luego de pruebas sucesivas con la herramienta PCP, ya que se estimó que el promedio de rango de error se encontraba entre 50 y 70%. Observar que las sesiones correspondientes a CITEFA fueron clasificadas en su totalidad como intrusos dentro de las sesiones agrupadas manualmente como grupos rumanos. 5.2 Métodos de agrupamiento (clustering) Los métodos de clustering escogidos para el estudio fueron K-Means [DHS01].y X-Means [PeMo00], ya que posibilitaron realizar una agrupación de sesiones mediante las características elegidas y comparar los resultados con la pre-agrupación manual. La herramienta elegida para el procesamiento automático fue WEKA. En una primera etapa se procesaron los datos con PCP, pero debido a los inconvenientes mencionados en la sección de “limitaciones”, la herramienta fue desestimada. En la forma de procesamiento elegida, el cálculo de error está basado en la comparación realizada entre el agrupamiento manual y el cluster creado por el método elegido. Las pruebas se realizaron configurando los vectores con diferentes dimensiones (variando la cantidad de propiedades elegidas). Además se usaron diferente semillas de números aleatorios, y otros parámetros propios del método Xmeans. Para mayor detalle ver [WiFr05] y [PeMo00]. El error obtenido en todos los casos superó el 50%. Utilizando los mismos métodos, en los juegos de datos de prueba de dominio público (ejemplo Iris, Leukemia, Landsat), el error en términos generales no superaba el 20%, a excepción de aquellos casos en los cuales la semilla elegida generaba un punto de ensilladura o un extremo local. Los resultados expuestos a continuación se encuentran reducidos a los efectos de agilizar su comprensión. Asimismo, los resultados expuestos fueron los que se consideraron más significativos. Se adjuntan referencias de los parámetros utilizados en las configuraciones de los dos métodos elegidos: binValue: -B cutOffFactor: -C debugLevel: -U maxIterations: -I maxKMeans: -M maxKMeansForChildren: -J maxNumClusters: -H minNumClusters: -L seed: -S numClusters: -N 6
  • 7. 5.2.1 Resultados con método K-Means Scheme: weka.clusterers.SimpleKMeans -N 5 -S 10 Incorrectly clustered instances : 26.0 60.4651 % Scheme: weka.clusterers.SimpleKMeans -N 4 -S 10 Incorrectly clustered instances : 27.0 62.7907 % 5.2.2 Resultados con método X-Means Scheme: weka.clusterers.XMeans -I 1 -M 1000 -J 1000 -L 3 -H 7 -B 1.0 -C 0.5 -D "weka.core.EuclideanDistance " -S 10 Incorrectly clustered instances : 24.0 55.814 % Scheme: weka.clusterers.XMeans -I 1 -M 1000 -J 1000 -L 2 -H 4 -B 1.0 -C 0.5 -S 1234 Incorrectly clustered instances : 22.0 51.1628 % 6 Conclusiones En el agrupamiento manual se infirieron cinco grupos de intrusos, más un grupo adicional resultante de la actividad de CITEFA. Por el comportamiento observado, dichos grupos determinan diferentes “perfiles”. A partir del agrupamiento manual realizado, suponiendo que el mismo fue correcto, emprendimos la desafiante tarea de analizar la información. Luego de haber determinado características propias de cada sesión, al procesarlas de forma automática según el método empleado, resultaron identificados hasta 3 grupos (cuando hablamos de grupos estamos haciendo referencia tanto a clusters determinados por métodos de agrupamiento como a clases determinadas mediante redes neuronales). Sin embargo, los resultados no son desalentadores. Creemos que uno de los factores determinantes del alto porcentaje de error fue que los métodos de clustering seleccionados no posibilitan la asignación de pesos intencionales a las características elegidas y algunas de ellas resultaron tener más relevancia que otras (este es el caso de las características mencionadas para realizar el agrupamiento manual). Otro de los factores que puede haber incidido en todos los métodos aplicados –y con mayor peso que el primero mencionado– fue la imposibilidad de incluir en el procesamiento automático los parámetros que brindaban mayor información acerca de los intrusos: directorios accedidos, IPs, etc. pero que debieron generalizarse por la dificultad que representaba tratarlos. Consideramos que, a futuro, existe mucho por hacer. Mencionamos algunos puntos que podrían tenerse en cuenta: observar resultados mediante otros métodos de agrupamiento y clasificación, encontrar una forma (no manual) de considerar los parámetros que en nuestra investigación se descartaron, así como también incluir parámetros de red. 7
  • 8. 7 Reconocimientos Al grupo SI6 de CITEFA, por abrirnos sus puertas e invitarnos a colaborar en este proyecto. A los Ingenieros Sebastián García (CITEFA) y Jorge Garay (UTN), por el apoyo y tutoría brindados. Al Lic. Carlos Tomassino, por facilitar nuestra participación desde la materia Proyecto Final en esta investigación. 8 Referencias [JKMW03] Lucy Jin, Xian Ke, Ryan Manuel, Matt Wilkerson, “Keystroke Dynamics - A Software-based Biometric Solution”, Massachusetts Institute of Technology, Diciembre 2003. [Lju05] Ljubomir J. Buturovic, “PCP - Pattern Classification Program, version 1.2 - User’s Guide”, February 27, 2005. Obtenido el 15/04/2005 de http://pcp.sourceforge.net [DHS01] Richard O Duda, Peter E Hart, David G Stork, “Pattern Classification”, 2Ed – J. Wiley & Son’s, 2001. [Pel03] Bob Pelletier, “Honeypots: An exploration”, 2003. [WiFr05] Ian H. Witten and Eibe Frank, "Data Mining: Practical machine learning tools and techniques", 2nd Edition, Morgan Kaufmann, San Francisco, 2005. [PeMo00] Dan Pelleg, Andrew Moore, "X-means: Extending K-means with Efficient Estimation of the number of clusters", School of Computer science, Carneguie Mellon university, Pittscburgh, 2000 9 Bibliografía [WMM98] Walpole Ronald, Myers Raymod y Myers Sharon, “Probabilidad y Estadística para ingenieros”, Sexta Edición, 1998. [Much00] Muchnik Jorge Daniel, “Autómatas finitos y expresiones regulares”, Editorial CEIT, 2000. [McC04] Bill McCarty, “Honeypot Forensics, Part I: Analyzing the network”, 2004. [McC04] Bill McCarty , “Honeypot Forensics, Part II: Analyzing the Compromised Host”, 2004. [DVT02] Vu N. P. Dao, Rao Vemuri, Steven J. Templeton, "Profiling Users in the UNIX OS Environment", 2002. [Bach02] Johann Bacher, "Cluster Analysis", Chair of Sociology, University Erlangen- Nuremberg, 2002. [VeMa00] Jeroen K. Vermunt, Jay Magidson, "Latent class cluster analysis", 2000 [GaJi99] James K. Galbraith, Lu Jiaqing, “Cluster and Discriminant analysis on Time-Series as a Research Tools”, 1999. http://www.rae.es/ http://www.citefa.gov.ar/SitioSI6_EN/si6.htm 8
  • 9. 10 Glosario [1] Identificar: Reconocer si una persona o cosa es la misma que se supone o se busca. – Diccionario de la Real Academia Española. [2] Clasificar: Ordenar o disponer por clases. - Diccionario de la Real Academia Española. [3] SI6 es el Laboratorio de Investigación en Seguridad Informática del Instituto de Investigaciones Científicas y Técnicas de las Fuerzas Armadas (CITEFA), dependiente del Ministerio de Defensa, República Argentina. [4] Honeypot: es un sistema instalado en una red como cebo para los atacantes. Un honeypot pretente descubrir a las personas que utilizan la red para actividades no autorizadas. Por ese motivo, el solo hecho de que un usuario acceda a un Honeypot lo convierte en atacantes. Cualquier interacción con un Honeypot implica una actividad no autorizada. Esta es la verdadera esencia de los mismos La idea es engañar a los atacantes, haciendo que el Honeypot se comporte como un sistema legítimo. [5] Comando: lexema. Se encuentran definidos dentro del lenguaje del sistema operativo. Parámetro: lexema que sucede a un Comando Lexemas: secuencias de caracteres escritas que poseen un significado único. Sentencia: conjunto de lexemas finalizados con un caracter separador de sentencias. Los caracteres separadores de sentencias son {Enter, ; , | }. [6] PCP: Pattern Classification Program Weka: Waikato Enviroment for Knowledge Analysis [7] Vectores: conjunto de características distintivas de una sesión. Posee una dimensión de 1 fila por “n” columnas, donde las “n” columnas corresponden a las características evaluadas. [8] Generalización: acción de generalizar. Abstraer lo que es común y esencial a muchas cosas, para formar un concepto general que las comprenda todas. [9] Autocompletar: es un automatismo de algunos intérpretes de comando (Shell) que permiten inferir el comando completo utilizando las primeras teclas digitadas. 9
  • 10. 11 Anexos I. Diagrama de Proceso 10
  • 11. II. Referencia breve de método de Clustering K-Means Dado un k, el algoritmo k-means realiza 4 pasos: 1. Repartir los objetos (vectores para PCP y Weka) en k subconjuntos no vacíos. 2. Determinar los puntos semilla como los centroides de los clusters. El centroide es el centro (punto medio) del cluster. 3. Asignar cada objeto al cluster con el punto semilla más cercano. 4. Volver al punto 2 y detenerse cuando no haya más asignaciones nuevas para realizar. 11
  • 12. III. Imágenes de dispersión de datos Se adjuntan dos pantallas que muestran la dispersión del ratio de errores y la dispersión del ratio de tabs digitados, respecto del agrupamiento manual realizado. Gráfico 1: Ratio errores vs agrupamiento manual. Eje horizontal: Grupos inferidos a partir de agrupamiento manual. Eje vertical: Ratio de errores de tecla Delete. Cada punto representa el ratio teclas Delete digitadas en una sesión determinada. 12
  • 13. Gráfico 2: Ratio Tabs vs. agrupamiento manual. Eje horizontal: Grupos inferidos a partir de agrupamiento manual. Eje vertical: Ratio de teclas Tabs respecto del total de teclas digitadas en la sesión. Cada punto representa el ratio de teclas Tabs digitadas en una sesión determinada. 13