Es fácil decir que este comportamiento es malo. Pero creo que vale la pena tener una mirada más detallada.
Los problemas de seguridad son una situación bastante difícil para muchas compañías, que han decidido abrir sus programas de código fuente (algunos de), mientras mantienen una versión comercial. Esto empeora si no se puede crear una solución inmediatamente.
Motivación para informar a los clientes que pagan primero
La compañía obviamente depende de que sus clientes paguen para sobrevivir como lo hace cualquier compañía. Por lo tanto, deben proporcionar algún valor adicional a esos clientes.
Es probable que grandes compañías paguen a los clientes, mientras que las pequeñas empresas y las personas independientes tienden a usar la versión gratuita. Esas grandes empresas tienen más probabilidades de ser el blanco de un ataque. Y en caso de un ataque exitoso, es más probable que estén sujetos a una mala cobertura de prensa.
Además, existe un mayor riesgo de que la advertencia de seguridad pública sin una solución reciba atención de las personas con intenciones maliciosas. Solo porque el número de personas es un par de órdenes de magnitud mayor.
Esto es especialmente cierto, si casi todos los usuarios serios son clientes que pagan. En otras palabras: la versión de código abierto es básicamente una demostración del comercial.
Motivación para emitir una advertencia de seguridad combinada
Después de que la compañía haya emitido una advertencia pública, puede afirmar que ya no es responsable por ningún daño causado posteriormente. Si los usuarios no tomaron medidas de contador, como instalar la solución, será culpa suya.
Dar información temprana a los clientes que pagan puede permitir que alguno de ellos utilice ese conocimiento para el mal. Dependiendo de la legislación, podría suponer una amenaza legal para la empresa que no advirtiera a todos los usuarios, aunque obviamente era consciente del problema.
Desde el punto de vista de un usuario
Habiendo hablado sobre la motivación de la empresa, echemos un vistazo al lado del usuario. Creo que es bastante obvio que los clientes que pagan lo apreciarán como servicio.
Los usuarios de la versión de código abierto están sujetos a un riesgo adicional y, por lo tanto, deben tener mucho cuidado al usar dicho software en un entorno de producción o con datos confidenciales.
¿Cómo aborda el proyecto de código abierto no comercial Arianne los problemas de seguridad?
Me gustaría concluir con alguna experiencia personal. Arianne es un proyecto de código abierto que consiste en un marco de juego en línea y un juego de rol en línea 2D llamado Stendhal. No es comercial y no genera ningún tipo de dinero.
Hay muchas personas que ejecutan servidores Stendhal ya que es de código completamente abierto (cliente, servidor, gráficos, todo). Ejecutamos una instancia de Stendhal nosotros mismos.
Cuando descubrimos un problema de seguridad en Stendhal, terminamos con este proceso:
- Compartimos la información entre los desarrolladores principales de confianza, la discutimos y trabajamos juntos para encontrar la causa raíz.
- Solucionamos el problema y confirmamos el cambio en el CVS público. Otros desarrolladores centrales revisan el arreglo y lo prueban ellos mismos.
- Tomamos el arreglo en vivo en nuestro servidor.
- Preparamos una versión de corrección de errores basada en la última versión estable. Mientras tanto, otros desarrolladores centrales hacen algunas pruebas más. Los jugadores normales simplemente siguen jugando y, por lo tanto, prueban implícitamente los efectos secundarios.
- Realizamos una versión secundaria de la última versión estable junto con un parche de código fuente y publicamos un anuncio que describe el problema.
Todo el proceso tarda aproximadamente 1 a 2 horas.
No lanzamos correcciones de errores para versiones anteriores porque prestamos mucha atención para hacer que las actualizaciones entre versiones sean muy fáciles de instalar. La única razón por la que alguien no puede saltar a la última versión es que él mismo modificó el código. Para esas personas, proporcionamos el parche de código fuente.
Puedo ver que alguien puede argumentar que actualizar nuestro propio servidor primero es malo, al igual que comprometer la corrección al CVS público antes del anuncio. Pero esta es la forma más efectiva de obtener una solución de alta calidad en el menor tiempo posible. Necesitamos la prueba corta en un servidor en vivo porque la gente realmente espera que puedan instalar actualizaciones de seguridad a ciegas sin tener que temer los efectos secundarios.