Optimice las API con buenas prácticas de seguridad

6 de noviembre de 2023

5 minutos de lectura

Las empresas siguen avanzando hacia infraestructuras de TI digitalizadas y basadas en la nube. Los sistemas digitales permiten una flexibilidad, escalabilidad y velocidad sin precedentes en comparación con sus homólogos locales más tradicionales.

Sin embargo, las infraestructuras digitales dependen en gran medida de las interfaces de programación de aplicaciones (o API) para facilitar las transferencias de datos entre las aplicaciones de software y entre las aplicaciones y los usuarios finales. Las API, que son el marco de la mayoría de las aplicaciones web y móviles, están orientadas a Internet y, por tanto, son vulnerables a los ataques. Además, dado que muchas API almacenan y transfieren datos confidenciales, requieren protocolos de seguridad sólidos y prácticas de monitorización atentas para evitar que la información caiga en las manos equivocadas.

Explicación de la seguridad de la API

La seguridad de las API se refiere al conjunto de prácticas y productos que una organización utiliza para prevenir los ataques maliciosos y el uso indebido de las API. Dada la complejidad de los ecosistemas de API, el crecimiento de las plataformas IoT y el gran volumen de API que utilizan las organizaciones (alrededor de 20 000 de media [enlace externo a ibm.com]), controlar la seguridad de las API es cada vez más difícil y necesario.

Las API se sitúan entre los recursos informáticos de una organización y los desarrolladores de software de terceros, y entre los recursos informáticos y las personas, proporcionando datos e información en los endpoints del proceso. Es en estos endpoints donde los datos de la empresa y de los usuarios son vulnerables a diversos tipos de ataques y riesgos de seguridad, entre ellos:

  • Ataques basados en la autenticación: en los que los hackers intentan adivinar o robar las contraseñas de los usuarios o se aprovechan de procesos de autenticación débiles para acceder a los servidores API.
  • Ataques de intermediario: en los que un ciberdelincuente roba o modifica datos (por ejemplo, credenciales de inicio de sesión o información de pago) interceptando solicitudes y/o respuestas entre la API.
  • Inyecciones de código/ataques de inyección: donde el hacker transmite un script dañino (para insertar información falsa, eliminar o revelar datos, o interrumpir la funcionalidad de la aplicación) a través de una solicitud de API, explotando las vulnerabilidades de los intérpretes de API que leen y traducen los datos.
  • Ataque de denegación de servicio (DoS): estos ataques envían decenas de peticiones API para colapsar o ralentizar el servidor. Los ataques DoS a menudo pueden provenir de múltiples atacantes simultáneamente en lo que se denomina un ataque de denegación de servicio distribuido (DDoS).
  • Ataques de autorización de nivel de objeto rota (Broken Object Level Authorization, BOLA): se producen cuando los ciberdelincuentes manipulan identificadores de objetos en los endpoints de la API para obtener acceso no autorizado a los datos del usuario. Este problema surge cuando un endpoint de la API permite a un usuario acceder a registros a los que normalmente no debería. Los ataques BOLA son especialmente comunes, porque implementar comprobaciones de autorización adecuadas a nivel de objeto puede ser difícil y llevar mucho tiempo.

Estos y otros tipos de ciberataques son prácticamente inevitables en el dinámico panorama de TI actual. Además, con la proliferación de los ciberdelincuentes y su acceso a tecnologías de piratería más sofisticadas, la aplicación de protocolos de seguridad de las API será cada vez más crucial para la seguridad de los datos empresariales.

Buenas prácticas de seguridad de API

Las API permiten a las empresas agilizar la integración entre sistemas y el intercambio de datos, pero esta interconectividad conlleva una mayor exposición a los ciberataques. De hecho, la mayoría de los hackeos de aplicaciones móviles y web atacan las API para acceder a los datos de la empresa o de los usuarios. Las API pirateadas o comprometidas pueden provocar vulneraciones de datos catastróficas e interrupciones del servicio que pongan en peligro datos personales, financieros y médicos confidenciales.

