Header Ads Widget

Ticker

6/recent/ticker-posts

Tutorial de la herramienta de validación de seguridad de API Sapience de APIware

 

revisión de la auditoría de seguridad de la API de sapience

En estos días, las API deben ser sólidas. Deben ser versátiles para cambiar y deben triunfar frente a los esquemas maliciosos que utilizan los piratas informáticos para interrumpir los sistemas centrales. Pero, ¿cómo puede un proveedor mantener la seguridad de manera constante en toda su plataforma de API y verificar de manera constante que la seguridad se mantenga durante las implementaciones de código continuas?

A medida que los ciberataques y el uso inadecuado de la API se infiltran en nuestro tejido digital, exponen vulnerabilidades que podrían causar daños graves a una plataforma y a sus usuarios. Es responsabilidad del proveedor proteger su plataforma, pero hacerlo a menudo requiere un trabajo preliminar manual y una auditoría que requiere mucho tiempo y que algunos equipos simplemente no pueden permitirse. Además, a medida que los ciclos de vida de las API se vuelven más rápidos y continuos por naturaleza, la validación de seguridad no es solo una verificación única, ahora requiere un ojo vigilante continuo.

Por lo tanto, han surgido herramientas para el monitoreo de API y las pruebas automatizadas para ayudar a los proveedores de API a verificar continuamente sus sistemas. Para este artículo, pusimos nuestros ojos en un nuevo participante, Sapience , un SaaS de monitoreo de API por parte del equipo de APIware que es único porque es la primera herramienta plug-and-play completamente dedicada a auditar la seguridad de una API.

En esta publicación revisamos la herramienta Sapience para ver dónde podría encajar en el ciclo de vida de la API; Revisaremos una definición de API para ver qué características de seguridad audita Sapience, qué tipo de calificaciones recibimos usando una definición de API de muestra , y veremos el tipo de información que un proveedor puede recuperar al realizar sus propias pruebas a través de Sapience.

Sapience se encuentra actualmente en una versión beta cerrada gratuita, pero han compartido algunos códigos de invitación con las API nórdicas. Si desea obtener acceso para seguir este tutorial, comuníquese con nosotros para obtener un código de invitación.

Sobre Sapience

Sapience es una herramienta de auditoría plug-and-play que toma una definición de API y devuelve calificaciones para la efectividad general de la seguridad. Se comporta como un hacker de sombrero blanco, estrangulando la API a través del infierno y viceversa para ver qué vulnerabilidades están expuestas.

Al probar las mejores prácticas de seguridad RESTful, Sapience intenta enviar todo tipo de solicitudes mal formadas, inyecta SQL en JSON, verifica cosas como el tipo de contenido que falta, la inclusión de archivos remotos, el manejo de excepciones mal utilizado, la manipulación de parámetros y más. Al final de una prueba, recibe un informe de seguridad sobre posibles vulnerabilidades y soluciones sobre cómo mejorar.

Creado y mantenido por la consultoría de desarrollo de API de APIware cofundada por Kin Lane, es su primer lanzamiento de producto, por lo que estamos emocionados de ver lo que se les ocurrió. Ahora vamos a caminar a través de cada paso del proceso, desde la creación de una cuenta para recuperar el análisis de API individuales puntos de dolor de seguridad.

Creando una cuenta

El proceso de registro es bastante simple, con campos estándar de correo electrónico, contraseña y número de teléfono para la creación de la cuenta. Inicie el registro aquí ]. Este proceso iniciará una cuenta y un panel asociado, desde el cual los usuarios pueden administrar sus API a través de Sapience.

Crear un perfil de API

Sapience está diseñado para que los desarrolladores puedan importar fácilmente sus definiciones de API. Utiliza inteligentemente API Transformer para habilitar la compatibilidad con todos los lenguajes de definición de API, independientemente de si su API está estructurada como Swagger 2.0 YAML, API Blueprint o incluso WADL, está cubierto. Puede codificar una definición manualmente, pero lo más probable es que desee importar una definición existente. Los usuarios lo hacen especificando una ubicación URL para la definición de API o cargando manualmente un archivo.

importar api definición captura de pantalla sapience

Para este ejemplo, hemos importado la definición de la API de Swagger Petstore

