INSTITUTO CIBERNÉTICA, MATEMÁTICA Y FÍSICA



Documentos relacionados

CONCEPTOS GENERALES SOBRE SEGURIDAD INFORMATICA

Master en Gestion de la Calidad

Elementos requeridos para crearlos (ejemplo: el compilador)

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

I INTRODUCCIÓN. 1.1 Objetivos

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

SEGURIDAD DE LA INFORMACIÓN

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Objetivos y Competencias

Capítulo 5. Cliente-Servidor.

0. Introducción Antecedentes

Guía Rápida de Inicio

Gestión de la Configuración

Microsoft es una marca comercial registrada o una marca comercial de Microsoft Corporation en Estados Unidos y otros países.

Mantenimiento de Sistemas de Información

Estado: Aprobación Versión: 2.0 Fecha: 04/11/2009 Página 1 de 9 Documento: A5_Politica_Seguridad_V2

Capítulo VII PLAN DE IMPLEMENTACIÓN DE ALTO NIVEL

CONCLUISIONES Y RECOMENDACIONES

Plan de Estudios. Diploma de Especialización en Seguridad Informática

UN RECORRIDO POR LA FAMILIA ISO

Sistema de Gestión de la Seguridad de la Información, UNE-ISO/IEC 27001

Términos definiciones

SEGURIDAD INFORMÁTICA 2º SISTEMAS MICROINFORMÁTICOS Y REDES 1. CONTENIDOS MÍNIMOS PARA LA EVALUACIÓN POSITIVA

Infraestructura Tecnológica. Sesión 10: Sistemas cortafuego

Bechtle Solutions Servicios Profesionales

Sistemas de Gestión de Calidad. Control documental

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

FUNCIÓN FINANCIERA DE LA EMPRESA

Gestión de archivos (módulo transversal, MF0978_2)

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

Políticas y Seguridad de la Información ECR EVALUADORA PREFIN S.A

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Diseño dinámico de arquitecturas de información

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

Código del programa: PEMDE. Programa Experto en MANEJO DE DATOS CON EXCEL. Modalidad: Virtual. Descripción del programa

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

TECNOLOGIAS DE INFORMACION GUBERNAMENTAL OFICINA DE GERENCIA Y PRESUPUESTO

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

Ingeniería de Software. Pruebas

Seguridad en Administración de Redes. INTEGRANTES: Santa Elena Rodríguez Calzada María de los Ángeles Ramírez Ortiz Liliana Gpe. Olivares Valdovinos.

Haga clic para modificar el estilo de título del patrón Haga clic para modificar el estilo de texto del patrón

SEGURIDAD Y PROTECCION DE FICHEROS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Resumen General del Manual de Organización y Funciones

Gestión del Servicio de Tecnología de la información

SISTEMAS Y MANUALES DE LA CALIDAD

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

MANEJO DE QUEJAS Y RECLAMOS

Introducción a las redes de computadores

Anuncio de software ZP de IBM Europe, Middle East and Africa con fecha 16 de noviembre de 2010

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP

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

Planeación del Proyecto de Software:

PRIMAVERA RISK ANALYSIS

Arquitectura de sistema de alta disponibilidad

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk

PERFILES OCUPACIONALES

Sistema de Control Interno

Ventajas del software del SIGOB para las instituciones

SAQQARA. Correlación avanzada y seguridad colaborativa_

M ucho se ha especulado en relación a los

Grado en Ingeniería Informática

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

Traslado de Data Center

Ing. Nicolás Serrano

a) Ajustar la configuración lógica del sistema analizando las necesidades y criterios establecidos para configurar y explotar sistemas informáticos.

Introducción. Definición de los presupuestos

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

Una puerta abierta al futuro

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

CURSO COORDINADOR INNOVADOR

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

REPORTE DE CUMPLIMIENTO ISO 17799

Test de intrusión (Penetration Test) Introducción

TOPICOS IV: ING. YIM APESTEGUI FLORENTINO

EXPERIENCIAS EN LA IMPLANTACIÓN DE UN SISTEMA DE GESTIÓN DE LA CALIDAD PARA EL PROCESO DE PRODUCCIÓN DE SOFTWARE

Guía Metodológica para el diseño de procesos de negocio

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


Administración del conocimiento y aprendizaje organizacional.

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total.

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Ley Orgánica de Protección de Datos

Guía de doble autenticación

Norma ISO 14001: 2004

Norma ISO 14001: 2015