Afortunadamente, los avances en la seguridad de las API permiten prevenir o mitigar el impacto de los ciberataques de actores malintencionados. Estas son 11 prácticas y programas de seguridad de API comunes que las organizaciones pueden aprovechar para proteger los recursos informáticos y los datos de los usuarios:

  1. Pasarelas API. Instalar una pasarela API es una de las formas más sencillas de restringir el acceso a la API. Las pasarelas crean un único punto de entrada para todas las solicitudes de API y actúan como capa de seguridad aplicando políticas de seguridad, ayudando a estandarizar las interacciones de la API y ofreciendo funciones como la transformación solicitud/respuesta, el almacenamiento en caché y el registro.
  2. Autenticación y autorización sólidas. El uso de protocolos de autenticación estándar del sector (como OAuth 2.0, claves API, JWT, OpenID Connect, etc.) garantiza que sólo los usuarios autenticados puedan acceder a las API empresariales. Además, la aplicación de controles de acceso basados en funciones impide que los usuarios accedan a recursos que no están autorizados a utilizar.
  3. Protocolos de cifrado. La conexión SSL o los protocolos de cifrado TLS, como HTTP Secure (HTTPS), ayudan a los equipos a proteger la comunicación entre la API y las aplicaciones del cliente. HTTPS cifra todas las transmisiones de datos de la red, lo que impide el acceso no autorizado y la manipulación. Cifrar los datos en reposo, como las contraseñas almacenadas, puede proteger aún más los datos sensibles mientras están almacenados.
  4. Firewalls de aplicaciones web (WAF). Los WAF proporcionan una capa adicional de protección para las API de las empresas, especialmente frente a los ataques habituales a las aplicaciones web, como los ataques de inyección, los ataques de secuencias de comandos en sitios cruzados (XSS) y la falsificación de solicitudes en sitios cruzados (CSRF). El software de seguridad WAF puede analizar las solicitudes API entrantes y bloquear el tráfico malicioso antes de que llegue al servidor.
  5. Validación de datos. Del mismo modo que las personas filtran las llamadas telefónicas y evitan abrir archivos adjuntos de remitentes desconocidos, las organizaciones deberían filtrar todo lo que aceptan sus servidores y rechazar cualquier transmisión de datos o contenidos voluminosos (incluidos los procedentes de consumidores). Utilizar la validación de esquemas XML o JSON y confirmar los parámetros también puede ser útil para prevenir ataques.
  6. Limitación de velocidad. Protege los recursos contra los ataques de fuerza bruta y de denegación de servicio restringiendo el número de peticiones que un usuario o una dirección IP puede realizar en un determinado periodo de tiempo. Los límites de velocidad garantizan que las solicitudes se procesen rápidamente y que ningún usuario pueda saturar el sistema con solicitudes perjudiciales.
  7. Pruebas de seguridad. Las pruebas de seguridad requieren que los desarrolladores envíen solicitudes estándar mediante un cliente de API para evaluar la calidad y la exactitud de las respuestas del sistema. La realización periódica de pruebas de seguridad de las API (por ejemplo, pruebas de penetración, pruebas de inyección, pruebas de autenticación de usuarios, pruebas de manipulación de parámetros, etc.) para identificar y abordar las vulnerabilidades ayuda a los equipos a corregirlas antes de que los atacantes las exploten.
  8. Monitorización y aplicación de parches a las API. Como ocurre con cualquier aplicación o sistema informático, la monitorización y el mantenimiento periódicos son esenciales para mantener la seguridad de la API. Esté atento a cualquier actividad inusual en la red y actualice las API con los últimos parches de seguridad, correcciones de errores y nuevas características. La monitorización también debe incluir el conocimiento y la preparación para las vulnerabilidades comunes de las API, como las incluidas en la lista de las 10 principales del Open Web Application Security Project (OWASP).
  9. Auditoría y registro. Mantener registros de auditoría completos y actualizados (y revisarlos a menudo) permite a las organizaciones realizar un seguimiento de todos los accesos y usos de datos de los usuarios, y registrar cada solicitud de API. Estar al tanto de la actividad de las API puede resultar complicado, pero la implantación de procedimientos de auditoría y registro puede ahorrar tiempo cuando los equipos necesiten volver sobre sus pasos tras una vulneración de datos o un incumplimiento de la normativa. Y, puesto que proporcionan un registro del comportamiento normal de la red, los registros de auditoría también pueden facilitar la detección de anomalías.
  10. Cuotas y regulación. Al igual que la limitación de velocidad, la regulación restringe el número de peticiones que recibe su sistema. Sin embargo, en lugar de operar a nivel de usuario o cliente, la regulación funciona a nivel de servidor/red. Los límites y cuotas de regulación protegen el ancho de banda del sistema backend de la API limitándola a un determinado número de llamadas o mensajes por segundo. Independientemente de las cuotas, es importante evaluar el volumen de llamadas al sistema a lo largo del tiempo, ya que un aumento del volumen puede indicar abuso y/o errores de programación.
  11. Control de versiones y documentación. Cada nueva versión del software API viene acompañada de actualizaciones de seguridad y correcciones de errores que subsanan las deficiencias de seguridad de las versiones anteriores. Y sin unas prácticas de documentación adecuadas, los usuarios pueden implantar accidentalmente una versión anticuada o vulnerable de la API. La documentación debe ser exhaustiva y coherente, e incluir parámetros de entrada, respuestas esperadas y requisitos de seguridad claramente establecidos.

