¡Despierta! Identifique las vulnerabilidades de la API de manera proactiva, desde la producción hasta el código

Seguridad de API

Después de más de 20 años de desarrollo, ahora es oficial: las API están en todas partes. En una encuesta de 2021, el 73 % de las empresas informaron que ya publican más de 50 API, y este número crece constantemente.

Las API tienen funciones cruciales que desempeñar en prácticamente todos los sectores de la actualidad, y su importancia aumenta de manera constante a medida que avanzan hacia la vanguardia de las estrategias comerciales. Esto no sorprende: las API conectan a la perfección aplicaciones y dispositivos dispares, brindando sinergias comerciales y eficiencias nunca antes vistas.

Sin embargo, las API tienen vulnerabilidades como cualquier otro componente del software. Además de eso, si no se prueban rigurosamente desde el punto de vista de la seguridad, también pueden introducir una nueva gama de superficies de ataque y exponerlo a riesgos sin precedentes. Si espera hasta la producción para descubrir las vulnerabilidades de la API, puede sufrir retrasos considerables.

Resumen

Las API son atractivas para los atacantes, no solo para las empresas

Tenga en cuenta que las API hacen más que simplemente conectar sus aplicaciones; cambian la funcionalidad de manera impredecible. Muchas de las debilidades únicas que pueden presentar las API son bien conocidas por los piratas informáticos, que han desarrollado diferentes métodos para atacar sus API a fin de acceder a los datos y la funcionalidad subyacentes.

De acuerdo con OWASP API Top 10, no es raro que los usuarios legítimos y autenticados exploten la API utilizando llamadas que parecen legítimas pero que en realidad están destinadas a manipular la API. Este tipo de ataques, con el objetivo de manipular la lógica empresarial y explotar los defectos de diseño, son atractivos para los atacantes.

Verá, cada API es única y propietaria. Como tal, sus errores de software y vulnerabilidades también son únicos y «desconocidos». El tipo de errores que conducen a ataques a nivel de lógica comercial o proceso comercial es particularmente difícil de identificar como defensor.

Seguridad de API

¿Está prestando suficiente atención a las pruebas de seguridad de la API?

La seguridad de desplazamiento a la izquierda ya es ampliamente aceptada en muchas organizaciones, lo que permite realizar pruebas continuas a lo largo del desarrollo. Sin embargo, las pruebas de seguridad de API a menudo pasan desapercibidas o se realizan sin una comprensión suficiente de los riesgos involucrados. ¿Porqué es eso? Bueno, hay más de una razón:

  1. Las herramientas de prueba de seguridad de aplicaciones existentes son genéricas y apuntan a las vulnerabilidades de las aplicaciones web tradicionales, y no pueden manejar de manera efectiva las complejidades de la lógica comercial de una API.
  2. Debido a que las API no tienen una interfaz de usuario, es común que las empresas prueben la web, la aplicación y el dispositivo móvil por separado, pero no la API en sí.
  3. Las API de prueba pueden ser intensivas manualmente y no son escalables cuando tiene cientos de ellas.
  4. La experiencia y los conocimientos pertinentes pueden ser escasos, ya que las pruebas API son más complicadas que otros tipos de pruebas.
  5. Con las API heredadas, es posible que no conozca las API ya implementadas o la documentación.

Por lo tanto, si bien muchas organizaciones en general ya valoran la seguridad de cambio a la izquierda, las pruebas de seguridad de API se dejan fuera del panorama general de DevSecOps con demasiada frecuencia.

Esto es desafortunado, ya que las vulnerabilidades de la API requieren más tiempo para remediarse que las vulnerabilidades de las aplicaciones tradicionales: en una encuesta reciente, el 63 % de los encuestados informaron que lleva más tiempo remediar las vulnerabilidades de la API. También es probable que este número aumente dada la rápida adopción y dependencia de las aplicaciones de las API.

Seguridad de API

Si bien la mayoría de los líderes de seguridad son conscientes de la importancia de las pruebas de seguridad de API, poco menos de la mitad dice que aún no tiene una solución de prueba de seguridad de API completamente integrada en su canal de desarrollo.

Obtenga más información sobre cómo prevenir ataques mediante la identificación proactiva de vulnerabilidades, desde la producción hasta el código.

¿Por qué los enfoques comunes de pruebas de seguridad no cubren las API?

Como primer paso hacia un enfoque integral, es importante examinar las actitudes más comunes hacia las pruebas de seguridad de aplicaciones en la actualidad: pruebas de seguridad estáticas y pruebas de seguridad dinámicas.

Pruebas de seguridad estática adopta un enfoque de caja blanca, creando pruebas basadas en la funcionalidad conocida de la aplicación al revisar el diseño, la arquitectura o el código, incluidas las muchas rutas complejas que pueden tomar los datos a medida que pasan a través de la aplicación.

