Documento soporte de clase u1 seguridad web movil

Page 1

Seguridad Web Móviles — Aspectos Básicos de Seguridad Web

© Politécnico Indoamericano 2015


Aspectos Básicos de Seguridad Web

Tabla de Contenido

1. Conceptos Relacionados con la seguridad Web 2. Problemas de la Programación de Sistemas Web

Objetivo 

Explorar los conceptos básicos relacionados con la seguridad Web por medio del análisis de los datos, la información y la programación de sistemas web

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

1


Aspectos Básicos de Seguridad Web

1. Conceptos Relacionados con la seguridad Web Cualquier organización que expone sus servicios informáticos a

redes

de acceso tendrán que realizar un esfuerzo significativo para asegurar que la información y recursos están protegidos. Internet es un factor primordial en la comunicación y también un evidente riesgo potencial de acceso y mal uso de los servicios e información disponibles. Obviamente, se catalogan sistemas más críticos que otros donde su seguridad debe de ser muy significativa, pero en general todas las aplicaciones Web deben de estar protegidas y aseguradas ante los principales ataques. En una aplicación web, dividimos la seguridad en: 

Disponibilidad: Propiedad o característica de los activos consistente en que las entidades o procesos autorizados tienen acceso a los mismos cuando lo requieren.

Autenticidad: Propiedad o característica consistente en que una entidad es quien dice ser o bien que garantiza la fuente de la que proceden los datos

Integridad: Propiedad o característica consistente en que el activo de información no ha sido alterado de manera no autorizada.

Confidencialidad: Propiedad o característica consistente en que la información ni se pone a disposición, ni se revela a individuos, entidades o procesos no autorizados.

Trazabilidad: Propiedad o característica consistente en que las actuaciones de una entidad pueden ser imputadas exclusivamente a dicha entidad.

1.1 Medidas de Prevención contra las Vulnerabilidades El análisis de las vulnerabilidades potenciales es un objetivo básico para el incremento de la seguridad en las aplicaciones web, que en ocasiones es subestimado como factor de riesgo crítico. El mantener parámetros que no son verificados, roles sin controlar, desbordamientos que se producen

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

2


Aspectos Básicos de Seguridad Web

en la memoria son algunas de las situaciones que pueden provocar brechas de seguridad en las aplicaciones. Los desarrollos que se realizan comercialmente presentan las mismas deficiencias. De ahí, que necesiten una actualización constante para asegurar la reparación de bugs que se van encontrando en el tiempo de vida de las aplicaciones. Con frecuencia, se asemeja la seguridad de una aplicación con la seguridad de la plataforma donde se ejecuta. El esfuerzo que se realice para aumentar la seguridad tanto a nivel de desarrollo como de diseño, debe de ser un esfuerzo a nivel de grupo. Hay que incluir en el desarrollo un compromiso para el aseguramiento de las aplicaciones. Los servidores de producción y los otros sistemas deben mantenerse regularmente con las últimas firmas para garantizar que están libres de vulnerabilidades a nivel de sistema Se recomienda seguir las siguientes indicaciones destinadas a mantener una aplicación alejada de las vulnerabilidades:

Entornos de trabajo diferenciados. Es muy aconsejable mantener entornos separados del de producción. Los entornos de calidad y de desarrollo son frecuentemente manipulados por lo que entrarán en conflicto con los datos mostrados por producción. Es primordial que sus entornos estén bien diferenciados, a ser posible mediante un cortafuego. Esta situación es prioritaria cuando el entorno de producción es una zona interna o de transición y accesible desde Internet. Si el entorno de producción tramita y ejecuta procesos, hay que asegurar los mismos tanto a nivel de sistema como de aplicación previamente a incluir nuevos procesos. Este principio hay que mantenerlo cada vez que se actualice o mejore.

Distribución de las actualizaciones. Con cierta frecuencia las aplicaciones realizan actualizaciones para cubrir posibles deficiencias que se detectan a lo largo del ciclo de vida de la aplicación. Dependiendo del carácter de estas aplicaciones, si son externas, las actualizaciones son inmediatas, si son internas se debe además examinar el código de las aplica-

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