Seguridad de IA y API

Entre las medidas de seguridad de las API existentes, la IA ha surgido como una herramienta nueva (y potencialmente poderosa) para reforzarlas. Por ejemplo, las empresas pueden aprovechar la IA para detectar anomalías en los ecosistemas de API. Una vez que un equipo ha establecido una línea de base del comportamiento normal de la API, puede utilizar la IA para identificar desviaciones del sistema (como patrones de acceso inusuales o solicitudes de alta frecuencia), señalar posibles amenazas y responder inmediatamente a los ataques.

Las tecnologías de IA también pueden permitir el modelado automatizado de amenazas. Utilizando datos históricos de API, la IA puede crear modelos de amenazas para predecir vulnerabilidades y amenazas antes de que los malos actores puedan explotarlas. Si una organización se enfrenta a un gran volumen de ataques basados en la autenticación, puede utilizar la IA para instalar métodos avanzados de autenticación de usuarios (como el reconocimiento biométrico), lo que dificultará a los atacantes el acceso no autorizado.

Además, las herramientas con IA pueden automatizar los protocolos de pruebas de seguridad de las API, identificando las lagunas y los riesgos de seguridad de forma más eficiente y eficaz que las pruebas manuales. Y a medida que crecen los ecosistemas de API, también pueden hacerlo los protocolos de seguridad basados en IA. La IA permite a las empresas monitorizar y proteger muchas API de manera simultánea, haciendo que la seguridad de las API sea tan escalable como las propias API.

Manténgase al tanto de la seguridad de las API con IBM

Nunca se insistirá lo suficiente en la importancia de la seguridad de las API. A medida que nos adentramos en la era de la transformación digital, la dependencia de las API no hará sino crecer, y las amenazas a la seguridad y los malos actores evolucionarán en la misma medida. Sin embargo, con herramientas de gestión de API como IBM API Connect, las organizaciones pueden garantizar que sus API estén gestionadas, sean seguras y cumplan la normativa a lo largo de todo su ciclo de vida.

La seguridad de las API nunca será una tarea puntual, sino que las empresas deben verla como un proceso continuo y dinámico que requiere vigilancia, destreza y apertura a nuevas tecnologías y soluciones. Mediante una combinación de prácticas tradicionales de seguridad de API y enfoques más recientes basados en IA, como Noname Advanced API Security for IBM, las empresas pueden garantizar que los recursos de TI permanezcan lo más seguros posible, protegiendo tanto al consumidor como a la empresa.

 

Autor

Chrystal R. China

Writer, automation & ITOps