ISO 9001 Auditing Practices Group Guidance on:

PLANIFICACIÓN ESTRATÉGICA: CONCEPTO Y ASPECTOS BÁSICOS.

CAPITULO I FORMULACION DEL PROBLEMA

INFORME Nº GTI INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE

MINING SOLUTIONS LIMITADA

Transcripción:

INSTITUTO CIBERNÉTICA, MATEMÁTICA Y FÍSICA METODOLOGÍA PARA ELEVAR LOS NIVELES DE SEGURIDAD INFORMÁTICA EN APLICACIONES WEB MEDIANTE EL ANÁLISIS DE INYECCIONES SQL CON EL EMPLEO DE TÉCNICAS DE MINERÍA DE DATOS. Tesis presentada en opción al título de Máster en Cibernética Aplicada. Mención: Minerí de Datos. Autor: Ing. ROGFEL THOMPSON MARTÍNEZ Tutor: Dr. C. Armando Plasencia Salgueiro. Tutor: Dr. C. Jorge Sergio Menéndez Pérez. La Habana

AGRADECIMIENTOS

DEDICATORIA

RESUMEN Las tecnologías y software desarrollados en el mundo son un producto de la inteligencia del conocimiento humano, y como producto de este último, no están exentas de errore Estos errores en los software y tecnologías, conocidos comúnmente como vulnerabilidade son provocados por malas prácticas, por problemas de seguridad informática cometid durante el desarrollo; por el uso de otras tecnologías que tienen vulnerabilidades, o p problemas de configuración. Las vulnerabilidades informáticas pueden ser aprovechas p intrusos con la intención de obtener información de un sistema, o adueñarse de él, violand normas de seguridad establecidas. Un tipo de ataque a las vulnerabilidades de los software son las inyecciones de Lengua de Consulta Estructurada (SQL, por sus siglas en inglés), las cuales consisten en inserción o inyección de una consulta SQL, a través de los datos de entrada que posee las aplicaciones, o mediante el Localizador de Recurso Uniforme (URL, por sus siglas e inglés). Con el objetivo de que los administradores de sistemas y usuarios conozcan l vulnerabilidades que van apareciendo en los software y tecnologías, se han creado bases datos que contienen esta información. Las Bases de Datos de Vulnerabilidades, como so conocidas comúnmente, estandarizan los registros de vulnerabilidades y brinda información de las posibles soluciones a los problemas de seguridad que representan. Con el volumen de información de las Bases de Datos de Vulnerabilidades, se puede aplicar técnicas que permiten detectar patrones en grandes conjuntos de datos, el conjun de estas técnicas se conocen como Minería de Datos. La Minería de Datos tiene com objetivo reunir las ventajas de varias áreas como la Estadística, la Inteligencia Artificial, Computación Gráfica, las Bases de Datos y el Procesamiento Masivo, usando com

ÍNDICE INTRODUCCIÓN... CAPÍTULO 1: MARCO TEÓRICO DE LAS INYECCIONES SQL... 1.1 INTRODUCCIÓN... 1.2 SITUACIÓN DE LA SEGURIDAD INFORMÁTICA... 1.3 INYECCIONES SQL... 1.3.1 Proceso de inyección de una aplicación Web... 1.4 TÉCNICAS PARA MITIGAR AMENAZAS DE INYECCIONES SQL... 1.4.1 Protección en Tiempo Real... 1.4.2 Firewall de Aplicaciones Web... 1.4.3 Filtros de Intercepción... 1.4.4 Firewall de Base de Datos... 1.4.5 Firewall Semántico de Aplicaciones Web... 1.5 CONCLUSIONES DEL CAPÍTULO 1... CAPÍTULO 2: METODOLOGÍAS DE MINERÍA DE DATOS Y DE EVALUACIÓN DE RIESGOS... 2.1 INTRODUCCIÓN... 2.2 METODOLOGÍA... 2.3 METODOLOGÍAS PARA EL PROCESO DE MINERÍA DE DATOS... 2.3.1 SEMMA... 2.3.2 CRISP-DM... 2.3.3 Comparación SEMMA vs. CRISP-DM... 2.3.4 Decisión sobre la metodología de minería de Datos... 2.4 METODOLOGÍAS PARA EL ANÁLISIS DE RIESGOS... 2.4.1 Técnicas de Análisis de Riesgos... 2.4.2 Metodologías para la Gestión y el Análisis de Riesgos... 2.4.3 Decisión sobre el Proceso de Análisis de Riesgos... 2.5 CONCLUSIONES DEL CAPÍTULO 2...