3


Aspectos Básicos de Seguridad Web

ciones creadas internamente e introducir las actualizaciones o nuevas versiones a medida que vaya siendo necesario.

Contramedidas temporales. Es necesario realizar un protocolo de respuesta ante posibles situaciones que entrañen riesgo para las aplicaciones. En este protocolo se pueden indicar acciones a realizar en función de la gravedad del riesgo detectado (cerrar puertos, bloquear direcciones, routers). Es muy importante, para lograr eficiencia en la respuesta, saber interpretar los efectos que delimitan el riesgo y mantener a todo el equipo de trabajo involucrado plenamente informado del protocolo de respuesta ante la activación del mismo.

Modo de Fallos. Se debe de disponer de un plan que permita mantener en funcionamiento el proceso crítico si se da la situación que una aplicación falle. Es decir, debe de permitir una transacción que permita enrutarse, de forma ajena a la aplicación, o bien permitir realizar de forma manual las funciones descritas en la aplicación. Lo más importante es mantener el criterio de " cierre ante fallo". Una aplicación no debe abrirse si detecta un fallo. Si lo hace, corre el riesgo de permitir todo tipo de acciones en el sistema. Las aplicaciones o sus comprobaciones internas siempre deben cerrarse al fallar. Conocimiento de desarrolladores y políticas. Es muy importante que todas las personas involucradas en un desarrollo tengan el conocimiento necesario de las herramientas disponibles y de las políticas necesarias para crear códigos seguros. Las políticas de seguridad deben de ser generales, por lo tanto, deben de mantenerse en un nivel que permita aplicarse al global del conjunto de proyectos.

2. Conceptos Relacionados con la seguridad Web El proyecto de las diez mayores vulnerabilidades de OWASP es una lista de vulnerabilidades que requieren inmediata solución. El código existente

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

4


Aspectos Básicos de Seguridad Web

debe ser revisado contra estas vulnerabilidades inmediatamente ya que dichas fallas están siendo atacadas activamente por los atacantes. Los proyectos de desarrollo deben considerar estas vulnerabilidades en sus documentos de requerimientos y diseño, en las construcciones y en las pruebas de sus aplicaciones para asegurarse que no han sido introducidas o que han sido eliminadas de forma correcta. Los supervisores deben incluir presupuesto y tiempo para las actividades de seguridad en sus aplicaciones para la formación de productores de software, el desarrollo de una política de desarrollo seguro, mecanismos de diseño y desarrollo seguro, pruebas de intrusión y revisión de seguridad en el código fuente

Fallos de Inyección Los fallos de inyección, tales como SQL, OS, y LDAP, ocurren cuando datos no confiables son enviados a un interprete como parte de un comando o consulta. Los datos hostiles del atacante pueden engañar al interprete y ejecutar comandos no intencionados o acceder a datos sin autorización.

Secuencia de Comandos en Sitios Cruzados (XSS) Los fallos XSS ocurren cada vez que una aplicación toma datos no confiables y los envía al navegador web sin una validación y codificación apropiada. XSS permite a los atacantes ejecutar secuencia de comandos en el navegador de la victima los cuales pueden secuestrar las sesiones de usuario, destruir los sitios web, o dirigir al usuario hacia un sitio malicioso.

Perdida de Autenticación y Gestión de Sesiones Las credenciales de cuentas y los testigos de sesión (session token) frecuentemente no son protegidos adecuadamente. Los atacantes obtienen contraseñas, claves, o testigos de sesión para obtener identidades de otros usuarios. Referencia Insegura y Directa a Objetos Una referencia directa a objetos ("direct object reference") ocurre cuando un programador expone una referencia hacia un objeto interno de la aplicación, tales como un fichero, directorio, registro de base de datos, o una © Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

5


Aspectos Básicos de Seguridad Web

