it-swarm-es.com

¿Detener las actualizaciones de software después de que el sistema sea "estable"?

Ayer por la mañana, tuve una clase de sistema operativa y acabamos de comenzar la parte de la seguridad del sistema operativo.

Cuando el profesor estaba explicando lo que es un Patch Manager, nos dijo que una compañía informática que conoce en qué se ocupa de garantizar los servidores, después de la certificación (no sé cómo certifique la seguridad cuando trates. con las computadoras), detiene el gerente de parche porque dicen

llegamos a una situación estable, por lo que la actualización del software resolverá errores conocidos, pero también podría terminar en la introducción de nuevos problemas de seguridad para que no hagamos eso

Ahora, no estoy en desacuerdo con la lógica de ella porque en realidad es cierto que puede introducir nuevos errores, pero ¿qué hay de resolver los existentes? ¿Y qué significa :estable cuando se usa la palabra en este contexto?

13
dierre

En teoría, lo que su profesor propone son son razonables. Pero hay un problema en la práctica. Usted nunca llegar a una configuración estable. Alguna vez.

No hay un software no trivial que no tenga errores desconocidos. Ninguno. Y algún porcentaje de esos errores son vulnerabilidades de seguridad.

¿Qué propone hacer el profesor si alguien encuentra una vulnerabilidad de ejecución de código remoto en el sistema después de que se complete la certificación?

¿Él realmente cree que es más seguro mantener un sistema desplegado con una vulnerabilidad de ejecución de código remoto conocida que para asumir el riesgo de un parche?

La respuesta (sorprendentemente) podría ser "sí". Y eso va al corazón de la seguridad del mundo real. La seguridad es realmente sobre la gestión de riesgos. Cada pieza de software desplegada tiene una cierta cantidad de riesgo asociada con ese software. El software recién implementado podría romper una aplicación de línea de negocio existente. Puede introducir nuevas vulnerabilidades.

Básicamente no hay forma de saber qué podría suceder. Por lo tanto, debe decidir cuál es su tolerancia al riesgo.

Para algunos sistemas (a menudo los sistemas donde la vida de alguien depende del sistema), en realidad es mejor mantener el sistema sin cambios (incluso si hay vulnerabilidades conocidas) y mitigar las vulnerabilidades fuera del sistema (quizás con un firewall). Para otros sistemas, todo lo que necesita hacer es asegurarse de que sus aplicaciones de línea de negocio continúen funcionando.

No hay ninguna solución de un solo tamaño aquí. Cada empresa necesita tomar su propia decisión sobre las compensaciones de riesgo/recompensa asociadas con un parche de seguridad. Algunos aceptarán el riesgo, otros no.

Estable puede significar algunas cosas diferentes.

En un entorno administrado en general, usted trae el sistema operativo al último nivel de parche conocido conocido. Eso podría significar que no necesariamente tiene los últimos parches, pero tiene todos los parches de seguridad conocidos (para vulnerabilidades conocidas) y se prueba que funciona con el software que debe instalarse en él. Este es un equilibrio entre la seguridad y la facilidad de uso.

Cada vez que parche puede crear o exponer nuevos errores y vulnerabilidades y también romper el software que debe ejecutarse en el servidor. Si el parche rompe su servidor web, entonces la máquina es inútil de todos modos.

Una forma de manejar el dilema que mencionó es crear máquinas de preparación. Cuando quiera probar nuevos parches, instale todo en las máquinas de estadificación y luego pruebe para asegurarse de que todo funcione desde una funcionalidad y un punto de vista de seguridad. Dado que esto lleva tiempo, esfuerzo y recursos, no es algo que quiera hacer con frecuencia. Dependiendo de los requisitos de seguridad y los recursos, es posible que solo haga esto cada 6 meses (excepto siendo las hazañas de un día cero).

Si desea obtener más información sobre este look en Administración de configuración

8
Bradley Kreider

"Estable" tiene dos diferentes y ligeramente contradictorios:

http://www.merriam-webster.com/dictiony/stable?show=2&t=1290292919

1a) no cambiando ni fluctuando

2a) estable a propósito: firme en resolución

2b) no sujeto a la inseguridad (SANE)

La mayoría del uso del software es una extensión del segundo Significado: el software estable es el software que no se bloquea.

Debian estable, y el significado que está hablando aquí es el primer significado: el software estable es el software que no está cambiando.

Esto es atractivo porque puede averiguar todos los errores y trabajar en el trabajo por ellos, y la estabilidad significa que no tendrá nuevos errores para preocuparse.

Sin embargo, los errores de seguridad no son como la mayoría de los otros errores: cuán tardío se encuentra un error normal es generalmente proporcional a lo importante que es. Por esto me refiero a un error que se encuentra durante el desarrollo, es probable que afecte a un gran número de casos de uso y usuarios. Mientras que un error encontrado una vez que se implementa el producto es probable que sea un caso de borde, o afecte solo a una pequeña proporción de usuarios. (Excepciones para los errores de tipo Y2K, donde un cambio en el entorno de los usuarios causó grandes problemas).

Los errores de seguridad son a menudo casos de bordes, pero una vez que se conocen, los ataques contra ellos pueden afectar a todos los usuarios en cualquier escenario de uso. Así que el problema de repente se vuelve importante para arreglar para todos.

6
Douglas Leeder