Llegamos a ustedes gracias a:



Reportajes y análisis

Lo que necesita saber sobre la lista de API Security Top 10

[06/01/2020] El Proyecto de Seguridad de Aplicaciones WebAbiertas (OWASP, por sus siglas en inglés) conocido por su lista de las 10 principales vulnerabilidades en aplicaciones web, publicó la versión candidata a lanzamiento de su lista API Security Top 10 de fines de septiembre del 2019. Es un buen momento para prestar atención a la seguridad de las API, ya que algunas filtraciones de alto perfil han involucrado a APIs en los últimos meses -especialmente el caso de Capital One.

Filtraciones habilitadas por APIs en las noticias

Según un informe publicado por Akamai, a principios de este año, las llamadas a las API ahora representan el 83% de todo el tráfico de la web. Según un informe reciente de Gartner, las aplicaciones habilitadas para la web ya tienen el 40% de su superficie de ataque en forma de APIs, en lugar de interfaces de usuario. Para el 2021, las APIs representarán el 90% de la superficie de ataque. Para el 2022, según Gartner, el mal uso de las API será los vectores de ataque más frecuente.

Ya han comenzado los problemas. Los ejemplos recientes de organizaciones que, debido a filtraciones relacionadas con APIs, figuraron en las noticias incluyen a McDonald's, Facebook, Twitter, Panera Bread, T-Mobile, Instagram, Salesforce, Snapchat y el Servicio de Impuestos Internos de Estados Unidos.

El nombre más importante de todos es Capital One, donde la información sobre más de 100 millones de personas se vio comprometida este verano [septentrional]. Allí, un problema de configuración con el firewall de la aplicación web permitió el acceso a los tokens de las API, afirma Johannes Ullrich, decano de investigación en el Instituto de Tecnología SANS y director del Centro de Tormentas de Internet del instituto. Esto se vio agravado por controles de acceso insuficientes por parte de las APIs de AWS. "Los sistemas de autenticación utilizados por las APIs de Amazon no estaban restringidos correctamente, afirma. "Si tiene ese problema, es fácil de encontrar y fácil de explotar -y esa es una combinación peligrosa.

Candidato de lanzamiento de API Security Top 10

API1 - Problemas en la autorización de nivel de objeto: Las APIs tienden a exponer terminales que manejan identificadores de objetos, creando un amplio problema de control del acceso a nivel de la superficie de ataque. Se debe considerar la realización de verificaciones de autorización a nivel de objeto para cada función que accede,utilizando input del usuario, a una fuente de datos.

API2 - Problemas en la autenticación: A menudo, los mecanismos de autenticación se implementan incorrectamente, lo que permite a los atacantes comprometer los tokens de autenticación o explotar las fallas en la implementación para asumir las identidades de otros usuarios de manera temporal o permanente.

API3 - Exposición excesiva de datos: Los desarrolladores tienden a exponer todas las propiedades del objeto sin tener en cuenta su sensibilidad individual, confiando en que los clientes realicen el filtrado de los datos antes de mostrarlo al usuario.

API4 - Escasez de recursos y limitación de velocidad: A menudo, las APIs no imponen ninguna restricción sobre el tamaño o la cantidad de recursos que puede solicitar el cliente/usuario. Esto no solo puede afectar el rendimiento del servidor API, lo que lleva a la denegación de servicio, sino que también deja la puerta abierta a problemas de autenticación como el uso de la fuerza bruta.

API5 - Problemas de autorización de nivel de función: Las complejas políticas de control de acceso con diferentes jerarquías, grupos y roles, y una separación poco clara entre las funciones administrativas y regulares, tienden a generar fallas de autorización, lo que permite a los atacantes obtener acceso a los recursos o funciones administrativas de otros usuarios.

API6 - Asignación masiva: La vinculación de datos proporcionados por el cliente a modelos de datos, sin el filtrado de propiedades adecuado, permite a los atacantes modificar las propiedades de los objetos que no deberían.

API7 - Configuración incorrecta de seguridad:Generalmente, la configuración incorrecta de seguridad es el resultado de configuraciones predeterminadas inseguras, configuraciones incompletas o ad hoc, almacenamiento en la nube abierta, encabezados HTTP mal configurados, métodos HTTP innecesarios, uso compartido permisivo de recursos de origen cruzado (CORS, por sus siglas en inglés) y mensajes de error detallados que contienen información sensible.

API8 - Inyección: Las fallas de inyección, como SQL, NoSQL o inyección de comandos, se producen cuando se envían datos no confiables a un intérprete como parte de un comando o consulta. Los datos maliciosos del atacante pueden engañar al intérprete para que ejecute comandos no deseados, o acceda a los datos sin la autorización adecuada.