clave tal como una URL o un parámetro de formulario Web. Un atacante podría manipular este tipo de referencias en la aplicación para acceder a otros objetos sin autorización. Falsificación de Petición en Sitios Cruzados (CSRF) Un ataque CSRF fuerza al navegador validado de una víctima a enviar una petición a una aplicación Web vulnerable, la cual entonces realiza la acción elegida por el atacante a través de la víctima. CSRF puede ser tan poderosa como la aplicación que esta siendo atacada.

Configuración defectuosa de seguridad Una buena seguridad requiere tener definida e implementada una configuración segura para la aplicación, marcos de trabajo, servidor de aplicación, servidor web, base de datos, y plataforma. Todas estas configuraciones deben ser definidas, implementadas, y mantenidas ya que por lo general no son seguras por defecto. Esto incluye mantener todo el software actualizado, incluidas las librerías de código utilizadas por la aplicación

Almacenamiento Criptográfico Inseguro Las aplicaciones Web raramente utilizan adecuadamente funciones criptográficas para proteger datos y credenciales. Los atacantes usan datos débilmente protegidos para llevar a cabo robos de identidad y otros crímenes, tales como fraude de tarjetas de crédito.

Fallos de restricción de acceso a URL Frecuentemente, una aplicación solo protege funcionalidades delicadas previniendo la visualización de enlaces o URLs a usuarios no autorizados. Los atacantes utilizan esta debilidad para acceder y llevar a cabo operaciones no autorizadas accediendo a esas URLs directamente.

Comunicaciones Inseguras Las aplicaciones frecuentemente fallan al autenticar, cifrar, y proteger la confidencialidad e integridad de tráfico de red sensible. Cuando esto ocu-

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

6


Aspectos Básicos de Seguridad Web

rre, es debido a la utilización de algoritmos débiles, certificados expirados, inválidos, o sencillamente no utilizados correctamente.

Redirecciones y Reenvíos no validados Las aplicaciones web frecuentemente redirigen y reenvían a los usuarios hacia otras páginas o sitios web, y utilizan datos no confiables para determinar la página de destino. Sin una validación apropiada, los atacantes pueden redirigir a las víctimas hacia sitios de phishing o malware, o utilizar reenvíos para acceder páginas no autorizadas.

Conclusiones 

La seguridad en aplicaciones Web involucra principalmente al desarrollador, aunque con gran frecuencia se encuentran defectos que pueden ser aprovechados por atacantes en las tecnologías en que se basan los sistemas web (Sistemas Operativos, Servidores Web, Servidor de Base de Datos, etc.) la atención principal debe dirigirse a los defectos propios al desarrollo nuestras aplicaciones

Todas las entradas del sistema deben pasar por el filtrado de los datos contenidos para confirmar su usabilidad. Además, para el programador debe ser claro y fácil de identificar cuando una variable ya ha sido sometida al proceso de limpieza, de esta forma evitaremos tener que confiar en la memorización o tener que hacer un mapa de los procesos ejecutados por cada línea de código ejecutada de manera previa.

Referencias Bibliográficas 

Acissi - Marion Agé - Nicolas Crocfer - Robert Crocfer - David Dumas - Franck Ebel - Guillaume Fortunato - Jérôme Hennecart Sébastien Lasson - Raphaël Rault - Laurent Schalkwijk (2014). Seguridad informática - Hacking Ético, Eni Ediciones

Jean-François Carpentier (2015). La Seguridad Informática en la Pyme. Eni Ediciones

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

7


Aspectos Básicos de Seguridad Web

Philippe Kapfer. (2012). Internal Hacking y contramedidas en entorno Windows Pirateo interno, medidas de protección, desarrollo de herramientas, Eni Ediciones

© Politécnico Indoamericano 2015 Nota Técnica preparada por el Politécnico Indoamericano. Este contenido es propiedad del Politécnico Indoamericano. Su difusión, reproducción o uso total o parcial para cualquier otro propósito queda prohibida. Todos los derechos reservados.

8


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.