Regular expressions Denial of Service - ReDoS. Michael Hidalgo OWASP Costa Rica michael.hidalgo@owasp.org



Documentos relacionados
Matemática de redes Representación binaria de datos Bits y bytes

Manual de Instalación de Indicador

Campus Virtual, Escuela de Ingeniería Mecánica Guía Estudiante

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

GUÍA DE USUARIO DEL CORREO

Cómo realizo el trámite?

Sistemas de información

Ficha Técnica del Servicio Mi-Nomina.NET NOMBRE DE LA EMPRESA. Administrador de la Plataforma Mi Nomina.Net

GESTION WEB DE CLIENTES

Person IP CRM Manual MOBILE

PROGRAMA PARA LA RECEPCIÓN VALIDACIÓN Y RESGUARDO DE DOCUMENTOS FISCALES VERSIÓN 1.00 MANUAL DE OPERACIÓN

Instructivo Asignación y Cambio de clave para el ingreso de usuarios HQ-RUNT

GENERALES GENERALES TIPO DE PREGUNTAS RESPUESTA

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

ALGUNAS AYUDAS PARA EL ACCESO AL AULA DIGITAL Contenido

La auditoría operativa cae dentro de la definición general de auditoría y se define:

Recomendaciones de Seguridad Red Social Twitter

TALLERES DESAFÍOS DE LA INGENIERÍA. 2do semestre 2014

CLASE No. 4 MANEJO DE DOCUMENTOS

LA FORMA MAS SEGURA DE RECIBIR SU DINERO

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

ICM Fundamentos de Computación

Diseño de Base de Datos

El modelo de ciclo de vida cascada, captura algunos principios básicos:

UNIDADES DE ALMACENAMIENTO DE DATOS

MANUAL DE SOPORTE TÉCNICO

ÍNDICE I. INSTALACIÓN DEL SOFTWARE.. 2 II. ACTIVACIÓN DEL SOFTWARE.. 6. Manual de ayuda Registro de nuevo usuario 7. Ingresar nueva tarjeta.

Ingeniería de Software I

QUE ES COMLINE MENSAJES? QUE TIPO DE MENSAJES PROCESA COMLINE MENSAJES?

Iniciar sesión en la facturación electrónica y Emitir una factura electrónica

PLATAFORMA EDUCATIVA UDECNET

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

IsaWallet: La forma más fácil de ganar y cobrar!

Tabla de contenido. Avenida El Dorado Nº Bogotá Colombia T T

Forma Manual de usuario. Proyecto/Servicio. Tipo de documento 1.2. Versión actual MINISTERIO DE HACIENDA Y ADMINISTRACION PUBLICA

Guía de cursos de aprendizaje en línea. M0: Guía del curso

Serie Casos de Estudio: Edición El Impacto del Desarrollo de Capacidades en la GIRH en América Latina:

y Ord en a Guía para comprar en la Tienda Virtual del Estado Colombiano G-CTVEC-02

Copyright. INSTRUCTIVO DE CONFIGURACIÓN DE PC s DE CLIENTES CASH MANAGEMENT

Testing. Tipos, Planificación y Ejecución de Pruebas

Oficina Online. Manual del administrador

GUÍA RÁPIDA PARA FLOTAS MICHELIN TODA LA INFORMACIÓN QUE NECESITAS PARA UTILIZAR LA WEB

GUÍA DE USO DE LA ACTIVIDAD TÁNDEM

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Creación de usuarios Acceso a Alexia

1. CONSIDERACIONES GENERALES

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Patterns & Practices. Catálogo de templates. HelpDesk. Versión: 2.0. Fecha de publicación Aplica a: Q-flow 3.0 y Q-flow 3.

TEMA 2: Representación de la Información en las computadoras

Guía para el Registro del PSP

Manual de Usuario Comprador. Módulo Compra Express. Iconstruy e S.A. Serv icio de Atención Telefónica:

