Un mejor enfoque para DevSecOps

por Mark Lambert

30 de mayo de 2019

5  min leer

La mayoría de los problemas con DevSecOps hoy vuelven a las organizaciones que intentan "arreglar" la seguridad agregando pruebas al final del ciclo del producto, con la esperanza de detectar algunas de las vulnerabilidades críticas. En esta publicación, aprenda cómo cambiar eso con una estrategia efectiva para cambiar las pruebas de seguridad a las primeras etapas de desarrollo en apoyo de DevSecOps.

En mi Publicación anterior, Yo discutí SecDevOps y por qué es un término mejor que el de uso común DevSecOps. La seguridad a menudo se deja como un proceso adicional o de activación antes de lanzar un producto, pero es difícil solucionar los problemas de seguridad cuando un producto está a medio camino. Desplazar la seguridad hacia la izquierda, como en SecDevOps (que el nombre más común DevSecOps no implica), es el clave para el éxito. La seguridad debe formar parte del flujo de trabajo diario de cada desarrollador e integrarse en la canalización del software.

Como vicepresidente de productos aquí en Parasoft, mi trabajo es asegurarme de hacer esto más fácil para nuestros clientes. ¿Qué significa esto? Bueno, para empezar, significa automatizar el cambio a la izquierda de los controles y políticas de seguridad, para ayudar a nuestros clientes a incorporar la seguridad en la tubería y, al mismo tiempo, reducir el impacto y el riesgo de DevSecOps. Entonces, ¿cómo lo haces? Lea más a continuación para aprender cómo aliviar los desafíos tradicionales de integrar la seguridad en DevOps. Luego, inspeccionaremos el flujo de trabajo de DevSecOps que cambia con éxito la seguridad hacia la izquierda, donde debería estar.

Resolviendo los desafíos que impiden el éxito de las estrategias de DevSecOps

La mayoría de los problemas con DevSecOps hoy vuelven a las organizaciones que intentan "arreglar" la seguridad agregando pruebas al final del ciclo del producto, con la esperanza de detectar algunas de las vulnerabilidades críticas. Estas son algunas de las razones por las que ocurre esto y cómo puede resolverlas con un enfoque de seguridad más inteligente.

Desafío: es difícil saber cómo "arreglar" la seguridad

La mayoría de los desarrolladores y evaluadores no son expertos en seguridad (¡todavía!), Por lo que es una tarea difícil que le digan que “arregle” la seguridad en las últimas etapas del desarrollo cuando no está claro qué hacer.

Solución: mejore la seguridad gradualmente

En su lugar, los equipos pueden utilizar políticas centralizadas, como estándares de codificación segura y comprobaciones de análisis estático en busca de vulnerabilidades comunes, para mejorar la seguridad gradualmente durante todo el ciclo de vida del desarrollo. Además, las herramientas de seguridad pueden brindar a los desarrolladores y evaluadores orientación sobre por qué existen las vulnerabilidades, cómo se explotan y, en última instancia, se eliminan y prueban. Con las herramientas de análisis estático de Parasoft, puede definir fácilmente una política centralizada basada en estándares de codificación segura de la industria (es decir, CWE, OWASP, CERT, UL 2900). La documentación, los ejemplos y la capacitación incorporada también están incorporados, para permitir que todo el equipo siga aprendiendo qué hacer a continuación.

Desafío: las pruebas de seguridad de fin de ciclo dan como resultado retrasos y vulnerabilidades que quedan en producción

El enfoque común de intentar convertir la seguridad del calzador en un producto casi completo es insuficiente. Demasiadas vulnerabilidades se están abriendo camino en el código de producción.

Solución: integre el análisis de seguridad en las primeras etapas de desarrollo

En cambio, la seguridad se puede incorporar en el desarrollo y las operaciones del día a día. Los desarrolladores deberían poder realizar análisis directamente dentro del IDE, desplazando el cumplimiento de la seguridad al mismo primeras etapas de desarrollo. Las herramientas de Parasoft se integran con el proceso de construcción y proporcionan complementos de CI para verificar que las vulnerabilidades permanezcan fuera de la canalización de CI. Los datos recopilados se almacenan por compilación y están disponibles para los paneles de informes y análisis.

Desafío: estado desconocido del riesgo de seguridad del proyecto hasta el último momento

Al carecer de cualquier tipo de evaluación de vulnerabilidades, los proyectos tienen riesgos de seguridad completamente desconocidos hasta que se realiza algún tipo de prueba. Cuando se realizan las pruebas de ciclo tardío, las vulnerabilidades de seguridad descubiertas tienden a provocar abandono y reelaboración del ciclo tardío. A pesar de estos heroicos esfuerzos de última hora, muchas vulnerabilidades de seguridad aún llegan a manos de los clientes.

Solución: monitoreo continuo de la calidad y seguridad del software

