Muerte por mil fugas de datos: cómo las API abruman la seguridad

Publicado: 2022-06-14

Las superficies de ataque de hoy son más amplias que nunca, las vulnerabilidades se filtran desde las aplicaciones y habitan las interfaces de programación de aplicaciones flexibles que mantienen el mundo tecnológico en movimiento.

Desafortunadamente, aunque la mayoría conoce las amenazas de las aplicaciones web tradicionales, las API siguen siendo un área turbia de seguridad. El gigantesco panorama de amenazas actual exige un WAF en la nube competente e incluso una inversión en WAAP.

¿Qué es una API?

Las API son el pegamento que mantiene unida la experiencia de navegación moderna. Las API simplifican el uso y el desarrollo de software al permitir que las aplicaciones web individuales intercambien datos. Hoy en día, hacer una solicitud a un servidor a través de una aplicación es manejado por una API relevante, gracias al hecho de que las API implementadas correctamente son muy seguras.

En lugar de que el servidor esté directamente expuesto a su información, su dispositivo y la API correspondiente deben compartir pequeños paquetes de datos, comunicando solo lo necesario.

Agile y API: doble problema de seguridad

Ágil es la palabra de moda empresarial de antaño: describe una forma de producción que amplifica la idea empresarial de "producto mínimo viable". El objetivo de Agile es impulsar el producto mínimo en cada etapa; en lugar de llamar a un producto 'terminado', simplemente se incluye en otra ronda de corrección de errores y mejoras.

Aunque este parche perpetuo parece fantástico para la seguridad (¿soporte de software constante? ¡Genial!) La realidad económica de la producción de software significa que la cantidad de API se vuelve rápidamente difícil de manejar.

Dado que los equipos de desarrollo se mueven rápidamente, las API rara vez se documentan de forma exhaustiva. Esto hace que sea increíblemente difícil observar los mecanismos internos de una aplicación y comprender qué API hacen qué. También hace que la seguridad sea infinitamente más difícil, ya que los propios equipos de desarrollo no conocen el tamaño real de su inventario de API. Esto coloca a la ciberseguridad como una prioridad baja; siempre reactivo y nunca proactivo.

API pasadas por alto

Cuando se menciona la seguridad de las aplicaciones, lo primero que viene a la mente son los pesos pesados ​​de la seguridad. Ataques como cross-site-scripting; La inyección SQL y los ataques DDoS son increíblemente conocidos. Las aplicaciones en sí mismas a menudo están bien protegidas por soluciones plug-and-play, como los firewalls de aplicaciones web que patrullan el perímetro.

Se presta poca atención a las API, en detrimento de la organización inconsciente y sus clientes. Tomemos el ejemplo de una vulnerabilidad de API que surgió en el sistema de Uber.

Cuando un conductor de Uber se une a Uber a través de un enlace de referencia, inicia la aplicación e ingresa el código de referencia. Al presionar el botón Intro, el navegador de la aplicación se comunica con el host de la API "bonjour.uber.com". A partir de ahí, bonjour.uber recibe el parámetro ID de usuario y devuelve detalles sobre el conductor a la aplicación del usuario, listo para ingresar en la siguiente pantalla de consentimiento.

Sin embargo, esta API fue declarada culpable de dos importantes violaciones de seguridad. El primero fue la Autorización de nivel de objeto roto (BOLA). La API no verificó que la identificación del usuario coincidiera con su parámetro de identificación; por lo tanto, era posible acceder a los datos de otros usuarios simplemente cambiando la identificación del usuario.

El segundo problema fue la exposición excesiva de datos. La respuesta de la API, para devolver los detalles del usuario, agrupó toda esa información en un lote que contenía todos los detalles del usuario. Esto significó que la API devolvió información que el cliente no necesitaba explícitamente, violando un pilar importante de las mejores prácticas de seguridad cibernética.

Ahora considere que la organización promedio depende de más de 15 500 API, y la escala de riesgo comienza a aparecer. Afortunadamente, la API de Uber se conectó antes de que ocurriera un daño importante; la siguiente empresa no tuvo tanta suerte.

El problema del pelotón

Más de 3 millones de suscriptores disfrutan de la marca de ejercicios en el hogar de Peloton. Las clases de acondicionamiento físico en vivo son un importante punto de venta, aunque si no está dispuesto a compartir sus datos médicos con otros asistentes a la clase, entonces es posible configurar su cuenta de pelotón como privada.

Desafortunadamente, una serie de vulnerabilidades de API vieron la exposición de estos datos a usuarios no autorizados. La información de los asistentes a la clase podría extraerse a gran escala, ya que un punto final de API no pudo validar a un usuario solicitante. Esto permitió a los atacantes no autorizados obtener el nombre de usuario, la ubicación, la identificación del entrenamiento, el sexo y la edad de los usuarios de Peloton.

Las API han sido la causa de filtraciones de datos de alto perfil durante años. Los constantes escándalos de datos de Facebook a lo largo de 2018 y 2019 vieron una violación tras otra, principalmente a través de API de desarrolladores de terceros. Un ejemplo fue la API de Grupos; los desarrolladores que trabajan en una aplicación de administración de redes sociales B2B pueden acceder libremente a los nombres y más información personal de los miembros del grupo. Aunque esta aplicación de administración de redes sociales estaba destinada a ayudar a los administradores de grupos a administrar sus grupos de manera más efectiva, Facebook tuvo que eliminarla junto con su API.

Estos escándalos de datos culminaron en 2021, cuando se filtraron los nombres, números de teléfono e ID de usuario de Facebook de una base de datos del mercado negro de más de 533 millones de usuarios de Facebook.

Prevención de fugas de API

El Proyecto de seguridad de aplicaciones web abiertas (OWASP) publica regularmente las vulnerabilidades de aplicaciones web más graves y extendidas para vigilarlas. La creciente amenaza a la seguridad que representan las API es lo suficientemente grave como para justificar su propia lista de los diez principales de OWASP, que está constantemente encabezada por la Autorización de nivel de objeto roto.

Afortunadamente, proteger sus API, además de exigir un ciclo de desarrollo más lento, sigue de cerca la seguridad de su organización en general. Su primer punto de llamada sería un firewall de aplicaciones web (WAF) decente. Esta solución monitorea los perímetros de sus aplicaciones, evitando que las puertas de enlace API sean explotadas por vulnerabilidades importantes.

La protección de aplicaciones web y API (WAAP) lleva las cosas un paso más allá. Se encuentra completamente en el límite público de una aplicación, analizando todo el tráfico entrante. Al monitorear patrones de tráfico y solicitudes legítimos, los WAAP son herramientas de seguridad altamente especializadas diseñadas específicamente para proteger las API.

Mientras que WAAP es un sistema defensivo a nivel de punto final, las soluciones de autoprotección de aplicaciones en tiempo de ejecución (RASP) envuelven aplicaciones web específicas. Una solución RASP, distinta de WAF, también tiene información sobre el funcionamiento interno y los comportamientos de su aplicación. De esta forma, si se utiliza una API como punto de apoyo en un ataque y se solicita más información de la que es factible, un RASP puede detener un ataque de manera proactiva.

Con una gran variedad de opciones de protección de API disponibles, proteger sus aplicaciones y su organización nunca ha sido tan fácil.