Aranda SERVICE DESK WEB NOMBRE DEL PRODUCTO:

INSTRUCTIVO DE USO BANCA VIRTUAL EMPRESAS

Portafolio de Servicios y Productos

Conciliación por medio de Ficheros de Banco (Norma 43.1 A.E.B.)

EXPERTOS EN DESARROLLO WEB

Instrucciones para acceder a la Red de Gestores para el Desarrollo de la CoPLAC - GpRD

BOLETÍN DE USUARIO GESTIÓN DE CONTRASEÑAS CORREO SEGURO

INSTITUTO POLITÉCNICO NACIONAL COORDINACIÓN GENERAL DE SERVICIOS INFORMÁTICOS

Tutorial de inscripción nuevo usuario

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Tutorial DC++ Usarlo es muy sencillo y configurarlo también, aunque tiene algunos trucos importentes.

Ilustre Colegio Oficial de Médicos de Zamora. Correo Corporativo. Manual de Usuario

REGISTRO DE DOMINIOS CONECTIVIDAD ADSL HOSTING COMPARTIDO RED CORPORATIVA VPN SOPORTE TECNICO PROFESIONAL

Guía de Usuario (GU) Consulta Web Maxiflota. Introducción. Secciones Principales. Página de Inicio

Nombre de producto. Dexon Workflow Manager

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

MANUAL DE USUARIO JOVENES INDUSTRIA

Manual Usuario GNcys Contabilidad Electrónica Gncys Contabilidad Electrónica. Manual de usuario. Version: Draft

Fundación Universitaria Konrad Lorenz Departamento de Sistemas y Registro Académico Versión 1.0 MANUAL DE USUARIO SOLICITUDES DE CRÉDITO WEB

Adaptaciones / Convalidaciones

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)


Patterns & Practices. Catálogo de templates. Solicitudes simples. Versión: 3.0. Fecha de publicación Aplica a: Q-flow 3.05 y Q-flow 3.

MANUAL DE USUARIO PARA INGRESO DE ESTADOS FINANCIEROS

CCPA Costa Rica. Como establecer criterios para la evaluación de la Auditoría Interna. Michael Delgado Gerente de Riesgos EY.

En la medida de tu esfuerzo e investigación podrás encontrar otras opciones iguales o mejores. La decisión es tuya, a publicar tu página!

Sesión 3 - Movimiento Diferencial

1. ACCESO AL SISTEMA.

A la comunidad estudiantil de la FCFM

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Pantalla de bienvenida

AgroDATA Laboral Versión 4.17

Instalación y uso de Check 2000 Client Server con ZENworks 2

Infraestructura Tecnológica. Sesión 2: Mejoras adicionales al servidor de archivos

MANUAL INFORMATIVO PARA CONSULTAS DE DOCUMENTOS ELECTRÓNICOS A TRAVÉS DEL APLICATIVO WEB.

TUTORIAL DE USO DE EVA PARA ESTUDIANTES

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

OJS. Manual de usuario Comité editorial

App Cita Previa (smartphone)

Para ello debemos ingresar al índice del curso y seleccionar recorrido por el curso, tal como se muestra en la siguiente diapositiva:

Medias Móviles: Señales para invertir en la Bolsa

Delphin Express Profesional Manual de instrucciones. Como importar Presupuestos Hechos en S10

MGX CANAL DE SOPORTE Y ASISTENCIA

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Norma Técnica ICONTEC 5854 ACCESIBILIDAD A PAGINAS WEB

Bases para los nuevos gtld Nuevas extensiones para Internet

Transcripción:

Regular expressions Denial of Service - ReDoS Michael Hidalgo OWASP Costa Rica michael.hidalgo@owasp.org

About Me Líder del capítulo de OWASP Costa Rica. SoFware engineer Security InnovaIon. Experiencia en el área financiera. InvesIgador seguridad de aplicaciones. ParIcipo en proyectos de OWASP (Plataforma O2, SafeNuGet).

