CodeSeeker: Un firewall de Nivel 7 OpenSource. No Con Name 2003
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

CodeSeeker: Un firewall de Nivel 7 OpenSource. No Con Name 2003

on

  • 600 views

Presentación ofrecida durante el Congreso Nacional de Seguridad "No cON Name 2003" celebrado en 2003 en Palma de Mallorca. Se presentó el proyecto de Firewall de Aplicación OpenSource, CodeSeeker, ...

Presentación ofrecida durante el Congreso Nacional de Seguridad "No cON Name 2003" celebrado en 2003 en Palma de Mallorca. Se presentó el proyecto de Firewall de Aplicación OpenSource, CodeSeeker, mantenido por la OWASP. Se llevaron a cabo demostraciones del funcionamiento de una versión funcional de CodeSeeker en la protección de uno o más sites webs ante ataques habituales.

Statistics

Views

Total Views
600
Views on SlideShare
600
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CodeSeeker: Un firewall de Nivel 7 OpenSource. No Con Name 2003 Presentation Transcript

  • 1. CodeSeeker – Un Firewall de Nivel 7 OpenSource
  • 2. CodeSeeker – Un Firewall de Nivel 7 OpenSource Índice Conceptos de Redes TCP/IP Firewalls Tipos de Firewalls CodeSeeker Funcionalidades actuales Funcionalidades futuras Arquitectura OWASP Top Ten OWASP Proyectos de la OWASP: Desarrollo Documentación oPortal VulnXML WAS-XML WebGoat Ataques Web con WebGoat Ataques Web típicos Protección con CodeSeeker {Demostraciones
  • 3. CodeSeeker – Un Firewall de Nivel 7 OpenSource OWASP (Open Web Application Security Project) • Se crea en Septiembre de 2001. • Surge como una idea en la lista de discusión web-app-sec. • Mark Curphey (fundador de OWASP), entre otros, planteaban la necesidad de disponer de un manual similar al OSSTMM de Pete Herzog (fundador de ISECOM) pero dedicado en exclusiva a aplicaciones web. • Su objetivo es aunar esfuerzos y ser un referente OpenSource para ingenieros de sistemas, desarrolladores, fabricantes, proveedores y profesionales de la seguridad. • Ayudar a construir aplicaciones y servicios web más seguros. • Publicar guías y herramientas para el Diseño, Desarrollo, Implantación y Testing de aplicaciones y servicios web y de la seguridad de estas.
  • 4. CodeSeeker – Un Firewall de Nivel 7 OpenSource Proyectos de la OWASP (I) • Se coordinan estos tipos proyectos: Documentación Desarrollo oPortal
  • 5. CodeSeeker – Un Firewall de Nivel 7 OpenSource Proyectos de la OWASP (II) • Desarrollo: WebScarab: Es una suite de herramientas para el análisis de aplicaciones web que incluye detectores de vulnerabilidades, proxies para análisis de datos transmitidos, etc. CodeSeeker: Consiste en un Firewall e IDS “similar a los comerciales” a Nivel 7 que funciona bajo Windows, Solaris y Linux y soporta IIS, Apache e iPlanet. WebGoat: Es un mini-portal de entrenamiento para realizar ataques controlados a nivel de aplicación web. Permite simular ataques habituales que se producen explotando deficiencias de seguridad en las aplicaciones web. OWASP Commons Library (OCL): Pretende ser una librería rápida, de pequeño tamaño y centrada en la seguridad. Está programada en Java para permitir la construcción de aplicaciones web escalables y seguras corriendo sobre un motor de servlets J2EE sin apenas consumir recursos.
  • 6. CodeSeeker – Un Firewall de Nivel 7 OpenSource Proyectos de la OWASP (III) • Documentación (I): Guía de Desarrollo Seguro de Aplicaciones Web: Esta guía, con 2 millones de descargas (v1.0), y que en su versión 2.0 será publicada como un manual (existe una beta en PDF) está orientada a arquitectos, desarrolladores y auditores que quieren conocer que “buenas maneras” deben tenerse en cuenta en el desarrollo de aplicaciones web. Testing Framework: Proyecto que pretende documentar estrategias y técnicas que permitan testear y analizar aplicaciones web para la búsqueda de vulnerabilidades. OWASP Top Ten: Es un documento inspirado en el Top 20 de SANS. Remarca los más importantes y frecuentes problemas de seguridad que suelen darse en las aplicaciones web hoy en día. Coming soon – The OWASP Top Ten for Java and PHP!
  • 7. CodeSeeker – Un Firewall de Nivel 7 OpenSource Proyectos de la OWASP (IV) • Documentación (II): Política de Seguridad Web : Pretende ser una “plantilla” para el diseño de políticas de seguridad para aplicaciones web. ISO-17799 & Seguridad Web : Este proyecto quiere documentar la forma en que la ISO17799 puede o debe ser aplicada en el proceso de diseño, desarrollo y despliegue de aplicaciones web en producción.
  • 8. CodeSeeker – Un Firewall de Nivel 7 OpenSource Proyectos de la OWASP (V) • oPortal: Un portal basado en Java y diseñado con la seguridad como principal aspecto. También es OpenSource, con lo que cualquiera podrá emplear el código para crear su propio portal.
  • 9. CodeSeeker – Un Firewall de Nivel 7 OpenSource VulnXML Web Application Security Vulnerability Description Language El objetivo principal era unificar la definición de vulnerabilidades a nivel de aplicación web de manera que su difusión fuese rápida y universal. Los advisories no sirven de nada si las empresas no pueden extraer una protección a partir de ellos de forma directa. Si con los advisories, al igual que con los sellos “CVE Compliant” o el estándar del EISPP se busca normalizarlos, se emitiesen en un formato XML universal, los sistemas de protección podrían hablar un lenguaje universal. El proyecto se congela tras un año. Todo el trabajo producido es traspasado este año a OASIS, un organismo de producción de estándares. Su sucesor será el proyecto WAS-XML.
  • 10. CodeSeeker – Un Firewall de Nivel 7 OpenSource WAS-XML Web Application Security XML • En Junio de 2003 OASIS continúa el trabajo de la OWASP con tres objetivos: 1. Un esquema de clasificación para vulnerabilidades web de seguridad. 2. Un modelo para proveer orientación para el tratamiento inicial de amenazas, su impacto y por ende, ratios de riesgos asociados. 3. Un esquema XML para describir las condiciones de seguridad en web que puedan ser empleadas en herramientas de análisis y protección de seguridad (escáneres de vulnerabilidades, firewalls de aplicación, sistemas de detección de intrusos, etc.)
  • 11. CodeSeeker – Un Firewall de Nivel 7 OpenSource WebGoat (I) • La idea básica de WebGoat es poder probar los ataques web en un entorno quasi-real pero controlado. • Es una aplicación web con características similares a una real. • Permite opciones simples de análisis de cookies, código fuente, etc. • Permite realizar ataques en forma de “caja negra”, tal y como pasa en el mundo real. • Con una herramienta de captura de tráfico HTTP podemos estudiar fácilmente los ataques. • Conociendo estos ataques podemos entender cómo y por qué son explotados. • Es OpenSource, podemos colaborar en su mejora y en aportar nuevas ideas.
  • 12. CodeSeeker – Un Firewall de Nivel 7 OpenSource WebGoat (II) • ¿Qué permite WebGoat? Conocer los conceptos básicos de HTTP Ataques de Cross Site Scripting (XSS) Ataques en procesos de Autenticación débiles Exploit de Campos Ocultos Analizar HTML para obtener información Ataques de inyección de parámetros Ataques de SQL Injection Explotar deficiencias de Seguridad entre Threads Exploit de direcciones de Email Spoofing de Cookies de Autenticación Reto
  • 13. CodeSeeker – Un Firewall de Nivel 7 OpenSource Conceptos de Redes • El Modelo OSI: 7 Capas • El Modelo TCP/IP: 4 Capas
  • 14. CodeSeeker – Un Firewall de Nivel 7 OpenSource TCP/IP • Paso de Datos entre capas
  • 15. CodeSeeker – Un Firewall de Nivel 7 OpenSource Firewalls • Parámetros usados para el filtrado - Datos TCP: Flags - Datos IP: Dirección IP Origen Dirección IP Destino
  • 16. CodeSeeker – Un Firewall de Nivel 7 OpenSource Screening Routers / Statefull Firewalls / Firewalls de Nivel 7
  • 17. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (I) • CodeSeeker surge como un producto de la empresa de Silicon Valley, Butterfly Security. Que en el 2001, la empresa cierra. • En lugar de tirar a la basura el proyecto, a finales de 2002, Gabriel Lawrence (fundador de la empresa), decide liberar el código, darle licencia GPL y convertirlo en un proyecto OpenSource. • Así, a principios de 2003 está disponible la primera versión del código fuente, en versión “pre-alpha”. • Los objetivos del proyecto: convertirse en un Firewall de Aplicación comparable a productos comerciales de Sanctum, Kavado y SpyDinamics, fabricantes de soluciones de FW de Nivel 7, pero coste 0 para que todas las empresas se puedan aprovechar de esta tecnología. • Actualmente el proyecto lleva un retraso de 6-9 meses, sobretodo debido a la poca documentación del proyecto y a que su desarrollo sobre Linux no es el más avanzado. Las expectativas de G.L. en el proyecto son grandes y ya son muchas las personas que quieren colaborar en él.
  • 18. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (II)
  • 19. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (III) • Las funcionalidades actuales: 1. Permite definir políticas de seguridad asociadas a cada uno de los servidores. 2. Existen cuatro políticas genéricas de seguridad: • Dejar pasar todo el tráfico, logeando las URL sospechosas. • Bloquear tráfico sospechoso basado en patrones de vulnerabilidades. • Bloquear tráfico sospechoso basado en comportamientos genéricos. • Bloquear todo el tráfico sospechoso. 3. Para cada una de las alertas/vulnerabilidades permite definir cuatro tipos de acciones de notificación: • Enviar un correo electrónico. • Generar un evento en el syslog. • Generar un evento en el NT Event Log. • Loggear el evento a un fichero.
  • 20. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (IV) 3. También permite dos opciones en la navegación (del atacante): • Bloquear la petición con una un error configurable. • Redigir la petición a otra URL. 4. Podemos aplicar filtros de inclusión o exclusión en el filtrado, a archivos, carpetas o toda la web. 5. En cuanto a las herramientas de análisis: • Ofrencen información gráfica de los ataques más detectados. • La URL de ataques más detectados. • Las máquinas que más alarmas han hecho saltar. • De cada uno de los ataques podremos saber la hora a la que se produjo, origen, URL, servidor en el que se produjo, etc.
  • 21. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (V) • Las funcionalidades previstas a corto plazo son: 1. Transformarlo para su funcionamiento como proxy: • Permitir que CodeSeeker funcione como un proxy, aplicando los controles de seguridad a las peticiones HTTP que pasen por él. • Convertir CodeSeeker en un terminador SSL o en túnel SSL entre cliente y servidor web empleando certificados compartidos. • Permitir que CodeSeekeer se comporte como un balanceador de carga, permitiendo repartir las peticiones a los diferentes backends por detrás de él. 2. Integrarlo con VulnXML WAS-XML • Conseguir que CodeSeeker lea y emplee las descripciones que establecerá el estándar WAS-XML de OASIS para sus reglas de filtrado y detección. • Dar a CodeSeeker la capacidad de crear reglas para la BD WAS-XML de forma dinámica a partir de tráfico sospechoso.
  • 22. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (VI) • Las funcionalidades previstas a largo plazo son: 1.Informes más flexibles y atractivos permitiendo obtener análisis a a partir de la actividad reportada. 2.Documentación de Instalación y Referencia. Ampliando el breve documento de instalación y uso que existe ahora. 3.Mejoras de rendimiento generales.
  • 23. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (VII) • Su arquitectura se basa en dos componentes: Conectores: • Son los agentes que se instalan en los servidores web. • Se encargan de capturar o bloquear el tráfico HTTP. • Por su estructura y la disposición en la pila IP, pueden parsear un ancho de banda elevado. • Debido a que están en esa posición también, son capaces de leer el tráfico SSL, ya que acceden a los datos HTTP después de su desencriptado. De esta forma no requieren certificados ni ningún otro tipo de “extra”. • Los conectores también pueden operar en entornos de balanceadores de carga sin la necesidad de distribuir el tráfico de ninguna forma especial. • Actualmente existen conectores para Windows NT, Solaris y, en versión beta, para Linux. • Están desarrollados C y C++.
  • 24. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (VII) • Los conectores se añaden como un filtro más dentro de IIS:
  • 25. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (VIII) Consolas: • Nos permiten definir, gestionar y parametrizar la políticas que se aplican en cada uno de los servidores HTTP. • Podemos monitorizar las alertas generadas, conocer qué la generó, con que datos se generó, su origen, etc. • Nos permite generar reports de análisis de la actividad. • Podemos controlar tantos conectores como queramos desde una única consola. • Es capaz de enviar información sobre esta monitorización a otras herramientas como HP OpenView o Tivoli a través de SNMP. • Están programados en Java. • Se pueden ejecutar sobre cualquier Java VM.
  • 26. CodeSeeker – Un Firewall de Nivel 7 OpenSource CodeSeeker (IX) La Consola de Gestión (CMC) es el centro de definición de políticas de seguridad, análisis de ataques, etc.:
  • 27. CodeSeeker – Un Firewall de Nivel 7 OpenSource OWASP Top Ten (I) • OWASP Top Ten define los diez tipos más críticos o comunes de vulnerabilidades en las aplicaciones web: Parámetros no validados: La información proveniente de los clientes web no se valida antes de ser usada por la aplicación web. Toda la información que deba ser utilizada en el servidor debe ser analizada previamente, preferiblemente por una capa o componente separado pero que centralice este filtrado. Control de acceso débil: En las aplicación existen puntos donde los usuarios se autentican para tener acceso a estas. Tras conseguir el acceso, se debe gestionar qué y qué no pueden hacer los usuarios. Esta gestión debe estar planificada, centralizada y monitorizada. Gestión de cuentas y sesiones inadecuada: Las credenciales de acceso y los tokens de sesión no se protegen. No se presta la atención adecuada en la gestión de las sesiones ya establecidas.
  • 28. CodeSeeker – Un Firewall de Nivel 7 OpenSource OWASP Top Ten (II) Vulnerabilidades de Cross-Site Scripting (XSS): Las aplicaciones web pueden ser una forma de ataque indirecto hacia sus usuarios. Un ataque efectivo de XSS puede permitir robar información de la sesión, información almacenada en el ordenador del usuario y permitir la suplantación de este. Buffer Overflows: En componentes (CGIs, librerías, drivers, etc.) de aplicaciones web que están programados en lenguajes que no validan las longitudes de los datos que manejan, se pueden dar situaciones de error que hagan interrumpir o cambiar el flujo de ejecución, permitiendo que código malévolo tome el control del proceso. Vulnerabilidades que permitan inyección de comandos: Si los parámetros o datos no se analizan antes de ser usados, pueden permitir la inyección de comandos SQL, SO, script (PHP, ASP, etc.)
  • 29. CodeSeeker – Un Firewall de Nivel 7 OpenSource OWASP Top Ten (III) Problemas en en tratamiento de errores: Habitualmente se producen condiciones de error, por valores incorrectos en datos de formularios, o caracteres inválidos, etc. Debe existir una capa de gestión de errores, que mantenga la estabilidad de la aplicación y que impida que se revele información sobre la lógica de la aplicación en estos errores. Uso inapropiado de criptografía: Las aplicaciones, frecuentemente emplean métodos débiles para proteger las credenciales o la información. Estas funciones, muchas veces, son simples algoritmos de codificación o de encriptación débil sin aportar protección real. Gestión Remota vía web: Muchos administradores emplean herramientas de gestión remota de servidores a través de aplicaciones web, pero estas no son configuradas de forma segura, permitiendo un acceso total a estas máquinas.
  • 30. CodeSeeker – Un Firewall de Nivel 7 OpenSource OWASP Top Ten (IV) Configuración incorrecta de los servicios y aplicaciones web: Los Sistemas Operativos al igual que los servicios que están expuestos públicamente, tras su instalación, deben sufrir procesos de securización y tuning. Este proceso también debe aplicarse a las aplicaciones web que corren sobre estos servicios y se ejecutan sobre estos SSOO. Las opciones “out of the box” prácticamente siempre no implican seguridad.
  • 31. CodeSeeker – Un Firewall de Nivel 7 OpenSource Algunos de los ataques del Top Ten en WebGoat • Unvalidated Parameters • Broken Access Control • Broken Account and Session Management • Cross-Site Scripting (XSS) • Command Injection Flaws: Parameter Injection SQL Injection
  • 32. CodeSeeker – Un Firewall de Nivel 7 OpenSource Ataques Web típicos • Information Leaks • Unicode Characters • Hidden files • /etc/* Files Detector • cmd.exe Detector • .....
  • 33. CodeSeeker – Un Firewall de Nivel 7 OpenSource Protección con CodeSeeker • Configuración de Políticas • Gestión de ataques • Tratamiento de alertas • Parametrización de los tipos de ataques. • Reports de estado. • etc...
  • 34. CodeSeeker – Un Firewall de Nivel 7 OpenSource