Cuando se importa su definición, se analiza y se rellenan previamente el título de la API, la descripción, la URL del punto final del host y la ruta base. En este punto, sólo tiene que revisar y corregir si es necesario, y edite sus recursos para garantizar los pares de auditoría cada parámetro con el método correcto ( GETPOSTPUT, etc.). Para realizar solicitudes autenticadas a la API con OAuth2, access_tokense requerirá un.

El último paso en este proceso es verificar que usted sea el propietario de la API, lo que se puede hacer agregando un registro DNS o solicitando una verificación manual.

Ejecutando una prueba

Una vez confirmada la propiedad, se pueden ejecutar las pruebas. Cuando se inicia un escaneo, muchas solicitudes se envían a la API en archivo para probar vulnerabilidades como inyección de SQL, inyección de código del lado del servidor, manipulación de parámetros, desbordamiento de búfer, errores de cadena de formato y más; la cantidad de solicitudes según la cantidad de recursos y métodos de la API.

escaneo de progreso sapience demo

Sapience escanea iterativamente cada recurso. Ejecutar una prueba solo toma unos minutos y las barras de progreso guían el camino a través de cada paso. Para la API de Petstore, el escáner enviará alrededor de 5,000 solicitudes.

Obteniendo los resultados

¡Los resultados ya están! Sapience genera informes bien diseñados para cada análisis de seguridad con enlaces a información sobre hallazgos específicos. Su panel de API ahora se verá así después de un escaneo:

Panel de control de la API de Sapience

Panel de control del perfil de la API de Sapience del usuario

Para esta API en particular, podemos ver que Sapience ha encontrado 40 problemas potenciales en 18 recursos. Para todos los recursos afectados, cada informe de análisis describe el problema, enumera un factor de riesgo determinado por la magnitud de la vulnerabilidad (alta, media, baja), la confianza en esa suposición y describe una solución sobre cómo mitigar cada problema de seguridad, ya sea revisar el código fuente, implementar páginas de error personalizadas, fortalecer los encabezados de respuesta HTTP con la protección XSS del navegador web u otras soluciones. Por último, el informe incluye referencias externas para información de seguridad adicional relacionada.

Actuando sobre sus hallazgos

Con Sapience, los proveedores pueden monitorear y escanear constantemente sus definiciones de API a lo largo de sus ciclos de compilación continuos para que las nuevas revisiones de su plataforma se sometan constantemente a los mismos controles rigurosos de verificación de seguridad. Para hacer esto, puede programar análisis para que se ejecuten automáticamente en segundo plano todos los días o semanas en momentos específicos.

escaneo de la inteligencia de tendencias

Puede monitorear los riesgos históricos de vulnerabilidad a lo largo del tiempo

Si su API pasa la prueba de seguridad de Sapience, la idea es que se le otorgue un sello para incluirlo en su centro de desarrollo de API. Las insignias de terceros como TRUSTe o Norton Secured, también llamadas “ sellos de confianza ”, son muy comunes para las marcas en la web. Un sello de aprobación similar a un certificado SSL pero hecho específicamente para la validación de seguridad de API es una oferta intrigante, ya que podría establecer más credibilidad para el proveedor de API.

insignia de sello de sapiencia apis nórdicos

Los iconos de sello de confianza vinculan a los visitantes del portal de desarrolladores a una página de Sapience para confirmar que el análisis de seguridad pasó. Obtenga más información sobre el sello seguro de API de Sapience aquí .

Dónde encaja Sapience en el espacio API

Mientras que las puertas de enlace o las soluciones de administración de API completas pueden tener análisis de uso o auditorías de seguridad similares a algunas de estas características, Sapience es hermoso en su enfoque refinado. Las soluciones de monitoreo de API existen desde hace algún tiempo, pero se han centrado más en el monitoreo del comportamiento. Hasta ahora, al espacio de la API le ha faltado una herramienta de auditoría que aborde específicamente la seguridad, y mucho menos una insignia aceptada por la comunidad para verificar dicha seguridad de la API.

El cofundador de Sapience, Alexander Menzheres, mencionó que a lo largo de sus conversaciones con los clientes, se enteró de que la mayoría de los proveedores de API todavía no tienen un especialista en seguridad dedicado en su equipo. Dada la alta amenaza de los ciberataques y la cantidad de formas en que se puede manipular una API pública, la seguridad es un problema creciente que merece un enfoque renovado, incluso si esto significa subcontratar ciertos componentes a especialistas.

Integración continua