CONCLUSIONES GENERALES... RECOMENDACIONES... REFERENCIAS BIBLIOGRÁFICAS... ANEXOS... ANEXO 1... ANEXO 2... ANEXO 3... ANEXO 4... ANEXO 5... ANEXO 6... 3.2.4 Modelado... 3.2.5 Evaluación... 3.2.6 Despliegue... 3.3 CONCLUSIONES DEL CAPÍTULO 3... CAPÍTULO 4: VALIDACIÓN DE LA METODOLOGÍA PARA MITIGAR INYECCIONES SQL... 4.1 INTRODUCCIÓN... 4.2 COMPRENSIÓN DEL NEGOCIO... 4.3 ANÁLISIS DE RIESGOS DEL NEGOCIO... 4.4 COLECCIÓN Y PREPARACIÓN DE DATOS... 4.5 MODELADO... 4.6 EVALUACIÓN... 4.7 DESPLIEGUE... 4.8 CONCLUSIONES DEL CAPÍTULO 4...

INTRODUCCIÓN La seguridad de la información es un proceso exigente y dinámico que requiere habilidad para mantener en movimiento constante el ojo crítico de su responsable frente la inseguridad, no solo para crear la sensación de confiabilidad requerida por l usuarios del sistema, sino para que, vinculando a estos últimos en la conquista de la n linealidad de la inseguridad, se construya de manera conjunta una distinción real evidente de un ambiente controlado y confiable, mas no seguro (Cano, 2010). En el mundo contemporáneo, la información es protegida y cuidada con mucho celo, y que puede representar la ventaja en el mercado, el aumento de clientes y la seguridad que estos continúen siéndolos. Los mecanismos para prevenir las vulnerabilidades qu puedan afectar la información, deben estar en creciente investigación, para segu garantizando la protección de los datos. En Cuba, con el creciente uso de las nuevas tecnologías, la protección de la información una obligación de toda entidad nacional. Así se expresa en el decreto Ley 199 de 199 sobre la Seguridad y Protección de la Información Oficial (CE, 1999), y por la Resolució 127 del Ministerio de la Informática y las Comunicaciones, donde se especifican l políticas a cumplir por las entidades cubanas que utilicen tecnologías de la informació (MIC, 2007). El uso de las tecnologías de la información, trae consigo la obtención mayor eficiencia y rentabilidad en muchos sectores de la economía nacional; por lo que protección de esta, es un interés de Seguridad Nacional. Con el objetivo de que los administradores de sistemas y usuarios conozcan l vulnerabilidades que van apareciendo, se han creado bases de datos internacionales qu contienen estas informaciones, las estandarizan para una mejor organización, y brind soluciones a los problemas de seguridad presentes en las tecnologías y herramientas. Est

Se entiende por Minería de Datos: La integración de un conjunto de áreas que tienen com propósito la identificación de un conocimiento obtenido a partir de las bases de datos qu aporten un sesgo hacia la toma de decisión (Vallejos, 2006). Una de las vulnerabilidad que se encuentran registradas en estas bases de datos son las Inyecciones SQL, con más 8 000 registros. Situación problémica. En el campo de la inseguridad, las amenazas de Inyecciones SQL son un problema latent ubicadas entre los tipos de vulnerabilidades más peligrosas del mundo informático ya q estas poseen un acceso directo a la información de las bases de datos de los sistemas. Las Inyecciones SQL consisten en la inserción o inyección de una consulta SQL través de los datos de entrada que facilita el cliente a la aplicación. Considerados como un de los principales problemas de seguridad, los ataques de inyección SQL explotan fallos los software con el fin de acceder a bases de datos. Su objetivo es inyectar códig malicioso en la URL o campos de textos, de páginas web vulnerables, con el fin de robar contenido de las bases de datos, como los detalles de las tarjetas de crédito o nombres d usuarios y contraseñas. Durante el segundo trimestre del año 2012 se detectaron 469.98 atasques de inyección SQL, un 89% más respecto a los 277.770 ataques del trimest anterior, según cifras de la empresas de seguridad FireHost (NetMediaEurope, 2012). L gravedad de este tipo de amenazas se incrementa constantemente, debido a que su objetiv es adquirir los datos privados de una compañía o persona, los cuales constituyen, en la e de la información, la base para el perfeccionamiento de las empresas. Realizando un estudio apoyado con técnicas de Minería de Datos, se puede elaborar u metodología para filtrar posibles ataques de Inyecciones SQL. Por esta razón se plantea como problema de investigación:

Hipótesis: Una metodología que aplique las técnicas de Minería de Datos para el análisis d Inyecciones SQL, permitirá elevar los niveles de seguridad informática en aplicacion web. Objeto de estudio: Seguridad Informática en aplicaciones web. Campo de acción: Inyecciones SQL. Límites de la investigación. Mitigar amenazas de inyecciones SQL a nivel de aplicación. Objetivo general de investigación: Elaborar una metodología centrada en técnicas de Minería de Datos para mitigar amenaz de Inyecciones SQL. Objetivos específicos: Analizar la situación actual de las amenazas de inyecciones SQL. Definir los procesos de la metodología para mitigar inyecciones SQL con técnicas Minería de Datos. Desarrollar la metodología diseñada para mitigar inyecciones SQL en un ca

Análisis de la tipología de Inyecciones SQL, sus técnicas, herramientas y tendenci desarrolladas para mitigarlas. Análisis de metodologías de Análisis de Riesgos y Minería de Datos. Confección de los procesos de la metodología para mitigar inyecciones SQL co técnicas de Minería de Datos. Aplicación de la metodología diseñada para mitigar inyecciones SQL en un ca específico. Aplicación del método de Monte Carlo para la validación de la investigación. Aplicación del método Experto tutor para la validación de la investigación. Métodos de investigación: Teóricos. Analítico-sintético, modelación, inductivo-deductivo, sistémico, histórico-lógic dialéctico-materialista, hipotético-deductivo. Empíricos. Observación, medición, experimentación. Experimentos: Comparación de técnicas de Minería de Datos para determinar cuáles son m eficaces en el análisis de inyecciones SQL. Comprobación de la validez de la metodología mediante la simulación Monte Carlo un sistema Experto Tutor.

comportamiento en las Inyecciones SQL. Esto permite la conjugación de las áreas d Seguridad Informática en aplicaciones web y Minería de Datos, de las cuales no abunda muchas investigaciones anteriores, a excepción de los Sistemas de Detección de Intrus Para la evaluación del funcionamiento de la metodología se pretende emplear el Método Simulación de Monte Carlo; este es un método estadístico numérico, usado para aproxim expresiones matemáticas complejas y costosas de evaluar con exactitud; el uso de es método aplicado a las tecnologías de la información es bastante escaso. Justificación de la investigación. La extracción de conocimiento a partir de datos es un paradigma relativamente modern que integra numerosas técnicas de análisis de datos y extracción de modelos. La cienc que se encarga de realizar esos análisis y extraer los patrones o modelos a niv organizacional es la Minería de Datos. En particular, las necesidades de mejorar la productividad y la calidad de las produccion y servicios hacen que las empresas y organizaciones en general, estén interesadas en un explotación inteligente de sus bases de datos a través de la minería (Plasencia, 2011). En el caso de la seguridad en aplicaciones, si se combinan, estas técnicas con las bases d datos de vulnerabilidad, se pueden mitigar muchos problemas que presentan est software. Disminuir las brechas de seguridad de las aplicaciones representa un disminución de pérdidas por conceptos de ataques, mayor protección para los datos de entidad, y mayor confianza por parte de los clientes. Las técnicas de Minería de Datos permitirán mitigar amenazas conocidas y no conocida Mitigar inyecciones SQL con estas técnicas, disminuirá la pérdida de datos, debido a est amenazas.

La tesis se ha estructurado en cuatro capítulos para brindar una mejor descripción en investigación. Capítulo 1. Marco Teórico de las Inyecciones SQL: se describe la problemáti existente en torno a las inyecciones SQL, se exponen las ideas esenciales sobre tecnologí y herramientas que intentan mitigar su amenaza. Capítulo 2. Metodología de Minería de Datos y de Evaluación de Riesgos: se propon las metodologías de Minería de Datos y Análisis de Riesgos más convenientes pa desarrollar la metodología para mitigar inyecciones SQL. Capítulo 3. Desarrollo de la Metodología para Mitigar Inyecciones SQL: se propo una metodología para mitigar inyecciones SQL, en la que se combinan técnicas de Miner de Datos con la gestión de riesgos; y se describen cada una de las fases a seguir para d cumplimiento a dicha metodología. Capítulo 4. Evaluación de la Metodología para Mitigar Inyecciones SQL: se utiliz para la evaluación y validación de la propuesta, el método estadístico numérico de Mon Carlo y el sistema Experto Tutor. Se han consultado 77 referencias bibliográficas procedentes fundamentalmente de sitio internet y libros de Seguridad Informática. También de estas 77 referencias correspond varias a sitios y libros de Minería de Datos.

