Firewalls y Sistemas de detección/prevención de intrusos en la red

Firewalls y Sistemas de
detección/prevención de
intrusos en la red
German Larrosa – CI 4.561.973-5
Gastón Nicassio – CI 3.179.525-0
Contenido
Definición.. 4
Que es un firewall de red ?.. 4
Por qué nos sería de utilidad ?.. 4
De que nos protege un firewall ?.. 4
Qué pasa con los virus ?.. 4
Cuales son los distintos tipos de firewalls ?.. 5
Listas de control de acceso.. 5
Proxy firewalls:. 5
Firewalls de inspección de estado:. 5
Firewalls de manejo unificado de amenazas (UTM) por su sigla en ingles:. 5
Qué es y cómo funciona un servidor proxy ?.. 5
Recursos importantes para el firewall 5
Cómo bloqueamos todo lo “malo” ?.. 6
Diseño e implementación.. 6
Ataques. 6
Que es la denegación de servicio ?.. 6
Funcionamiento de firewalls modernos. 6
Tecnicas comunes de filtrado de información..8
Filtrado de paquetes. 8
Application gateway. 8
Circuit level gateway. 8
Servidores proxy. 8
Firewalls sobre Linux. 8
Sistema de deteccion de intrusos ( IDS - Intrutiondetectionsystem). 9
Sistema de prevencion de intrusos (IPS - Intrusionpreventionsystem). 9
Testing de firewalls. 9
StoneSoftEvader. 10
Escenario de prueba. 10
Scapy. 10
Conclusion.. 10
Firewalls tradicionales vs Firewalls NGFW... 10
Introduccion.. 11
Firewalls tradicionales - Intregracion de herramientas. 11
Firewalls NGFW - Integracion de herramientas. 11
Firewalls tradicionales - Manejo de SSL.. 12
Firewalls NGFW - Manejo de SSL..12
Firewalls tradicionales - CaracteristicasApplication-aware. 12
Firewalls NGFW - Caracteristricas Application-aware. 12
Firewalls Tradicionales - Caracteristricas Application-aware. 12
Firewalls NGFW - Caracteristicas Application-aware. 13
Definición
Un firewall es un sistema de seguridad que tiene como objetivo prevenir el acceso no
autorizado a redes privadas; los firewalls pueden ser implementados como software o
hardware.
Los firewalls han pasado de ser algo super complejo, manejado por los implementadores
de sistemas de seguridad, a ser utilizados por cualquier usuario con algunos
conocimientos de informática, a nivel hogareño .
Que es un firewall de red ?
Básicamente lo podríamos ver como dos componentes, uno que bloquea el tráfico entre
dos redes y otro que lo habilita controlando el acceso. Dicho acceso se permite bajo una
determinada política, y cuando no tenemos bien claras las reglas que queremos
establecer, probablemente fracasemos en su utilización.
Por qué nos sería de utilidad ?
Internet refleja algunos males de nuestra sociedad, por ejemplo: robo, vandalismo,
contaminación, etc. El equivalente electrónico de lo que hacemos en términos de
seguridad para mantener a esta gente alejada, sería el uso de firewalls.
De que nos protege un firewall ?
En gral los usamos para protegernos de conexiones no autenticadas del mundo exterior,
para prevenir ataques a nuestro sistema.
Algunas de sus funciones más importantes son proveer un log del tráfico, auditar y armar
un resumen con los intentos de ataques, cantidad de tráfico, etc.
Claramente no nos protege de cualquier ataque que no pase a través de él. Se pone el
ejemplo de tener una puerta blindada cuando la casa es de madera; con esto se indica
que la empresa en su integridad debe seguir normas de seguridad. Alcanza con un
pendrive para que pueda filtrarse información sensible.
Sistemas con información secreta o altamente sensible deberían estar aislados de los
componentes en la red corporativa.
Tampoco nos protege contra tunneling con los protocolos de otras aplicaciones. Así que
tener un firewall no es excusa para no implementar seguridad a nivel de aplicación.
Qué pasa con los virus ?
Hay tantas formas de codificar archivos binarios para transferirlos por la red y tantas
diferentes arquitecturas que se hace casi imposible prevenir estos ataques. Para esto las
empresas deben generar conciencia en los usuarios y utilizar antivirus en sus máquinas.
Surge la pregunta si IPSEC (IP SECurity) va a reemplazar el uso de los firewalls, pero en
resumen, fueron diseñados para cosas distintas.
Cuales son los distintos tipos de firewalls ?
Conceptualmente se dividen en 2 grupos: capa de aplicación y capa de red.
Sus diferencias radican en los mecanismos que se usan para dejar pasar el tráfico.
● Los de capa de red :
Generalmente los inputs importantes son las direcciones de origen y destino y los
puestos utilizados en los paquetes IP. Un router común sería un ejemplo de firewall simple
de capa de red. Obviamente los más nuevos se han vuelto muy sofisticados.
●
Los de capa de aplicación:
Son generalmente clientes corriendo servidores proxy, que permiten el tráfico
entre redes realizando un logueo y auditoría del mismo.
Listas de control de acceso: Fueron las primeras en existir y son muy distintas a
cualquier firewall utilizados hoy. Pero su idea principal se mantiene en los diseños
actuales, filtrar paquetes. Se permite o rechaza el pasaje de paquetes revisando el
header.
Proxy firewalls: Estos son los más seguros. Funcionan a nivel de capa de aplicación,
filtrando paquete a paquete. Con el costo de enlentecer un poco al sistema.
Firewalls de inspección de estado: Son como una versión mejorada de las listas
de control de acceso. También llamados Firewall de filtros dinámicos de paquetes. En
este caso no solo chequean los haeders sino que monitorean el estado de las
conecciones, pudiendo cerrar los puertos hasta saber que se abrio una coneccion y
nuevos paquetes llegaran.
Firewalls de manejo unificado de amenazas (UTM) por su sigla en
ingles: En el firewall viene incluido en un antivirus, supuestamente son las mejores
soluciones en seguridad , aportando dataleakprevention, balanceo de carga, anti-spam,
vpn, etc. El producto resultado es una sola consola, minimizando el trabajo en
mantenimiento, etc.
Qué es y cómo funciona un servidor proxy ?
Es una aplicación que hace de intermediario en el tráfico entre una red protegida e
internet. Deben “entender” los protocolos de aplicación utilizados, pudiendo entonces
implementar seguridad basada en dicho protocolo, por ejemplo para FTP podriamos
configurar el bloqueo de tráfico saliente , pero permitr el entrante. Si queremos soportar
un nuevo protocolo, debemos desarrollar un proxy para ese protocolo.
Recursos importantes para el firewall
Es importante identificar los recursos críticos de la arquitectura de nuestro firewall, así al
momento de hacer mejoras de performance por ejemplo, sabemos exactamente que
debemos modificar. Recordar que es en muchos casos nuestro cuello de botella, por lo
que gastar grandes cantidades de dinero en mejores y más rápidas CPU no
necesariamente representan una mejora. En sistemas con mucha actividad la memoria
es de vital importancia, necesitamos suficiente ram para soportar cada instancia de
programa, ya que si no tenemos suficiente espacio el sistema realizará swapping
deteriorando la performance.
Un sistema que realiza mucho swapping es candidato a ser atacado, generando
denegación de servicio.
Cómo bloqueamos todo lo “malo” ?
Para los firewalls el énfasis está en la seguridad y no en la conectividad, por lo que
deberíamos considerar bloquear por defecto todo e ir viendo caso a caso que servicios
realmente necesitamos. De este modo solo vamos a necesitar lidiar con un conjunto
acotado de servicios.
Antes de habilitar un servicio debemos hacernos un par de preguntas:
Está usando un protocolo conocido ?
Que tan conocido es el servicio y producto ?
Como cambia la arquitectura de nuestro firewall al permitir este nuevo servicio?
Diseño e implementación
Los diseños son numerosos y generalmente se basan más en decisiones políticas que de
ingenierìa. Dado que refleja los mecanismos de seguridad de la empresa.
Los niveles de monitoreo, control y redundancia que queremos son medidas claves para
el hacer el diseño, reflejan el nivel de riesgo que aceptamos (que tan paranoicos somos).
Luego hacemos una checklist de lo que vamos a bloquear, permitir y monitorear. De este
modo y con una buena gestión de los riesgos asociados, comenzamos a diseñar nuestro
firewall desde los objetivos más generales.
En cuanto al costo que implica adquirir o desarrollar el firewall, el rango puede ir de cero
con alguna versión libre a 100 mil dólares. En todos los casos hay que considerar el costo
de mantenimiento.
Ataques
Una forma es “sourceroutedtraffic” donde el atacante marca como source cualquier
sistema interno al firewall.
Redirecciones ICMP : Manipulando ICMP redirectpackages, podríamos modificar la tabla
de ruteo, modificando el flujo deseado. Bloquearlo no sería la mejor idea , pero por lo
menos deberíamos asegurarnos que los routers y host no respondan a broadcast ping
packets.
Que es la denegación de servicio ?
Es cuando por algún motivo nuestro servidor se cae (deja de funcionar) . Prevenir que
esto pase es casi imposible dada la naturaleza de las redes. Cada nodo está conectado a
otros y el atacante puede intentar tirar tanto nuestra red como otras intermedias a las que
si tenga acceso. Hay muchísimas formas de lograr la denegación de servicio, desde
ataques por “fuerza bruta” a otros mucho más complejos. Si necesitamos dar soporte a un
sistema critico o de tiempo real, debemos tener un plan B por si el principal es dañado.
Funcionamiento de firewalls modernos
Muchos creen que un firewall funciona por si solo, como si fuera un guardia en la entrada
a nuestra red al que no hay que explicarle nada.
Que es un firewall en su forma más simple ? Una barrera que deja pasar ò bloquea el
trafico ò lo permite basandose en IP/subred origen y destino y puertos de aplicaciones.
Los firewalls que realizan inspeccion de paquetes , a diferencia de los routers comunes
que realizan por defecto forwarding basado en ip y desconocen si los paquetes tienen
algo en comùn, si vienen en secuencia ò estan repetidos.
Los Statefull firewalls por otro lado inspeccionan los paquetes, sobrepasando las tareas
de capa 3 y procesando paquetes (capa 4) inspeccionando sesiones TCP/IP.
Esto permite al firewall tener control sobre la continuidad al procesar paquetes.
Los firewalls actuales trabajan hasta capa 7, permitiendose monitorear datos de las
aplicaciones. Las redes sociales son un perfecto ejemplo de esto, permitiendonos acceder
a determinados sitios pero gestionando los accesos a cada parte.
Podriamos permitir por ejemplo el acceso a facebook, pero bloquear el contenido flash o
java para evitar que los empleados pierdan tiempo con los juegos.
Los zonebased firewalls permitieron lidiar con algunos problemas como IP spoofing. Estos
utilizan buffers separando en secciones, como funcionan las dobles puertas de seguridad
en una prisión.Si detecta una ip ingresando de una zona desconocida, rechaza el
paquete.
Técnicas comunes de filtrado de información
Filtrado de paquetes
Se analiza todos los paquetes que entran o salen de la red y el firewall acepta o declina a
estos paquetes en base a ciertas reglas definidas. De todas maneras esta tecnica no es la
mas utilizada dado que puede llegar a ser dificil de configurar y susceptible a tecnicas de
hackeo como elIP spoofing (técnica encargada de enviar paquetes a un red tal que la ip
definida en los headers de estos paquetes sea una ip conocida y de confianza para la red
destino)
Applicationgateway
Tecnica de filtrado de informacion en la cual existe un proxy que se encarga de negociar
las peticiones realizadas por aplicaciones clientes y luego (en caso de que la peticion sea
valida) esta es re-dirigida hacia la aplicacion destino.
De esta manera se crean dos conexiones: la primera es entre el cliente y el proxy y la
segunda entre el proxy y la aplicacion destino.
Este metodo se considera muy seguro, el lado negativo es que puede llevar a la
degradacion de la performance ya que en general los gateways requieren de gran
cantidad de recursos para su buen funcionamiento.
Circuitlevelgateway
Aplica seguridad cuando una conexión TCP o UDP se establece, una vez establecida la
conexion y el gateway determina que la session establecida es legitima entonces los
paquetes que fluyen sobre la misma lo hacen libremente sin ningun tipo de chequeo por
parte del firewall.
El gateway mantiene una tabla de desessiones legitimas abiertas haciendo que la
informacion pueda fluir libremente si la informacion asociada a la session se corresponde
con una de las entradas de la tabla del gateway; una vez que la session se temrina el
gatewayelmina la entrada correspondiente de su tabla y elimina el circuito usado por la
sesion.
Ademas de las ventajas ofrecidas por esta tecnica es que su implantacion es
relativamente bajo en costos.
Servidores proxy
Servidores proxy firewalls permiten a los usuarios ejecutar determinados servicios (como
ser http, ftp, telnet, entre otros) obligando a los usuarios a autenticarse, fitrado de
informacion, etc. Por ejemplo: en caso de querer solamente conexion a internet para los
usuarios de una red interna entonces el proxy server debera tener habilitado solamente el
servicio http; de esta manera los usuario de la red interna a la hora de acceder a sitios del
mundo exterior lo haran a traves del proxy server. Dicho de otra manera la peticion
realizada por el usuario interno tendra como ip origen la ip del servidor proxy
escondiendo/protegiendo a los usuarios internos de la red.
Hoy en día típicamente los firewalls implementan dos o mas de estas tecnicas.
Firewalls sobre Linux
Como venimos hablando en capitulos anteriores los firewalls son sistemas que filtran el
trafico basado en diferentes reglas como ser direcciones ip, protocolos y puertos haciendo
posible habilitar/desabilitar servicios que basdos por ejemplo en los protocolos HTTP,
FTP, SMTP, etc.
Dentro de la familia de sistemas Linux podemos encontrar una variedad de sistemas
relacionados al area de seguridad.
Sistema de deteccion de intrusos ( IDS Intrutiondetectionsystem) y Sistema de prevencion de
intrusos (IPS -Intrusionpreventionsystem)
Los IDS son sistemas encargados de encontrar patrones en las conexiones de red
reconociendo escaneo de puertos, firmas especificas de ciertas amenazas. Este sistema
se basa en un motor de inspección en conjunto con el estandar NAT a fin de poder
reconocer patrones en el trafico de las redes.
Por otro lado los sistemas IPS tambien conocidos como sistemas de deteccion de intrusos;
basicamente este sistema esta encargado de encontrar actividad maliciosa,
loguearinformacion sobre este tipo de actividad, intento de bloqueo y reporte de la misma.
Este sistema es considerado como la extension del sistema IDS, ambos se encargan de
monitorear el trafico de red pero los sistemas IPS ademas tienen como funcion
prevenir/bloquear intrusos detectados.
Clasificación de sistemas IPSs
NIPS (Sistema de prevención de intrusos basado en la red)
Monitorea toda la red en busca de trafico sospechoso analizando trafico basado en los
protocolos HTTP, TCP, RDP, etc.
WIPS (Sistema de prevencion de intrusos inalambrica)
Monitorea el trafico de la red analizando protocolos inalambrico de redes tales como ser
DHCP (Dinamyc host configurationprotocol)
NBA (Analisis del comportamiento de la red)
Luego de establecer un benchmark para lo que es un trafico normal de cierta red este tipo
de sistemas se encarga pasivamente de monitorear el trafico de red en busca de actividad
inusual o nueva que pueda indicar la presencia de una amenaza. Ademas se encarga de
predecir el uso protocolos de red y ancho de banda de la red.
Sistema de prevencion de intrusos basado en un host
Es basicamente un software instalado en cierto host que se encarga de monitorear
actividad sospechosa analizando los eventos ocurridos en ese host.
Clasificación de sistemas IDSs
IDSs basados en la red
Son estratégicamente puestas en los puntos de entrada y salida para detectar ataques a
los hosts en esa red.
A su vez este tipo de IDSs se dividen en 2 grupos: anomalías estadísticas e identificación
de patrones. El primero intenta ver que usuarios están teniendo comportamiento inusual,
disparando en ese momento una alarma de intruso. Una de las virtudes de este
mecanismo es que pueden detectar comportamientos que no tengan precedente,
haciendo que se puedan detectar nuevos tipos de ataque. La contra es que genera un
gran número de falsas alarmas.
IDs basados en patrones mantienen una base de datos de los tipos de ataque, y
mientras analizan los paquetes que pasan por la red si encuentran algo que coincide
con alguno de estos patrones, dispara la alarma. Este mecanismo genera menos
falsos positivos, pero a diferencia del método anterior no pueden detectar nuevos tipos
de ataques. Para minimizar este riesgo las bases de datos son actualizadas con
frecuencia.
Ejemplos de algunos de los IDS mas famosos son: Real Secure, SecureNet y Snort.
Otra NIDS es la basada en reglas, mas avanzada y con un funcionamiento al estilo de la
mente humana. Hay una base de conocimiento programada cono reglas, que decide la
salida junto con un motor de interfaz. Lo que asume el sistema es el resultado del motor,
aca no solo existe como resultado de evaluar ciertas reglas el SI ó NO, tambièn hay un tal
vez. Esta interfaz agrega
inteligencia permitiendo sospechar sobre un posible ataque.
IDSs basados en los hosts
Como el nombre lo indica, son instaladas en un host en particular y monitorean el
tráfico que entra y sale de él. Cualquier ataque a otra parte de la red
no será detectado.
Algunas de las ventajas son : Permiten verificar si el ataque tuvo éxito, mientras que las
que operan sobre la red solo disparan alarmas. Monitorean la actividad del usuario, tienen
la habilidad de monitorear trafico encriptado y son económicas si la red tiene pocos
hosts.
Como desventajas podemos nombrar que consumen recursos del host en el que residen ,
disminuyendo el poder de procesamiento.
Acciones realizadas por un sistema IPS/IDS
Los ataques mas comunes realizados para el cual los sistemas IPS/IDS previenen son:
- Violaciones de políticas: reglas, protocolos y disenio de paquetes que son violados. Un
ejemplo podría ser un paquete IP que tiene su largo incorrecto.
-Exploits: Intento de explotar una vulnerabilidad del sistema; un ejemplo de esto podría ser
un ataque en base a desborde de buffers (overflow buffer attacks)
-Reconocimiento: Metodo de detección utilizado para ganar información sobre la red o el
sistema en base a scaneo de puertos a fin de saber cuales están utilizados y cuales no.
-DOS/DDOS:Metodo que se encarga de enviar una cantidad inmensa de información al
sistema victima a fin de tirarlo abajo, un ejemplo seria el ataque de inundación de paquetes
SYN (SYN floodattacks)
Técnicas de defensa de sistemas IPS
Sistemas IPS utilizan técnicas a fin de inspeccionar el cabezal y porciones de información
del tráfico de la red a fin de encontrar actividad sospechosa que pueda llegar a indicar
actividad maliciosa.
Las soluciones IPS/IDS tiene la habilidad de detectar amenazas en base a bases de datos
de firmas conocidas, en base a técnicas de detección de anomalías en búsqueda de
comportamiento inesperado respecto a protocolos además de integrarse con anti virus a
fin de detectar malware. La detección de anomalías apuntan a un tráfico que no es
necesariamente malo pero es usado con intenciones negativas como por ejemplo el
mencionado TCP SynFloodattack.
Sistemas IPS tienen la habilidad de tomar acciones como ser bloqueos de conexiones,
proveer alertas, loguear eventos sospechosos, poner en cuarentena ciertos hosts, entre
otras. Reglas especifican que debería ser detectado y la respuesta esperada; estas reglas
en general están basadas en firmas y anomalías a fin de aprender sobre el tráfico típico
de la red y poder configurar umbrales.
Como fue comentado anteriormente, los sistemas IPS proveen mecanismos de logueos y
alertas a fin de poder entender y rastrear los ataques para luego poder sumar
herramientas encargadas de bloquear esos ataques detectados.
Sistemas IPS brindan la posibilidad de proveer información detallada sobre el ataque y las
posibles maneras de contrarrestarlo; a fin de buscar ataques estos se basan en
características como el nombre del atacante, las aplicaciones víctima, entre otras.
Otro de los puntos a tener en cuenta a la hora de utilizar sistemas IDS/IPS es la
configuración de los mismos; si un administrador configura estos sistemas activando
todas sus características esta acción seguramente detecte y elimine las amenazas pero
tendrá como efecto negativo el uso intensivo de los recursos como ser cpu, memoria,
ancho de banda entre otras.
Es por eso que idealmente este tipo de sistemas deberían ser configurados dependiendo
fuertemente del contexto, dicho de otra manera se debería activar solamente los
características necesarias en base a la realidad puntual. Un escenario de ejemplo podría
ser la protección de un servidor web, en este caso solamente serian activadas solamente
las funciones necesarias como ser protección sobre protocolos HTTP, RDP, entre otros
aplicables a servidores web.
IDS vs IPS
Los sistemas IDS solamente detectan intrusiones, loguean el ataque y envian una alertas
al administrador; además no enlentecen la red como los IPS ya que no son inline.
Muchas companias prefieren sistemas IDS sobre IPS, aunque intuitivamente no tiene
mucho sentido. Se podría asumir que la mayoría de las companias prefieren que un
sistema se encargue de manera automática a bloquear ataques y tomar acciones en vez
permitir el acceso de la amezana y simplemente loguear una alerta hacia el administrador.
Aunque parezca anti-intuitivo hay varias razones por las cuales muchas veces se prefiere
un IDS sobre un IPS:
- La primera es el posible falso positivo que producen este tipo de sistemas si no están
bien configurados. Un sistema IPS produciendo falsos positivos puede causar que trafico
legitimo de red sea bloqueado, de lo contrario un sistema IDS solamente se encargara de
enviar alertas y loguear el falso ataque.
- La segunda es que hay algunos administradores que no quieren un sistema que tome
decisiones a su nombre, prefieren simplemente recibir una alerta a fin de que ellos
puedan investigar sobre el posible ataque y tomar decisiones por ellos mismos.
Por otro lado, algunas compañías ante la duda terminan optando por sistemas IPS ya que
la visibilidad tiene sentido solo si tenemos tiempo para analizar el resultado. Esto no
implica que podemos olvidarnos y creer que los sistemas IPSs funcionan por sis solos;
para hacer el mejor uso de esta tecnología debemos customizarla en base a las
necesidades específicas de nuestra red y aplicaciones e invertir tiempo analizando lo que
nos dice.
Los sistemas IDS pueden ser usados inicialmente a fin de analizar como el sistema se
comporta sin la necesidad de bloquear absolutamente nada. Una vez que el sistema esta
correctamente tuenado la característica IPS se puede encender a fin de proveer una
protección completa.
IPS/IDS Deployment
Las IPS pueden ser deployadas en modo span/tap, inline o IPS on a stick
En el modo span/tap el sensor recibe una copia de los paquetes y genera alertas si hay
ataque pero no hace ningún bloqueo. Este método es útil cuando estamos en la etapa de
testeo y customización de las políticas del sistema.
Inline ya
permite tomar acción si detecta un ataque , como puede ser bloquear esa
conección.
IPS on a stick puede ser utilizado sobre infraestructuras Cisco Ethernet channel, cuando
los paquetes
pueden ser enviados a múltiples sensores IPS usando tecnología Cisco Ethernet Channel.
Firewalls de aplicación
Este tipo de firewalls surgen como una nueva opcion a los firewalls de capa de red y
transporte agregando mas potencia a este tipo de sistemas a la hora de detectar
amenazas en la red.
Categorizando estos tipos de firewalls podemos encontrar los firewalls de aplicaciones
web (WAF - web application firewalls) y firewalls de base de datos (Data base firewalls)
WAF (Web application firewalls)
Los waf son basicamente filtros en la cual se aplican reglas sobre una conversacion
HTTP; estas reglas nos permiten evitar diferentes tipos de ataques como ser: crosssite
scripting (código malicioso en el cliente que consulta al servidor web), sqlinjection
(introducir en el código sentencias sql en que lleguen a ejecutarse en la BD), denegación
de servicio (el servidor queda fuera de servicio, no pudiendo atender las solicitudes)
Este tipo de sistemas puede funcionar en diferentes modos: modo de aprendizaje (carga
normal, carga maxima, valores permitidos en los campos) y modo bloqueo.
Ejemplo de WAF en modo aprendizaje
Supongamos que tenemos corriendo un sitio web de compras y cada cierto tiempo el waf
detecta peticiones get (el cual incluye un parametro ‘id’ de tipo ‘int’) al sitio a fin de obtener
el catalogo de productos disponibles.
Dado que el waf fue definido en modo aprendizaje este creará una regla la cual
especifica que la url encargada de obtener los productos del catálogo contiene una
variable de nombre id de tipo entero.
Por tanto, en caso de que en algun momento se realize una peticion con información
inconsistente el waf detectara la anomalia y bloqueara esa peticion inconsistente o la
redirijira a una pagina previamente configurada (como por ej. Error 404) cuando el sistema
se active en modo bloqueo.
Peticion al sitio detectada como legitima por el WAF
GET http://sitepath.com/show_article.php?id=15
Peticion al sitio detectada como anomaila por el WAF
GET http://sitepath.com/show_article.php?id=15' or 1=1 --
Ya que los sistemas WAF bloquean trafico de red cuando detectan comportamiento
extranio en la red, se sugiere que los WAFs se activen en modo de aprendizaje por un
tiempo considerable (depende del contexto pero en general se habla del orden de meses)
a fin de poder “entrenar” al sistema y el dia de maniana evitar el bloqueo de peticiones
legitimas (falsos positivos)
Ejemplos de WAFs en el mercado
No comerciales
-ModSecurity-www.modsecurity.org.
El WAF más utilizado es el proyecto de código abierto ModSecurity.
ModSecurity normalmente se basa en denegar todas las peticiones y solamente dejar
pasar las que son consideradas un ataque (modelo de seguridad negativo).
Actualmente existen desarrollos basados en este tipo de WAFs como por ejemplo la
compania Apache la cual a su sistema le aniadio un modulo que contiene los servicios de
ModSecurity.
Contiene un grupo de reglas que detectan los ataques web más comunes.
El sistema recolectar logs y alertas, analizando el tráfico web y creando perfiles que
pueden ser utilizados para implementar un modelo de seguridad positivo.
-Microsoft URLScan
Se trata de un filtro ISAPI (Los filtros de Interfaz de programación de aplicaciones para
servidores de Internet) encargados de leer la configuración de un archivo .ini en el que se
definen las restricciones, este tipo de sistemas corren exclusivamente en el servidor web.
Comerciales
Dentro de las herramientas WAF comerciales podemos mencionar las siguientes: F5 (su
módulo ASM para plataformas BIG-IP), rWeb o sProxydeDenyAll, Imperva,
IBMDataPower (exclusivamente para servicios Web), Barracuda, Citrix (después de
comprar Teros), Breach Security, entro otros.
DBF (Data base firewalls)
Básicamente un sistema DBF se puede definir como un filtro el cual aplica reglas sobre
peticiones sql a fin de poder prevenir ataques SQL.
FIrewall de base de datos (Oracle)
En el siguiente diagrama se puede observar en ejemplo de arquitectura de un sistema el
cual utiliza, entre otros sistemas de seguridad, un DBF de Oracle además de un sistema
F5 BIG-IP ASM de tipo WAF.
Se puede observar como el DBF es deployado entre el servidor de aplicaciones web y la
BD. De esta manera se protege de ataques que fueron originados desde dentro o desde
fuera de la red; cada peticion SQL dirigida hacia la BD es analizada por el DBF de Oracle
y filtrado en caso de ser necesario.
Este escenario incluye ambos sistemas de seguridad
seguridad (WAF Y DBF) a fin de proveer al
sistema con los beneficios de ambos productos haciendo que estos puedan trabajar en
paralelo a fin de detectar y prevenir distintos tipos de ataques.
Otra de las ventajas de usar WAF y DBF en paralelo es la información adicional que
podria registrar el DBF; esto es posible dado que el WAF colocado delante del servidor
web puede registrar informacion adicional (como ser la direccionip, el nombre de usario
obtenidos de la peticion web) a fin de que el DBF pueda registrar esa informacion cuando
la peticion por parte del servidor web es una sentencia sql no autorizada.
En base a lo anterior, si el DBF recibe peticiones destinadas a la BD potencialmente
maliciosas este se encargara de loguear la informacion necesaria junto con la adicional
aportada por el BIG-IP-ASM
ASM WAF. Esta informacion recolectada y logueadapor el DBF
puede ser obtenida a fin de tener un panorama general sobre las posibles peticiones no
autorizadas y tomar medidas adicionales en base a ellas.
FIrewalll de base de datos (GreenSQL)
Otro de los ejemplos en cuanto a firewalls de base de datos es el firewall GreenSQL, es
un firewall software open source especialmente diseñado para proteger bases de datos
MySQL; el firewall previenen el ataque de tecnicas nocivas
nocivas hacia la base de datos como
ser SQL injection.
Comofunciona ?
Este sistema funciona como un proxy sobre comandos sql, se basa en una matriz de
riesgos en base a puntajes a fin de decidir si un comando sql podría llegar a ser una
amenaza.
La idea es que las aplicaciones dejen de conectarse directamente a la base de datos
apuntando directamente al firewall GreenSQL, luego este analizara las consultas y en
caso de que estas no sean una amenaza GreenSQL re
re-enviará
enviará la petición hacia la BD.
Posibles modos de uso
●
●
●
●
Modo simulacion (database IDS)
Bloqueo de comandos sospechosos
Mode aprendizaje
Protección activa de consultas desconocidas (db firewall)
A continuación se muestra un diagrama el cual ejemplifica el uso de GreenSQL en una
compañía:
Firewalls tradicionales vs Firewalls NGFW
Introduccion
Un firewall NGFW (Nextgeneration firewalls) es un software o hardware el cual se
diferencia del los firewalls de primera generación ya que son capaces de detectar y
bloquear ataques sofisticados ya que hacen hincapié en las políticas de seguridad a nivel
de puerto, protocolo y aplicación.
Este tipo de firewalls integran tres características claves en lo que seguridad respecta:
capacidades de versiones corporativas de firewall, un sistema de prevención de intrusos
(IPS) y control de aplicaciones.
Los firewalls de primera generación introdujeron el concepto de inspección en base a
estado, filtrado de paquetes, NAT (traduccion de direcciones de red), bloqueos de url y
VPNs entre otros; los firewalls NGFWs incluyen todas las características mencionadas
brindando ademas un contexto adicional a la hora de tomar decisiones haciendo que
estos nuevos sistemas tengan la capacidad de poder entender detalles del tráfico de la
web a fin de poder tomar acciones más inteligentes y bloquear el tráfico que
potencialmente atacaria las vulnerabilidades de los sistemas víctimas. Estos firewalls de
última generación incluyen funcionalidades especiales como ser QoS (calidad de
servicios), prevención de intrusos, inspección de protocolos SSL y SSH, inspección de
paquetes en profundidad y detección de malware en base a su reputación.
Firewalls tradicionales - Intregracion de herramientas
Como se menciono anteriormente, los firewalls tradicionales solo proveen de parte de lo
que realmente una organizacion necesita. Organizaciones que todavia hacen uso de este
tipo de firewalls se ven en la necesidad de utilizar como complemento otro tipo de
tecnologias para la seguridad de la red como ser gateways anti-malware, sistemas de
deteccion de intrusos (IPS), paquetes de filtrado de URLs, entre otros, a fin de poder
protegerse de malware, detectar ataques, prevenir a los usuarios el acceso a sitios con
malware a fin de que los sistemas de la organización puedan contar con un nivel
aceptable de proteccion.
Lo negativo de este tipo de ambientes es que para llegar a tener un nivel aceptable de
seguridad se requiere de varios sistemas corriendo en simultáneo haciendo que la
seguridad sea costosa principalmente por la necesidad de licencias.
Otro de los puntos en contra es la administración de las diferentes herramientas, con esta
configuración una compañía podría llegar a necesitar un especialista por cada una de las
herramientas de seguridad generando un costo alto de administración a la hora de
mantener a todos los productos correctamente configurados y funcionando debidamente.
Por último, este tipo de configuración hace dificil de coordinar el uso de las diferentes
herramientas de protección cuando se trata de responder a un ataque hacia la
organización.
Firewalls NGFW - Integracion de herramientas
Los firewalls NGFW proveen de múltiples sistemas de seguridad en un solo paquete,
todas estas herramientas de seguridad incluidas en este tipo de firewalls pueden ser
configuradas, deployadas y administradas como una unidad reduciendo de esta manera
todo el costo administrativo mencionado anteriormente; ademas todo la informacion sobre
el comportameinto de la red, ataques y demasesta disponible en un solo reporte haciendo
que sea sencillo su interpretacion, identificacion de las posibles amenazas agilitando de
esta manera las medidas necesarias a tomar antes de que la seguridad de la organizacion
haya sido comprometida.
Firewalls tradicionales - Manejo de SSL
Algunas organizaciones utilizando el protocolo SSL (Secure Socket Layer) a fin de
proteger información sensible sobre sus cliente, proveedores, etc cuando esta fluye en la
red; por otro lado existen companias que no pueden bloquear el tráfico SSL dado que
cierto tipo de información legitima y de uso necesaria para ciertas companias viaja en
base a este protocolo de comunicacion.
Los firewalls tradicionales no son capaces de desencriptar e inspeccionar este tipo de
trafico, esto hace posible que hackers y cybercriminales puedan hacer viajar malware a
traves del firewall de una compania por medio de SLL. Ademas, botnets muchas veces
crean tuneles SSL a fin de intermcambiar mensajes de tipo control y comando con sus
servidores.
Firewalls NGFW - Manejo de SSL
Este tipo de firewalls implementan una tecnicadenominandaInspeccion de paquetes en
profundidad (DPI) a fin de poder desencriptar e inspeccionar el trafico SSL que entra y
sale de la red. De esta manera los firewalls NGFW pueden bloquear malware contenido
en el trafico SSL, detener mensajes de tipo control y comando hacia losbotnets, prevenir
que APTs (amenazas avanzadas persistentes) utilizen SSL a fin de obtener informacion
confidencial de las companias, entre otras.
Firewalls tradicionales - CaracteristicasApplication-aware
Los firewalls tradicionales no pueden asociar el comportamiento del trafico de la red con
aplicaciones específicas, dicho de otra manera no poseen la caracteristicacomunmente
llamada application-aware. Es por eso que este tipo de firewalls no poseen la habilidad de
poder bloquear aplicaciones potencialmente peligrosas, controlar aplicaciones que tienen
uso legitimo pero podrian llegar a ser objeto de abuso, visualizar y controlar el trafico por
aplicacion, entre otros. Dicho de otra manera los firewalls tradicionales carecen de
habilidades de control de aplicaciones especificas teniendo una deficiencia muy
importante en seguridad teniendo en cuenta que hoy dia la cantidad de aplicaciones
maliciosas es enorme y crece dia a dia.
Firewalls NGFW - CaracteristricasApplication-aware
Este tipo de firewalls ofrecen inteligencia de aplicación y control; son capaces de
reconocer trafico de red perteneciente a aplicaciones específicas y en base a ese
conocimiento reforzar aceptables politicas corporativas de uso. Ademas en base a este
tipo de informacion pueden alocar ancho de banda para ciertas aplicaciones de alta
prioridad para la compania.
Tambien permite a administradores de red el monitoreo y visualizacion de trafico, filtrar el
volumen de trafico por aplicacion, determinar fluctuaciones de ancho de banda durante
ciertos periodos y el porque.
Todas estas nuevas caracteristicas hacen que estos nuevos tipos de firewalls provean de
nuevas herramientas a fin de poder solucionar problemas de manera masrapida y efectiva
a la vez de incrementar el poder de administracion de la red.
Firewalls Tradicionales - CaracteristricasApplication-aware
Otra de las carenciasde los firewalls tradicionales es la posiblidad de poder relacionar el
trafico de red con los usuarios; no es posible asociar el trafico sospechoso contra usuarios
a no ser por el empleo de tecnicas muy costosas como por ejemplo el analisis de archivos
log.
En resument, estos firewalls no tiene la capacidad de:
●
●
●
●
●
Hacer cumplir las politicas aceptables del uso de internet.
Proveer información en cuanto al uso de aplicaciones.
Poder identificar cuales usuarios comprometen el uso de la red al hacer uso de
aplicaciones potencialmente peligrosas o al navegar en la red sobre sitios
peligrosos
Limitar aplicaciones de redes sociales agrupandolas pudiendo de esta manera
diferenciar cuales aplicaciones estan permitidas y cuales no.
Mejorar la performance general de la red agrupando aplicaciones utiles para la
empresa en grupos de alta prioridad.
Firewalls NGFW - CaracteristicasApplication-aware
Firewalls de siguiente generacion permiten tener control sobre las aplicaciones a nivel
invdividual y grupos de usuarios permitiendo de esta manera reforzar las politicas
aceptables de uso de modo mas granular.
Poniendo como ejemplo a aplicaciones como Facebook, Twiter, LinkedIn y otras sitios
sociales, estos podrian llevar a varias horas de inproductividad de un gran porcentaje de
empleados de una organizacion; de todas maneras es bien sabido que muchas veces
este tipo de sitios son buenas herramientas para cierto personal de la compania (claro
ejemplo podria ser el departamenteo de RRHH) a la hora de por ejemplo promove
productos y servicios, busqueda de recursos, entre otras.
De esta manera firewalls NGFW nos permite:
●
●
●
●
Hacer cumplir las politicas de la companiadandole acceso solamente a ciertos
grupos de empleados a sitios especificos (social media) y bloqueando el acceso a
usuarios que no pertenezcan a esos grupos.
Limitar el uso de las caracteristicas de ciertos sitios (configurable), como por
ejemplo habilitar el poder postear mensajes en Twitter pero no permitir el poder
reproducir videos en ese sitio.
Habilitar el steaming de videos a ciertos grupos de empleados de la compania en
horario laboral y por otro lado al resto de empleados no pertenecientes a esos
grupo permitirles el streaming de videos solamente por la noche.
Tener la capacidad de alocar mas o menos ancho de banda a determinados
usuarios de la compania o grupos de empleados; ngfwademas de identificar el
trafico de red por aplicaciontambien permite identificar usuarios especificos que
son riesgos potenciales en cuanto al ancho de banda (como por ejemplo usuarios
que tienden a hacer streaming de videos o descarga de archivos de manera
regular)
Firewalls tradicionales – Security vs Performance
Los firewalls tradicionales usualmente se penalizan la seguridad a fin de lograr una mejore
performance en la red; cuando los administradores de red activan todas las reglas de
seguridad de este tipo de firewalls contienen el trafico de red malicioso de manera eficaz
pero NO eficiente.
En consecuencia los usuarios experimentan una mala performance en al red a nivel
global, haciendo que se tengan respuestas lentas en tiempo, demoras en descarga de
archivos, entre otras malas experiencias de uso sobre la red en cuestión.
A fin de mejorar el nivel general de la red, administradores de red se ven obligados a
desactivar ciertas características de los firewalls, como por ejemplo: dejar de chequear
puertos, deshabilitar la inspección en profundidad de paquetes, entre otras.
Tomando estas acciones se contrarresta exitosamente la mala performance del sistema
pero por otro lado se compromete la seguridad general de la red.
Firewalls NGFW – Security vs Performance
Los firewalls de siguiente generación tiene un rendimiento bastante mayor respecto a los
tradicionales, haciendo que administradores de red no tengan que penalizar seguridad a
fin de lograr una buena performance global de la red.
Algunos de los factores que hacen posible esta mejora son:
- Mejoras en los procesadores utilizados
- Diseño mejorado del CPU a fin de entender de mejor manera las comunicaciones de red
a fin de mejorar el escaneo de seguridad
- Mejora en la arquitectura de procesamiento en paralelo
- Mejoras en las técnicas de inspección paquetes en profundidad.
Sistemas UTM (Manejo unificado de amenazas) vs. NGFW:
Los sistemas UTM incluye prevención de intrusos, bloqueo de URLs, gateway antivirus,
entre otras; pensados principalmente para companias de pequenio y mediano porte.
El problema detectado fue que aunque estos sistemas abarcaban la mayoría de las
características necesarias sobre seguridad no contemplaban les requerimiento necesarios
en cuanto a la velocidad de procesamiento que las empresas de alto porte necesitan.
Es por esto que los sistemas NGFW incluyen todas las características de los sistemas
UTMspero mejorando las técnicas de seguridad a fin de resolver los ataques de manera
más optima haciendo que no se degrade la performance general de la red.
Podemos decir que la diferencia entre sistemas UTM y NGFW es practicamente mínima,
la única diferencia tangible es en cuanto al rendimiento. Dispositivos marcados como
UTMs en general se ajustan muy bien a companias de pequenio y mediano porte,
mientras que para empresas de alto porte son recomendados sistemas NGFW, por otro
lado en cuanto a funcionalidades ambos sistemas son casi idénticos.
En conclusión, firewalls NGFW logran lo mejor de ambos mundos: mantener una red que
asegura una muy buena seguridad sin degradar la performance general de la misma.
A continuacion se muestran alguno de los firewalls de tipo NGFW:
Firewalls de siguiente generación de palo alto networks:
Testing de firewalls
A medida que avanza el tiempo las implementaciones de los firewalls van siendo mejores
en base a tests e investigación; de todas maneras muchas veces sucede que los
desarrolladores repiten los errores de sus predecesores re introduciendo fallas en los
nuevos desarrollos. Es por eso que a continuación se presentaran varios metodos a fin de
poder identificar aplicaciones de evasion, su respectivo test y observacion de resultados.
Desde la introducion de filtrado de paquetes los investigadores han desarrollado y
sugerido metodos para evadir software; ejemplos mastipicos son ataques basados en
fragmentacion de paquetes, ofuscacion del payload de paquetes, etc.
A continuacion se mostraran algunas técnicas simples y combinadas a fin de intentar
evadir el sistema de firewall FortinetFortiGate basándonos en diferentes herramientas
tales como: Evader, Wireshark, TCPDump y Scapy, entre otras.
StoneSoftEvader
Este software tiene como objetivo medir la capacidad de un firewall para prevenir ataques
pudiendo ejecutar una o varias técnicas de evasión en simultáneo desde la capa 3 a la 7.
Escenario de prueba
Se procede a demostrar en escenario en el cual un cliente realiza ataques a una red
privada (especificamente a un nodo puntual) la cual cuenta con un firewall hardware
FortiGate:
A fin de probar la conexion entre el atacante (Evader) y el nodo victima se realiza una
peticion ICMP en la cual el nodo victima responde sin problemas confirmando de esta
manera al menos conectividad en la capa 3, luego se envia una peticion web de parte del
atacante recibiendo una respuesta por parte de la victima confirmando de esta manera
conectividad en la capa 7.
Luego de comprobar conectividad entre el atacante y la victima se procede a configurar
una politica IPS (sistema de prevencion de intrusos) a fin de intentar bloquear los ataques
por por parte del Evader, se envia un exploidpayload haciendo que efectivamente el
FortiGate bloque el intento de ataque.
En el siguiente paso se configura Mongbat (opcion del Evader) dejando que la
herramienta elija de manera randomica un conjunto de técnicas de evasion a fin de
ponerlas en marcha en simultaneo; de esta manera la herramienta encuentra una manera
de evadir la politica IPS del FortiGate cuando las tecnicas de evasion son combinadas (al
ejecutar las tecnicas por separado el ataque no fue exitoso).
Scapy
Otra de las herramientas utilizadas para testear la efectividad de los firewalls es Scrapy,
es un sistema basado en Pyhton que viene incorporado con ciertas distribuciones de
Linux y permite generar y manipular trafico malicioso basado en un gran número de
protocolos a fin de testear la capacidad de los distintos firewalls.
Esta herramienta lleva a cabo las tareas más comunes cuando se trata evaluar la
seguirdad de los sistemas como ser scaneo, trazado de rutas, pruebas unitarias, ataques
combinados, etc.
Conclusion
Masalla de las diferentes herramientas para generar/manipular trafico malicioso, en
general los firewalls utilizados simplemente con la configuración por defecto son
vulnerables a ciertas técnicas de evasión; identificación de aplicaciones y control son
características claves para los firewalls venideros siendo estas herramientas de uso crítico
para los administradores de red.
Referencias
Firewalls, definition, types, etc
http://www.webopedia.com/TERM/F/firewall.html
Firewalls FAQ
http://www.faqs.org/faqs/firewalls-faq/
Types of firewall
http://securitywing.com/types-of-firewall/
Evolution of types of firewalls
http://onlinecmag.com/network-security-101-evolution-different-firewall-types/
Network Security Using Linux/Unix
Firewallhttp://www.academia.edu/6264950/Network_Security_Using_Linux_Unix_Firewall
How Do Modern Firewalls Work?https://www.deepdotweb.com/2016/02/15/modernfirewalls-work/
Web Application Firewalls 1
http://director-it.com/index.php/es/ssoluciones/seguridad/firewall-y-dmz/118-que-es-unwaf-web-applicationfirewall.html
The Best Free Firewalls
http://www.pcmag.com/article2/0,2817,2422144,00.asp
things your next firewall must
dohttp://www.informationweek.com/whitepaper/Security/SecurityAdministration/10-thingsyour-next-firewall-must-do-wp1387397138/149813?gset=yes
How to conduct a next-generation firewall evaluation
http://searchsecurity.techtarget.com/essentialguide/How-to-conduct-a-next-generationfirewall-evaluation
Testing Application Identification Features of Firewalls http://www.sans.org/readingroom/whitepapers/firewalls/testing-application-identification-features-firewalls-34402
What is a next-generation firewall? http://www.networkworld.com/reviews/2011/082211palo-alto-next-gen-test-249395.html
NGFW 1
http://searchsecurity.techtarget.com/definition/next-generation-firewall-NGFW
NGFW 2
http://www.computerweekly.com/guides/Next-Generation-Firewalls-Learning-Guide
UTM vs. NGFW: Comparing unified threat management, next-gen firewalls
http://searchsecurity.techtarget.com/answer/UTM-vs-NGFW-Comparing-unified-threatmanagement-next-gen-firewalls
Network- vs. Host-based Intrusion Detection
http://securitywing.com/what-is-ids/
IDS vs IPS
http://securitywing.com/host-based-ids-vs-network-based-ids/
Autopsia de una intrusión con éxito
http://his.sourceforge.net/trad/varios/floydman/autopsy.html
Intrusión Prevention Systems vs Firewalls http://www.internet-computersecurity.com/Firewall/IPS.html
Do you need an IDS or IPS, or both? http://searchsecurity.techtarget.com/Do-you-needan-IDS-or-IPS-or-both
Waf 1
https://www.blogtecnico.net/web-application-firewall-waf/
Waf 2
http://www.securitybydefault.com
Ejemplo de firewall de base de datos - Oracle
https://docs.oracle.com/cd/E26572_01/doc.51/e22686/f5_big_ip.htm#FWADM310