Header Ads Widget

Ticker

6/recent/ticker-posts

Revisión de Approov para seguridad de API móvil


 Desafortunadamente, la realidad de las aplicaciones móviles es que, en algún momento, alguien intentará hacer algo que no está autorizado. Ya sea a través de claves de fuerza bruta, falsificación de identidades o simplemente emitiendo ataques distribuidos a través de las dependencias del servidor de la aplicación, la amenaza para las API de cara al público en el espacio móvil es real, peligrosa y, a menudo, se mitiga de manera ineficiente.

Esta mala mitigación se debe en gran medida al hecho de que muchos desarrolladores de API son desarrolladores expertos o comercializadores en lugar de profesionales de la seguridad , y aunque pueden tener alguna idea de las amenazas que enfrentan sus API, a menudo subestiman el alcance.

Afortunadamente, existen soluciones de terceros a las que los desarrolladores pueden asociar para aumentar la seguridad contra estos diversos y variados ataques. Una de esas tecnologías es Approov , publicada por CriticalBlue. Hoy vamos a echar un vistazo a esta solución, identificar los casos de uso adecuados que requerirían integración y resaltar la eficacia de la solución que se ofrece.

Lea también: Cómo los fanáticos de Pokémon Go los piratearon a todos: y cómo prevenir una ingeniería inversa similar

¿Qué es Approov?

Approov es una versión interesante del problema de la seguridad en el espacio API, implementada específicamente a través de un enfoque comunicativo cliente-servidor. Para comprender por qué su enfoque es novedoso, primero debemos comprender los enfoques actuales adoptados por otras soluciones y por qué fallan.

La mayor parte de las soluciones anti-manipulación se han centrado en el concepto de protección horneado ". Si bien esto inicialmente parece una solución justa, después de todo, ¿qué es mejor para cerrar una puerta que colocarle un cerrojo y un grillete directamente? - pasa por alto una gran parte de la funcionalidad promedio de la aplicación.

Si bien proteger la aplicación internamente dentro del código puede proteger la aplicación en sí, y el tráfico encriptado asegura la transmisión de datos, no se hace nada para evitar escuchas ilegales y falsificaciones .

Puede codificar estos datos, claro, e incluso puede implementar sistemas de paso de tokens para un mínimo de seguridad para evitar la suplantación, pero siempre tendrá tres puntos de falla: la aplicación que emite la solicitud, el medio a través del cual se maneja la solicitud, y el servidor se autentica en el otro lado. Si alguno de estos falla, la seguridad se rompe.

Ese es simplemente el enfoque común en un formato proactivo. Sin embargo, también existe un campo completo de tecnologías reactivas que utilizan análisis para dictar la respuesta. Esto se ha denominado de muchas formas: Critical Blue lo denomina "análisis de big data", mientras que los informes técnicos de los proveedores de hardware a menudo se refieren a él como "análisis de comportamiento".

Cualquiera que sea el nombre de este enfoque, utiliza la naturaleza fundamental de los datos, es decir, comparaciones relativas entre puntos de datos, para rastrear comportamientos a largo plazo, estableciendo una línea de base de función y comportamiento confiables y rechazando cualquier desviación de este comportamiento de stock.

Y ese es un enfoque perfectamente correcto, salvo por el hecho de que requiere que se produzcan desviaciones para que se bloqueen y requiere un poder computacional excesivo para identificar estas desviaciones con la suficiente rapidez para responder y con la suficiente precisión para que sean menos visibles para el consumidor.

Con el auge de la computación en la nube, algunos de los problemas con esta solución se han eliminado, pero con demasiada frecuencia debemos esperar a que ocurra un problema antes de solucionarlo.

También evaluamos API Fortress para pruebas y monitoreo de API

La Trinidad de Approov

Approov maneja las cosas de manera un poco diferente. En lugar de enviar un token a través de una canalización cifrada para autenticar al usuario específico (como suele ser la solución implementada por los desarrolladores en la era moderna), sus tokens dependen de la autenticación de la fuente .

