Qué es Kiuwan

¿Qué es Kiuwan? Analiza la seguridad y calidad de tu software

Integrar la seguridad durante todo el ciclo de vida de nuestras aplicaciones es fundamental para un enfoque DevOps realmente efectivo. Por ello, hoy vamos a hablar de Kiuwan, una de las soluciones para identificar vulnerabilidades de seguridad en nuestro código más utilizadas en la actualidad. Veremos las principales características de esta herramienta y las ventajas de utilizarla para garantizar la seguridad de nuestro software. También haremos una comparativa de Kiuwan y SonarQube, otra de las plataformas más populares para evaluar código fuente.

¿Qué es Kiuwan?

Kiuwan es una solución de análisis estático de código centrada en la seguridad de las aplicaciones de software. Sus análisis permiten conocer la calidad y seguridad de nuestro código fuente. Es una solución híbrida, con lo que podemos escanear nuestro código de forma rápida y segura en la nube, pero también localmente.

Se compone de dos productos: Kiuwan Code Security, su solución SAST para analizar el código en busca de vulnerabilidades de seguridad, e Insights Open Source, su solución SCA para controlar el riesgo de componentes de terceros y software de código abierto.

Además, dispone de varios módulos que expanden sus funcionalidades: Code Analysis (QA), para testear la calidad del código, y Governance & LifeCycle, para obtener una visión global del portfolio de tu aplicación y monitorear las entregas.

En definitiva, la información que proporciona Kiuwan acerca de la calidad y seguridad del  código de una aplicación es de gran utilidad para desarrolladores, responsables QA e IT Managers.

Características de Kiuwan

La solución Kiuwan destaca porque:

  • Soporta más de 30 lenguajes de programación: Java, Python, JavaScript, Kotlin, Visual Basic, PHP o C++ son algunos de ellos.
  • Se integra con los principales IDEs (Eclipse, Visual Studio, IntelliJ IDEA, etc.), de forma que los desarrolladores pueden visualizar y analizar vulnerabilidades directamente desde ellos. 
  • Se conecta con las principales herramientas DevOps a lo largo de todo el ciclo de vida del sistema (SDLC), por ejemplo, con Jenkins. Esto permite llevar a cabo análisis de seguridad en cada etapa de la pipeline. 
  • Cumple con estándares de seguridad como OWASP y CWE.
  • Es compatible con todos los sistemas operativos (que tengan instalado Java) y navegadores.

Componentes de Kiuwan

Como hemos mencionado, Kiuwan es una solución SAST y SCA que se compone de dos productos y varios módulos. Vamos a ver qué podemos hacer con cada uno de ellos:

Kiuwan Code Security (SAST) 

La herramienta Kiuwan Code Security es una solución SAST (Static Application Security Testing) que escanea automáticamente el código, posibilitando a los usuarios detectar y corregir vulnerabilidades de seguridad rápidamente. 

Permite comprender el nivel de criticidad del software a partir de informes personalizados que utilizan calificaciones de seguridad estándares en la industria.También simula escenarios de mejora de la aplicación y proporciona planes de acción para resolver vulnerabilidades y gestionar la deuda técnica.

Pantalla de la solución SAST de Kiuwan
Pantalla de la solución SAST de Kiuwan. Fuente: Kiuwan

Una de las posibilidades más interesantes de Kiuwan es que permite personalizar la importancia que la plataforma confiere a las diferentes vulnerabilidades, para que se adecúen así a las características únicas de nuestro entorno. 

Algunas de las vulnerabilidades que Kiuwan detecta son las variables no inicializadas, las configuraciones incorrectas, las autenticaciones insuficientes, los errores de diseño o los ataques de inyección.

Información sobre seguridad de Kiuwan SAST

De este modo, la solución SAST Kiuwan Code Security nos aporta la siguiente información:

  • Las vulnerabilidades de nuestro código agrupadas según su gravedad, así como el tiempo estimado para corregirlas. Estos parámetros pueden ser configurados.
  • El listado de ficheros del proyecto que presentan estas vulnerabilidades.
  • El listado de las vulnerabilidades por clases. Allí podemos acceder a las líneas de código afectadas y considerar si es interesante o no trabajar en ellas. 
  • El camino de propagación de estas vulnerabilidades. Permitiendo rastrear un problema hasta su origen y resolverlo en ese nivel, ahorrando tiempo de trabajo.
  • Opciones para gestionar las vulnerabilidades detectadas, como mutear aquellas que sean falsos positivos o que no resulten interesantes.
  • Planes de acción: conjuntos filtrados de vulnerabilidades que priorizamos y  enviamos a la herramienta de seguimiento de tareas que utilicemos (por ejemplo, Jira) para trabajar en ellas en el próximo Sprint.
  • What-If de escenarios: herramienta que muestra el resultado que obtendríamos de aplicar un esfuerzo concreto o cuánto esfuerzo necesitaríamos realizar para alcanzar un nivel de seguridad objetivo. Kiuwan detalla el listado de vulnerabilidades en las que considera que deberíamos trabajar para ello.

Insights Open Source (SCA)

La solución SCA (Software Composition Analysis) de Kiuwan se encarga de descubrir vulnerabilidades causadas por soluciones de terceros y software open source. Aborda tanto debilidades de seguridad como cuestiones legales como el cumplimiento de licencias.

Insights Open Source presenta un inventario completo de todos los componentes de código abierto y de terceros utilizados en la aplicación, localiza amenazas de seguridad y permite crear alertas automáticas de obsolescencia.

Pantalla de Kiuwan Insights Open Source (SCA)
Pantalla de Kiuwan Insights Open Source (SCA). Fuente: Kiuwan

