¿Cómo asegurarse de que un administrador de contraseñas no sea malicioso?

3

¿Debo deshabilitar las actualizaciones automáticas del software de administración de contraseñas, como KeePass? ¿Hay alguna manera de bloquear el acceso del servidor de software a internet? ¿Qué sucede si alguien en la compañía agrega una función maliciosa a la próxima versión del software?

La pregunta es general, pero estoy particularmente interesado en la versión de KeePass para Windows.

    
pregunta Wood 12.04.2017 - 16:45
fuente

4 respuestas

5

[Divulgación: trabajo para AgileBits, los creadores de 1Password]

No deshabilitar actualizaciones automáticas

Primero abordaré la parte fácil de la pregunta.

  

Debo deshabilitar las actualizaciones automáticas del software de administración de contraseñas.

A menos que tenga una razón convincente para no actualizar el software y los sistemas, una de las mejores cosas que puede hacer por su propia seguridad es mantener sus sistemas y software actualizados.

La mayoría de los compromisos reales de los sistemas informáticos son a través de vulnerabilidades para las cuales ya se ha publicado una solución. Esto se evitaría si las personas mantuvieran sus sistemas actualizados.

No puedo hablar por los desarrolladores de KeePass, pero estoy razonablemente seguro de que hacen un buen trabajo al verificar la integridad de las actualizaciones. Le puedo decir que con 1Password, hacemos lo siguiente para asegurarnos de que recibamos una actualización.

  1. Use la configuración TLS más estricta para obtener la actualización y para obtener la información sobre de dónde debe proceder la actualización.
  2. Use los métodos de firma de código del sistema operativo para que el sistema operativo se asegure de que el código se firme cuando se ejecuta o instala (diferente en diferentes sistemas operativos).
  3. Utilice nuestra propia verificación de firma de código en el momento de la actualización para realizar pruebas más estrictas que las que exige el sistema operativo. (Por ejemplo, el sistema operativo puede requerir que el software esté firmado por un "desarrollador conocido". Queremos verificar que esté firmado por nosotros).

Sospecho que KeePass y todos los administradores de contraseñas decentes harán algo similar, aunque los detalles variarán.

La pregunta más difícil

Si puedo reformular parte de su pregunta:

  

¿Qué sucede si los desarrolladores de un administrador de contraseñas se vuelven malvados, se ven obligados a ser malos o se ven comprometidos por alguien con malas intenciones?

Esta es la pregunta más difícil, y es una pregunta importante. Para cualquier cosa que no compile usted mismo en un sistema que también construyó usted mismo, no hay ninguna garantía de absoluta . Lamentablemente, no podemos demostrar de manera absoluta que es imposible que el mal entre en 1Password sin la detección del usuario, pero podemos hacer cosas que dificultan la inserción del mal y aún más difícil que lo haga. ir sin ser detectado.

Escribí sobre esto hace tres años y medio en 1Password y el Crypto Wars II

Los puntos principales son que

  • El diseño de nuestro software está lo suficientemente bien documentado para que sea posible verificar de forma independiente que hace lo que decimos que hace en la mayoría de los casos.
  • La arquitectura es tal que hay muy pocos lugares en los que se puede insertar una puerta trasera.
  • Hay suficientes ojos en la fuente para que si se insertara un código malicioso en esos lugares, alguien lo expresara.

Hay más puntos, así que lea el artículo y la discusión en nuestros foros que siguieron. En combinación, estos proporcionan muy buenas razones para creer que no hay una puerta trasera maliciosa en lo que construimos. KeePass puede hacer un caso similar aún más fuertemente (dada su base de código abierto) pero aún así no puede proporcionar una prueba absoluta.

Riesgos de ponderación

