En los ecosistemas digitales de las universidades las interfaces de programación de aplicaciones (API) son esenciales. Al permitir el intercambio de datos sin problemas, facilitan el funcionamiento conjunto de tecnologías, sistemas, aplicaciones y procesos muy heterogéneos entre sí. Debido a ello se han convertido en un blanco preferido de los hackers. Por ende, es muy importante tomar medidas para reforzar la ciberseguridad de las API.
Lo anterior queda aún más claro si se piensa que las API pueden permitir el acceso directo al núcleo de las aplicaciones y no siempre están sujetas a medidas de seguridad lo suficientemente estrictas.
En el caso de la computación en la nube, los riesgos se incrementan. Dado que la información fluye entre servidores que pueden tener configuraciones de seguridad dispares, los datos quedarían expuestos con mayor facilidad. Una vulnerabilidad puede conducir a exfiltraciones o secuestro de datos. Es por ello tan necesaria la ciberseguridad de las API.
Ahora bien, lograr el equilibrio entre la ciberseguridad de las API y su funcionalidad es una tarea compleja. Sin embargo, existen criterios útiles para dicho propósito.
Autenticar para mayor ciberseguridad de las API
●Establecer controles sólidos de acceso e identidades. Esto puede complicarse porque al establecer la comunicación entre programas, las API no siempre demandan confirmar la identidad del usuario. Por supuesto, eso pone en riesgo la ciberseguridad de las API.
Para evitarlo pueden utilizarse herramientas como el lenguaje de marcado de aserción de seguridad (SAML) u Open Authorization (OAuth). Inclusive, cuando las API son de acceso abierto en la Internet, conviene establecer un paso extra de autenticación mediante tokens, por ejemplo. Además, se debe controlar el acceso a los datos según el rol del usuario.
Tales procedimientos pueden acelerarse y asegurarse mediante el uso de un microservicio de autorización dedicado. Eso reduce el riesgo de que agentes maliciosos se hagan de información o sistemas confidenciales.
Por otra parte, se debe evitar que las claves utilizadas por los desarrolladores para la autenticación entre servicios se expongan en el código fuente o en repositorios Git. También conviene que se utilicen claves distintas para cada entorno (desarrollo, prueba y producción) y que aquellas deban renovarse periódicamente.
Beneficios vs límites
●Cifrar las llamadas a las API. Todas las llamadas deben ejecutarse mediante túneles de HTTP sobre TLS/SSL (HTTP/S), lo cual contribuye a la ciberseguridad de las API al bloquear la mayoría de los ataques de intermediarios. Conviene establecer esta política aun si se piensa que las redes universitarias son seguras.
En el caso de la computación en la nube es más relevante, pues la información viaja entre centros de datos a través de la Internet. Si se utilizan servicios en la nube para implementaciones temporales o para pruebas es necesario establecer políticas que refuercen la ciberseguridad de las API.
Por otro lado, en el caso de las API heredadas suelen existir puntos ciegos. Se trata de recursos cuya existencia se ignora, por lo que se dice que están “en la sombra”. Pueden ser puntos de acceso obsoletos que nunca se eliminaron o bien, nuevos puntos de acceso sin documentar. Si las API continúan en uso, se debe comprobar que tengan una capa de cifrado y, si no es así, añadirla.
●Limitar la velocidad y el número de solicitudes. Lo primero puede atajar los intentos de un hacker de descargar grandes conjuntos de datos, pues da más tiempo para que las soluciones de seguridad identifiquen el ataque. Lo segundo ayuda a frenar las amenazas automatizadas, como los ataques DDoS ejecutados por bots.
Para evitar inconvenientes a las aplicaciones y usuarios legítimos sin comprometer la ciberseguridad de las API, las limitaciones pueden vincularse a autenticación robusta.
●Vincular a las API con las aplicaciones de seguridad. En línea con lo anterior, las API deben reportar las solicitudes que reciben a las herramientas de monitoreo, seguridad y gestión de eventos. Dichos datos permiten entonces detectar anomalías o conductas inusitadas para identificar con oportunidad ataques o fallas en los sistemas.
Usuarios finales y API
De cara a los usuarios finales, las API también ofrecen beneficios, pues les brinda mejores experiencias. Esto es, en vez de lidiar con interfaces de usuario distintas para cada aplicación, les basta con ingresar a un solo portal web. A partir él pueden acceder a los recursos de la universidad que necesiten de manera sencilla y rápida, sin frustraciones.
Mediante las API es posible mantener el flujo de datos sin afectaciones ante eventos como actualizaciones de software o cambios de medio de almacenamiento. Inclusive, dado que automatizan las comunicaciones entre aplicaciones, facilitan la toma de decisiones.
Así, por ejemplo, es más sencillo determinar la situación específica de cada estudiante y si éste cumple con los requisitos para actividades como inscribirse a un periodo o materia. Y para preservar tales ventajas se requiere fortalecer la ciberseguridad de las API.