API9 - Gestión de activos inadecuada: Las APIs tienden a exponer más terminales que las aplicaciones web tradicionales, lo que hace que la documentación adecuada y actualizada sea muy importante. Los hosts adecuados y el inventario de versiones de API implementadas también juegan un papel importante para mitigar problemas como la obsolescencia de las versiones de las APIs y la exposición de los terminales de depuración.

API10 - Registro y monitoreo insuficientes: El registro y monitoreo insuficientes, junto con la integración faltante o ineficaz con la respuesta a incidentes, les permite a los atacantes seguir atacando sistemas, mantener la persistencia, pasar a más sistemas para manipular, extraer o destruir datos.

Fuente: OWASP

Con frecuencia, las empresas tienen problemas para bloquear sus APIs, afirma Ullrich. Un ejemplo notable fue el del Nissan Leaf, donde los atacantes podían averiguar el historial de manejo del automóvil y el nivel de batería, y encender su aire acondicionado simplemente sabiendo el número VIN. "La autenticación a menudo se hace mal, afirma. 

Desafortunadamente, es menos probable que los problemas de autenticación de APIs sean tan directos como aquellos con interfaces de usuario. "Solo debido a que cosas como la autenticación están un poco más ocultas que en una aplicación estándar basada en navegador, no significa que no sean explotables. De hecho, son más fáciles de explotar, y eso es lo que lo hace tan peligroso.

Lo que hace que las vulnerabilidades basadas en APIs sean particularmente difíciles es que las APIs son difíciles de cambiar. En una aplicación web tradicional, diseñada para ser utilizada por humanos, solucionar los problemas de vulnerabilidad es tan simple como actualizar el formulario. "Podría cambiar los modelos de datos y las páginas 10 veces al día, afirma Pieter Danhieux, instructor del Instituto SANS y CEO de Secure Code Warrior.

Los cambios en la página web pueden dificultar que los web scrapers busquen datos o que los bots intenten fingir que son personas, pero los seres humanos se adaptan fácilmente cuando, por ejemplo, los campos se mueven en una pantalla o la lógica de negocio cambia en una página web.

Sin embargo, las API están diseñadas para integrarse con otras aplicaciones. "Si expone una API en línea, las personas la usarán y probablemente construirán sobre ella, afirma Danhieux. Una vez que las conexiones están hechas, cambiar la API puede romper esas conexiones. "Entonces, si detecta una vulnerabilidad de seguridad en una etapa posterior, corregir la vulnerabilidad puede convertirse en una decisión de negocio difícil, afirma. "La organización debe sopesar el costo y el riesgo de hacer una reparación de seguridad versus interrumpir el soporte al cliente.

Superposición con el Top 10original del OWASP

En muchos sentidos, la lista API Security Top 10 del OWASP se parece mucho a la lista de vulnerabilidades de aplicaciones web. "No existe mucha diferencia entre lo que está en esta lista y lo que ha estado en el Top 10 del OWASP en los últimos años, afirma Jeff Williams, CTO y cofundador de Contrast Security, expresidente global del OWASP y autor del OWASP Top 10original. "Es todo lo mismo.

Eso no es malo, afirma Williams. "Es un trabajo bastante bueno. Se trata realmente de crear conciencia. La lista original del OWASP, por ejemplo, ha generado mucha conciencia. "Muchas personas definitivamente le prestan atención, afirma. "Pero han pasado 20 años, y no hemos movido mucho la barra. Es una imputación muy fuerte de todo lo que hemos hecho en seguridad.

Mientras tanto, la seguridad de las API es diferente de la seguridad web en muchos aspectos clave, afirma Williams. "Ha habido una transición y los riesgos han cambiado, afirma. Mientras tanto, los escáneres tradicionales no funcionan muy bien en las APIs. "El análisis estático y el análisis dinámico, que se han utilizado en aplicaciones web, no funcionan en las API.

Williams afirma que las herramientas dinámicas tienen problemas porque es difícil determinar qué campos poner en el documento JSON o XML para enviar a la API, mientras que las herramientas estáticas tienen problemas para seguir los flujos de datos porque son más complejos.

También existen diferencias en las principales vulnerabilidades. Una está en el tema de las asignaciones masivas. "La asignación masiva ocurre cuando su API toma algunos datos, generalmente un documento JSON o documento XML, los analiza y completa el campo en un objeto dentro de la aplicación, afirma Williams. El problema es cuando los desarrolladores agregan más campos al objeto de los que se supone que deberían ingresar a la API. "Digamos que es un objeto de usuario y los datos que ingresan son su nombre, dirección y número de teléfono, afirma Williams. "Pero en el objeto, también existen campos privados como el número de Seguro Social y la contraseña.

