Seguridad en Aplicaciones web Cristian Cappo [email protected] Núcleo de Investigación y Desarrollo Tecnológico Facultad Politécnica Universidad Nacional de Asunción, PY Setiembre/2014 Movilidad Docente – Asociación de Universidades del Grupo Montevideo (AUGM) Contenido I. Seguridad: Introducción II. Aplicaciones web. Características III. Vulnerabilidades y ataques en web. IV. Principios de diseño de seguridad V. Seguridad en el ciclo de vida una aplicación web I - Seguridad: introducción • ¿Qué es un sistema seguro? • ¿Qué es un software seguro? 4 Definiciones sobre sistema seguro • Un sistema es seguro si se comporta precisamente en la manera esperada y de ninguna otra forma más. – Definición vaga y abstracta, cuenta poco sobre como alcanzar esta seguridad. 5 Definiciones sobre sistema seguro(2) • Un sistema es seguro si y solo si este comienza en un estado seguro y no puede pasar a un estado inseguro. – No hay forma de definir un comportamiento deseable para un sistema suficientemente complejo. – Los deseos muchas veces no son automáticamente mapeables a restricciones formales o concretas. – El comportamiento de un sistema es muy difícil de analizar conclusivamente (Alan Turing: El problema de la indecibilidad ) 6 Un sistema seguro • Aquel que esta construido en base a políticas de seguridad. Una política de seguridad es una sentencia de que es y que no es permitido. • Estas políticas definen los métodos, herramientas y procedimientos que hacen cumplir la política. • Una especificación de políticas de seguridad de acciones puede comprender mecanismos de prevención, detección o recuperación ante ataques. 7 Componentes de la seguridad de la información Confidencialidad: previene Integridad: salvaguarda la el uso o descubierta no precisión y completitud de la autorizada Información y del método de de información (la oculta) procesamiento . Se refiere a La privacidad es un concepto la confianza en los datos y Asociado. El control de recursos. acceso Incluye: integridad de datos soporta este componente e integridad del origen (autenticación) Disponibilidad: asegura que los usuarios autorizados accedan en tiempo y forma a los datos y recursos. El ataque de denegación de servicio compromete este 8 componente II - Aplicaciones web. Características 9 ¿Qué es una aplicación web? • Es aquella aplicación que utilizan la infraestructura web para su funcionamiento, en particular consideramos la que utiliza el protocolo HTTP (HyperText Transfer Protocol - RFC 2616) para la comunicación con sus usuarios. • La web se ha convertido en el medio natural para desplegar servicios de software. Existen actualmente cerca de 785 millones de sitios web según Netcraft (www.netcraft.com). (a nov/2013), en el mismo mes del 2012 se tenía 625 millones, es decir hubo un crecimiento de más de 150 millones de sitios en un solo año!! Y con 34,3% de la población mundial con acceso a Internet (2400 millones de personas!!) ¿Cuántos de estos sitios poseen al menos una aplicación web? 10
Description: