1. Inteligencia Artificial y Seguridad
Informática
en plataformas Open Source
Jornadas de Software Libre y Seguridad Informática
Santa Rosa – La Pampa – 4 y 5 de Diciembre de 2009
2. AGENDA http://www.ifork.com.ar
Primera Parte
Definiciones y ejemplos
- Definición de Data Mining
- ¿Qué son las Redes Neuronales?
- ¿Qué es la Estadística Bayesiana?
- Sistemas de Detección de Intrusos (IDS)
- Open Source software para Data Mining, Redes Neuronales y Bayesianas
Segunda Parte
Aplicaciones a la Seguridad Informática
- Redes Neuronales y Bayesianas para sistemas de IDS
- Algoritmos de Clasificación para sistemas de antispam y antivirus
- Data Mining para peritajes informáticos y estudios criminalísticos on-line
- Inteligencia Artificial para mejorar el rendimiento de redes y servidores
3. DATA MINING http://www.ifork.com.ar
Definición
Se llama Minería de Datos a un conjunto de herramientas y algoritmos provenientes de la
Inteligencia Artificial cuya finalidad es la de encontrar patrones ocultos y no triviales en grandes
bases de datos, los cuales resultan imposible de detectar mediantes otras técnicas estadísticas y
matemáticas tradicionales.
Entre los mencionados algoritmos se encuentran:
-Redes Neuronales
-Redes Bayesianas
-Árboles de Decisión
-Algoritmos Genéticos
Mediante el procesamiento y análisis de las
mencionadas bases de datos, se pretende generar
CONOCIMENTO que resulte de fundamental
importancia a la hora de toma de decisiones.
Que puede ir, desde realizar una inversión, otorgar
un crédito hasta crear una nueva regla de firewall o
subir el umbral en un sistema anti-spam.
4. REDES NEURONALES http://www.ifork.com.ar
Sistema Artificial que emula el funcionamiento del cerebro humano.
-Son capaces de aprender mediante diferentes algoritmos de entrenamiento y poseen
diferentes arquitecturas, dependiento del problema a resolver.
- Son flexibles y resistentes a errores.
- Pueden procesar en tiempo real.
- Sus principales usos se dan en el reconocimiento de patrones y en los modelos de predicción.
- Son aplicables por ejemplo en el Mercado Bursátil, en los sistemas OCR, en la Segmentación de
Clientes, en predicciones de Demanda y especialmente en Detección de Fraudes y Riesgos.
5. REDES NEURONALES http://www.ifork.com.ar
Modelos Supervisados
Entrenados en base al conocimiento previo
Modelos NO Supervisados
Entrenados en base a aproximaciones estadísticas matemáticas.
Se autoorganizan.
En Seguridad Informática
Se utilizan los modelos SUPERVISADOS. Se entrenan en base a que el “maestro” determine si
una conexión o evento de red, fue una intrusión o no.
6. REDES BAYESIANAS http://www.ifork.com.ar
Son redes basadas en probabilidades, específicamente condicionales.
Obtienen su nombre del Teorema de Bayes.
Constan de gráficos acíclicos y dirigidos,
donde cada nodo representa una variable aleatoria del sistema.
Ejemplos
En medicina, un conjunto de variables representan diferentes síntomas, y en base a ello se
calcula la probabilidad de padecer determinada enfermedad.
En informática, los clasificadores bayesianos se utilizan en los sistemas de detección de intrusos,
asignándole en base a una serie de variables la probabilidad de que un evento sea una intrusión.
También en los sistemas anti-spam, asignándole a un mail la probabilidad de que sea un spam.
El popular spamassassin es una potente red bayesiana basada en puntajes, que a su vez estos
puntajes están basados en probabilidades.
-Se crea un archivo de mails válidos en $HOME/Mail/ham
- Se crea un archivo de spam que Spamassassin no detecto en $HOME/Mail/mspam
- A medida que crecen las bases, se corre el comando “sa-learn “ que es el agoritmo de
entrenamiento bayesiano que asigna a cada mail en dichos archivos un score.
7. CONCEPTOS IMPORTANTES DE DATA MINING http://www.ifork.com.ar
Clasificador: Es aquel algoritmo encargado de segmentar y aglomerar instancias de variables
que poseen características en común mediante el reconocimiento de patrones.
Redes Neuronales y Bayesianas son ejemplos de ellos.
Nubes de Comportamiento Normales y Outliers: Una técnica de reconocimiento de patrones e
identificación de anomalías es la creación de nubes de comportamiento típico y estudiar los
puntos que no encuadran en dichos aglomerados.
Con estas técnicas se detectan FRAUDES y en seguridad informática se estudian posibles
Intrusiones, ya que el atacante no forma parte de la nube de comportamiento típico en una red.
Dataset: Colección de datos presentados en diferentes formatos, generalmente compatibles con
bases de datos. Por ejemplo CSV.
Cada columna representa una variable, y cada fila es un caso.
Los diferentes algoritmos de Data Mining van a correr contra una tabla de base de datos o un
Dataset. Aquí entra en juego las herramientas OLAP.
8. SISTEMAS DE DETECCIÓN DE INTRUSOS (IDS) http://www.ifork.com.ar
Definición desde el punto de vista de un IDS Clásico, ejemplo SNORT .
Un IDS o Sistema de Detección de Intrusiones es una herramienta de seguridad que intenta
detectar o monitorizar los eventos ocurridos en un determinado sistema informático o red
informática en busca de intentos de comprometer la seguridad de dicho sistema.
Basados en SIGNATURES
Diferencia más significativa con los IDS Inteligentes
Ejemplo SNORT
Reconocen nuevas intrusiones o anomalías
Proyecto que trabaja en conjunto con SNORT y Redes Neuronales:
http://jeiks.net/index.php?p=1_5 (en portugués)
9. SISTEMAS DE DETECCIÓN DE INTRUSOS (IDS) http://www.ifork.com.ar
Sistemas de Alarmas ante posibles intrusiones y comportamiento anómalo
Propósito de los IDS En algunos casos REACTIVOS. Crean reglas de firewall. SNORT 2.3
Misuse Detection. Basados en SIGNATURES
Clasificación de IDS Abnormality Detection. Basados en aproximaciones estadísticas.
Se podría decir, que en los IDS basados en Misuse Detection el comportamiento anormal se define
previamente, mientras que en los basados en aproximaciones estadísticas se define previamente el
comportamiento normal.
Ventajas de los IDS basados en SIGNATURES
Detectan vulnerabilidades y ataques conocidos al instante
Ventajas de los IDS basados en COMPORTAMIENTO ANORMAL
Detectan vulnerabilidades y ataques que no eran conocidos previamente
Se puede adaptar a entornos particulares y personalizados
Desventajas de los IDS basados en COMPORTAMIENTO ANORMAL
Pueden producir un alto volumen de “falsas alarmas”
El proceso de entrenamiento de una Red Neuronal puede ser arduo.
10. IDS basados en Redes Neuronales http://www.ifork.com.ar
Dinámica de Captura - Procesamiento - Análisis - Alertas
Todos los análisis a correr, ya sean redes neuronales, árboles de decisión, etc, se ejecutan sobre un “dataset”
El dataset está compuesto por cada conexión de red existente
El INPUT del dataset puede ser el TCPDUMP o NETFLOW
Se determinan las variables más relevantes:
- IP origen - IP destino - Puerto - Protocolo - Cantidad de Paquetes - Tamaño en bytes - Cantidad de paquetes
- Tiempo
Se hace un proceso de limpieza de dicha información
Se ordena la info en una base de datos, por ej MySQL o en texto plano CSV
A cada instancia del dataset se le asigna un puntaje o score en base al entrenamiento de la Red Neuronal
Se determina que tan anómalo es ese puntaje
Se crea un sistema de alertas en base al punto anterior
Es necesario tener un servidor dedicado que recolecte los datos y realice el procesamiento.
11. Text Mining – Web Mining – Log Mining & Security http://www.ifork.com.ar
De la misma manera que la Minería de Datos explora grandes bases de datos, existen disciplinas
que se especializan en áreas particulares.
Text Mining: Técnicas específicas para explorar, analizar y descubrir patrones en diferentes
formatos de texto.
Web Mining: Extrae información en: contenido de páginas web
estructura de links
registros de navegación
Log Mining: Extrae información de diferentes logs de servidores, no solo detectan anomalías,
sino también ayudan ampliamente en los sistemas de reportes y optimización de
rendimiento.
12. Text Mining – Web Mining – Log Mining & Security http://www.ifork.com.ar
Desde el punto de vista de la “Seguridad”
-Organismos gubernamentales y agencias de seguridad utilizan ampliamente estas técnicas
para rastrear conductas delictivas realizando Text Mining y Web Mining sobre:
Sitios Web
Foros de discusión
Redes Sociales
Canales de chat
Mails
A menudo se entrecruza esta información con escuchas telefónicas y celulares.
-Un software comercial que tiene como base el Text Mining es el OASIS
(Overall Analysis System for Intelligence Support)
Desde el punto de vista del Cracking
-Se emplean este tipo de técnicas para recolectar información personal lo que deriva en el
robo de identidades
13. Software y Proyectos http://www.ifork.com.ar
Weka
Open Source suite para Data Mining
Contiene potentes algoritmos de Redes Neuronales, Redes Bayesianas, Árboles de
Decisión, etc.
OpenBayes.Org
Librería que implementa Redes Bayesianas en Pyton
GATE
Open Source Toolkit para Text Mining
Neuroph
Framework en Java para desarrollar y entrenar redes neuronales
14. Desafíos http://www.ifork.com.ar
Desarrollo de un sistema de detección de intrusos basado en redes bayesianas,
posiblemente a integrarse como parte de SNORT.
Áreas necesarias a cubrir:
-Especialista en Estadística
-Especialista en Seguridad Informática y Redes
-Programador
Lenguajes recomendados:
-Python
-Java
-Perl
La etapa de implementación también debe ser multidisciplinaria. Ya que en cada entorno
el entrenamiento de la red puede variar drásticamente.
15. Jornadas de Software Libre y Seguridad – La Pampa http://www.ifork.com.ar
Jornadas de Software Libre & Seguridad Informática
4 y 5 de Diciembre de 2009 – Santa Rosa – La Pampa
Juan Pablo Braña
juan.brana@ifork.com.ar