1/42
Sistema de Detecci´
on de Intrusos para ataques
Cross-Site Scripting
Garc´ıa Ram´ırez Israel & Fonseca Casao Sergio Israel Directores: M. en C. Ram´ırez Morales Mario Augusto &
M. en C. Saucedo Delgado Rafael Norman
Instituto Polit´ecnico Nacional Escuela Superior de C´omputo
Ciudad de M´exico, M´exico
2/42
Contenido
Planteamiento del Problema Ataques Cross-site Scripting (XSS) Sistemas de Detecci´on de Intrusos Aprendizaje Autom´atico
Objetivos
Fases del proyecto Propuesta
3/42
Planteamiento del problema
4/42
Planteamiento del problema
Datos publicados por IMPERVA registra:
Figura:Porcentaje de ataques en internet.
5/42
Planteamiento del problema
En donde el 14 % son ataques Cross-Site Scripting. Del 2012 al 2015 se registr´o un incremento del 200 %.
6/42
Definiciones
Ataques Cross-site Scripting (XSS)
7/42
Tipos de XSS
I XSS Almacenado
I XSS Reflejado
8/42
Detecci´
on de estos ataques
Debido al incremento de ataques XSS mencionados por la empresa IMPERVA, expertos recomiendan el uso de IDS en arquitecturas de seguridad.
9/42
Sistema de Detecci´
on de Instrusos
Definici´on
10/42
Sistema de Detecci´
on de Intrusos
Taxonom´ıa
—
11/42
Aprendizaje Autom´
atico
Se define como:
I Mejorar el desempe˜no de programas basado en ”experiencias”. Los casos en los que se implementa con mayor efectividad:
I Problemas con dominios demasiado grandes
I Dominios en donde el programa tenga que estar en constante cambio
12/42
Aprendizaje Autom´
atico
Tipos de Aprendizaje
I Supervisado
- Los datos del entrenamiento est´an etiquetados de forma expl´ıcita
I No Supervisado
13/42
Aprendizaje Autom´
atico
M´etodos de aprendizaje
Redes Neuronales (Definici´ones):
I Una Red Neural Artificial (ANN) es un procesador paralelo distribuido que consiste en un conjunto de neuronas interconectadas entre s´ı [3].
14/42
Aprendizaje Autom´
atico
Red Neuronal
Entrenamiento para realizar:
I Funciones de aproximaci´on
I Sistemas de control
I Filtrado
I Reconocimiento de patrones: El reconocimiento de patrones es un proceso en el que un patr´on o entrada se asigna a una categor´ıa predefinida o una clase.
15/42
Aprendizaje Autom´
atico
Conexi´on entre neuronas
La arquitectura de la red neuronal que se implementar´a es:
—
16/42
Generaci´
on de vectores
Categories XSS
Puntuaci´on alfanum´erica [a-z][A-Z][0-9] ¡, ¿, %, &, ;, #, +, =,(, ), ., ’, ”, /, :,
{,}, -, @, [, ], ?,\, ‘ Combinaciones especiales –, &#, //, /*,
*/, ¡!, ¡?,?¿
Otros Palabras propias de JavaScript y otros caracteres Espacios en blanco Espacios, tabulaciones y
salto de l´ınea.
17/42
N´
umero de capas
Debido a los resultados mostrados por Moosa [3], en la red neuronal se utilizar´an dos capas ocultas y el n´umero de neuronas por capas ocultas variar´a de 1 a 3 en la primera fase de
entrenamiento. Dados los resultados de dicha configuraci´on, se tiene otra opci´on por el uso de 1 a 10 neuronas ocultas.
18/42
Aprendizaje Autom´
atico
Algoritmos de entrenamiento
Existen distintos algoritmos de entrenamiento, pero con base a lo que menciona Moora, la mejor opci´on a implementar es el
algoritmo deBack Propagation. Uso:
I Reconocimiento de patrones
I Sistemas de detecci´on de intrusos Efectividad:
I Para ambas aplicaciones es del 90 %
19/42
Objetivo General
Desarrollar un sistema del tipo detector de intrusos basado enhost
implementando aprendizaje m´aquina para la detecci´on de ataques XSS persistentes que est´e sufriendo la p´agina web del host y con ello emitir las alertas correspondientes hacia los encargados del sistema.
20/42
Objetivos espec´ıficos
Desarrollar:
I Generar de forma artificial un conjunto de datos que simulen ataques de tipo XSS.
I Detectar y alertar de ataques XSS persistentes en tiempo real.
I Detectar al menos un 80 % ataques XSS persistentes [2].
I Implementar machine learning para la detecci´on de ataques
I Obtener y mostrar estad´ısticas e informaci´on sobre los ataques XSS que ha sufrido un sistema en la consola de
21/42
Propuesta
Arquitectura del sistema
22/42
Propuesta
Arquitectura del sistema
23/42
Fases del proyecto
Se han considerado dos fases que engloban todo el desarrollo de este proyecto:
1. Desarrollo del agente usando aprendizaje m´aquina.
2. Desarrollo del registrador de eventos.
24/42
Bibliograf´ıa
OWASP 2017,https:
//www.owasp.org/index.php/Top_10_2017-Top_10 Mukesh Kumar, G., Mahesh Chandra, G. and Girdhari, S. (2015). Predicting Cross-Site Scripting (XSS)
SecurityVulnerabilities en Web Applications. Department of Computer Science & Engineering, Malviya National Institute of Technology, Jaipur-302017, Rajasthan, INDIA.
A. Moosa. ”Artificial Neural Network based Web Application Firewall for SQL Injection”. (2017) (4th ed., pp. 614-618). Recuperado de:http://waset.org/publications/1001/
artificial-neural-network-based-web-application-firewall-for-sql-injection Lucas, A. (2017). ”How do artificial neural networks learn?”.
Quora. Recuperado 3 Junio 2017, dehttps://www.quora. com/How-do-artificial-neural-networks-learn