Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Revista Iberoamericana
de Inteligencia Artificial
ISSN: 1137-3601
revista@aepia.org
Asociación Española para la Inteligencia
Artificial
España
Resumen
La seguridad de las redes de datos se ha transfor- El ingeniero en seguridad de redes debe estar aler-
mado en un serio problema en los últimos años. ta para detectar estos ataques, informándose de
El crecimiento vertiginoso que ha presentado la las nuevas vulnerabilidades descubiertas o tipos
Internet ha permitido mostrar las fallas de segu- de ataques perpetrados. Sin embargo una gran
ridad en las implementaciones de los protocolos cantidad de estos ataques tienen lugar antes que
de red subyacentes. Situación que resulta com- se conozcan siquiera las vulnerabilidades o fallas
prensible, ya que muchos de estos protocolos ori- que los provoca.
ginalmente fueron pensados para unir de 10 a 50
computadoras de las universidades de los Estados Para afrontar este problema es que en los últimos
Unidos. años han surgido propuestas para la aplicación de
técnicas de inteligencia artificial en el ámbito de
Las falencias en la seguridad de protocolos co- la seguridad en redes.
mo ARP, TCP, TELNET, SMTP, FTP han si-
do la causa de ataques contra la confidencialidad, En este trabajo se presenta una propuesta de un
la disponibilidad y la autenticidad de los datos algoritmo genético para el reconocimiento de pa-
transportados. Si bien estos problemas han sido trones en el tráfico de red como punto de partida
corregidos a lo largo de los años, continuamente para abordar un problema de mayor envergadura
66 Inteligencia Artificial Vol. 12, No 37, 2008
como lo es la detección de intrusos por anomalı́as Sinclair et al. [6] propone la utilización del algo-
en el tráfico de red. ritmos genéticos para encontrar reglas sencillas
que permitan encontrar patrones en el tráfico de
El algoritmo propuesto parte de una población de la red combinado con arboles de decisión. Otros
individuos conformados por instancias de tráfico autores como Lu [7] y Yin [8] utilizan programa-
de red elegidas al azar, para obtener, al final del ción genética para obtener las reglas de clasifi-
proceso, el conjunto de reglas que más coinciden- cación. Esta variante permite obtener reglas de
cias encuentre en el tráfico de la red. Toda nueva mayor complejidad. En otros trabajos [9, 10, 11]
instancia de tráfico que se aparte del comporta- se estudian diferentes aplicaciones de los algorit-
miento normal de la red se considera una ano- mos genéticos en el contexto de la detección de
malı́a [1]. Este enfoque presenta diferencias con intrusos.
respecto a otros trabajos en donde se utilizan al-
goritmos genéticos con el objetivo de encontrar Se discuten a continuación los aspectos más rele-
patrones sobre las instancias de tráfico anómalas. vantes de las implementaciones mencionadas.
En los trabajos de Gong [4] y Lu [7] se utiliza una Sharing en cambio degrada el fitness de un indi-
función de fitness basada en el support-confidence viduo en función de la cantidad de individuos que
framework [13], en donde si una regla es descrip- estén próximos al mismo.
ta como si A entonces B se puede determinar el
fitness de dicha regla siguiendo la ecuación: En el trabajo de Li [5] se menciona la utilización
de una variante de crowding aunque no se men-
ciona cual, ni se dan detalles de su implementa-
ción. Sinclair et al. en [6] plantea la utilización
support = |A ∪ B|/N de una variante de crowding utilizando distancia
conf idence = |A ∪ B|/|A| de Hamming para encontrar los individuos más
cercanos.
f itness = w1 ∗ support + w2 ∗ conf idence
Lu [7] propone una técnica basada en la competi-
ción por token. Cada instancia de tráfico del con-
Donde al variar los valores de w1 y w2 se pue-
junto de entrenamiento contiene un token. Si un
den detectar las anomalı́as de manera general o
individuo coincide con la instancia de tráfico ad-
también clasificar de manera precisa los distintos
quiere el token. La prioridad para obtener el token
tipos de anomalı́as.
se basa en una probabilidad basada en la calidad
de cada individuo. Finalmente la cantidad de to-
kens obtenidos por cada individuo se utiliza como
2.3. Otros operadores un parámetro de la función de fitness.
te a dos individuos (p1 y p2 ) sobre los cuales se Finalmente (lı́nea 20) se seleccionan los mejores
aplica el operador de cruzamiento. Estos indivi- individuos de la población P para formar el con-
duos junto a los dos hijos recién obtenidos (o1 y junto de reglas que representan las instancias nor-
o2 ), se evalúan mediante un operador de crow- males en el tráfico de red. En las siguientes sub-
ding. En el operador de crowding se aplica un secciones se discuten la representación de la po-
criterio para determinar si alguno de los hijos re- blación, la función de optimización y las técni-
cientemente obtenidos, será agregado a la pobla- cas utilizadas para mantener un conjunto de so-
ción P . Este procedimiento se repite un número luciones posibles, las cuales conforman el algorit-
de veces determinado por el factor de cruzamiento mo propuesto. Los operadores de selección, cru-
xf actor. zamiento y mutación utilizados en el algoritmo
propuesto no presentan aportes respecto al esta-
El algoritmo sigue un esquema de tipo estaciona- do del arte.
rio [18]. Los dos individuos (o1 y o2 ) obtenidos,
pueden ser agregados de forma inmediata a la po-
blación P . De esta manera el individuo que recién 3.1. Representación de la pobla-
ingresa a la población, puede ser seleccionado pa-
ción
ra cruzamiento sin necesidad de que el algoritmo
pase a la siguiente generación.
En este trabajo, en base a criterios disciplinares se
seleccionan 6 atributos de una instancia de tráfi-
Algoritmo 1 Esquema general del algoritmo co: tiempo de duración de la conexión, tipo de
genético propuesto protocolo, puerto origen, puerto destino, direc-
1: initializarP oblacion(P )
ción IP origen y dirección IP destino.
2: calcularF itness(P )
Los atributos se representan como una lista de
3: while N roM axGeneracionN oAlcanzado
genes, de acuerdo a la estructura indicada en la
do
Tabla 1.
4: for i = 0 to xf actor do
5: p1 = seleccionar(P ) Tabla 1. Estructura del cromosoma de un
6: p2 = seleccionar(P ) individuo.
7: (o1 , o2 ) = cruzamiento(p1 , p2 )
Atributo Nro. de genes Valor máx
8: crowding(p1 , p2 , o1 , o2 )
HH:MM:SS 3 60
9: end for
Puerto origen 1 65535
10: for i = 0 to df actor do
Puerto destino 1 65535
11: p = seleccionar(P )
Dirección origen 4 255
12: descarte(p)
Dirección destino 4 255
13: end for
Protocolo 1 1024
14: for i = 0 to mf actor do
15: p = seleccionar(P )
16: mutacion(p) A continuación se muestra un ejemplo de un in-
17: end for dividuo. El cual representa una conexión http (la
18: calcF itness(P ) cual se identifica con el número 5) de una dura-
19: end while ción de 2 segundos con puerto origen 2114, puerto
20: selecionarIndividos(P ) destino 80, dirección IP destino 192.168.1.1 y di-
rección IP origen 192.168.1.2.
( 0,0,2,5,2114,80,192,168,1,1,192.168,1,2 )
Posteriormente en la lı́nea 12, se selecciona pro-
babilı́sticamente un nuevo individuo p el cual es Los individuos de la población admiten la po-
utilizado por el operador de descarte de condición sibilidad de generalizar alguno de sus genes,
(dropping condition). Al igual que en el caso del asignándose al mismo el valor -1. El cromosoma
operador de cruzamiento este proceso se repite el anterior se puede representar de la siguiente ma-
número de veces indicado por el factor de descarte nera:
de condición df actor. Un esquema similar se sigue
con el operador de mutación. Luego se recalcula (0,0,2,5,2114,80,192,168,1,-1,192.168,1,-1 )
el fitness de aquellos individuos de la población
que hayan sido agregados o modificados por los Este individuo puede encontrar coincidencias con
operadores mencionados con anterioridad. las instancias de tráfico dirigidas u originadas en
Inteligencia Artificial Vol. 12, No 37, 2008 69
los nodos de la red comprendidos entre las direc- cidan con un significativo número de instancias
ciones IP 192.168.1.0 y 192.168.255.255. de tráfico.
% Frecuencia Relativa
histogramas de frecuencias relativas en función 65
60
del error porcentual. 55
50
45
40
Una comparación de los resultados obtenidos 35
30
cuando se aplica la función distancia Hamming 25
20
y la función distancia euclidiana por pesos, para 15
10
el operador de crowding clásico, se muestran en 5
0
la figura 1 y la figura 2, respectivamente. 0 14 28 42 56 70 84 98
% Error de clasificación
70
65 Como surge de la comparación de las figuras 1 y
60
55 2 la distancia euclidiana por pesos muestra mejo-
50
45 res resultados que la distancia de Hamming, tanto
40
35 para el conjunto de prueba como para el conjunto
30
25 de entrenamiento. Sin embargo, como se observa
20
15 en la figura 2, aún en este caso se obtienen erro-
10
5 res de clasificación altos (42 % y 56 %) para un
0
0 14 28 42 56 70 84 98 número importante de casos.
% Error de clasificación
65
60 del algoritmo utilizando la función de peso α′ se
55
50 muestran en la Tabla 3, que en este caso con-
45
40 forman 16 reglas. Se observa que muchas de las
35
30 reglas no han sido capaces de encontrar coinciden-
25
20 cias en ninguna instancia de tráfico del conjunto
15
10
5
de entrenamiento y el conjunto de prueba. Este
0
0 14 28 42 56 70 84 98
resultado responde por un lado a las caracterı́sti-
% Error de clasificación cas de la función de peso α′ que ha favorecido
a individuos con atributos con alta frecuencia de
Figura 3. Histograma de frecuencias relativas
aparición y por otro a la heurı́stica detallada en
para crowding determinı́stico utilizando la sección 3.5 que selecciona a los individuos que
distancia de Hamming presentan mayores diferencias entre si. De esta
manera se ha podido encontrar reglas que podrı́an
ser capaces de clasificar instancias de tráfico no
Histograma de frecuencias para Crowding Deterministico
utilizando distancia Euclidiana por pesos presentes en el conjunto de entrenamiento.
100
95 Conjunto de prueba
90
85
Conjunto de entrenamiento
Las figuras 5 y 6 muestran la evolución del error
80
75
del mejor resultado obtenido, para las 40 valida-
ciones efectuadas, utilizando las funciones α y α′ ,
% Frecuencia Relativa
70
65
60
55
respectivamente.
50
45
40 Como se observa en la Figura 5 el algoritmo que
35
30
25
utiliza la función α converge a una solución a par-
20
15
tir de la generación 800 y obtiene resultados ape-
10
5
nas inferiores al 60 % de error de clasificación en
0
0 14 28 42 56 70 84 98
el conjunto de entrenamiento y muy cercanos al
% Error de clasificación 80 % en el conjunto de prueba.
IRP IRE HH MM SS Proto sPort sPort sIP sIP sIP sIP dIP dIP dIP dIP
1 7620 4120 0 0 1 5 -1 80 172 16 -1 -1 207 -1 -1 -1
IRP IRE HH MM SS Proto sPort dPort sIP sIP sIP sIP dIP dIP dIP dIP
1 7184 2912 0 0 1 5 -1 80 172 16 117 -1 -1 -1 -1 -1
2 5086 2669 0 0 1 5 -1 80 172 16 116 -1 -1 -1 -1 -1
3 5592 2658 0 0 1 5 -1 80 172 16 115 -1 -1 -1 -1 -1
4 5004 0 0 0 1 5 -1 80 172 16 112 -1 -1 -1 -1 -1
5 3491 0 0 0 1 5 -1 80 172 16 113 -1 -1 -1 -1 -1
6 0 0 0 0 1 5 -1 80 172 16 60 -1 -1 -1 -1 -1
7 0 0 0 0 1 5 -1 80 172 16 118 -1 -1 -1 -1 -1
8 0 0 0 0 1 5 -1 80 172 16 101 -1 -1 -1 -1 -1
9 0 0 0 0 1 1 -1 80 172 16 116 -1 -1 -1 -1 -1
10 0 0 0 0 1 1 -1 80 172 16 115 -1 -1 -1 -1 -1
11 0 0 0 0 1 7 -1 80 172 16 117 -1 -1 -1 -1 -1
12 0 0 0 0 1 5 -1 84 172 16 117 -1 -1 -1 -1 -1
13 0 0 0 0 1 5 -1 16 172 16 117 -1 -1 -1 -1 -1
14 0 0 0 0 1 4 -1 80 172 16 116 -1 -1 -1 -1 -1
15 0 0 0 0 1 7 -1 80 172 16 116 -1 -1 -1 -1 -1
16 0 0 0 0 1 5 -1 88 172 16 116 -1 -1 -1 -1 -1
90
futuros
80
70
En el presente trabajo se han clasificado exito-
60
samente patrones de tráfico normal mediante el
% Error
50
algoritmo genético propuesto.
40
30
El algoritmo genético para el reconocimiento de
20
patrones de tráfico normal observa resultados
10 Conjunto de entrenamiento
Conjunto de prueba prometedores en el caso de estudio planteado. Se
0
0 100 200 300 400 500 600 700 800 900 1000 1100 1200 generan reglas con atributos que permiten encon-
Generación Nro.
trar coincidencias del orden del 85 % para el con-
junto de entrenamiento y alrededor de un 80 %
para el conjunto de prueba.
Figura 5. Porcentaje de error en los conjuntos
de prueba y entrenamiento utilizando la La utilización de la función de peso α′ definida en
función α definida en la ecuación (2) la ecuación (3) constituye una mejora significativa
a la función de fitness. Como se ha señalado en
Cálculo del porcentaje de error la sección 4.2 se han podido encontrar reglas de
utilizando la función α’
100
clasificación que, potencialmente son capaces de
90
clasificar instancias de tráfico no presentes en el
80
conjunto de entrenamiento.
70
60
De las técnicas de crowding evaluadas, crowding
determinı́stico ha presentado los resultados más
% Error
50
40
prometedores a costa de no aumentar la comple-
30
jidad computacional del algoritmo. Crowding de-
20
terminı́stico muestra no ser sensible a la función
10
de distancia utilizada, situación que no se presen-
Conjunto de entrenamiento
0
Conjunto de prueba ta en otras variantes de crowding.
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
Generación Nro.
Se observa que las funciones de fitness descriptas
en el trabajo son costosas en términos de recursos
Figura 6. Porcentaje de error en los conjuntos computacionales. Luego surge la posibilidad de
de prueba y entrenamiento utilizando la investigar el comportamiento del algoritmo pro-
función α′ definida en la ecuación (3) puesto en ambientes distribuidos. Otra posibili-
74 Inteligencia Artificial Vol. 12, No 37, 2008
dad es la de estudiar la aplicación de algoritmos [9] S. Bridges and R. Vaughn, “Fuzzy data mi-
genéticos distribuidos [21, 22]. Estos algoritmos ning and genetic algorithms applied to in-
permiten acelerar la convergencia de las solucio- trusion deteccion,” in National Information
nes a la vez que exploran distintos espacios de Systems Security Conference, 2000.
soluciones.
[10] J. Gomez, D. Dasgupta, F. Gonzalez, and
En trabajos futuros se comprobará el funciona- O.Ñasraoui, “Complete expression trees for
miento de las reglas obtenidas en la detección de evolving fuzzy classifier systems with genetic
anomalı́as aplicadas a situaciones de tráfico real. algorithms and application to network intru-
sion detection.,” in Annual Fuzzy Informa-
tion Society, pp. 469–474, 2002.
[3] M. Crosbie and G. Spafford., “Applying ge- [13] M. Wong and K. Leung, Data Mining Using
netic programming to intrusion detection.,” Grammar-Based Genetic Programming and
in AAAI Fall Symposium on Genetic Pro- Applications. Kluwer Academic Publishers
gramming, 1995. Norwell, 2000.
[4] R. Gong, M. Zulkernine, and P. Abolmaes- [14] D. Goldberg, Genetic Algorithms in search
mumi, “A software implementation of a Optimization and Machine Learning. Addi-
genetic algorithm based approach to network son Wesley, 1989.
intrusion detection.,” in Sixth Internatio-
nal Conference on Software Engineering, [15] B. Miller and M. Shaw, “Genetic algorithms
Artificial Intelligence, Networking and Para- with dynamic niche sharing for multimodal-
llel/Distributed Computing and First ACIS function optimization.,” Tech. Rep. 95010,
International Workshop on Self-Assembling University of Illinois at Urbana-Champaing.,
Wireless Networks (SNDP/SWAN’05), 1995.
vol. 0, pp. 246–253, 2005.
[16] S. Mahfoud, “Crowding and preselection re-
[5] W. Li, “A genetic approach to network intru- visited.,” Tech. Rep. 92004, University of Illi-
sion detection,” tech. rep., SANS Institute, nois at Urbana-Champaing., 1992.
2003.
[17] V. R. Vemuri and W. Cedeno, Practical
[6] C. Sinclair, P. Lyn, and S. Matzer, “An ap- Handbook of Genetic Algorithms, vol. 2,
plication of machine learning to network in- ch. Multi-Niche Crowding for Multi-Modal
trusion detection.,” in 15th Annual Compu- Search. CRC Press, 1995.
ter Security Applications Conference, 1999.
[18] D. Whitley, “The GENITOR algorithm and
[7] W. Lu and I. Traore., “Detecting new forms selection pressure: Why rank-based alloca-
of network intrusion using genetic program- tion of reproductive trials is best,” in Procee-
ming.,” Computational Intelligence,, vol. 20, dings of the Third International Conference
pp. 475–494, 2004. on Genetic Algorithms (J. D. Schaffer, ed.),
(San Mateo, CA), Morgan Kaufman, 1989.
[8] C. Yin, S. Tian, H. Huang, and J. He, “Ap-
plying genetic programming to evolve lear- [19] B. Sareni and L. Krahenbuhl., “Fitness sha-
ned rules for network anomaly detection,” in ring and niching methods revisited.,” IEEE
LNCS ICNC 2005, vol. 3612, pp. 323–331, Transactions on Evolutionary computation,
2005. vol. 2, September 1998.
Inteligencia Artificial Vol. 12, No 37, 2008 75