Los 10 principales riesgos de seguridad en la web (OWASP) y cómo mitigarlos con API Management

Nicholas Gimenes
Nicholas Gimenes
Author
December 5, 2017
7
min reading time

Seguridad de las APIs y APPs

Datos críticos en la nube, acceso móvil desde cualquier lugar, IoT, Open Banking¿plataformas digitales habilitadas con API y seguridad? ¿Cómo funciona esto?

Las APIs son la base de la transformación digital. La expansión de las aplicaciones web y los ecosistemas digitales impulsados por las API web han aumentado la preocupación por la seguridad debido a su alto grado de exposición. En el estudio realizado por Sensedia en colaboración con IDC, la seguridad fue el tema más importante que se tuvo en cuenta en las estrategias de las API (85% de las grandes y medianas empresas).

OWASP (Open Web Application Security Project), con el fin de canalizar los esfuerzos en la seguridad de las aplicaciones y APIs, realizó una encuesta global y colaborativa con los 10 riesgos de seguridad más críticos en la web, conocida como OWASP TOP 10.

La clasificación se basa en los datos recogidos y en consulta con la comunidad, clasificando los riesgos según la metodología de clasificación de riesgos de OWASP y asignando una clasificación de 3 niveles para los siguientes criterios: Dificultad de ataque (explotabilidad), Prevalencia del riesgo, Detección del riesgo (detectabilidad) e Impactos técnicos.

En el texto preliminar (RC1), se sugirió el punto "APIs desprotegidas" para integrar las clasificaciones de 2017, aunque se retiró dado que las APIs web son susceptibles de varios de los riesgos mencionados, y no tiene mucho sentido crear una categoría separada. En el nuevo texto, sin embargo, se hicieron nuevas menciones a las APIs y a la Seguridad de las APIs Gateway.

Las modificaciones en los ítems de las clasificaciones fueron las siguientes:

Temas eliminados, pero no olvidados

  • 2013-A8 Falsificación de solicitud de sitio cruzado (CSRF)
  • 2013-A10 Redirecciones y reenvíos no validados

Temas añadidos

  • 2017-A4 Entidades externas XML (XXE)
  • o 2017-A8 Deserialización insegura
  • 2017-A10 Registro y supervisión insuficientes

Clasificación de los riesgos: puede haber variaciones según las características de cada organización

Según RC1, la detección de vulnerabilidades en las API puede ser más difícil que en las aplicaciones, debido a la falta de una interfaz (UI) para las pruebas y al uso de estructuras de datos más complejas. Por otro lado, las APIs suelen tener comunicación directa con sistemas críticos y, cuando tienen lagunas, pueden facilitar el acceso no autorizado y la manipulación de datos sensibles, llegando incluso al secuestro completo del sistema.

El uso de una plataforma completa API Management también actúa como capa de apoyo para el backend, con recursos para detectar fallos y apoyar el diseño adecuado de las APIs, además de facilitar la separación de entornos e implementar otros mecanismos de seguridad, control y análisis.

A10 OWASP 2017 RC1 - elemento incluido en la versión parcial pero eliminado de la versión final

Clasificación de los 10 principales riesgos de seguridad en la web de OWASP de 2017

A continuación, los 10 riesgos del nuevo ranking OWASP 2017 y las principales formas de mitigarlos:

A1 - Inyección

Los fallos causados por inyección (como la inyección SQL) se producen cuando se envían datos maliciosos a un intérprete, que pueden ser interpretados como comandos o consultas que pueden permitir acciones no deseadas.

¿Cómo prevenirlo?

Para evitar este tipo de ataques, es necesario validar si los datos que trafican las APIs contienen comandos recursivos en SQL, JSON o XML, entre otros, y evitar completamente el uso del intérprete, proporcionando una interfaz parametrizada. Leer más: Hoja de trucos para la prevención de inyecciones - OWASP.

Cómo mitigar este riesgo con API Management

Puede aplicar interceptores con protección contra amenazas SQL, protección contra amenazas JSON y protección contra amenazas XML.

A2 - Ruptura de autentificación