Lo que esto significa es esto: en lugar de decir "sí, este usuario está autorizado para hacer lo que está tratando de hacer, adelante", la solución de Approov dice "sí, esta solicitud es de una aplicación autorizada en un dispositivo autorizado" .

Si bien esto puede parecer una diferencia menor, es muy, muy significativa. Al autenticar la fuente en lugar del usuario, mantiene tanto la autenticación y la autorización del usuario como la integridad de la aplicación que realiza la solicitud al elegir solo aplicaciones específicas que pueden realizar la función que desea.

Piénselo de esta manera: imagine una carretera que solo permita automóviles debido a limitaciones y restricciones de peso. Al comienzo de esta carretera, tiene un guardia dentro de una choza cerrada que detiene a los conductores y mira si están bien para pasar. Los conductores muestran su licencia a una cámara de circuito cerrado para verificación por parte del guardia dentro de la choza.

En la solución clásica, el guardia verificaba su licencia de conducir para asegurarse de que tiene un sello de su autoridad local para conducir. Esto es un problema, porque ese sello se puede falsificar fácilmente, y si el guardia solo se preocupa por el sello y nunca puede ver la licencia en la cámara para verificar el tipo de vehículo, un camionero podría fácilmente sellar su propia licencia y falsificarlo. como si fuera un coche.

Approov esencialmente convierte la licencia en sí misma en un token. Al poder presentar la licencia en primer lugar, el guardia sabe que ya ha sido preaprobado, ya que el ayuntamiento nunca aprobaría una licencia para conducir para un vehículo que no cumpliera con los estándares. La licencia es muy especial, a diferencia del sello, que simplemente se puede copiar, y demuestra que provienen de una fuente autorizada.

Entonces, ¿cómo lo hace Approov?

Consulte también nuestra revisión de Sapience para la validación de seguridad de API

Autenticación en la nube

Una de las grandes características de Approov es que maneja las solicitudes de aplicaciones y la calificación de autenticidad a través de un servicio en la nube . Usan un protocolo de desafío-respuesta para hacerlo, y específicamente un protocolo que requiere que la interacción sea viva y única.

Esto es beneficioso por varias razones. En primer lugar, admitir la autenticación a través de la nube reduce la carga en la propia aplicación que, por lo general, sería parte integral de una solución "incorporada". Descargar esta funcionalidad a un servidor externo en un formato seguro es un peso literal del usuario en términos de tamaño de la aplicación y requisitos de procesamiento en reloj y ancho de banda.

Diagrama de los tres actores dentro de la seguridad API móvil de Approov

En segundo lugar, la autenticación en la nube es intrínsecamente más segura que la autenticación por hardware en este formato. Si bien lo contrario suele ser cierto, es decir, el hardware suele ser más seguro que el aire, porque el protocolo de desafío-respuesta insiste en la interacción en vivo, la única forma de romper esta estructura es cambiar los datos para la autenticación en el dispositivo. Y debido a que estos datos de autenticación no residen en el dispositivo de una manera preaprobada y se interactúa con los ataques en vivo, se evitan los llamados ataques de "reproducción".

Funcionalidad de aplicación ligera

Si bien el procesamiento en sí se quita de los hombros de la aplicación, siempre habrá necesariamente una pieza que resida en la aplicación para iniciar la autenticación. El fracaso en este ámbito prácticamente anularía los beneficios de la computación en la nube.

Afortunadamente, la metodología que utiliza Approov está vinculada a una biblioteca SDK muy ligera y ágil Tener una solución liviana para iniciar el proceso de autenticación, entregar el token y recibir el token es clave para la baja latencia de esta solución, y es fundamental tanto para la velocidad como para la eficacia en términos de negación de ataque volumétrico.

El gran aspecto positivo de esta biblioteca es que es única: el servicio en la nube de Approov genera la biblioteca de manera única, evitando la suplantación de una biblioteca a otra. Al establecer una biblioteca "oficial" y basar todas las interacciones futuras en si las bibliotecas coinciden o no, es una solución de seguridad tan buena como puede pedir.

Funcionalidad de servidor ligero

