Mayo de 2022
Las vulnerabilidades de seguridad están ampliamente reconocidas en todo el sector tecnológico, y también por nuestros clientes, que necesitan garantizar que los productos que utilizan sean seguros. Para poder ofrecer esa garantía, NetApp ha desarrollado el ciclo de vida de desarrollo seguro (SDL, «Secure Development Lifecycle»), un estándar para el desarrollo de productos que evalúa y responde a posibles vulnerabilidades.
SDL de NetApp define un riguroso proceso basado en prácticas recomendadas y estándares del sector que pueden seguir los equipos de producto para evaluar la seguridad y planificar el lanzamiento de un producto seguro. El proceso comienza con los primeros planes de un producto, antes de que se haya introducido una sola línea de código, y se extiende hasta la supervisión de los productos una vez que se han lanzado.
SDL, implantado en NetApp, es un proceso de 6 pasos flexible y repetible (como se muestra en la siguiente figura) que pueden seguir los equipos que crean productos y servicios de NetApp. En el transcurso del desarrollo de productos, los equipos de NetApp pueden llevar a cabo este conjunto explícito y predefinido de actividades que ayudan a garantizar que el producto sea seguro de forma fiable. El proceso de SDL permite a NetApp conocer los riesgos que entrañan los productos actuales, así como evaluar con qué eficiencia el equipo de producto cumple las normas de todo el SDL.
El grupo de seguridad de productos proporciona prácticas recomendadas para SDL, procedimientos que lo respalden y experiencia en seguridad a los equipos de producto. Los equipos de producto pueden implantar los procesos y políticas de SDL para poder suministrar productos seguros. SDL requiere que todas las vulnerabilidades conocidas, incluidas las vulnerabilidades de componentes de terceros, se hayan tratado adecuadamente.
El proceso de SDL de NetApp comienza creando conciencia sobre seguridad y la experiencia en nuestros equipos de producto a través de la formación y la designación de expertos en seguridad.
NetApp exige que se proporcione formación en seguridad al personal involucrado en la entrega de productos. La formación en seguridad incluye educación sobre amenazas actuales, técnicas de desarrollo seguro, vulnerabilidades y métodos para abordar los problemas de seguridad. La formación se adapta a la función que desempeñan los alumnos (gestor de productos, desarrollador, control de calidad y otros similares) para sensibilizar sobre la seguridad de los productos y el soporte necesario para incorporar las prácticas de seguridad en su trabajo.
NetApp necesita una actualización de seguridad anual para comunicar los cambios que inevitablemente se producen en la seguridad de los productos. NetApp también ofrece foros internos y acceso a eventos comerciales que ayudarán a las personas a ampliar sus conocimientos sobre seguridad.
Los expertos en seguridad son profesionales especializados en seguridad de los equipos de producto de NetApp. Promueven prácticas recomendadas para el desarrollo seguro y el proceso de SDL en su organización, a la vez que progresan en cuestiones de adopción y comprensión de la seguridad de los productos en general. Cada experto recibe formación especializada en seguridad, especialmente a la exposición a las prácticas recomendadas de seguridad, incluido SDL de NetApp. Aunque el objetivo principal es integrar a los líderes de seguridad en los equipos de desarrollo, estos expertos también prestan servicio como puntos de contacto clave para el grupo de seguridad de los productos, puesto que este se encarga de supervisar la ejecución del equipo de productos de SDL.
El proceso de SDL de NetApp comienza con una evaluación de la seguridad y la publicación de las planificaciones del cumplimiento normativo y las pruebas. A todo ello le sigue una evaluación exhaustiva de los problemas y las soluciones de seguridad de los productos y la validación de la resolución de las vulnerabilidades que se han identificado. Termina con la comunicación del riesgo y la actividad de supervisión a través de un equipo de respuesta a incidentes de seguridad de los productos (PSIRT, por sus siglas en inglés).
Existen tres puntos de contacto en este paso del proceso de SDL: la revisión de la base de referencia de seguridad del producto, el modelado y la mitigación de las amenazas, y la revisión del ecosistema de la cadena de suministro. Todos tienen lugar en la primera fase de desarrollo del diseño, antes del desarrollo de la codificación o la implantación.
Revisión de la base de referencia de seguridad del producto. La base de referencia de la seguridad del producto consisten en un conjunto mínimo de niveles de seguridad aceptables para todos los productos de NetApp. Deriva de las normas de seguridad, como ISO/IEC 27001, y los compromisos contractuales contraídos con los clientes empresariales y gubernamentales de NetApp. El proceso de revisión establece un conjunto de pasos que pueden seguir los equipos de producto para evaluar si su producto cumple cada requisito. A continuación, se conforma un plan para agregar al producto cualquier funcionalidad básica que falte.
Modelado y mitigación de amenazas. El modelado de amenazas se utiliza para identificar defectos de seguridad en una función, un componente o un producto en las fases iniciales. Permite a los equipos de producto considerar de forma estructurada las implicaciones de seguridad de sus diseños. De este modo, los equipos pueden identificar con mayor eficiencia vulnerabilidades de seguridad, determinar el riesgo y desarrollar las medidas de mitigación adecuadas.
Programa de proveedores de confianza. El objetivo que perseguimos con este programa es asegurarnos de que nuestro ecosistema de proveedores estratégicos sea capaz de garantizar de forma constante el nivel más alto de seguridad del sector. Con él, NetApp evalúa proveedores estratégicos, tanto nuevos como recurrentes, que están involucrados en el desarrollo de productos de NetApp. La auditoría ayuda a los equipos de productos a validar que las actividades de SDL se incluyan en los procesos de desarrollo, fabricación y asistencia técnica de los proveedores. También permite a NetApp determinar si los componentes que nosotros obtenemos de ellos se adhieren a nuestros estándares.
Hay dos puntos de contacto en este paso del proceso de SDL: el establecimiento de planes para el cumplimiento normativo y las pruebas de seguridad.
Plan de cumplimiento de normativas de SDL. A través del plan de cumplimiento normativo, los equipos de producto pueden definir niveles de seguridad aceptables que se ejecutarán para un lanzamiento específico y con los que se determinará qué nivel de responsabilidad tendrán en el cumplimiento de estos criterios. Al establecer estos niveles desde el principio, el equipo podrá conocer los riesgos asociados a los problemas de seguridad, identificar y solucionar los defectos de seguridad durante el desarrollo, y aplicar los estándares de SDL a lo largo de todo el proyecto.
Plan de pruebas de seguridad. El plan de pruebas de seguridad integra los casos de pruebas de seguridad en la estrategia de pruebas y cubre los muchos aspectos de la seguridad: desde la autenticación y la autorización hasta la protección de los datos en reposo o en tránsito. En el proceso de creación y ejecución de un plan de pruebas de seguridad se incluye también la solución de los problemas que se encuentren, lo que ayuda a garantizar que se hayan cubierto posibles problemas de seguridad y se hayan abordado adecuadamente antes del lanzamiento de un producto.
En este paso del proceso de SDL existen seis puntos de contacto: la identificación de errores de seguridad en una revisión de código seguro, las pruebas de seguridad de aplicaciones estáticas y dinámicas, el análisis en tiempo de ejecución para detectar vulnerabilidades conocidas (también mediante la técnica de «fuzzing» o la realización de pruebas de vulnerabilidad ante datos aleatorios o inesperados) y el análisis para detectar vulnerabilidades en software de terceros.
Pruebas estáticas de seguridad de aplicaciones. Antes de proceder con la compilación, los equipos de producto pueden utilizar esta prueba para analizar el código fuente y tratar de descubrir posibles defectos críticos, debilidades de seguridad y vulnerabilidades en el código. La prueba utiliza un conjunto de enlaces dentro del proceso de compilación de cada proyecto y una serie de herramientas de creación de informes, como el seguimiento de errores y la revisión de código, para marcar los defectos del producto. Los desarrolladores se encargan de la clasificación y solución de los problemas que se identifiquen. De este modo se evitan problemas en el lanzamiento, como mayores desafíos de compatibilidad, daños en la memoria, errores graves en el sistema o incluso la ejecución remota de código.
Revisión de código seguro. La revisión de código seguro es una técnica que se utiliza para identificar errores de seguridad en la fase inicial del desarrollo, antes de su envío al control de versiones. Ayuda a garantizar que el código no tenga ningún punto débil de seguridad visible, como patrones de código específicos articulados en la norma Common Weakness Enumeration (CWE). La revisión de código seguro depende de la información que se haya obtenido de las pruebas de seguridad de aplicaciones estáticas y el modelado de amenazas.
Pruebas dinámicas de seguridad de aplicaciones. Los equipos de producto pueden identificar problemas de tiempo de ejecución mediante la realización de esta prueba en software totalmente compilado, con lo que se prueba la seguridad de código integrado y en ejecución en un entorno de pruebas o ensayo. La actividad de análisis implica la configuración de la aplicación web que se está probando para facilitar el análisis y, a continuación, la ejecución de la herramienta de análisis en la aplicación. Estos análisis pueden poner de relieve una amplia gama de vulnerabilidades, incluidos los problemas de validación de entrada y salida que podrían dejar a una aplicación vulnerable a secuencias de comandos entre sitios o inyección SQL. También pueden ayudar a identificar errores de configuración y otros problemas específicos con las aplicaciones.
Análisis de vulnerabilidades. Para identificar las vulnerabilidades de seguridad comunes y conocidas en los productos de NetApp que se están desarrollando, NetApp sigue un proceso estándar mediante firmas y comprobaciones de configuración.
«Fuzzing». Para encontrar vulnerabilidades de seguridad, el «fuzzing» es una técnica automatizada de pruebas en tiempo de ejecución que introduce datos con formato incorrecto o parcialmente incorrecto en las interfaces de protocolo para identificar resultados no deseados. La herramienta de «fuzzing» que utilizan los equipos de producto de NetApp admite paquetes de pruebas específicos del protocolo que realizan pruebas «fuzzing» automatizadas de caja negra. Esta prueba puede identificar problemas como RFC no compatibles. La técnica de «fuzzing» suele combinarse con las pruebas dinámicas de seguridad de aplicaciones y forma parte de los sprints de desarrollo cuando se comprueba el código.
Análisis de software de terceros. El análisis del software de terceros (o el análisis de composición de software) ayuda a gestionar el riesgo de seguridad que supone utilizar componentes de terceros. Puede crear un inventario de software de código abierto y componentes de terceros integrados en nuestros productos. El análisis puede marcar componentes que pueden tener problemas legales y de seguridad, lo que puede requerir que se tome una acción correctiva antes de que el producto se lance. Esto permite identificar rápidamente las vulnerabilidades conocidas y que los equipos de producto planifiquen cómo solucionarlos. Este análisis se puede llevar a cabo de forma continua porque se pueden notificar en cualquier momento vulnerabilidades que se acaben de detectar.
Una vez que los equipos de producto identifican y tratan los problemas de seguridad, pueden validar las correcciones que se han implantado.
La comunicación de riesgos del proceso de SDL implica la evaluación, la comunicación y la resolución de los riesgos identificados en puntos de contacto anteriores del proceso de SDL. Puede incluir pasos como pruebas de penetración, creación de informes formales o el desarrollo de procedimientos de respuesta a incidentes específicos del producto.
El equipo de respuesta a incidentes de seguridad de los productos (PSIRT) se encarga de coordinar y gestionar las investigaciones sobre vulnerabilidades, tanto si se notifican de manera pública como dentro de la empresa, así como la respuesta de NetApp, que incluye asesores públicos relacionados con la investigación y la mitigación. Los equipos de producto designan a una persona determinada de su equipo para que se coordine con el PSIRT.
To edit this Page SEO component