¿Cómo puedes minimizar los riesgos de actualizaciones de software? TIC Defense lo explica
El famoso incidente que afectó millones de equipos a nivel mundial, desencadenado por una actualización del software de seguridad CrowdStrike Falcon, ha puesto de manifiesto los riesgos inherentes a los sistemas complejos de software.
Según el gigante tecnológico Microsoft, el impacto no solo ha implicado pérdidas económicas significativas para las organizaciones. También, ha reavivado un debate crucial: ¿cómo podemos minimizar los riesgos asociados a las actualizaciones de software?
En el ámbito del desarrollo de software, la perfección es inalcanzable. Los sistemas avanzados, por su naturaleza, van a estar siempre sujetos a errores. No obstante, la implementación de procesos robustos y meticulosos, pueden reducir de forma drástica la probabilidad de generar fallos críticos.
Estos procesos incluyen un diseño riguroso, pruebas exhaustivas y la entrega controlada de actualizaciones, algo que compañías líderes han perfeccionado a lo largo de los años. Nuestra experiencia ha demostrado que, aunque no estamos exentos de cometer errores, un análisis profundo de los incidentes previos ha permitido que evolucionemos.
En un ecosistema tan interconectado como el actual, el avance colectivo depende de la colaboración abierta y sin restricciones. Por esta razón, muchas empresas de ciberseguridad, como TIC Defense, han decidido compartir públicamente medidas y metodologías que permiten construir procesos de actualización robustos.
Las pruebas multinivel garantizan la confiabilidad, ya que cada actualización presenta un nivel de riesgo inherente. Mientras que algunas pruebas incorporan nuevas reglas de detección, otras modifican funcionalidades completas del software. Ambas requieren pruebas exhaustivas para prevenir impactos negativos en los sistemas de los usuarios.
Un paso fundamental en este proceso es garantizar que las nuevas reglas de detección no puedan identificar erróneamente objetos legítimos como amenazas. Para ello, se puede contar con una vasta base de datos en constante crecimiento, en donde se puedan incluir miles de millones de objetos legítimos, entre archivos, páginas web y patrones de comportamiento.
Cada componente actualizado se puede evaluar en escenarios controlados que imitan configuraciones reales de software, hardware y sistemas operativos. Este enfoque asegura que el producto funcione sin inconvenientes, incluso en situaciones complejas. Por ejemplo, podemos simular tareas comunes del usuario, como abrir navegadores o descargar archivos para garantizar que el rendimiento del sistema no se vea comprometido.
Incluso con un sistema de pruebas minucioso, no se pueden prever todas las combinaciones posibles de configuraciones de software y hardware. Por esta razón, podemos adoptar un enfoque escalonado en el lanzamiento de actualizaciones.
Las actualizaciones deberían ser probadas en una red interna, en primer lugar. Después, se distribuyen en un pequeño grupo de usuarios al azar. Finalmente, luego de comprobarse su estabilidad, se expanden de forma progresiva a toda la base de usuarios. Este enfoque reduce el alcance de cualquier error inesperado, limitando el impacto a un número controlado de equipos.
Una vez que la actualización ha sido desplegada, se utilizan sistemas avanzados de monitoreo para identificar cualquier anomalía en tiempo real. Este sistema, el cual está basado en datos anónimos proporcionados voluntariamente por los usuarios, permite detener de inmediato la distribución en cado de detectar problemas, evitando un impacto masivo.
Es de entender que los administradores de sistemas prefieren tener un control adicional sobre las actualizaciones implementadas en sus redes. Por ello, se proporcionan herramientas que permiten realizar pruebas en entornos aislados antes de la distribución masiva dentro de una organización.