Pruebas de seguridad dinámicas adopta un enfoque de caja negra, creando pruebas basadas en el rendimiento esperado de la aplicación dado un conjunto particular de entradas, sin tener en cuenta el procesamiento interno o el conocimiento del código subyacente.

Cuando se trata de API, los desarrolladores y los equipos de seguridad discuten con frecuencia sobre cuál de los dos métodos es el más apropiado, siendo el razonamiento principal a favor de cada uno:

  • La prueba estática es el único método que tiene sentido: dado que no existe una interfaz de usuario para las API, debe saber qué sucede dentro de la lógica comercial.
  • Las pruebas dinámicas son todo lo que se necesita, ya que las pruebas unitarias usan modelos estáticos y ya se completaron en una etapa anterior de la canalización.

Lamento arruinar la fiesta, pero estos dos puntos son solo parcialmente ciertos. De hecho, ambos enfoques son necesarios para garantizar una amplia cobertura y manejar una variedad de escenarios posibles. Especialmente con el aumento actual de los ataques basados ​​en API, no puede arriesgarse cuando se trata de escalabilidad, profundidad y frecuencia.

Seguridad de API

Las pruebas de seguridad de API de ‘caja gris’ pueden ofrecer una alternativa interesante. Dado que no hay una interfaz de usuario, tener conocimiento del funcionamiento interno de la aplicación (p. ej., parámetros, tipos de devolución) puede ayudarlo a crear de manera eficiente pruebas funcionales que se centren en la lógica comercial.

Idealmente, la combinación de aspectos de las pruebas de seguridad de API lo acercaría más a la creación de una solución de caja gris que compense las debilidades de cada uno de estos enfoques individuales. Este enfoque de lógica empresarial examinaría de manera inteligente los resultados de otros tipos de pruebas y se puede adaptar para aplicar pruebas mejoradas, ya sea de forma automática o manual.

Es hora de un enfoque de prueba de seguridad de la API de Business Logic

Existe una creciente conciencia de la industria en torno a la necesidad de proteger las API a lo largo de su ciclo de vida, colocando las API al frente y al centro de sus controles de seguridad.

Para hacer esto, debe encontrar formas de simplificar y agilizar las pruebas de seguridad de API de su organización, integrando y haciendo cumplir los estándares de prueba de seguridad de API dentro del ciclo de desarrollo. De esta manera, junto con el monitoreo del tiempo de ejecución, el equipo de seguridad puede obtener visibilidad de todas las vulnerabilidades conocidas en un solo lugar. Como beneficio adicional, tomar medidas para cambiar las pruebas de seguridad de la API a la izquierda reducirá los costos y acelerará el tiempo de remediación.

Además, una vez que sus flujos de trabajo de prueba estén automatizados, también tendrá soporte incorporado para volver a probar: un ciclo de prueba, remediación, nueva prueba e implementación, manteniendo su tubería funcionando sin problemas y evitando cuellos de botella por completo.

Un enfoque de lógica comercial para las pruebas de seguridad de API puede elevar la madurez de su programa de seguridad de API de ciclo de vida completo y mejorar su postura de seguridad.

Seguridad de API

Sin embargo, este enfoque moderno requiere una herramienta que pueda aprender sobre la marcha, mejorando su rendimiento con el tiempo al ingerir datos de tiempo de ejecución para obtener información sobre la estructura y la lógica de la aplicación.

Esto implicaría crear un motor de prueba adaptativo que pueda aprender sobre la marcha, desarrollando un conocimiento más profundo del comportamiento de la API para aplicar ingeniería inversa a su funcionamiento interno oculto de manera inteligente. Con los datos de tiempo de ejecución y la información de la lógica empresarial, puede disfrutar de lo mejor de ambos mundos: el enfoque de caja en blanco y negro para mejorar la visibilidad y el control con la automatización.

Obtenga más información sobre cómo prevenir ataques mediante la identificación proactiva de vulnerabilidades, desde la producción hasta el código.

Para concluir

Además de su creciente popularidad, las API también crean una mayor vulnerabilidad para las aplicaciones web. Un gran número de organizaciones ni siquiera saben cuál es el alcance de sus API y sus vulnerabilidades. Los piratas informáticos pueden probar fácilmente las debilidades conocidas y desconocidas a través de las API disponibles.

Sin embargo, las pruebas de seguridad de API a menudo se pasan por alto y se manejan de la misma manera que las aplicaciones web. La mayoría de los enfoques de prueba, como las pruebas de caja negra y de caja blanca, no conducen a las pruebas de API.

Una combinación de procesamiento de lenguaje natural e inteligencia artificial (IA) ofrece una opción viable de «caja gris» que automatiza, escala y simplifica el complejo proceso de prueba de seguridad de API.

Continua leyendo