Por supuesto, hay un objetivo comercial detrás de la herramienta beta Sapience actualmente de uso gratuito. Los planes ofrecerán suscripciones más completas , más capacidades de auditoría, asistencia práctica, así como la capacidad de programar pruebas recurrentes, un beneficio para probar continuamente los puntos finales de producción y las versiones en vivo. Según Menzheres:

“La seguridad sólida no es algo que se pueda lograr de una vez. Con un desarrollo continuo, debe verificar continuamente las vulnerabilidades de seguridad. Por lo tanto, los proveedores de API pueden utilizar Sapience a diario para automatizar su proceso de supervisión de seguridad. Se puede integrar mediante webhooks en Jenkins, Github o Jira, y la seguridad se integra en el diseño en lugar de ser una ocurrencia tardía ".

Tenga en cuenta que Sapience, como herramienta, no debe confundirse con ningún tipo de mecanismo de seguridad real en sí: las pruebas automatizadas solo pueden llegar hasta cierto punto y, en ocasiones las pruebas manuales son necesarias. Para Sapience, Menzheres prevé que el negocio podría extenderse más como una consultoría, donde los expertos en seguridad trabajan realizando pruebas manuales contra la API durante una cierta cantidad de horas al mes.

Áreas para mejorar

Como la seguridad es fundamental cuando se trata de proporcionar una API pública, esta verificación inicial gratuita podría abrir los ojos de un proveedor a algunas fallas drásticas en su servicio. Aunque se representan muchas características, existen prácticas de seguridad REST adicionales que aún se omiten en este momento. Sapience carece del conjunto de funciones para auditar cómo se procesa la delegación de identidad en las aplicaciones empresariales, comúnmente conocido como inicio de sesión único (SSO).

Al examinar el conjunto de características de Sapience, el especialista en identidades Jacob Ideskog señaló que un área de mejora en las iteraciones posteriores podría ser la incorporación de un flujo de código OAuth, donde el servidor de prueba obtiene un token de acceso OAuth y lo usa para activar solicitudes contra API protegidas:

“Esto requeriría que el propietario de la API también pudiera emitir credenciales de cliente para el sistema Sapience para poder operar, lo que no siempre es posible. Sin embargo, si así fuera, el siguiente paso en las pruebas de seguridad también sería ver cómo se comporta la API con tokens caducados , con tokens que no contienen los alcances correctos o que no están colocados en el encabezado correcto. También sería interesante probar si la API puede acelerarse en función de la información en el token, como la identificación del cliente (no siempre presente) o el sujeto (el usuario) ”, dijo Ideskog.

Probar una API con esas cosas en mente es, por supuesto, mucho más complejo y requiere integraciones con más sistemas, pero si se hace correctamente, proporcionaría una herramienta extremadamente útil.

Menzheres reconoce que ampliar el conjunto de características de la lista de verificación de seguridad de Sapience será un proceso continuo; "La versión beta actual se centra más en varias inyecciones, malas interpretaciones de entrada, debilidades del servidor y de la aplicación, pero también agregaremos pruebas de autenticación / autorización pronto". Además, dado que crear un registro DNS para demostrar la propiedad de la API puede resultar engorroso para algunos proveedores, especialmente los de grandes empresas, el equipo de Sapience está buscando otros métodos para autenticar la propiedad de la API.

Análisis

Aunque su modelo de precios actual puede ser un poco elevado para algunos, Sapience parece ser un arsenal inteligente de controles para una API. La activación de un análisis de seguridad como parte de su proceso de integración continuo parece un escenario de caso de uso obvio para mejorar el ciclo de vida de la API. Un sello de aprobación también podría ser un punto de referencia atractivo para los equipos e ingenieros de control de calidad interno que necesitan demostrar de alguna manera a la alta dirección que han creado una API segura.

Sapience, una palabra del francés antiguo derivada de la raíz latina sapientia equivale a "buen gusto, sentido común , inteligencia o sabiduría ". La "API" oculta dentro de una palabra que se asemeja a "ciencia" crea un doble sentido agradable, acorde con la herramienta en sí. Aunque los nerds ingleses lo aprueban, la verdadera prueba estará en su aplicación.

¿Se pondrá de moda el sello de seguridad de Sapience? ¡Contáctenos para probarlo y háganos saber lo que piensa de él a continuación!

[Descargo de responsabilidad: esta publicación no fue patrocinada por Sapience ni las API nórdicas respaldan ni reclaman ninguna afiliación con Sapience o APIware]

Publicar un comentario

0 Comentarios