No se equivoca al preguntar acerca de la posibilidad de código malicioso en el administrador de contraseñas de su elección, pero también tenga en cuenta que lo mismo se aplica al sistema operativo que utiliza. Probablemente sea más fácil para un atacante comprometer su computadora que comprometer un administrador de contraseñas bien diseñado. Y una vez que su computadora está comprometida, todas las apuestas están apagadas.

Y esto nos devuelve a las actualizaciones de software automatizadas. No permita que el temor a una amenaza improbable le impida tomar acciones que lo defenderían de amenazas más probables. Es divertido e informativo hablar sobre las amenazas poco probables; pero al sopesar las decisiones de seguridad, debemos considerar las compensaciones de seguridad en su conjunto.

    
respondido por el Jeffrey Goldberg 13.04.2017 - 18:42
fuente
6

Sin la certificación de un organismo independiente ni el acceso al control de código fuente y una comprensión real de lo que está buscando, no puede estar absolutamente seguro de que no sea malicioso.

Lo que puede hacer es usar administradores de contraseñas conocidos y bien establecidos como Keepass y mantenerlos actualizados para parchear cualquier vulnerabilidad, por lo que no debe deshabilitar las actualizaciones. Podría crear una regla para prohibir que la aplicación se conecte a Internet a través de algo como Firewall de Windows o Zonelarm. Aunque con tantos investigadores de seguridad, si estos productos tan respetados llamaran a casa, ya lo sabríamos.

Siempre existe un pequeño riesgo de que un interno malintencionado pueda colarse algo inoportuno, o tal vez una puerta trasera para servir al gobierno, es difícil estar seguro. Se trata de equilibrar la probabilidad y el riesgo con los beneficios que obtiene.

    
respondido por el iainpb 12.04.2017 - 16:58
fuente
4

Esencialmente, si descarga y ejecuta software, está "confiando" en que los autores de ese software no son maliciosos y también son competentes en el desarrollo seguro y también en la seguridad operativa (en el caso de actualizaciones automáticas y similares)

Establecer confianza en un conjunto dado de autores es en realidad algo difícil de hacer, especialmente si usted es un consumidor "normal" de software y no una gran empresa que podría aprovechar la posibilidad de solicitar información a los proveedores.

Algunas personas pueden sugerir que el código abierto responda a esto, pero eso es realmente cierto si usted (o alguien de su confianza) revisa el código y también maneja la compilación del código en un formato binario para que lo ejecute.

Entonces, en la práctica, lo mejor es evaluar el software e ir con algo donde te sientas cómodo con la fuente.

Al bloquear el acceso a Internet, eso le ayudará si sospecha que el software es malicioso pero podría ser difícil de lograr. Además, si sospechas que es malicioso, la respuesta es no instalarlo.

En las actualizaciones automáticas, esas ayudas (en el sentido de que permiten que los parches de seguridad se implementen automáticamente) pero pueden perjudicar (si su servidor de actualizaciones está comprometido).

    
respondido por el Rоry McCune 12.04.2017 - 16:59
fuente
2

Es como preguntar, ¿cómo puedo saber si una persona cercana a mí no es maliciosa? Si confías en esa persona y descubres que te hicieron daño, entonces sabes que eran maliciosos. Es probable que no tenga todos sus contactos evaluados por un psicólogo y, de la misma manera, probablemente no analice las instrucciones de su software de forma estática y dinámica. Incluso si lo hicieras, ¿y si algo pasara? Tal vez sea propicio esforzarse por lograr un soporte activo, transparencia y buenas prácticas de seguridad por parte de los desarrolladores del administrador de contraseñas elegido. Intente agregar la llamada verificación de dos pasos o la autenticación de dos factores, tal vez incluso tokens de hardware en cuentas clave protegidas por contraseña de "claves para el castillo", si cree que extender la confianza no tiene un papel razonable o suficiente para jugar. Después de todo, esta es una relación, y las relaciones son sobre la confianza.

    
respondido por el Justin Brown 13.04.2017 - 03:16
fuente

Lea otras preguntas en las etiquetas