Para permitir la priorización y la corrección del curso, los informes de cumplimiento en tiempo real deben proporcionar paneles de control de fácil acceso, con una vista de los datos de nivel superior y profunda. Parasoft elimina los gastos generales de supervisión de la seguridad con paneles de seguridad altamente personalizables, que son interactivos, se accede desde cualquier ubicación y pueden diseñarse para cualquier usuario, desde el desarrollador hasta el líder del equipo y el gerente de nivel superior.

Uso de Parasoft para un flujo de trabajo SecDevOps más inteligente

Si comprende los desafíos anteriores y está listo para comenzar, comience con la integración de herramientas de prueba en su flujo de trabajo de desarrollo existente. Esto es clave para la adopción diaria y obtener el máximo retorno de la inversión (ROI) de su inversión. Veamos cómo se integran las herramientas de Parasoft en una canalización de CI / CD típica y cómo se pueden aprovechar para "cambiar a la izquierda" la seguridad en DevOps.

Aquí puede ver tanto el compromiso previo como el posterior en el flujo de trabajo, con análisis de código antes y  después de enviar el código al repositorio de origen. Ayudar a los desarrolladores a mejorar la calidad y la seguridad antes El código registrado es una ventaja significativa de "desplazamiento a la izquierda". Nuestras herramientas comienzan allí y luego continúan ayudando después de que el código se ingresa, crea e implementa.

Flujo de trabajo de confirmación previa:

  1. Decidir un estándar de seguridad que se adapte a las necesidades del proyecto y la organización (por ejemplo, OWASP, CWE, CERT). Los niveles de cumplimiento y la composición de un estándar de codificación, por ejemplo, se pueden personalizar para satisfacer sus necesidades y pueden ser una combinación de estándares de seguridad y calidad.
  2. Encapsule la política de seguridad en una configuración de prueba. Esto generalmente se hace de manera centralizada, para un proyecto completo, por un líder de equipo.
  3. Haga que las configuraciones definidas estén disponibles para que los desarrolladores las utilicen cuando escriben y prueban su código. El beneficio clave aquí es implementar estos estándares en el entorno de escritorio de todos los desarrolladores, para que todos trabajen con el mismo estándar.
  4. Aplique verificadores al código antes de registrarse. Nuestra experiencia ha demostrado que la mejor práctica es no hacer que el cumplimiento de la configuración de prueba sea una puerta para registrarse, ya que esto afectará la eficiencia del equipo y la adopción de prácticas de codificación seguras. El código que no es totalmente compatible a menudo se registra por varias razones que las herramientas no pueden evaluar necesariamente, y el propósito de la parte posterior a la confirmación del flujo de trabajo es realizar un `` análisis completo '' y actuar como red de seguridad.

Flujo de trabajo posterior a la confirmación:

  1. Cree código, ejecute pruebas existentes y realice análisis estático de todo el proyecto.
  2. Inspeccione los resultados publicados en el panel de seguridad para determinar las áreas de preocupación.
  3. Analice los resultados, priorice las infracciones y asígnelos en consecuencia, en forma de tareas para el desarrollador apropiado. Con Parasoft, la retroalimentación instantánea está disponible a través de paneles de control preestablecidos y personalizables.
  4. Tome medidas para abordar las advertencias e infracciones que se publican y están disponibles en el IDE de todos para su revisión.

Incorporar la seguridad como parte de la calidad

La mayoría de los equipos de software comprenden la necesidad de entregar código de alta calidad, independientemente de la madurez de su proceso actual. Aprovechando esa mentalidad existente para mejorar la seguridad, puede entrelazar requisitos, controles y estándares de seguridad como parte de su proceso de mejora de la calidad existente. A nivel del tablero, ver el cumplimiento de la seguridad en tiempo real, con la capacidad de profundizar en las áreas problemáticas en función de las áreas de preocupación destacadas, ayuda a que la seguridad se convierta en parte de la gestión de calidad diaria.

Resumen

Es importante priorizar la seguridad lo antes posible en el ciclo de vida del desarrollo para "cambiar a la izquierda" tanto la aplicación de los estándares de seguridad como las buenas prácticas, y lograr DevSecOps con éxito. Para habilitar esto, necesita un proceso accesible y fácil de adoptar para detectar y eliminar vulnerabilidades tan pronto como los desarrolladores escriban el código. Los paneles de informes y análisis personalizables en tiempo real de Parasoft brindan retroalimentación instantánea a los líderes del equipo y expertos en seguridad sobre el estado del proyecto, su cumplimiento con los estándares elegidos y exactamente dónde están las preocupaciones más importantes, para que toda la organización pueda comprender los riesgos.

Incorpore seguridad a su aplicación desde el principio

por Mark Lambert

Mark, vicepresidente de productos de Parasoft, es responsable de garantizar que las soluciones de Parasoft brinden un valor real a las organizaciones que las adoptan. Mark ha estado con Parasoft desde 2004, trabajando con una amplia variedad de clientes de Global 2000, desde implementaciones de tecnología específicas hasta iniciativas de mejora de procesos SDLC más amplias.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.