Conference PaperPDF Available

(Measure analysis of attack sessions distance for intruder classification) Análisis de las medidas de distancia entre sesiones para la clasificación de intrusos

Authors:

Abstract

Este paper es una investigación en progreso enfocada al análi-sis de medidas de distancia entre sesiones de diversos intrusos, para la clasificación de los mismos mediante el estudio de su comportamiento. Se utilizan datos de intrusos reales, capturados durante los años 2005, 2006 y 2007 en diversos honeypots. Se estudia el comportamiento en referen-cia a las acciones del intruso, a su manera de utilizar el sistema y a sus intenciones. Los datos base corresponden a las teclas presionadas captu-radas por un keylogger y no a datos de red como la dirección IP origen. El objetivo de este trabajo es lograr identificar y analizar las mejores me-didas de distancia entre sesiones. En una primera instancia, las medidas de distancia seleccionadas permiten una clasificación satisfactoria. Palabras clave: Detección de intrusos, Identificación, Clasificación, Honeypots 1. Introducción Este trabajo es parte de un proyecto más amplio del Laboratorio de Investi-gación en Seguridad Informática Si6 1 de CITEFA 2 qué comenzó en el año 2004. El objetivo principal del proyecto del Si6 es el desarrollo de un sistema de iden-tificación de intrusos basado en el comportamiento de los mismos, por medio del análisis de parámetros obtenidos dentro del honeypot (patrones de keystroke dy-namics, comandos utilizados, lenguaje del intruso, errores, etc.) y de parámetros obtenidos en la red (dirección IP, routers, sistema operativo, etc.) El proyecto se enfoca en los comportamientos y no en las motivaciones o acciones. Los dos conceptos más importantes que caracterizan esta investigación del Si6 son: Análisis de intrusos: Trabajar con la persona que está realizando el ataque, no con intrusiones (acciones o ataques)
An´alisis de las medidas de distancia entre
sesiones para la clasificaci´on de intrusos
Sebasti´an Garc´ıa
Si6 - CITEFA
**
Instituto de Investigaciones Cient´ıficas y ecnicas de las Fuerzas Armadas. Argentina
sgarcia@citefa.gov.ar
Resumen Este paper es una investigaci´on en progreso enfocada al an´ali-
sis de medidas de distancia entre sesiones de diversos intrusos, para la
clasificaci´on de los mismos mediante el estudio de su comportamiento. Se
utilizan datos de intrusos reales, capturados durante los a˜nos 2005, 2006
y 2007 en diversos honeypots. Se estudia el comportamiento en referen-
cia a las acciones del intruso, a su manera de utilizar el sistema y a sus
intenciones. Los datos base corresponden a las teclas presionadas captu-
radas por un keylogger y no a datos de red como la direcci´on IP origen.
El objetivo de este trabajo es lograr identificar y analizar las mejores me-
didas de distancia entre sesiones. En una primera instancia, las medidas
de distancia seleccionadas permiten una clasificaci´on satisfactoria.
Palabras clave: Detecci´on de intrusos, Identificaci´on, Clasificaci´on, Honeypots
1. Introducci´on
Este trabajo es parte de un proyecto as amplio del Laboratorio de Investi-
gaci´on en Seguridad Inform´atica Si6
1
de CITEFA
2
qu´e comenz´o en el no 2004.
El objetivo principal del proyecto del Si6 es el desarrollo de un sistema de iden-
tificaci´on de intrusos basado en el comportamiento de los mismos, por medio del
an´alisis de par´ametros obtenidos dentro del honeypot (patrones de keystroke dy-
namics, comandos utilizados, lenguaje del intruso, errores, etc.) y de par´ametros
obtenidos en la red (direcci´on IP, routers, sistema operativo, etc.)
El proyecto se enfoca en los comportamientos y no en las motivaciones o
acciones.
Los dos conceptos as importantes que caracterizan esta investigaci´on del
Si6 son:
An´alisis de intrusos: Trabajar con la persona que est´a realizando el ataque,
no con intrusiones (acciones o ataques)
**
Juan Bautista de la Salle 4397 (B1603ALO) Villa Martelli, (5411)-4709-8100,
Fax:(5411)-4709-8228
1
http://www.citefa.gov.ar/SitioSI6_EN/si6.htm
2
http://www.citefa.gov.ar
Trabajar con la intencionalidad: No trabajar con usuarios comunes para
tomar los datos. La intencionalidad del intruso permite generar patrones de
comportamiento clasificables.
Dentro de este proyecto principal, el presente trabajo se enfoca en el an´alisis
de medidas de distancia para la clasificaci´on de intrusos analizando sus patrones
de comportamiento.
2. Antecedentes
Existe una gran cantidad de trabajos enfocados a la clasificaci´on de intrusio-
nes orientados a las acciones. Joseph S. Sherif [1] realiz´o una extensa recopilaci´on
de trabajos en esta ´area. Pero ninguno est´a orientado a la clasificaci´on de intru-
sos.
Kent E. Anderson [2] abord´o la clasificaci´on de intrusos por sus motivaciones,
pero no en el foco exacto del presente trabajo.
Tambi´en existen varios trabajos de Roy A. Maxion [3] enfocados en la cla-
sificaci´on de usuarios de sistemas tipeando comandos. Pero este tampoco es el
foco preciso del presente trabajo, ya que los usuarios no tienen intencionalidad.
Estos antecedentes permitieron crear el marco t´eorico donde proponer un
nuevo enfoque. El Si6 public´o en este ´area [4], [5] y [6].
3. Problema
Los problemas a resolver para lograr un an´alisis de las medidas de distancia
para la clasificaci´on de sesiones incluyen:
1. Procesamiento de los datos en crudo para extraer las caracter´ısticas asicas
de las sesiones.
2. Creaci´on de las medidas de distancia apropiadas entre caracter´ısticas.
3. An´alisis de la aplicaci´on de las medidas de distancia en las sesiones.
4. Propuesta
Creaci´on de una herramienta que permita analizar de forma autom´atica las
teclas presionadas por los intrusos y obtener las caracter´ısticas relevantes de
las sesiones.
Preprocesamiento automatizado de los datos de los tres nos para obtener
las sesiones y sus caracter´ısticas principales.
An´alisis de las caracter´ısticas m´as prometedoras para definir qu´e medidas de
distancia son las as efectivas.
Proposici´on de diferentes medidas de distancia en base a los datos reales.
Creaci´on de una herramienta que implemente las medidas de distancia para
su an´alisis y comparaci´on.
Generaci´on y an´alisis de resultados
5. Herramienta para el an´alisis automatizado de teclas:
Tcleoanalyzer
Tcleoanalyzer es la herramienta desarrollada para esta investigaci´on que ex-
trae las caracter´ısticas de las sesiones. Publicada bajo licencia GPL
3
permite
un an´alisis de las teclas y sesiones de los intrusos.
Las caracter´ısticas as importantes de la herramienta son:
An´alisis de paquetes online desde una placa de red o desde archivos pcap.
Reconocimiento de archivos pcap truncados, permitiendo su correcto an´alisis.
Diversos modos de salida de datos incluyendo caracter´ısticas de las sesiones,
comandos, fechas y horas, tiempos de ejecuci´on, modo para parsers de datos,
salida para analizar con keystrokes dynamics, etc.
Env´ıo de mails con los comandos de los intrusos
Sonido de alerta cuando ingresa un intruso
Reconocimiento de car´acteres especiales y su significado en sesiones. Por ej.
el car´acter < SUB > que aparece cuando se apreta CTRL-Z.
Trabajo con las sesiones:
Reconocimiento de sesiones nuevas por no haber visto nunca ese usuario
en esa terminal y por tiempo de inactividad configurable
Reconocimiento del intento de utilizaci´on de los programas ftp, lynx,
mutt, less, vi y man. El m´etodo es la b´usqueda del car´acter
0
< NU LL >
0
Reconocimiento de las formas de salir de los programas ftp, lynx, mutt,
less, vi y man. Incluyendo CTRL-Z y CTRL-C.
Se guardan las teclas presionadas dentro de cada programa (ftp, lynx,
mutt, less, vi y man)
Reconocimiento del escape de car´acteres en comandos comunes y en los
programas (ftp, lynx, mutt, less, vi, man)
Se reconocen las teclas especiales del teclado.
Se realiza manejo de history dentro de la sesi´on, siguiendo los mismos
pasos del intruso.
Informaci´on procesada de las sesiones que se obtienen:
Fecha y hora en milisegundos de comienzo de la sesi´on
Fecha y hora en milisegundos de finalizaci´on de la sesi´on
Duraci´on en d´ıas, horas y segundos de la sesi´on
Cantidad de comandos en total de la sesi´on
N´umero de terminal utilizada para acceder a la sesi´on
UID del usuario utilizado para ingresar a la sesi´on
Primeros tres comandos de la sesi´on
´
Ultimos tres comandos de la sesi´on
Los 5 comandos as utilizados y la cantidad de veces de cada uno
Los 5 directorios as utilizados y la cantidad de veces de cada uno
Los 5 sitios as accedidos (m´etodos utilizados y cantidad de veces)
Los modificadores as usados en los comandos as comunes (ls, rm, ps,
lynx, ftp, wget, ssh)
3
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Los 5 comandos no b´asicos as comunes. No ls, rm, ps, lynx, ftp, wget,
ssh, w, cat, mkdir, man , cd, less ni vi
Las caracter´ısticas especiales de la sesi´on: Si usa las flechas para el his-
tory, si usa Tab, si apret´o la tecla Insert o la tecla Delete.
Ejemplo de salida del tcleoanalyzer
Session ID = 7
Session Start time = Sun Apr 3 07:49:50.045222 2005
Session End Time = Sun Apr 3 07:52:03.874202 2005
Session duration = 0 days, 0 hours, 2 minutes, 13 seconds (133 total seconds)
Session Total Commands = 21
Session Terminal = pts/0
Session UID = 0
Session first 3 Commands:
Command: ’w’
Command: ’ps ax’
Command: ’cd /tmp’
Session last 3 Commands:
Command: ’ls -la’
Command: ’wget gate.polarhome.com/~ircs/s1.tar’
Command: ’kill -9 $$’
Top five complete Commands:
Command: ’ls -la’ (5 times)
Command: ’cd /tmp’ (2 times)
Command: ’cd /usr/lib/games’ (1 times)
Command: ’w’ (1 times)
Command: ’ps ax’ (1 times)
Top five programs:
Command: ’cd’ (6 times)
Command: ’ls’ (5 times)
Command: ’locate’ (2 times)
Command: ’cat’ (1 times)
Command: ’wget’ (1 times)
Top five directories:
Directory: ’/tmp’ (2 times)
Directory: ’". "’ (1 times)
Directory: ’/usr/lib/games’ (1 times)
Directory: ’/usr/local/games’ (1 times)
Directory: ’/usr/games’ (1 times)
Top five sites accessed:
Site: ’gate.polarhome.com’ (1 times) (wget)
Most used parameters in common commands:
Command: ls , Parameters: ’-la’
Top five uncommon programs (5 total):
Command: ’locate’ (2 times)
Command: ’/usr/sbin/traceroute’ (1 times)
Command: ’kill’ (1 times)
Command: ’ping’ (1 times)
Command: ’traceroute’ (1 times)
Session special characteristics:
Characteristic: Movement, Value: Use commands history with arrows
6. Preprocesamiento de los datos
La caracter´ıstica principal de los datos utilizados radica en la definici´on del
t´ermino Intruso y del termino Honeypot. Se define Intruso como ’(...)un indivi-
duo que ilegalmente accede o utiliza un sistema sin autorizaci´on [2]. Y se define
Honeypot
4
como un sistema que ’no deber´ıa recibir ning´un tr´afico legal o activi-
4
http://en.wikipedia.org/wiki/Honeypot_(computing)
dad’. Todo el tr´afico capturado se considera un ataque, independientemente del
tipo de tr´afico.
Los datos se extrajeron de archivos en formato pcap
5
conteniendo las capturas
de paquetes de red de un honeypot. Estas se realizaron sin interrupci´on durante
los nos 2005 al 2007, con un total de 79 GB de capturas (28GB en 2005, 35GB
en 2006 y 16GB hasta Julio del 2007).
El honeypot linux utilizado, tiene instalado el keylogger tcleo
6
que env´ıa
a la red, en un paquete UDP los siguientes datos: tecla presionada, terminal
utilizada por el intruso, el User ID y la fecha en que la tecla fue presionada. Una
descripci´on detallada de las t´ecnicas implementadas en esta herramienta se puede
encontrar en [7]. Detalles de la implementaci´on de la topolog´ıa se encuentran en
[5].
La herramienta tcleoanalyzer analiza las teclas enviadas por tcleo para obte-
ner informaci´on sobre las acciones del intruso.
En los tres a˜nos hubo aproximadamente 273 sesiones, un promedio
de 1 intruso ingresando cada 4 d´ıas.
Las sesiones de los tres a˜nos representan la base de datos para este an´alisis
de medidas de distancia.
El mayor inconveniente de trabajar con datos de intrusos reales es que no
es posible verificar los resultados de la clasificacon con datos comprobados o
ground-truth data. Es necesario dise˜nar formas alternativas de verificaci´on de
resultados. Las medidas de verificaci´on as utilizadas son: comprobaci´on por
medio de la experiencia de diferentes expertos en la clasificaci´on de intrusos y la
comprobaci´on de coherencia con los mismos datos.
7. Medidas de distancia
Parte fundamental de las ecnicas de clasificaci´on, es la definici´on de las
medidas de distancias entre los datos. Se necesita un an´alisis puntual y espec´ıfico
para encontrar la mejor manera de comparar las caracter´ısticas de las sesiones.
En [8] 1.3.1, Feature Extraction Duda R.O. habla sobre la importancia de
conocer el dominio del problema para lograr una extracci´on de caracter´ısticas
adecuada. Tambi´en en [8] 1.3.5, Prior Knowledge, Duda R.O. aclara omo el
conocimiento previo del problema ayuda en el dise˜no del clasificador sugiriendo
nuevas caracter´ısticas.
En el caso del laboratorio Si6, fueron necesarios varios meses de estudio de
los datos para llegar a obtener las caracter´ısticas as prometedoras para la
clasificaci´on.
Se definieron 8 medidas de distancia para 8 caracter´ısticas diferentes.
Las caracter´ısticas a extraer y comparar entre las sesiones son:
5
http://en.wikipedia.org/wiki/Pcap
6
http://www.citefa.gov.ar/SitioSI6_EN/tcleo.htm
Medida de distancia
Separaci´on temporal entre sesiones
Comparaci´on de directorios utilizados
Comparaci´on de los User ID
Comparaci´on de los sitios accedidos
Comparaci´on de los primeros tres comandos utilizados
Comparaci´on de los ultimos tres comandos utilizados
Comparaci´on de los cinco comandos as utilizados
Comparaci´on de los cinco comandos menos comunes
7.1. Algoritmos de comparaci´on
Algoritmo de comparaci´on de todas las sesiones
1. Calcular las caracter´ısticas para cada sesi´on
2. Calcular la distancia que cada sesi´on tiene con todas y cada una del resto
de las sesiones. Se arma una matriz.
3. Analizar las distancias para reconocer diferentes grupos en las sesiones
Algoritmo de comparaci´on entre dos sesiones
1. Calcular las distancias entre cada una de las caracter´ısticas de las dos sesio-
nes, armando un vector de distancias. Cada distancia var´ıa entre 0 y 100.
Siendo 0 la distancia as cercana.
2. Asignar a cada caracter´ıstica un valor de importancia, para poder priorizar
algunas caracter´ısticas sobre otras. Se arma un vector de pesos.
Por ejemplo, se comprueba que la medida de distancia entre directorios uti-
lizados por el intruso es as significativa que la distancia entre los User ID
(Identificadores de Usuario al ingresar al sistema).
Los valores del vector de pesos var´ıan entre 0 y 1.
3. Se multiplica el vector de distancias por el vector de pesos, logrando un
vector de distancias ponderadas.
4. Se calcula la distancia euclidiana de este vector:
a) A cada valor del vector ponderado se lo eleva al cuadrado
b) Se realiza la sumatoria de cada valor del vector resultante.
c) Se calcula la ra´ız cuadrada del valor resultante
DistanciaEuclidiana =
p
Σ((distanciaponderada
n
)
2
)
5. Se calcula el rango de valores en el que oscilan las distancias para este vector
de pesos. Obteniendo un ValorMaximo Este ValorMaximo siempre supera los
100.
6. Como para la comparaci´on de resultados entre dos sesiones es conveniente
que las distancias oscilen entre 0 y 100, el valor final de la comparaci´on
de dos sesiones es el porcentaje dentro de ese rango [0 V alorM aximo].
Llamaremos a este proceso normalizaci´on.
Por ejemplo, si el vector de las distancias de las ocho caracter´ısticas defi-
nidas anteriormente entre dos sesiones es [0, 20, 100, 0, 10, 30, 40, 30] y el vec-
tor de pesos es [0,8, 0,8, 0,3, 0,6, 0,6, 0,4, 0,4, 0,4], las distancias ponderadas son
[0, 16, 30, 0, 6, 12, 16, 12] y la distancia euclideana es 41,66. Luego, la normaliza-
ci´on calculada es igual a 25,99, que es la distancia final entre estas dos sesiones.
7.2. Herramienta para analizar autom´aticamente las distancias:
Tcleoclusterer
Tcleoclusterer es la herramienta desarrollada para esta investigaci´on que ana-
liza las sesiones encontradas por el tcleoanalyzer para evaluar las distintas me-
didas de distancias propuestas. Tambi´en est´a publicada bajo licencia GPL.
Las caracter´ısticas as importantes de la herramienta son:
alculo de la totalidad de las medidas de distancia de la matriz
Impresi´on a color de la matriz, identificando cantidad de conexiones de cada
sesi´on.
Impresi´on de los detalles de cada sesi´on y sus conexiones.
Reconocimiento de las distancias menores a 25, a 50 y a 75.
alculo de la sesi´on que as se relaciona con cada sesi´on.
Verificaci´on de resultados mediante la selecci´on de un grupo de sesiones.
Automatizaci´on de la verificaci´on de ultiples vectores de pesos simultanea-
mente.
alculo del nivel de relaci´on de cada sesi´on con el grupo verificado.
Ejemplo de salida del tcleoanalyzer para la sesi´on 0, analizando 100 sesiones
(...)
Session 0:
S0=0.00 S1=36.85 S2=99.55 S3=89.63 S4=89.63 S5=99.41 S6=74.07 S7=99.41
S8=99.41 S9=68.69 S10=76.76 S11=70.16 S12=96.79 S13=59.89 S14=100.00 S15=83.26
S16=68.69 S17=97.36 S18=99.41 S19=71.31 S20=60.27 S21=70.52 S22=99.41 S23=100.00
S24=99.41 S25=74.07 S26=83.26 S27=97.36 S28=99.41 S29=99.41 S30=74.07 S31=83.26
S32=80.81 S33=96.76 S34=74.07 S35=74.07 S36=80.81 S37=99.41 S38=83.97 S39=99.41
S40=48.69 S41=91.85 S42=99.41 S43=99.41 S44=83.26 S45=74.07 S46=99.41 S47=99.41
S48=65.67 S49=57.61 S50=66.70 S51=80.81 S52=59.01 S53=99.41 S54=100.00 S55=74.86
S56=80.07 S57=83.26 S58=74.07 S59=100.00 S60=59.01 S61=83.26 S62=79.37 S63=68.69
S64=74.07 S65=58.01 S66=70.47 S67=62.16 S68=83.26 S69=74.86 S70=71.31 S71=61.88
S72=93.95 S73=80.07 S74=83.26 S75=74.86 S76=74.63 S77=92.49 S78=76.76 S79=80.81
S80=60.27 S81=83.26 S82=83.26 S83=83.26 S84=83.26 S85=83.26 S86=99.41 S87=99.41
S88=100.00 S89=99.41 S90=83.26 S91=83.97 S92=83.26 S93=80.07 S94=83.26 S95=54.80
S96=80.07 S97=79.37 S98=80.07 S99=83.26 S100=83.26 S101=100.00
Min: 36.85 (1) [<25=1, <50=2, <75=32]
(...)
Session 2: (INSIDE)
Connections outside the filtered group: <25 = 0,<50 = 0,<75 = 41
Session 12: (OUTSIDE)
Connections to the filtered group: <25 = 0,<50 = 0,<75 = 1
(...)
Connection Statics: (Distance level = 75)
Weight array: [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 0.13% [97 74034]
Total outside connections linking (>0 and <75) to the group: 46 from 73983 (0.06%)
Total inside connections linking (>0 and <75) outside the group: 47 from 51 (92.16%)
Total inside connections linking (>0 and <75) to themselves: 4 from 51 (7.84%)
Ratios between percentages : 0.00 and 0.09
8. Detalles de los alculos de las medidas de distancia
8.1. Separaci´on temporal entre sesiones
Dos sesiones que est´an pr´oximas en el tiempo tienen as probabilidad de
pertenecer al mismo intruso que dos sesiones distanciadas. Esta observaci´on se
basa en la experiencia de ver a intrusos crear usuarios del sistema y conectar-
se con los nuevos usuarios, o cambiar el password del usuario root y volver a
conectarse como el usuario root.
Se encontraron una gran cantidad de sesiones solapadas, con una distancia
entre sesiones menor a cero y una gran cantidad de sesiones con una distancia
menor a 15 minutos respecto a la anterior.
8.2. Distancia en la comparaci´on general de directorios
Las medidas de distancia entre directorios es la as prometedora seg´un los
an´alisis manuales. Se comparan los strings de los directorios que utilizaron los
intrusos en sus sesiones. Por ejemplo /var/db/en/dist/
La ogica de este etodo es acercar a la distancia 0 dos directorios que sean
iguales a un nivel de profundidad (cantidad de subdirectorios utilizados) igual a
cinco. De la misma manera, la axima distancia se encuentra en dos directorios
que son diferentes con un nivel de profundidad igual a cinco.
Los valores que se restan y suman est´an basados en la experiencia y fueron
asignados siguiendo la siguiente ogica de comparaci´on:
Si comparten subdirectorios, se parecen m´as y por lo tanto resta en la medida
de distancia, acercando el valor a 0.
Si no comparten todos los subdirectorios, se parecen menos y suma en la
medida de distancia.
El hecho de que compartan directorios com´unes como el ’/’, hace que se
parezcan, pero no tanto como si comparten 3 subdirectorios dentro del di-
rectorio ’/usr’. Por lo tanto estos ´ultimos casos deben ser as cercanos a la
medida cero.
Ejemplos de algunos casos:
El peor caso (los directorios no tienen similitud aparente). La distancia entre
/usr/tmp/log/cache/ y /var/db/en/dist/ es 100.
El mejor caso (los 5 subdirectorios compartidos son iguales). La distancia
entre /var/tmp/db/test/ y /var/tmp/db/test/ es 0. Notar que la distancia
entre los directorios /var y /var no es 0 porque es as com´un que utilicen
/var que /var/tmp/db/test/.
8.3. Distancia en la comparaci´on de UID
Los UID son una medida de distancia con poca variaci´on, pero se comprob´o su
utiliad bajo ciertas condiciones. El UID=0 es el correspondiente al usuario ’root’
o administrador del sistema y es comunmente el as utilizado. La ogica de
comparaci´on es: Si los UID son diferentes, la distancia es 100, si son iguales, la
distancia es 0.
Esta ecnica se incluy´o por la cantidad de UID diferentes que se utilizaron
en los tres a˜nos.
8.4. Distancia en la comparaci´on de sitios FQDN accedidos
Dos sitios FQDN
7
(nombres de dominio en un formato legible por humanos)
se comparan seg´un la siguiente ogica:
1. Se separan los nombres de los sitios en sus componentes del dominio. Por ej.
boogdan.home.ro se separa en ’m´aquina’=boogdan, ’organizaci´on’=home y
’TLD’=ro. TLD es el acr´onimo para ’Top Level Domain’ o dominio de nivel
superior.
2. Se comparan cada componente con su par del otro sitio, no se realizan com-
paraciones entre componenetes diferentes.
3. Cada componente puede ser igual al componente del otro sitio, o diferente.
No existen valores intermedios.
Los valores de distancia para esta caracter´ıstica fueron calculados en base a
la utilizaci´on de sitios por los intrusos.
Esta medida de distancia puede ser mejorada incorporando dos componen-
tes as que hoy forman parte de la sesi´on y est´an incluidos en la salida del
tcleoanalyzer: la cantidad de veces que un sitio fue usado en la sesi´on y el
m´etodo de acceso. Estos dos datos permiten mejorar la precisi´on en la utiliza-
ci´on de sitios. Un ejemplo de salida del tcleoanalyzer es:
Site: ’boogdan.home.ro’ (9 times) (ftp , lynx)
Site: ’ircopzip.ifreepages.com’ (1 times) (ftp)
Site: ’khaos.home.ro’ (1 times) (ftp)
Site: ’boogdan.dap.ro’ (1 times) (ftp)
8.5. Distancia en la comparaci´on de comandos
Se toman tres distancias diferentes: comparaci´on de los primeros tres coman-
dos de la sesi´on, los ´ultimos tres comandos de la sesi´on, y los comandos poco
comunes utilizados por la sesi´on.
En estas tres distancias, individualmente, la ogica es que cuantos as co-
mandos compartan las dos sesiones que se comparan, as se parecer´an. Como
los tres comandos est´an ordenados por cantidad de veces que se usaron, se asigna
as valor cuando comparten los comandos as usados.
7
http://es.wikipedia.org/wiki/FQDN
9. Resultados
Antes de realizar pruebas sobre la identificaci´on de grupos y usuarios, se
realizaron algunas verificaciones para comprobar el algoritmo y los diferentes
vectores de pesos.
La verificaci´on de los resultados no se puede realizar convenientemente porque
no existen datos verificados. Los datos con los que actualmente cuenta el proyecto
Paranoid del Si6 son datos de intrusos reales.
Se consideran conexiones significativas entre dos sesiones aquellas cuya dis-
tancia oscila entre 0 y 75. Cuando la distancia es mayor a 75 se considera que
las sesiones no tienen relaci´on aparente.
9.1. Primer experimento de verificaci´on de los resultados
La primera verificaci´on se realiz´o diferenciando manualmente las sesiones
que parec´ıan provenir de intrusos rumanos dada la experiencia en detecci´on
de intrusiones del laboratorio. Se seleccion´o este grupo conocido de intrusos
porque sus sesiones son lo suficientemente identificables dada la caracter´ıstica
de conectarse y descargar software de sitios rumanos (.ro).
La verificaci´on consisti´o en:
Identificar las sesiones rumanas en las 273 sesiones de los datos. Se identifi-
caron 48 sesiones.
Analizar con el tcleoclusterer la relaci´on de estas 48 sesiones con el resto de
las sesiones, aplicando los siguientes 10 vectores de pesos.
1ro : 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0
2do : 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0
3ro : 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0
4to : 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0
5to : 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0
6to : 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0
7mo : 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0
8vo : 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1
9no : 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
10mo:0.4 , 0.2 , 0.7 , 1 , 0.6 , 0.6 , 0.7 , 0.7
Se eligieron los vectores de pesos para estudiar el comportamiento del algo-
ritmo en las siguientes situaciones:
Priorizando cada una de las caracter´ısticas sobre las dem´as
sin priorizar ninguna caracter´ıstica (el mismo valor para cada carac-
ter´ıstica)
Vector de pesos ’real’ considerado como el mejor por los analistas de
seguridad.
Resultado parcial del tcleoclusterer
Connection Statics:
Weight array: [ 0 0 0 1 0 0 0 0]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 3.45% [2574 74529]
Total outside connections linking (>0 and <75) to the group: 135 from 61425 (0.22%)
Total inside connections linking (>0 and <75) outside the group: 135 from 13104 (1.03%)
Total inside connections linking (>0 and <75) to themselves: 2304 from 13104 (17.58%)
Ratios between percentages : 0.21 and 0.06
Connection Statics:
Weight array: [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 3.21% [2395 74529]
Total outside connections linking (>0 and <75) to the group: 265 from 61425 (0.43%)
Total inside connections linking (>0 and <75) outside the group: 289 from 13104 (2.21%)
Total inside connections linking (>0 and <75) to themselves: 1841 from 13104 (14.05%)
Ratios between percentages : 0.20 and 0.16
Los resultados indican que:
El vector de pesos que mejor se comport´o es el que priorizaba los sitios
accedidos. Verificando que el algoritmo funciona correctamente ya que
esta fue la caracter´ıstica seleccionada para separar las sesiones.
El vector de pesos ’real’ fue el segundo mejor. Comprobando que es muy
´util para separar sesiones. Incluso obtuvo un buen nivel de bonding o
aglutinamiento de las sesiones. Lo que significa que mantuvo un alto gra-
do de separaci´on de sesiones del grupo al mismo tiempo que las sesiones
en total se relacionaron en gran cantidad unas con otras.
En las 48 sesiones rumanas, solo el 2.21 % de las conexiones significativas
se relacionaron con sesiones fuera del grupo.
De las sesiones fuera del grupo, solo el 0.43 % de las conexiones eran
con sesiones dentro del grupo (solo 3 sesiones con as de 10 conexiones
significativas con el grupo).
9.2. Segundo experimento de verificaci´on de los resultados
Se extrajeron las sesiones umero 24, 108 y 209 del grupo de sesiones ruma-
nas, para verificar omo act´ua el algoritmo cuando hay sesiones con una conexi´on
fuerte con el grupo.
Resultados filtrados del tcleoclusterer:
Connection Statics:
Weight : [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 3.18% [2370 74529]
Total outside connections linking (>0 and <75) to the group: 366 from 62244 (0.59%)
Total inside connections linking (>0 and <75) outside the group: 391 from 12285 (3.18%)
Total inside connections linking (>0 and <75) to themselves: 1613 from 12285 (13.13%)
Ratios between percentages : 0.18 and 0.24
Podemos observar como se produjo un decaimiento en los porcentajes de los
resultados. Un 13.13 % donde antes obtuvimos 14.05 % y 3.18 % donde antes
obtuvimos 2.21 %. Esto marca la saparaci´on de sesiones del grupo.
Para buscar qu´e sesiones fuera del grupo se relacionan de manera significativa
con las sesiones dentro del grupo tomamos como umbral el 0,5 % del total de
conexiones de las sesiones fuera del grupo con el grupo. En el ejemplo anterior,
hay 366 conexiones de sesiones fuera del grupo hacia el grupo, lo que establece
el umbral en 19 conexiones. Si una sesi´on tienen as de 19 conexiones con el
grupo, se considera parte del grupo.
En el an´alisis detallado de la salida del tcleoclusterer, vemos que solo las
sesiones que hemos extraido tienen una cantidad de conexiones que supera el
umbral propuesto de 0.5 % :
Session 24: (OUTSIDE)
Conections to the filtered group: <25 = 0,<50 = 1,<75 = 34
Session 108: (OUTSIDE)
Conections to the filtered group: <25 = 0,<50 = 2,<75 = 39
Session 209: (OUTSIDE)
Conections to the filtered group: <25 = 0,<50 = 0,<75 = 33
Lo cual confirma que el algoritmo encuentra satisfactoriamente las sesiones
(y solo las sesiones) que hemos extraido del grupo.
9.3. Experimento de agrupado de sesiones
El objetivo del experimento es comenzar por una sola sesi´on y progresiva-
mente ver como se comporta el algoritmo al introducir nuevas sesiones en el
grupo.
1. Se seleccion´o la sesi´on 2, donde se ve que un intruso utiliza asiduamente el
comando kill -9 0
2. La respuesta del tcleoclusterer es:
Connection Statics: (Distance level = 75)
Weight : [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 0.11% [84 74299]
Total outside connections linking (>0 and <75) to the group: 41 from 74256 (0.06%)
Total inside connections linking (>0 and <75) outside the group: 42 from 43 (97.67%)
Total inside connections linking (>0 and <75) to themselves: 1 from 43 (2.33%)
Ratios between percentages : 0.00 and 0.02
3. Podemos apreciar que de las 43 conexiones de esta sesi´on, solo 1 se conecta
consigo misma (2.43 %), el resto de las 42 se conectan con sesiones fuera del
grupo (97.67 %). Este comportamiento es coherente.
4. Bas´andose en datos obtenidos por el tcleoclusterer, se selecciona la sesi´on 5
como la siguiente as relacionada a la sesi´on 2.
5. La respuesta del tcleoclusterer es:
Connection Statics: (Distance level = 75)
Weight : [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 0.13% [97 74034]
Total outside connections linking (>0 and <75) to the group: 46 from 73983 (0.06%)
Total inside connections linking (>0 and <75) outside the group: 47 from 51 (92.16%)
Total inside connections linking (>0 and <75) to themselves: 4 from 51 (7.84%)
Ratios between percentages : 0.00 and 0.09
6. Podemos apreciar una mejora en los porcentajes. Un 7.84 % son conexiones
con sesiones del mismo grupo, mientras que el 92.16 % se relaciona con sesio-
nes fuera del grupo. La disminuci´on del porcentaje de conexiones con sesiones
fuera del grupo es un factor que indica qu´e sesiones pueden ser agrupadas
por este etodo.
7. Si en lugar de la sesi´on 5, se intenta armar el grupo con la sesi´on 19, que no
guarda parecido aparente con la sesi´on 2, observamos el siguiente comporta-
miento:
8. Respuesta del tcleoclusterer:
Connection Statics: (Distance level = 75)
Weight : [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 0.38% [279 74124]
Total outside connections linking (>0 and <75) to the group: 138 from 73983 (0.19%)
Total inside connections linking (>0 and <75) outside the group: 139 from 141 (98.58%)
Total inside connections linking (>0 and <75) to themselves: 2 from 141 (1.42%)
Ratios between percentages : 0.00 and 0.01
9. Podemos apreciar que los porcentajes empeoraron respecto a agrupar la se-
si´on 2 con la 5. Ahora menos sesiones se relacionan con el grupo (1.42 %) y
muchas as se relacionan fuera del grupo (98.58 %)
10. Volviendo al grupo de las sesiones 2 y 5, se agreg´o una tercera sesi´on, la 7,
que seg´un el tcleoclusterer estaba muy relacionada con la 2 y la 5.
11. La respuesta del tcleoclusterer es:
Connection Statics: (Distance level = 75)
Weight : [ 0.4 0.2 0.7 1. 0.6 0.6 0.7 0.7]
(temporal | uid | 5 dir | 5 sites | first 3 | last 3 | 5 progs | 5 uncommon)
Total connection ratio (bonding): 0.16% [115 73772]
Total outside connections linking (>0 and <75) to the group: 53 from 73710 (0.07%)
Total inside connections linking (>0 and <75) outside the group: 53 from 62 (85.48%)
Total inside connections linking (>0 and <75) to themselves: 9 from 62 (14.52%)
Ratios between percentages : 0.00 and 0.17
12. Comprobamos que los porcentajes siguen mejorando.
Este experimento muestra que es posible clasificar las sesiones bas´andose en
sus caracter´ısticas comunes.
10. Conclusiones
El an´alisis de los datos de los intrusos con las herramientas desarrolladas
arroo resultados importantes en el conocimiento del comportamiento de los
mismos. Ahora podemos comenzar a analizar los grupos de sesiones.
A medida que se trabao con los detalles de las sesiones se logr´o definir algu-
nas de las caracter´ısticas as importantes para clasificar intrusos y los mejores
vectores de pesos para evaluarlos. Fue importante evaluar las caracter´ısticas para
descartar algunas t´ecnicas y para potenciar otras.
El continuo an´alisis del comportamiento de los intrusos, incluyendo segui-
mientos en tiempo real posibilit´o la creaci´on de las diversas comparaciones. Con-
tar con datos reales fue decisivo en el an´alisis de las distancias y la especificaci´on
de los valores. Estas medidas de distancia permitieron comprender mejor los pa-
trones inherentes al trabajo de cada intruso y mejorar progresivamente nuestros
m´etodos de clasificaci´on.
Se comprob´o el vector de pesos que mejor clasifica las sesiones.
Se comprob´o que es posible agrupar a los intrusos analizando su comporta-
miento.
Se comprob´o que el algoritmo encuentra sesiones perdidas cuando se definen
grupos.
Se comprob´o que es posible, bajo ciertas condiciones, ir encontrando las se-
siones e ir armando los grupos paulatinamente.
Se comprob´o que los porcentajes de las relaciones se pueden aplicar para la
automatizaci´on del proceso de armado.
11. Trabajo futuro
Como el proyecto principal en donde se realiz´o esta investigaci´on est´a en
proceso, hace falta continuar las pruebas para mejorar los resultados.
Es necesario automatizar el proceso de selecci´on de sesiones y armado de
grupos, comprobar una cantidad de situaciones as representativa de un mues-
treo estad´ıstico y aplicar ecnicas de clustering para lograr armar clusters que
separen las sesiones.
Referencias
1. Sherif, J.S., Dearmond, T.G.: Intrusion detection: Systems and models. In: WETI-
CE. (2002) 115–136
2. Anderson, K.E.: International Intrusions: Motives and Patterns (1994) Statistical
Science (submitted).
3. Maxion, R., Townsend, T.: Masquerade detection using truncated command lines
(2002)
4. Benitez, C.: El arte del Estado. Seminario de Seguridad Informatica - Prince and
Cooke (2006)
5. Garc´ıa, S.: E-Pollen, usa un honeypot y te dire quien eres. Workshop de Soluciones
Inform´aticas 2006, Universidad FASTA (2006)
6. Garc´ıa, S.: An evening with kha0s. FIRST Security Workshop, ArCert (2005)
7. Fernandez, F.: Linux kernel hacking aplicado a Honeypots. CONSECRI 2do Con-
greso Nacional de Seguridad en Sistemas Teleinform´aticos y Criptograf´ıa (2005)
8. Duda, R.O., Hart, P.E., Stork, D.G.: Pattern Classification. Wiley-Interscience
Publication (2000)
ResearchGate has not been able to resolve any citations for this publication.
Conference Paper
Organizations more often than not lack comprehensive security policies and are not adequately prepared to protect their systems against intrusions. This paper puts forward a review of the state of the art and state of the applicability of intrusion detection systems and models. The paper also presents a classification of literature pertaining to intrusion detection.
Conference Paper
A masquerade attack, in which one user impersonates another, can be the most serious form of computer abuse. Automatic discovery of masqueraders is sometimes undertaken by detecting significant departures from normal user behavior, as represented by a user profile formed from system audit data. While the success of this approach has been limited, the reasons for its unsatisfying performance are not obvious, possibly because most reports do not elucidate the origins of errors made by the detection mechanisms. This paper takes as its point of departure a recent series of experiments framed by Schonlau et al. (2001). In extending that work with a new classification algorithm, a 56% improvement in masquerade detection was achieved at a corresponding false-alarm rate of 1.3%. A detailed error analysis, based on an alternative data configuration, reveals why some users are good masqueraders and others are not.
International Intrusions: Motives and Patterns
  • K E Anderson
Anderson, K.E.: International Intrusions: Motives and Patterns (1994) Statistical Science (submitted)
An evening with kha0s
  • S García
García, S.: An evening with kha0s. FIRST Security Workshop, ArCert (2005)
Linux kernel hacking aplicado a Honeypots
  • F Fernandez
Fernandez, F.: Linux kernel hacking aplicado a Honeypots. CONSECRI 2do Congreso Nacional de Seguridad en Sistemas Teleinformáticos y Criptografía (2005)
E-Pollen, usa un honeypot y te dire quien eres. Workshop de Soluciones Informáticas
  • S García
García, S.: E-Pollen, usa un honeypot y te dire quien eres. Workshop de Soluciones Informáticas 2006, Universidad FASTA (2006)
  • K E Anderson
Anderson, K.E.: International Intrusions: Motives and Patterns (1994) Statistical Science (submitted).