¿Qué tan seguro es el portapapeles de Windows?

49

He estado usando el portapapeles de Windows como un método para obtener contraseñas de Lastpass en aplicaciones de escritorio.

Me he estado preguntando exactamente qué tan seguro es esto. ¿Ningún programa puede acceder al portapapeles en cualquier momento?

kiri
fuente
1
Recuerdo que el acceso al portapapeles estaba habilitado de forma predeterminada en algunas versiones (antiguas) de IE (probablemente IE6). Encontré este enlace donde MS puso una ventana de advertencia cada vez que un sitio web intentó acceder a su portapapeles, pero parece que no estaba allí antes. Entonces, si usa IE <= 6 (no lo hace, ¿verdad?) Puede estar en riesgo adicional.
Carlos Campderrós
3
Ejecutar el portapapeles en un viejo VMWare Player compartido en una oficina revela muchas cosas interesantes sobre sus compañeros de trabajo. Siempre tuve que tener cuidado al responder a las personas en mi antiguo trabajo porque había una buena posibilidad de que si lo cortaba y pegaba, terminaría en el portapapeles del jefe.
Peter Turner
1
@ CarlosCampderrós Creo que Flash todavía permite eso.
CodesInChaos
2
KeePass tiene una opción en la configuración de "Memoria": "Comportamiento del portapapeles: mejorado: permite pegar una vez y protege contra espías del portapapeles"
DBedrenko

Respuestas:

59

No es seguro

Vea esta pregunta y respuesta en Security.stackechange.com , citado a continuación:

El portapapeles de Windows no es seguro.

Esta es una cita de un artículo de MSDN .

El Portapapeles se puede usar para almacenar datos, como texto e imágenes. Como el Portapapeles es compartido por todos los procesos activos, se puede usar para transferir datos entre ellos.

Esto probablemente también debería aplicarse a las máquinas Linux.

¿Es esto una preocupación? No. Para que alguien explote esto, tendría que tener malware en su máquina capaz de leer datos del portapapeles. Si tiene la capacidad de obtener malware en su máquina, tiene cosas mucho más importantes de las que preocuparse, ya que hay muchas otras cosas que puede hacer, incluidos los keyloggers y similares.

Keltari
fuente
44
Si bien es trivial leer los datos en el portapapeles, como explica Keltari, el hecho de que tenga un software malicioso que lo lea en primer lugar es su mayor preocupación. Esta es la razón por la que copiar y pegar su contraseña en un campo de contraseña no tiene ningún efecto en mantener su contraseña segura, la capacidad de hacerlo es la conveniencia de no escribir una contraseña aleatoria segura de 20-30 caracteres.
Ramhound
2
Por supuesto, el umbral es mucho más bajo para el malware que lee el portapapeles (lo hará una pieza de JavaScript completamente "legal" incrustada en una página web) en comparación con el malware que explota el proceso del navegador o lee la memoria de otro proceso, o instala un gancho para capturar pulsaciones de teclas, etc.
Damon
24
@Damon Por lo que entiendo, JS no tiene acceso aleatorio al portapapeles precisamente por esta razón.
Coronel Treinta y dos
3
@Damon Según MDN , la aplicación debe tener permiso para usar el comando pegar, por lo que las páginas aleatorias no pueden oler su portapapeles con eso.
Coronel Treinta y dos
2
@zzzzBov - ¿Y qué evitaría que alguien agregue un botón en Javascript titulado "Dinero gratis - Haga clic aquí!", pero el botón realmente copia su portapapeles en lugar de darle dinero gratis?
Yay295
6

Solo tenga en cuenta que no solo las aplicaciones pueden tener acceso al portapapeles, y no solo el malware puede querer obtenerlo.

También hay usuarios que pueden revelar accidentalmente o a propósito el contenido del portapapeles después de obtener acceso físico a la computadora. Por supuesto, de todos modos pueden hacer mucho daño, pero obtener la contraseña real (y no solo el acceso a sitios web / programas) es difícil (a menos que la tenga en el portapapeles ...)

Por lo tanto, asegúrese de que el portapapeles esté limpio (y esto no es 100% confiable ya que algunas aplicaciones nuevamente permiten recuperar los valores del portapapeles) o use algún tipo de cifrado (esto no es trivial, pero incluso uno fácil lo protegerá de la pérdida accidental de contraseña)

mikus
fuente
1
El cifrado no va a ayudar para esto. El ataque no es contra la memoria en la que está almacenado el portapapeles (o el historial del portapapeles). El ataque es recuperar el contenido del portapapeles utilizando la API estándar del portapapeles (ya sea un programa en ejecución que lo lee u otro usuario que obtiene acceso temporal e inicia un pegado) .
Peter Cordes
1
No exactamente Peter, no conocemos la arquitectura de la solución original, pero si su aplicación al principio coloca el contenido en el portapapeles y luego lo recupera, puede modificar los datos de una manera que solo sea comprensible para sí mismo. Entonces, cuando alguien o incluso usted con alguien que mira accidentalmente revela el contenido, aún no es obvio qué había dentro y cómo usarlo. En mi opinión, cualquier forma de revelar una contraseña de texto sin formato es la violación de seguridad más alta posible. Sinceramente, nunca consideraría copiarlo en el portapapeles o archivo de texto, etx. Hay mejores formas de comunicación entre aplicaciones :)
mikus
3
@mikus, si bien es cierto, esta no suele ser la forma en que funciona el portapapeles. El portapapeles solo es realmente útil para compartir contenido de una aplicación a otra. Una sola aplicación también puede almacenar el contenido encriptado en la memoria para su recuperación posterior y evitar el portapapeles por completo.
Trly
De hecho, nunca he dicho lo contrario, pero mientras no piense que ninguna aplicación comercial como LastPass deja algo en el portapapeles, supongo que el autor tiene control sobre ambas aplicaciones. Luego puede elegir la codificación o encriptación que desee, ¿verdad? y otros métodos de comunicación también :) Si su último paso guarda las contraseñas de texto sin formato en el portapapeles, entonces no es la aplicación correcta para usar IMO.
mikus
2

Como todos están de acuerdo, el portapapeles es generalmente inseguro. Por lo tanto, la pregunta de seguimiento es obvia: cómo obtener contraseñas / frases de contraseña complejas de un administrador de contraseñas en donde se necesitan, sin exponerlas en el camino.

Busque un administrador de contraseñas que tenga la opción de "escribir su contraseña en la siguiente ventana en la que haga clic" o similar. No conozco ningún ejemplo, porque no soy tan paranoico con la mayoría de las contraseñas. (Y en realidad memorizo ​​las pocas contraseñas de alta seguridad que uso, como mi clave privada GPG).

Wiki de la comunidad: edite en los nombres de los programas que tienen esta característica:

  • KeePassX

Mi versión de KeepassX, 0.4.3, ofrece borrar el portapapeles después de X segundos (el valor predeterminado es 20 pero 8 está bien)

Peter Cordes
fuente