CAPÍTULO 1: MARCO TEÓRICO DE LAS INYECCIONES SQL 1.1 Introducción El almacenamiento de los datos e información siempre es materia de análisis y revision en las organizaciones del siglo XXI. Un reciente estudio de ESG Research (ES RESEARCH 2009), sobre las bases de datos, muestra que un alto porcentaje de ell dependen de procesos manuales y que no cuentan con apropiadas medidas de seguridad, d acuerdo con la información, generalmente catalogada como confidencial, que permane en ellas (Cano, 2010). El acceso de extraños a la información de una entidad o empresa puede ocasionarl terribles pérdidas en su mercado, o en la reputación frente a sus clientes. En este capítulo se tratará sobre los problemas de la seguridad de la información y e específico las inyecciones SQL que son la esencia de esta investigación, así como, l técnicas conocidas para mitigarlas. 1.2 Situación de la seguridad informática La creatividad de los atacantes, las singularidades de los usuarios y la materialización d malas prácticas, establecen las bases para que ocurran los incidentes de seguridad. Duran los últimos 10 años, las fallas propias relacionadas con las aplicaciones, el estud detallado de funciones de los lenguajes de programación, los casos de mal uso y abuso d software, así como, el creciente uso de las comunicaciones han marcado la historia de seguridad de la información. La seguridad informática, y de forma más genérica la seguridad de la información, entiende como un conjunto de acciones metodológicas y herramientas cuyo objeti principal es proteger a la información, y por ende a los sistemas informáticos, an

El término vulnerabilidad, para la Seguridad Informática se refiere, a cualquier error programación o mal configuración, que pudiera permitir a un intruso obtener acceso n autorizado. Esto incluye cualquier problema, desde una contraseña débil en un router 1, un error de programación sin corregir en un servicio de red. 1.3 Inyecciones SQL En una noticia de junio del 2002 del Instituto Nacional de Estándares y Tecnologías d Estados Unidos (NIST, por sus siglas en inglés), se refiere que los problemas y errores seguridad en los software le cuestan a su economía un estimado de 59,5 mil millones dólares anualmente, lo que representa un 0,6 % del producto interno bruto del país; estima que con una infraestructura de pruebas para eliminar los defectos de seguridad pudiera recuperar 22,2 mil millones de dólares (NIST, 2002). Teniendo en cuenta el u de prácticas seguras en el ciclo de desarrollos, los costos en pérdidas por seguridad pueden reducir mucho más y puede contribuir a reducir los costos en mantenimient (NIST, 2002). Los software con problemas de seguridad tienen una repercusión negativa para l empresas desarrolladoras, podiendo ocasionar un impacto negativo en su mercad (Wikinoticias, 2005). Las aplicaciones Web son las más expuestas a las amenazas existentes. Uno de los ataqu más comunes en los sistemas son: las inyecciones SQL. Una información de USA TODAY 2, actualizada el 17 de Marzo del 2009, refleja que compañía de seguridad informática IBM Internet Security Systems 3 informa que en l últimos 3 meses del 2008, se presentó un 50% de ataques a sitios Web median