Todo esto se detalla en sus cuatro módulos:

  • Componentes: permite ver de un vistazo los componentes del proyecto que presentan un riesgo elevado de seguridad.
  • Obsolescencia: muestra los paquetes obsoletos, aquellos que no estamos utilizando en su última versión disponible.
  • Licencias: advierte de permisos a tener en cuenta (como los copyright o copyleft). 
  • Seguridad: avisa de cuestiones de seguridad que están afectando a los componentes de código abierto.

Code Analysis (QA)

Code Analysis es la herramienta de testeo de la calidad del código de Kiuwan diseñada para desarrolladores e ingenieros QA. Ofrece una visión global de la calidad del código a partir de los cinco factores fundamentales del estándar ISO 25000: la mantenibilidad, la portabilidad, la eficiencia, la fiabilidad y la seguridad.

Pantalla Kiuwan Code Analysis (QA)
Pantalla de Kiuwan Code Analysis (QA). Fuente: Kiuwan

En este módulo, Kiuwan muestra el índice de riesgo de nuestra aplicación, el riesgo potencial que estamos asumiendo por no prestar la atención suficiente a la calidad del código. Así como el esfuerzo requerido para alcanzar la calidad objetivo de nuestro proyecto.

Funciona de forma similar a la solución SAST. Ofrece un listado detallado de los defectos de calidad detectados (en lugar de vulnerabilidades de seguridad) y planes de acción con un set más amplio de métricas a tener en cuenta para su creación.

Al igual que en el módulo de seguridad, en el análisis de calidad de Kiuwan podemos mutear defectos que no consideremos relevantes y podemos revisar nuestro código desde el problema detectado, los ficheros y hasta la línea de código concreta que presenta defectos. Igualmente, aporta información detallada sobre el problema localizado con ideas de cómo resolverlo.

Governance & LifeCycle

Kiuwan presenta también un módulo dedicado a la gobernanza y la gestión de la calidad a lo largo del ciclo de vida de la aplicación.

El apartado Governance ofrece una visión global de la calidad del código de nuestra pipeline o nuestra base de código. En este módulo las personas encargadas de tomar decisiones pueden monitorizar tendencias y valores de sus aplicaciones, como la calidad, el riesgo, la seguridad, la deuda técnica, etc.

Por su parte, el apartado de LifeCycle permite controlar la calidad del software que el equipo va incorporando a un repositorio. Y lo hace conectando los planes de acción con métricas de control de calidad. De esta manera, Kiuwan automáticamente indica al sistema de integración continua que un pull request tiene un rendimiento menor al deseado o que está listo para añadirse al repositorio.

¿Por qué usar Kiuwan?

Algunas de las razones por las que realizar análisis estático de nuestro código con Kiuwan son:

  • Es sencilla de configurar y de utilizar.
  • Permite trabajar tanto en local como en la nube.
  • Sus análisis se basan en estándares de seguridad y calidad.
  • Proporciona opciones de personalización para adaptarse a las necesidades de tu proyecto (establecer tus propias reglas para analizar el código, mutear vulnerabilidades no relevantes, etc.).
  • Ofrece simulaciones de escenarios.
  • Presenta dashboards orientados a distintos perfiles (desarrolladores, responsables QA y responsables IT).
  • Contribuye a reducir la deuda técnica y aliviar el riesgo.

Kiuwan vs. SonarQube

SonarQube es también una plataforma de análisis de código estático como Kiuwan, centrada en evaluar y mejorar la calidad y seguridad de nuestro software. A continuación, hacemos una comparativa de estas dos soluciones. Para ello, nos hemos basado en la experiencia de usuarios plasmada en informes como Kiuwan vs. SonarQube Report de IT Central Station (septiembre 2021) y en la información de comparadores de software como Capterra, así como en nuestra propia experiencia: 

Característica/ SoluciónKiuwanSonarQube
UsoSencilla de configurar y utilizarRequiere más conocimientos técnicos
PlataformaEn la nube y para instalar en escritorioEn la nube
RequisitosNo requiere instalaciónRequiere instalación y mantenerla actualizada
LenguajesSoporta múltiples lenguajes de programaciónSoporta múltiples lenguajes de programación
IDEsIntegración con los principales IDEsIntegración con los principales IDEs
CI/CDIntegración con herramientas de CI como JenkinsIntegración con herramientas de CI como Jenkins
DocumentaciónDocumentación y webinarsDocumentación y webinars
Soporte-E-mail
-Foro
-Preguntas frecuentes
-Chat
-Atención telefónica
-Foro
-Preguntas frecuentes
Comparativa Kiuwan vs. SonarQube

Conclusión

Kiuwan es una solución muy interesante para analizar la calidad y seguridad del código de nuestras aplicaciones. Su propuesta híbrida, que permite realizar el escáner tanto en local como en la nube, las posibilidades de personalización que ofrece, así como su facilidad de uso la convierten en una de las opciones más populares en la actualidad. 

¿Te gustaría dar un paso más en la optimización del desarrollo de software? El Value Stream Management (VSM) o gestión del flujo de valor aporta una precisa visión en tiempo real de todo el proceso, facilitando la toma de decisiones, reduciendo los costes y acelerando el time to market. 

Nuestra plataforma de VSM, SENTRIO, se integra con Kiuwan para poner el foco en la seguridad de las aplicaciones y anticipar y resolver vulnerabilidades. ¡Pide una demo y descubre cómo la gestión del flujo de valor puede ayudarte en tus proyectos!

Comparte

Facebook
Twitter
Pinterest
LinkedIn

Entradas relacionadas