Los atacantes pueden abusar de eso, por ejemplo, enviando datos nuevos para el campo de contraseña. Si no se filtra, la aplicación podría sobrescribir la contraseña del usuario, permitiendo que el atacante se haga cargo de la cuenta. "Es un ataque raro, afirma Williams. "Sin embargo, es realmente genial.

Otra área en la que la seguridad de las API difiere de la seguridad de las aplicaciones web tradicional es la autenticación y la autorización. "Algunos matices únicos aparecen cuando se habla de mecanismos de autenticación, porque las API tratan la autenticación de manera un poco diferente a las aplicaciones web, afirma Mark Wireman, líder especialista de Deloitte Cyber, "y no solo la autenticación, sino la autorización, esa es la principal preocupaciónde los clientes con los que trato.

Para las aplicaciones web, generalmente el acceso se da a seres humanos reales, y parte del proceso de autenticación y autorización es garantizar que las personas sean, de hecho, personas y no robots, y que sean quienes afirman ser; pero la API está específicamente diseñada para ser utilizada por herramientas automatizadas.

¿La lista API del OWASP va lo suficientemente lejos?

Para algunos expertos en seguridad, la nueva lista API Security Top 10 del OWASP es demasiado genérica para ser muy útil. "No veo que estén enfrentando todos los problemas que las organizaciones realmente enfrentan, afirma Wireman. El OWASP podría hacer más para proporcionar orientación prescriptiva sobre cómo solucionar problemas, afirma.

Para las principales organizaciones que establecen estándares, existe una falta de orientación respecto a las API, afirma Wireman. Por ejemplo, la lista del OWASP hace referencia a un estándar NIST -Estrategias de seguridad para sistemas de aplicación basados en microservicios- pero ese estándar se retiró en agosto. "Creo que NIST está luchando con la forma de comunicarse adecuadamente con la industria, especialmente en torno a las API, afirma. "Creo que el OWASP está en una buena posición para ayudar a acelerar esta preocupación, y no solo desde el tipo de perspectiva Top 10 del OWASP. La lista podría haber incluido los riesgos de los componentes de terceros y el concepto central de "confiar, pero verificar, afirma.

Otro problema de seguridad exclusivo de las API, que no figura en la lista deAPI Security Top 10 del OWASP, es el de no proteger las aplicaciones contra la ingeniería inversa. En un informe publicado esta primavera [septentrional] por Aite Group, la analista de ciberseguridad, Alissa Knight, pudo realizar ingeniería inversa del 97 % de las aplicaciones móviles de 30 instituciones financieras importantes en un promedio de ocho minutos y medio. Esto les permite a los atacantes descubrir vulnerabilidades de host, claves y otros secretos.

"Las vulnerabilidades de las API fueron asombrosas, afirma Chad McDonald, vicepresidente de experiencia del cliente en Arxan, proveedor de ciberseguridad que patrocinó el informe. Eso incluye URLs de APIs codificadas, claves, tokens y certificados, afirma. "Esto es como un dueño de casa que deja su llave debajo del tapete de la puerta junto con el código de acceso para la alarma de la casa.

Cómo usar el API Security Top 10 del OWASP

Al igual que con la lista original de los Top 10 del OWASP, existen varias maneras en que las empresas pueden usar la lista de API Security Top 10. Primero, como parte de una estrategia defensiva, verifique que las pruebas de penetración automáticas y manuales afecten todo. "El escaneo de APIs es un poco desafiante en la industria en este momento, afirma Wireman de Deloitte Cyber. "Pero, como mínimo, puede usar fuzzingy otras técnicas para ayudar al menos a identificar algunos de estos problemas.

En segundo lugar, la lista se puede utilizar para mejorar la capacitación en seguridad para desarrolladores de APIs. Dado que,sin romper las conexiones con otras aplicaciones, las API son difíciles de reparar después del hecho, la seguridad debe ser un foco principal al inicio del proceso de desarrollo, afirma Danhieux del SANSInstitute. Las empresas deben mantener una formación y una conciencia adecuada lo antes posible, afirma.

La nueva lista de API del OWASP destaca las mayores amenazas, como la autenticación, fallas de lógica de negocios y exposición excesiva de datos. "Este conocimiento es vital para desplegar las estrategias correctas que eliminarán las vulnerabilidades antes de que se generen daños graves, afirma Danhieux.

Finalmente, la lista de API Security Top 10 puede formar parte de la planificación de seguridad de las empresas. "Los CISO definitivamente deberían estar al tanto de los elementos de esta lista, afirma Wireman, "pero creo que esto probablemente sea demasiado para el frenesí de una discusión a nivel de directorio. Definitivamente, el concepto debería subir hasta el nivel del directorio. Dóndeencajan las APIs en la organización, la importancia de lo que aportan al negocio y por qué es importante asegurar las API.