Completando la trinidad de beneficios está el hecho de que el código integrado en el servidor para la autenticación es igualmente simple y liviano. El volumen del código , así como la eficacia, son importantes para que la experiencia sea perfecta, y mantener la carga ligera es increíblemente importante.

El código no solo es liviano, es sencillo para la mayoría de las aplicaciones: el token es un token web JSON estándar y, por lo tanto, funciona bien con la mayoría de las bases de código desde el primer momento.

Beneficios adicionales

Hay algo que decir sobre los beneficios adicionales que se derivan del enfoque de Approov y, más que nada, es quizás aquí donde esta solución realmente brilla.

Al basar sus servidores en los servicios web de Amazon y dependiendo de la computación en la nube, Approov se puede escalar fácilmente a varios niveles y en varias configuraciones regionales, reduciendo la latencia y reaccionando activamente al aumento del tráfico. Esta escala es clave para sobrevivir a ciertos tipos de ataques, porque incluso el mejor sistema de autenticación puede verse abrumado y roto por el gran volumen .

Conociendo muy bien este tipo de vulnerabilidad, Approov también ha dado grandes pasos para garantizar la seguridad al hacer que expertos externos realicen pruebas de penetración para intentar romper el sistema.

La integración con Approov también tiene el beneficio adicional de eliminar muchos de los problemas que afectan a las aplicaciones centradas en la suplantación de identidad. Los ingresos por publicidad redirigida, la ingeniería inversa y el descubrimiento de vulnerabilidades se reducen de manera significativa.

Advertencias

Dicho todo esto, Approov no es una solución perfecta solo porque no existe una solución única y verdaderamente perfecta. La autenticación basada en la nube utilizando tokens de biblioteca de dispositivos en lugar de tokens de usuario es un enfoque novedoso, pero aún no ha sido probado.

Sobre el papel, y a través de pruebas activas, la solución ha demostrado ser muy prometedora; dicho esto, ninguna solución será una solución mágica. Si bien es probable que el tiempo demuestre que este es el enfoque correcto, especialmente considerando el movimiento de los sistemas internos a los externos impregnados de cifrado pesado y protocolos seguros, el hecho es que todavía es un enfoque no probado en términos de tiempo y caso de uso a largo plazo. .

Por supuesto, está la cuestión del precio, ya que nada con tantos beneficios es gratis. Si bien se podría argumentar que este costo en realidad es un ahorro, especialmente cuando se considera la posible pérdida de ingresos por la redirección de anuncios y el acceso falsificado, para aplicaciones, equipos y bases de usuarios más pequeños, esta podría no ser la mejor solución.

El aumento de la seguridad, la estabilidad de la autenticación y la protección del flujo publicitario tienen un valor económico tremendo. La tecnología es sólida, pero para las aplicaciones que comienzan con sus primeros cien usuarios, y mucho menos sus primeros 10k, esto podría ser difícil de vender.

Conclusión

Así que nos reducimos a una sugerencia simple: pruebe el servicio usted mismo y considere los posibles ahorros de la integración. Si el costo puede justificarse, Approov es una solución poderosa.

Su enfoque para proteger las aplicaciones en el entorno móvil es novedoso, y la forma en que CriticalBlue lo hace es quizás una de las formas más seguras de hacerlo. Si bien el uso de servicios en la nube para la autenticación a menudo es muy cuestionable, su implementación en este caso parece sólida como una roca.

En general, prevenir los tipos de problemas de ingeniería inversa que Approov está diseñado para detener es de vital importancia, ya sea en el sentido amplio de proteger los datos de los usuarios en las cuentas sociales o de proteger los datos y los flujos de ingresos en Pokémon Go . A medida que la piratería se vuelve cada vez más común, y más fondos se vinculan a sistemas que dependen de interacciones seguras, Approov y soluciones como esta solo demostrarán ser más vitales.

[Descargo de responsabilidad: Approov no patrocinó esta publicación, ni las API nórdicas tienen ninguna afiliación con CriticalBlue o Approov]

Publicar un comentario

0 Comentarios