Los usuarios pueden apoderarse o comprometer la autenticación mediante claves, contraseñas o cookies y obtener un acceso no autorizado.

¿Cómo prevenirlo?

Es importante utilizar una comunicación segura con SSL bidireccional y estándares de autenticación (como OAuth). Leer más: Authentication Cheat Sheet - OWASP.

Cómo mitigar este riesgo con API Management

Habilitar la comunicación SSL bidireccional y la autenticación OAuth 2.0.

A3 - Exposición de datos sensibles

Los datos sensibles podrían quedar expuestos si se registran y no se cifran o se utilizan con claves débiles en su generación y gestión, así como algoritmos o técnicas de hashing deficientes.

¿Cómo prevenirlo?

Para evitar esta vulnerabilidad, es posible utilizar la ofuscación de registros y datos, cifrar el canal de comunicación y utilizar SSL bidireccional.

Es importante no almacenar datos sensibles si no es necesario y cifrarlos, tanto en reposo como en tránsito.

Desactive siempre la función "autocompletar" en los formularios y en la caché de las páginas que contienen datos sensibles. Lea más: Cryptographic Storage Cheat Sheet - O WASP y Transport Layer Protection Cheat Sheet - OWASP.

Cómo mitigar este riesgo con API Management

Además de la comunicación con SSL bidireccional, habilite la ofuscación de datos, la ofuscación de registros y la criptografía.

A4 - Entidades externas XML (XXE)

Muchos procesadores XML antiguos permiten la especificación de una entidad externa, abarcando un URI sin referencia y evaluado durante el procesamiento XML. Este fallo permite extraer datos, realizar peticiones en el servidor, escanear sistemas internos y realizar ataques DoS, entre otros.

¿Cómo prevenirlo?

Aplique correcciones o actualice los procesadores XML, las bibliotecas y sus dependencias, compruebe si la carga de XML o XSL realiza la validación, utilice la validación de la lista blanca input y desactive el procesamiento de XXE y DTD. Considere el uso de parches virtuales, seguridad de la API gateway o WAFs. Más información: Hoja de trucos para la prevención de entidades externas XML (XXE) - OWASP.

Cómo mitigar este riesgo con API Management

Habilite el módulo API de seguridad gateway , cree listas blancas y aplique el interceptor para la protección contra amenazas XML.

A5 - Control de acceso con fallo

Ocurre cuando hay referencias internas para objetos (como un archivo, carpeta. o registro) sin control de acceso, que pueden ser manipuladas para un acceso no deseado.

¿Cómo prevenirlo?

Para mitigar este riesgo, es importante crear referencias indirectas a objetos por usuario o sesión y verificar el acceso de fuentes no fiables en el uso de referencias directas. El límite de la tasa de la API puede minimizar los posibles daños. Leer más: Control de acceso - OWASP.

Cómo mitigar este riesgo con API Management

Aplique la autenticación con OAuth 2.0, la validación de acceso a los recursos con Planes y el Límite de Tarifa.

A6 - Configuración de seguridad incorrecta

Los usuarios pueden realizar acciones no deseadas debido a la falta de una correcta configuración de seguridad.

¿Cómo prevenirlo?

El barrido automático y periódico es muy útil para detectar la falta de actualizaciones, errores de configuración, uso de cuentas estandarizadas, etc. Es importante contar con un proceso rápido y eficiente para implementar entornos debidamente protegidos y mantenerlos actualizados, con una arquitectura que ofrezca una separación segura de los componentes. Más información: Centro para la Seguridad en Internet CIS: Directrices de configuración y puntos de referencia.

Cómo mitigar este riesgo con API Management

Creación y separación de Entornos, definición de Permisos de Despliegue, uso de OAuth 2.0, creación y revocación de tokens, gestión centralizada y auditoría de eventos.

A7 - Cross-Site Scripting (XSS)

En los ataques XSS, se añaden scripts antes de enviar los datos al navegador y se ejecutan para secuestrar sesiones, redirigir a sitios maliciosos o desfigurar páginas.


¿Cómo prevenirlo?

