La seguridad en las tecnologías de la información (TIC) es cada vez más importante. El mundo actual tiene particularidades que hacen obligatorio plantearse la seguridad como un pilar fundamental en cualquier proyecto TIC.

Por un lado, vivimos en un mundo hiperconectado, donde infinidad de dispositivos (smartphones, tablets, smartwatches, PCs…) están conectados a una red común, Internet. Por otro lado, estos dispositivos y sus aplicaciones generan un tráfico constante de datos que son enviados a la red. Muchos de esos datos son personales: emails, redes sociales, mensajería instantánea, acceso a cuentas bancarias, etc. Esto sitúa nuestros datos en un entorno compartido con muchos peligros potenciales: delincuentes informáticos, redes de bots, virus, aplicaciones espía, etc.  Así pues, resulta evidente la importancia de la seguridad.

Desde Hi-Impact lo tenemos muy claro, y por eso centramos buena parte de nuestros esfuerzos en ofrecer una plataforma tecnológica cloud lo más segura posible. Para ello, no dejamos de actualizar nuestros conocimientos con el objetivo de estar siempre a la última en la materia.

Buena muestra de esfuerzo formativo en el campo de la seguridad fue nuestra presencia en el auditorio de la Telefonica Flagship Store, donde el grupo de (ApiAddicts) preparó una presentación para hablar de Seguridad en las Apis desde un punto de vista developer.

Marco Antonio Sanz, fundador de CloudAppi, explicó que la seguridad es cosa de todos los implicados: lado del servidor, lado de clientes y usuarios finales. La cadena se romperá siempre por el eslabón más débil y por eso, todos deben prestar atención al compromiso de seguridad.

Los tipos de ataque más comunes que puede sufrir una interfaz de servicio web o API son cuatro. En primer lugar, la denegación de servicio (DoS) es la indisponibilidad del servicio por peticiones masivas al mismo. Se puede limitar el riesgo y el impacto de este ataque pero no se puede evitar. Es intrínseco a tener un servicio en la red. Las posibles defensas pasan por el uso de cuotas por IP, por clave de cliente, etc.

En segunda posición está el robo de credenciales, que según dónde se guarden las claves tendrá distinta solución: servidor (asegurar el sistema operativo), navegador web (guardar sólo claves que den acceso a información pública), apps (cifrar la clave para que no sea evidente al descompilar la app).

También es frecuente, el ataque llamado ‘man in the middle’ cuando un tercero se hace pasar por el servidor de la API. De esta forma, se pueden robar las credenciales y suplantar la identidad. Técnicas de protección contra este ataque son el SSL pinning, uso de TLS, credenciales temporales (OAuth 2.0) y sistemas de doble autenticación.

En último lugar, sigue siendo muy habituales los ataques de inyección de distintos tipos: SQL Injection, Code Injection, HTML Injection (cross-site scripting), XML External entity Injection. Como norma general de defensa, siempre hay que validar todos los parámetros y cuerpo del mensaje. Además, no conviene dar ningún tipo de información del servidor al atacante, limitando las cabeceras de respuesta, mensajes de excepciones, etc.

Dado que la finalidad de muchos ataques es el robo de información falseando la identidad del usuario los servicios web requieren sistemas robustos de autenticación. Existen muchos tipos, desde los más sencillos como la autenticación básica con apiKey en una cabecera HTTP a los más sofisticados como OAuth. OAuth se puede usar en modo “2 patas” (2-legged) en la que autentica la app cliente o en modo “3 patas” (3-legged) en la que autentica al usuario final. Entre los métodos más elaborados también está el firmado de peticiones HMAC usado por Amazon o la autenticación por dos vías con certificado cliente SSL.

En cualquier caso, lo recomendable para proteger un servicio web es el uso de un API Manager, servidor que permite aportar mayor seguridad con registros y auditoría de peticiones, estadísticas de uso, servicios de autorización, autenticación y proveedor de identidad. Entre ellos destacan Apigee y  WSO2.

En la era del bigdata y del intercambio constante de información, la seguridad es la clave para seguir construyendo servicios útiles y confiables. Así, el uso de las TIC seguirá creciendo con la tranquilidad de que nuestros datos están bien protegidos. Si todos los actores aportamos robustez al sistema, la innovación seguirá surgiendo en un ambiente de seguridad y confianza en las nuevas tecnologías.

Diego Moreno – Software R&D Manager