Cómo minimizar los problemas de actualización de software

Hoy te explicamos nuestras prácticas de lanzamiento de nuevos productos que reducen los riesgos de incidentes a gran escala

Según Microsoft, el incidente del pantallazo azul causado por una actualización de la solución de seguridad CrowdStrike Falcon afectó a más de 8,5 millones de ordenadores de todo el mundo. Este incidente ha costado dinero a muchas empresas y también ha abierto el debate de cómo evitar que se repitan situaciones similares.

En primer lugar, nadie es inmune a los errores; es imposible garantizar una total ausencia de fallos en sistemas de software complejos. Sin embargo, un proceso bien estructurado de desarrollo, comprobación y entrega de producto, así como de actualización de los dispositivos de los usuarios, puede reducir la probabilidad de un fallo grave. Y nosotros tenemos este proceso implantado desde hace ya años.

También hemos tenido incidentes directamente relacionados con la actualización de nuestros productos. Pero la última vez que sucedió esta situación a gran escala fue en 2013. Después de aquel desagradable episodio realizamos un exhaustivo análisis de las causas que lo provocaron, lo que nos llevó a revisar por completo nuestro enfoque de creación y comprobación de actualizaciones tanto en productos enfocados a empresas como para usuarios domésticos. El sistema que construimos es tan eficaz que en 11 años no hemos tenido ni un solo fallo de tal magnitud.

No queremos ocultar el proceso que hemos creado al lanzar una actualización y queremos compartirla con el sector. Después de todo, sin el libre intercambio de mejores prácticas y soluciones desarrolladas por diferentes empresas, el progreso en la industria de la ciberseguridad se vería estancado. Entre los principales mecanismos de protección de las actualizaciones se encuentran las pruebas multinivel, el despliegue gradual de las actualizaciones y la supervisión automática de anomalías. Hablamos de cada uno de ellos en detalle.

Pruebas multinivel

Existen dos tipos de actualizaciones de nuestros productos: algunas de ellas se utilizan para añadir una nueva lógica de detección y otras para cambiar la funcionalidad de un producto determinado. Añadir nuevas funciones aumenta las probabilidades de riesgos potenciales, aunque es cierto que las de lógica también pueden ocasionar problemas. Por ello, probamos con cuidado ambos tipos de actualizaciones en diferentes etapas.

Comprobación de falsos positivos

Al crear y publicar reglas de detección, ambas generadas automáticas y escritas por analistas, las probamos en una amplia base de datos de objetos legítimos (o “limpios”): archivos, páginas web, patrones de comportamiento, etc. De este modo se identifican y filtran los falsos positivos. Disponemos de una amplia colección de objetos legítimos, tanto de software como de recursos web limpios, que se actualiza constantemente y en la que se prueban todas las reglas creadas.

Una de las formas de reponer esta colección es a través de nuestro programa ALLOWLIST que permite a los desarrolladores, tanto a clientes que desarrollan y utilizan sus propias soluciones como a proveedores independientes, a facilitarnos su software. Esto reduce el número de posibles falsos positivos y el riesgo de clasificación incorrecta del software.

Otros métodos para obtener archivos y metadatos incluyen el intercambio de información con socios tecnológicos usando nuestro Threat Intelligence Portal, etc. En total, nuestra base de datos de objetos legítimos contiene información de alrededor de 7.200 millones de objetos.

Pruebas en máquinas virtuales

Las pruebas de actualización no se limitan a ser comprobadas en colecciones de archivos. Si no se detectan problemas en la primera fase, todos los componentes actualizados se someten a pruebas automáticas de varias fases en máquinas virtuales con diversas configuraciones de productos de seguridad, software y sistemas operativos. Se ejecutan diversos escenarios relacionados con nuestros productos y el funcionamiento de sus sistemas de seguridad, así como imitan los comportamientos típicos de los usuarios.

En lo que respecta específicamente a los escenarios de producto, estos incluyen un análisis completo del sistema de archivos, el proceso de instalación de actualización del producto, el reinicio después de la actualización, etc. Esto nos permite asegurarnos que el producto funciona con normalidad tras la actualización y que no bloquea ni afecta a la estabilidad del sistema. Toda actualización pasa por esta comprobación.