inyecciones SQL superior a todo el 2007. Este articulo refleja que las inyecciones SQ tienen un rápido crecimiento entre los tipos de ataques a sistemas Web (Acohido, 2010). Las fallas de inyección, en particular la inyección SQL, son comunes en aplicaciones We Un ataque de Inyección SQL consiste en la inserción o inyección de datos en un consulta SQL desde un cliente de la aplicación. El éxito de una inyección SQL es: le datos sensibles de la base de datos, modificar los datos (insertar/actualizar/borrar), realiz operaciones de administración sobre la base de datos (como reiniciar el Sistema de Gestió de Bases de Datos (DBMS, por sus siglas en inglés)), recuperar el contenido de un archiv del sistema de archivos del DBMS y, en algunos casos, ejecutar órdenes en el sistem operativo (OWASP, 2007). Existen distintos tipos de inyecciones: SQL, XML 4, LDAP 5, XPath 6, XSLT 7. HTML inyección de órdenes en el sistema operativo y otras. En el peor de los escenarios, est fallas permiten a un atacante comprometer totalmente la aplicación y los sistem subyacentes, incluso, sobrepasar entornos con cortafuegos (OWASP, 2007). Según el OWASP Top 10 2010, las fallas por inyecciones se encuentran en la posición entre las vulnerabilidades más seria de aplicaciones Web (OWASP, 2010). Todas las plataformas de aplicación Web que usen intérpretes o invoquen otros proces son vulnerables a las fallas de inyección, esto incluye cualquier componente del marco d trabajo, que pueda usar intérpretes en la capa de bases de datos (OWASP, 2010). Entre los errores de programación más dañinos del 2011 presentados por la Comunid Desarrolladora del Diccionario de Debilidades del Software CWE (CWE, 2011), 4 XML, es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C). 5 LDAP (en español Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a niv

Las inyecciones SQL son permitidas por las aplicaciones Web, debido a que estas encuentran las inyecciones SQL que prevalecen como una alta debilidad de los sistemas en contraste poseen un bajo costo de erradicación. En la Universidad de Ciencias Informática (UCI) se lleva a cabo el desarrollo de softwa de exportación. La seguridad debe ser unos de los pilares para fortalecer la soberan tecnológica y la calidad de un software. Los ataques de Inyección SQL están divididos en las tres siguientes clases: Inband: los datos son extraídos usando el mismo canal que es usado para inyectar código SQL. Este es el tipo de ataque más simple, en el que los datos recibidos muestran en la propia aplicación Web. Out-of-band: los datos son extraídos usando un canal diferente (por ejemplo, un corre con el resultado de la consulta es generado y enviado al auditor) Inference: no hay transferencia de datos, pero el auditor puede reconstruir información enviando peticiones y observando el comportamiento que mantiene servidor de bases de datos. Independientemente del tipo de ataque, una Inyección SQL correcta requiere que atacante pueda construir una consulta SQL correcta. Si la aplicación devuelve un mensa de error a causa de una consulta incorrecta, entonces es fácil reconstruir de forma lógica consulta original, y entender cómo realizar una inyección correctamente. Sin embargo, si aplicación oculta los mensajes de error, un auditor puede conseguir mediante ingenier inversa la lógica de la consulta original. Este último caso se conoce como Inyección SQ Ciega (Blind SQL Injeccion, por sus siglas en inglés) (OWASP, 2007). 1.3.1 Proceso de inyección de una aplicación Web

2. El servidor Web localiza la página y la envía al servidor de aplicaciones. servidor de aplicaciones es un software encargado de interpretar la petición d navegador y finalizar la confección de la página. 3. El servidor de aplicaciones busca instrucciones en la página. 4. El servidor de aplicaciones envía la consulta al controlador de la base de datos. controlador de bases de datos es un software intérprete entre el servidor aplicaciones y la base de datos. 5. El controlador ejecuta la consulta en la base de datos. 6. La información asociada a la consulta se devuelve al controlador. 7. El controlador pasa la información al servidor de aplicaciones. 8. El servidor de aplicaciones inserta los datos en la página y las transfiere al servid Web. 9. El servidor Web envía la página, ya confeccionada, al navegador solicitan (Macromedia, 2004). Para una mayor comprensión del flujo del funcionamiento de una aplicación Web, v figura 1, en el anexo 1. Un usuario mal intencionado puede, como parte de la petición del navegador Web, insert una inyección SQL, la que le permitirá acceder a los registros de la bases de datos. Sin un mitigación adecuada de las inyecciones SQL, las bases de datos quedan expuestas a s amenazas. Otro gran problema para mitigar estas amenazas, es que las inyecciones SQ en su mayoría, pueden ser específicas para un servidor de aplicaciones (PHP, AS JAVA) 9. Además, si esto se combina con la diversidad de Frameworks 10 que existen pa

Debido a la peligrosidad de esta amenaza se han desarrollado varias herramientas técnicas que logran mitigar las inyecciones SQL conocidas. 1.4 Técnicas para mitigar amenazas de inyecciones SQL Las técnicas para mitigar las amenazas de inyecciones SQL se agrupan en dos áreas: Las de Defensa a Nivel del Código, consiste en asegurar el código desde las fases implementación del proyecto. En esta área, se aplican las técnicas de parametrización las sentencias, validación de entradas de información, codificación de la salida información, canonización y las buenas prácticas de diseño de las aplicaciones. Las de Defensa a Nivel de Plataforma o Aplicación, que consisten en asegurar software desplegado. Entre las técnicas que posee se encuentran las de protección tiempo real, buenas prácticas de seguridad y las prácticas de seguridad en el despliegue. Para el desarrollo de la investigación se seleccionó trabajar en el área de Defensa a Niv de Plataforma, ya que sus técnicas no dependen de las especificidades del proyecto, ni d lenguaje con que se desarrolló la aplicación. Dentro de esta área se pretende profundizar e las técnicas de tiempo real. 1.4.1 Protección en Tiempo Real La protección en tiempo real es una técnica de gran valor para mitigar y prevenir l amenazas de inyecciones SQL conocidas. Reparar directamente el código siempre es solución ideal; sin embargo, el esfuerzo requerido no siempre es efectivo ni práctico. Entre las estrategias que asumen la protección en tiempo real para mitigar los problemas seguridad, debido a las vulnerabilidades de los sistemas a inyecciones SQL, se encuentra los Firewall de Aplicaciones Web (WAF, por sus siglas en inglés).

1.4.2 Firewall de Aplicaciones Web Los WAFs, son una emergente tecnología de la seguridad de la información que tiene com objetivo proteger a las aplicaciones Web de los ataques informáticos. Las solucion WAFs, son capaces de prevenir ataques que para los Firewall de Redes y los Detectores d Intruso, es imposible prevenir. En la actualidad los ataques informáticos son cada vez más sofisticados, por lo que es d vital importancia desarrollar criterios estandarizado para evaluar los productos. En el ca de los WAFs, el Consorcio de Seguridad en Aplicaciones Web (WASC, por sus siglas inglés), ha desarrollado un criterio para evaluar los WAFs en cuanto a técnicas detección, técnicas de protección, gestión de log 11, administración, entre otros (WAS 2006). Mediante este Consorcio, se garantiza un desarrollo creciente de esta tecnología, la hace más eficaz para contrarrestar ataques a las aplicaciones Web. Los WAFs, son típicamente módulos embebidos en los servidores Web o aplicaciones, co un grado mínimo de configuración. Existen dos tipos fundamentales de Firewall d Aplicaciones: los basados en software y los basados en hardware. Entre las principal ventajas de los WAFs basado en software, se encuentran que la infraestructura Web mantiene sin cambios, y la comunicación HTTP 12 /HTTPS 13 se maneja sin problemas, que funcionan alojados en el mismo servidor Web o aplicación. Los WAFs basados hardware, no consumen recursos del servidor Web y se puede proteger múltipl aplicaciones Web de diferentes tecnologías. Los WAFs a menudo son llamados "firewalls de inspección profunda de paquetes", porq se ven en cada solicitud y respuesta dentro de los protocolos HTTP / HTTPS / SOAP 1 11 Log es un registro oficial de eventos durante un rango de tiempo en particular.

XML-RPC 15 / capas de servicio Web. Algunos Cortafuegos de Aplicación Web busc ciertas firmas de ataque, para tratar de identificar un ataque específico que un intru puede enviar; mientras que otros, buscan un comportamiento anormal, que no se ajusta los sitios web de los patrones normales de tráfico. Poseen técnicas de protección cont ataques de fuerza bruta, ataques de sección; protegen las cookie del sistema, los campos los formularios ocultos y los parámetros URL, dentro del cual emplean estrategias pa mitigar inyecciones SQL. ModSecurity. Entre los desarrollos más representativo en esta tecnología se encuentra ModSecurity, cual se implementó como un módulo de Apache; sin embargo, él puede proteger cualquie aplicación Web siempre que el Servidor Apache se configure como un proxy invers Entre sus principales funcionalidades se encuentran (ModSecurity, 2011): Filtrado de Peticiones: Las peticiones entrantes son analizadas antes de pasarlas al servid web, o a cualquier otro módulo de Apache. Para realizar este filtrado se puede utiliz expresiones regulares, lo cual lo hace muy flexible. Técnicas Anti-evasión: Los paths 16 y los parámetros son normalizados antes d análisis para evitar técnicas de evasión. o Elimina múltiple barras (//) o Elimina directorios referenciados por si mismos (./) o Tratamiento de \ y / de manera igual (en Windows) o Decodificación de URL. o Reemplazo de bytes 17 nulos por espacios (%00)

Comprensión del protocolo HTTP: Al comprender el protocolo HTTP, pue realizar filtrados muy específicos y granulares. Podemos analizar un camp específico de un formulario, de una página en particular. Análisis POST 18 Payload 19 : Intercepta y analiza el contenido transmitido a trav del método POST. Auditoría de Logs: Es posible loguear con detalle (incluidas las peticiones POST para un posterior análisis Forense. Filtrado HTTPS: Al estar embebido como módulo tiene acceso a los datos despu de que estos hayan sido descifrados. Filtrado de Contenidos Comprimidos: Al igual que la funcionalidad anterior, tie acceso a los datos después de la descompresión. Verificación del Rango de Byte: Sirve para detectar y bloquear shellcodes 20, esto puede lograr limitando el rango de los bytes. Varias compañías del área de seguridad informática ya poseen sus WAF comerciales, ent los que se encuentran: Profense, Citrix, F5, Cisco, Trustware. Existe también el caso de compañía Qualys que posee un proyecto de desarrollo en software libre de su WAF, el cu nombra IronBee. IronBee. IronBee, es llevado por el equipo que diseñó y construyó ModSecurity, el nuevo proyec apunta a producir un firewall de aplicación web que sea seguro, de alto rendimient portable, y libremente disponible incluso para el uso comercial. 17 Byte es una secuencia de bits contiguos, cuyo tamaño depende del código de información o código

El proyecto IronBee está abierto a todas las partes interesadas en unirse al esfuerzo d desarrollo y proporcionar: Un motor de inspección de seguridad de aplicaciones que proporciona nuev herramientas de procesamiento y análisis para el tráfico HTTP. Apache Software License v2, una licencia de código abierto no viral que permite los individuos y las organizaciones comerciales por igual a participar, creando un comunidad de usuarios, así como una comunidad de desarrolladores. Portabilidad, construido desde cero para trabajar en varios modos d implementación, tales como pasiva, embebida, fuera de proceso, y de prox reverso. Arquitectura modular, permitirá a los contribuyentes a implementar fácilmente s propios módulos sin necesidad de comprensión profunda de la arquitectu IronBee, así como también más sencilla la integración de módulos particulares pa cada usuario. Esfuerzo de colaboración de la Comunidad con el fin de captar, centralizar compartir la información necesaria para defender a las aplicaciones we (virusinformatico.net, 2011). 1.4.3 Filtros de Intercepción Otra solución de seguridad son los Filtros de Intercepción, que consisten en una serie d módulos independientes, que se pueden encadenar para mejorar el análisis de seguridad e la aplicación. Los Filtros no tienen dependencias explícitas entre ellos, se puede añadir u nuevo filtro, sin dañar el funcionamiento de uno existente. Cada filtro posee una secuenc de patrones que le permiten denegar o permitir la interacción entre el cliente y el servid

respuestas que están débilmente acoplados con la lógica de la aplicación principa También son buenos para funciones de seguridad como validación de entradas, generació de log de envíos y de respuestas, y en la transformación de las respuestas de salida. E muchas arquitecturas se propone el uso de filtros de seguridad en los servidores Web y los módulos de framework de aplicaciones, dándole un mayor nivel de seguridad aplicand estas 2 estrategias. Muchos de los Filtros de Seguridad, emplean una lista de sentencias q no deben ser permitidas (BlackList, por sus siglas en inglés), y en otras las permitid (WhiteList, por sus siglas en inglés), la combinación de estos filtros perfecciona el anális de seguridad. Entre los desarrollos realizados en esta tecnología se encuentra el API libre, UrlScan Microsoft, para el servidor Internet Information Server (IIS) 22 y WebKnight con l mismas características. Por lo general, todos los marcos de trabajos (framework) para Web, presentan filtros para mitigar los ataques de inyecciones SQL y otras amenazas de l aplicaciones Web. Como otra estrategia de seguridad para mitigar las amenazas de inyecciones SQL utilizan los Sistemas de Detección de Intruso de Aplicaciones (IDS, por sus siglas inglés). Estos trabajan con los logs generados por el sistema buscando, en base a anomal o violación de reglas definidas. 1.4.4 Firewall de Base de Datos Una de las estrategias más cercana a los sistemas de almacenamiento de información so los Firewall de Bases de Datos, que es esencialmente un servidor proxy que se encuent entre la aplicación y la base de datos. La aplicación se conecta al servidor de seguridad d bases de datos y envía la consulta como si se tratara normalmente la acción de conectarse la base de datos. El servidor de seguridad de la base de datos, analiza la consulta prevista la transfiere al servidor de base de datos para ser ejecutado, si se considera segur