Todo lo que necesita saber sobre seguridad API


Tiempo de lectura estimado: 4 minutos

Una interfaz de programación de aplicaciones (API) es una forma que permite que las aplicaciones se comuniquen entre sí. Proporciona una forma para que los desarrolladores creen aplicaciones de software al tiempo que permite la extracción y el intercambio de datos de manera accesible.

Las API se pueden utilizar para facilitar ciberataques, ya que las API se utilizan ampliamente para transformar información que podría ser confidencial. Vulnerabilidades como autenticación débil, falta de cifrado, fallas lógicas y puntos finales inseguros hacen que las API sean vulnerables a los ataques.

Algunos de los principales ataques que suelen ocurrir debido a la falta de medidas de seguridad al implementar API son:

Hombre en el medio (MITM)

Para obtener información confidencial, un intruso intercepta el tráfico entre las partes comunicantes retransmitiendo e interceptando la comunicación que incluye intercambios de API.

Inyecciones de API (XSS y SQLi)

En un ataque de inyección de código, el código malicioso se inserta en un programa de software package vulnerable para realizar un ataque, como cross-website scripting (XSS) e inyección SQL (SQLi).

Un perpetrador puede inyectar una secuencia de comandos maliciosa en una API vulnerable, es decir, una que no realiza la entrada de filtro y la salida de escape adecuadas (FIEO) para lanzar un ataque XSS dirigido a los navegadores de los usuarios finales. Además, se inserta código malicioso en un mensaje de API, por ejemplo, comandos que eliminan objetos, registros de una foundation de datos.

Denegación de servicio distribuida (DDoS)

En un ataque de denegación de servicio distribuido (DDoS), múltiples sistemas inundan el ancho de banda de un sistema objetivo, generalmente servidores internet. Un ataque DDoS a una API intenta abrumar su memoria y capacidad inundándola con conexiones simultáneas o enviando / solicitando grandes cantidades de información en cada solicitud. Un ataque DDoS en el sitio website de la FCC a principios de 2017 utilizó servicios comerciales en la nube para emitir una gran cantidad de solicitudes de API a un sistema de comentarios. Esto consumió los recursos de la máquina disponibles y desplazó a los comentaristas humanos, lo que finalmente provocó que el sitio website se bloqueara.

Secuestro de DNS

El secuestro del servidor de nombres de dominio (DNS), también conocido como redirección de DNS, es un tipo de ataque en el que las consultas de DNS se redirigen inesperadamente a sitios maliciosos.

Un ejemplo de secuestro de DNS es cuando estás en Net y un sitio world wide web al que deseas acceder te redirige a uno malicioso lleno de ventanas emergentes y anuncios no deseados. El motivo principal detrás de esto es generar ingresos.

El secuestro de DNS también se puede utilizar para el phishing. En el phishing, las víctimas son atacadas y los atacantes intentan engañarlas para que revelen información confidencial como sus credenciales de pago. El escenario más común que vemos en el phishing es enviar un correo electrónico como cebo dirigiendo a los usuarios a un sitio internet que parece ser un sitio world-wide-web de procesamiento de pagos legítimo y desde allí robar su información.

¿Cómo estamos en Speedy Recover asegurando nuestras API?

HTTPS sobre HTTP

Transport Layer Stability (TLS) es un estándar que mantiene privada una conexión a World-wide-web y verifica que los datos enviados entre dos sistemas estén encriptados y no modificados. Se dice que un sitio world wide web está protegido con TLS si la URL comienza con «HTTPS» (Protocolo seguro de transferencia de hipertexto).

TLS en una interacción basada en API es esencial. El cifrado de la capa de transporte es uno de los «imprescindibles» para proteger las API. Si no hay TLS, el riesgo de ataques «Guy-In-The-Center» sigue siendo muy alto. Usamos ambos TLS en nuestras API, especialmente cuando hacemos públicas las API. Usamos estrictamente HTTPS sobre HTTP.

Autenticación