Debe comprobar las solicitudes y las respuestas para asegurarse de que no contienen scripts. Lea más: Hoja de trucos para la prevención de XSS (Cross Site Scripting) - OWASP.

Cómo mitigar este riesgo con API Management

Aplicación específica del interceptor de protección contra amenazas XSS para la verificación de patrones maliciosos.

A8 - Deserialización insegura

Las aplicaciones distribuidas con oyentes públicos o las aplicaciones que dependen del mantenimiento del estado del cliente pueden probablemente adulterar los datos serializados.

¿Cómo prevenirlo?

No acepte objetos serializados de fuentes poco fiables o de serializaciones que sólo permitan tipos de datos primitivos. Si eso no es posible, implemente comprobaciones de integridad o criptografía en los objetos serializados para evitar la creación hostil de objetos o la adulteración de datos. También se pueden aplicar restricciones de tipo estricto durante la deserialización y antes de la creación del objeto. Otro punto es aislar el código de deserialización, así como los ejecutados en entornos de muy bajos privilegios o contenedores temporales. Es importante registrar en un log las excepciones y fallos de deserialización. Restringir o monitorizar la conectividad de entrada y salida de los contenedores o servidores que deserializan y configurar alertas para los casos en los que un usuario realice constantemente la deserialización. Leer más: Deserialization Cheat Sheet - OWASP.

Cómo mitigar este riesgo con API Management

Defina listas blancas para fuentes fiables, cree registros específicos para cada etapa del funcionamiento de las API, realice el seguimiento de las llamadas y configure las alertas.

A9 - Uso de componentes con vulnerabilidades conocidas

El atacante puede identificar los componentes vulnerables a través del escaneo o del análisis manual.

¿Cómo prevenirlo?

Utilizar herramientas para preparar un inventario de versiones y dependencias de componentes (del lado del servidor y del lado del cliente). Supervise las vulnerabilidades de los componentes desde fuentes públicas como NVD y utilice software para el análisis automático. Además, es importante desactivar los componentes que no se vayan a utilizar y aplicar actualizaciones y parches de fuentes oficiales para evitar vulnerabilidades que puedan ser exploradas. Más información: Base de Datos Nacional de Vulnerabilidades - NVD.

Cómo mitigar este riesgo con API Management

Aplique el interceptor de condiciones de coincidencia de cadenas para validar las llamadas a las URL con vulnerabilidades conocidas.

A10 - Registro y supervisión insuficientes

El registro incorrecto de los fallos, la falta de alertas y el bloqueo permiten al atacante seguir probando las vulnerabilidades hasta que una de ellas sea explorable.

¿Cómo prevenirlo?

Utiliza formatos ampliamente utilizados como REST, GraphQL y JSON y aplica los mecanismos de seguridad para garantizar una comunicación segura, un fuerte esquema de autenticación y control de acceso, además de las protecciones contra todo tipo de inyecciones. Leer más: Logging Cheat Sheet - OWASP.

Cómo mitigar este riesgo con API Management

Habilitar el rastreo de llamadas y el interceptor de registros, que puede aplicarse en las etapas de procesamiento de las API, la configuración de alertas y los paneles personalizados.

Plataforma API de Sensedia - Seguridad para sus APIs y Backend

La soluciónFull Life Cycle API Managementde Sensedia fue clasificada como Visionary por Gartner y como Strong Performer por Forrester y ofrece una serie de mecanismos de protección y análisis de sus APIs y de su backend, ofreciendo herramientas para la optimización de recursos y para el compromiso de desarrollo, además de consultoría para la construcción segura de estrategias y arquitecturas digitales basadas en microservicios.

¿Quiere saber más sobre cómo proteger sus APIs y su backend?

Hablemos de ello. Deje su mensaje y hable con nuestros expertos

Inicie su transformación con nosotros

Sensedia está especializada en soluciones de arquitectura basada en eventos, con experiencia desde la creación de estrategias hasta su implementación.

Su arquitectura digital es más integrada, ágil y escalable.

Acelere la entrega de sus iniciativas digitales a través de APIs, Microservicios e Integraciones menos complejas y más eficientes que impulsen su negocio.