2009-02-23 19 views
5

Hay algunas preguntas (C#, Java) que cubren cómo se podría aplicar las actualizaciones automáticas. Al parecer, en un principio es fácil proporcionar actualizaciones automáticas, y aparentemente no existen buenas razones para no proporcionar actualizaciones automáticas para la mayoría del software.Actualizaciones automáticas: ¿qué es seguridad "adecuada"?

Sin embargo, ninguno parece cubrir los aspectos de seguridad de las actualizaciones automáticas.

  • ¿Cuán seguras son las actualizaciones automáticas ahora?
  • ¿Qué tan seguro deberían ser?
  • ¿Cuán seguros pueden ser?

Mi problema principal es que Internet es, para todos los efectos, un salvaje oeste donde no se puede asumir nada sobre los datos que reciben. Las actualizaciones automáticas a través de Internet parecen inherentemente riesgosas.

Se infecta una computadora de la empresa, falsifica el DNS (solo un pequeño porcentaje de los cuales gana) y hace que las otras computadoras de la empresa crean que el servidor de actualización para una aplicación común está en otra parte, descargan la 'nueva' aplicación y se convierten infectado.

Como desarrollador, lo que sea posible los ataques están allí, y qué medidas debo tomar para proteger a mis clientes de abuso?

-Adam

Respuesta

6

Con el uso adecuado de la criptografía sus actualizaciones pueden ser muy seguro. Proteja el sitio desde donde distribuye sus actualizaciones con SSL. Firme todas sus actualizaciones con GPG/PGP u otra cosa, haga que sus clientes verifiquen la firma antes de aplicar la actualización. Toma medidas para asegurarse de que su servidor y claves se mantengan extremadamente seguros.

Adecuado, es muy subjetivo. Lo que es adecuado para un juego de Internet, quizás completamente inadecuado para el sistema de seguridad de nuestros misiles nucleares. Debes decidir cuánto daño potencial podría ocurrir si alguien lograra romper tu seguridad.

2

El ataque más obvia sería un atacante suministro cambiado los binarios a través de su servidor de actualización "mal". Por lo tanto, debe asegurarse de que se pueda verificar que los datos descargados provienen de usted, utilizando una firma digital.

para garantizar la seguridad, obviamente, se debe evitar la distribución de la clave para la firma. Por lo tanto, se puede aplicar alguna variación de RSA message signing

1

Conectarse a su servidor de actualización mediante SSL puede ser suficiente, siempre que su cliente se niegue a conectarse si obtiene un certificado inválido y su servidor requiere negociar un nivel razonable de seguridad de conexión (y el cliente también lo admite).

Sin embargo realista casi cualquier cosa que haga va a ser al menos tan segura como la ruta a través de la cual los usuarios reciben la primera instalación de su software de todos modos. Si sus usuarios inicialmente descargan su instalador a través de http simple, es demasiado tarde para comenzar a asegurar cosas en las actualizaciones.

Esto también es cierto en cierta medida, incluso si obtienen su software inicial a través de https o firmado digitalmente, ya que la mayoría de los usuarios pueden convencerse fácilmente de hacer clic en Aceptar en casi cualquier advertencia de seguridad que vean al respecto.

1

aparentemente no hay buenas razones para no proporcionar actualizaciones automáticas para la mayoría del software.

Existen buenas razones para no forzar una actualización.

  1. correcciones de errores puede romper el código
  2. usuarios pueden no querer arriesgarse a romper los sistemas de producción que dependen de las características de mayor edad
+0

Eso es un buen punto - razones para evitar las actualizaciones automáticas se cubren bastante bien aquí: http : //stackoverflow.com/questions/558535/should-a-web-app-have-automatic-updates –

Cuestiones relacionadas