Agenda Breve introducción a las expresiones regulares. Ejemplo de expresiones regulares usadas frecuentemente Autómata determinísico no Finito (NFA) Problemas de denegación de servicio Demo Conclusiones, recomendaciones oportunidades de mejora.

Expresiones regulares son muy usadas

Expresiones regulares facilitan validación de campos de entrada.

Algunos usos comunes de las expresiones regulares Validar formatos como número de teléfono, correos electrónico, direcciones Web, etc. Servir como filtro de datos. Encontrar cierto texto dentro de un archivo.

Pero qué es una expresión regular? Cadena que coniene una combinación de caracteres normales y caracteres especiales o meta secuencias. Caracteres normales Ienen su propio significado. Meta caracteres o meta secuencias son caracteres o secuencias que Ienen significado (canidades, ubicaciones etc.).

Elementos de una expresión regular Coincidencia de Patrones (Pa]ern matching) : Encontrar una sección de texto que es descrita por la expresión regular (matching). Motor de expresiones regulares: Código o programa encargado de buscar ese texto

Expresiones regulares usadas frecuentemente Contraseñas : /^[a- z0-9_- ]{6,18}$/ Correo electrónico : /^([a- z0-9_\.- ]+)@([\da- z \.- ]+)\.([a- z\.]{2,6})$/ Solo dígitos: ^[0-9]*$ Solo letras: /[a- za- Z]+/

Existen muchos lugares donde aprender y probar expresiones regulares.

Autómata finito no determinísico (NFA) Autómata: simple computadora, con estados y la transición de un estado a otro de acuerdo a una secuencia de entradas.

Autómata finito no determinísico (NFA) Retroceso (Backtracking) El motor encuentra fácilmente una coincidencia posiiva (posiive matching), no obstante confirmar una coincidencia negaiva (negaive matching) toma más Iempo.

Denegación de Servicio a través de Expresiones regulares (ReDoS) Implementaciones de expresiones regulares pueden alcanzar situaciones extremas. RalenIzación crece exponencialmente relacionado al tamaño del dato de entrada. Atacante puede ocasionar que el sistema se enfrente a estas situaciones extremas y se comporte de forma lenta por un periodo de Iempo prolongado.

El algoritmo problemáico de naïve Algoritmo de expresiones regulares que implementa un NFA. Máquina de estado finito. Por cada par de estados y símbolos de entrada puede haber múliples estado. La mayoría de los motores de expresiones regulares usan el algoritmo de naïve.

Ilustrando el problema Dada la expresión regular: ^(a+)+$ Dada una entrada como aaaax existen 16 posibles rutas (2^4). No obstante dada la entrada aaaaaaaaaaaaaaaax, hay 65,536 posibles rutas (2^16).

La Web se basa en expresiones regulares

Algunos patrones de expresiones regulares problemáicas Agrupamiento con repeición (a+)+ ([a- za- Z]+)* (a aa)+ (a a?)+ (.*a){x} for x > 10

Conclusiones, recomendaciones, oportunidades de mejora Es muy fácil escribir código inseguro. Siempre se debe probar las expresiones regulares a través de pruebas unitarias. No uilizar expresiones regulares que implementan complejos agrupamientos. Siempre se debe validar la longitud del dato de entrada antes de evaluar dicho dato con la expresión regular.

Muchas Gracias!

Referencias 1. Hollos, F. Hollos R : Finite Automata and Regular Expressions Problems and SoluIons 2. Stubblebine, T. Regular Expressions Pocket Reference. 3. Regular Expressions Denial of the Service A]acks and Defenses h]ps://msdn.microsof.com/en- us/magazine/ff646973.aspx 4. OWASP h]ps://www.owasp.org/index.php/regular_expression_denial_of_service_- _ReDoS 5. h]p://www.cs.bham.ac.uk/~hxt/research/reg- exp- sec.pdf