Los escenarios de usuario simulan el comportamiento típico humano en un ordenador: abrir un navegador, descargar un archivo o iniciar un programa. Esta comprobación permite asegurarnos de que el producto no tiene un impacto negativo ni en el rendimiento, ni la velocidad o la estabilidad del ordenador.

Además, se comprueba automáticamente la compatibilidad de las actualizaciones con el software industrial. Por ejemplo, con los sistemas SCADA. Cualquier tipo de impacto negativo en las soluciones relacionadas con esta área podrían provocar una parada inaceptable de los procesos de producción, causando posibles pérdidas económicas.

Control de calidad

Además de los controles ya mencionados, contamos con un equipo de control de calidad independiente. De hecho, no entregamos a nuestros clientes ni una sola versión de actualización del producto sin que sus expertos confirmen que está preparada. En el caso de que sea necesario, también ajustamos y mejoramos constantemente los procesos de verificación y vigilamos la posible aparición de riesgos operativos.

Lanzamiento escalonado de tecnologías de protección

Somos realistas y sabemos que este sistema multinivel de comprobaciones puede seguir siendo insuficiente. Por ejemplo, si un programa de terceros se actualiza a la vez que uno nuestro, se podría producir un imprevisto. En general, es imposible predecir todas las combinaciones de configuraciones de los distintos programas y sistemas. Por lo tanto, una vez que una actualización que afecta a la funcionalidad de las soluciones de seguridad está lista y aprobada, no la enviamos a los ordenadores de todos nuestros usuarios. En su lugar, estas actualizaciones se lanzan por fases.

Una actualización se somete a pruebas preliminares en máquinas de nuestra propia red antes de ser publicada en servidores de actualización públicos. Si no se detectan problemas, la actualización la recibe primero un reducido número de usuarios seleccionados al azar. Si no se manifiestan problemas ni fallos, el número de ordenadores que reciben la actualización aumenta de manera gradual y así, sucesivamente, hasta que la actualización está disponible para todos los usuarios.

Supervisión automática de anomalías

¿Qué ocurre si una actualización causa problemas? Supervisamos el comportamiento de las soluciones actualizadas utilizando datos anónimos transmitidos voluntariamente a través de nuestro KSN y detenemos inmediatamente la distribución de actualizaciones.

Y, lo más importante es que, gracias a la combinación de la supervisión automática de anomalías y a la distribución escalonada de actualizaciones, un error sólo afectaría a un número muy reducido de ordenadores. Hablamos de que afectaría únicamente a decenas. Este fallo ni siquiera afectaría a miles o millones de ellos.

Comprobación de actualizaciones por parte del cliente

Nuestra compañía ofrece la posibilidad de comprobar las actualizaciones recibidas una vez más, solo que esta vez desde el lado del cliente a través de la consola de administración de Kaspersky Security Center.

Los administradores de sistemas del cliente pueden establecer un grupo de prueba aislado de ordenadores (o máquinas virtuales), con la configuración y el conjunto de software más común para la red de la organización. Y, a continuación, crear una tarea para comprobar las actualizaciones, especificando este grupo de prueba como objetivo. En este caso, todas las actualizaciones se instalan primero solo en los equipos de prueba, se comprueban en funcionamiento y después se distribuyen por toda la red de la empresa. Encontrarás más información sobre cómo configurar una comprobación de este tipo en nuestra web de asistencia técnica.

Analizamos a fondo todos y cada uno de los problemas relacionados con las actualizaciones de software que puedan surgir (incluidos los identificados en las pruebas preliminares), comprendemos las razones de su aparición y después tomamos medidas para garantizar que no vuelvan a ocurrir. Además, hemos implementado la costumbre de identificar y evaluar proactivamente los riesgos de posibles problemas para abordarlos sistemáticamente. Como resultado de haber hecho esto siempre, hemos establecido un sistema multinivel que nos permite reducir significativamente la probabilidad de que surjan nuevos problemas.

Está claro que es imposible en una única entrada de blog contarte todos los matices de nuestro sistema multinivel para comprobar las actuaciones de los productos. Sin embargo, si este tema despierta interés en el sector, compartiremos más detalles. Solo la cooperación abierta entre los diferentes actores de la seguridad puede crear una barrera eficaz contra las actividades de los ciberdelincuentes.

Consejos