Para determinar la identidad de un usuario ultimate (llamador) en una API, se puede implementar la autenticación básica mediante el protocolo TLS. Sin embargo, OAuth 2 y OpenID Hook up son alternativas más seguras.

Nunca exponga información en URL

Nunca exponga información sensible o susceptible en las URL

Validación de parámetros de entrada

Valide los parámetros de la solicitud en el primer paso, antes de llegar a la lógica empresarial de procesamiento de servicios actual. Ponemos fuertes controles de validación y rechazamos la solicitud inmediatamente si falla la validación.

Cifrado

Se recomienda encarecidamente el uso de un cifrado sólido para información confidencial y privada mientras se transforma a través de API. Usamos un algoritmo de cifrado fuerte y ligero: AES256

AES256

El Estándar de cifrado avanzado (AES) es el primer y único cifrado de acceso público aprobado por la Agencia de Seguridad Nacional de EE. UU. (NSA) para proteger información ultrasecreta.

Hasta la fecha, se han informado muy pocos ataques contra la implementación de 256 AES. La mayoría de ellos fueron ataques de canal lateral (el ataque se realizó en la implementación del cifrado en el sistema y no en el cifrado subyacente en sí). Se cree que el diseño y la fuerza de la longitud de la clave protegen el algoritmo AES y una longitud de clave de 256 bits es ideal para información ultrasecreta. Cuando se trata de seguridad de datos, nadie quiere comprometerse, y AES-256 es uno de los métodos de cifrado de datos más seguros disponibles en el mercado hoy en día.

Algoritmos de intercambio de claves

Utilice algoritmos de intercambio de claves fuertes para intercambiar las claves de autenticación o cifrado. Esto debe adoptarse en lugar de secreto estático o codificado.

Para el intercambio de claves secretas, utilizamos el método de intercambio de claves públicas más potente, denominado intercambio de claves seguras de Diffie Hellman.

Intercambio de claves asegurado por Diffie Hellman:

El intercambio de claves Diffie-Hellman es complejo. Utiliza números muy grandes y mucha matemática. El intercambio de claves Diffie-Hellman se basa en funciones unidireccionales como base para su seguridad. Estos cálculos son simples y unidireccionales, pero muy difíciles de calcular de manera inversa.

Algunas ventajas de Diffie-Hellman:

  • El remitente y el receptor no necesitan ningún conocimiento previo el uno del otro
  • Una vez que se intercambian las claves, la comunicación de datos se puede realizar a través de un canal inseguro de forma segura
  • El intercambio de la clave secreta es seguro

Autenticación basada en token

La ventaja de la autenticación basada en tokens es que elimina las posibilidades de que las credenciales de inicio de sesión sean débiles. Un token es una pieza de datos altamente segura que se utiliza para transmitir información confidencial entre dos partes de una manera compacta y autónoma. Los tokens se utilizan a menudo para fortalecer los procesos de autenticación, ya sea dentro de un sitio website o una aplicación.

Usamos comunicación basada en JWT Token que consiste en:

  • Un encabezado que define el tipo de token y algoritmo utilizado
  • Una carga útil que contiene información sobre el usuario y otros metadatos.
  • Una firma que verifica la identidad del remitente y la autenticidad del mensaje.

URLs

Las URL no exponen ninguna información confidencial, ya que evitamos el uso de parámetros de consulta y no se expone ninguna información a través de las URL.

Validación de parámetros de entrada

Tenemos una sólida validación de parámetros de entrada en la etapa inicial antes de que se ejecute la lógica empresarial y rechacemos todas las posibles solicitudes no válidas.

Seguridad vs rendimiento

El rendimiento es una característica y la seguridad es una esencia hoy en día, por lo que es muy importante lograr ambos sin comprometer el otro. Para satisfacer estos requisitos de seguridad sin comprometer el rendimiento, se puede elegir una estrategia de implementación ligera con medidas de alta seguridad.

Escrito en coautoría por Prafulla Prakash Ranadive

¿Tienes algo que agregar a esta historia? Compártelo en el



Enlace a la noticia authentic