¿Qué impide que Ledger envíe a la dirección de un hacker?

¿Por qué un hacker no puede editar la aplicación Ledger Chrome para mostrar la dirección a la que el usuario cree que está enviando cuando en realidad envía a una dirección diferente?

Supongamos el escenario: el empleado de Ledger quiere una buena jubilación, lanza una "actualización de software" a la aplicación Chrome para enviar todo el ETH a su dirección mientras el software muestra las direcciones a las que el usuario cree que está enviando; roba un montón de ETH de muchos usuarios a la vez antes de que el mensaje se difunda en las redes sociales advirtiendo a las personas que dejen de usar la aplicación. (O supongamos que es alguien que pirateó su repositorio de software sin que Ledger lo supiera).

Relacionado - El ataque de secuestro del portapapeles (enlace externo): Bitcoin Malware cambia la billetera de destino para robar 13 BTC
Este ataque parece relacionado tangencialmente: aparece aquí cuando el usuario copió y pegó, se pegó una dirección diferente visiblemente, por lo que el ataque podría haberse frustrado al verificar dos veces antes del envío. Estoy sugiriendo aquí que la aplicación muestra correctamente la dirección de entrada, pero envía a una dirección diferente. Podría darse cuenta después del hecho al verificar etherscan, pero para entonces cientos podrían haber sido afectados en todo el mundo de manera efectiva simultáneamente. Depende, por supuesto, de cómo funcionan juntos el software y el hardware. Me pregunto si el hardware no muestra la dirección completa, #...#.

Respuestas (3)

¿Por qué un hacker no puede editar la aplicación Ledger Chrome para mostrar la dirección a la que el usuario cree que está enviando cuando en realidad envía a una dirección diferente?

Puede 1 , al igual que puede piratear su máquina personal e instalar un registrador de teclas o cualquier otro malware. La pregunta no es si puede hacerlo , sino qué tan probable es que pueda hacerlo dadas las protecciones vigentes.

( 1 No me preocupa cómo podría hacer esto. Voy por la línea de razonamiento de "nada es a prueba de balas". Tal vez no hackea la aplicación "real", pero te engaña para que instales una versión corrupta, etcétera etcétera..)

Supongamos el escenario: el empleado de Ledger quiere una buena jubilación, lanza una "actualización de software" a la aplicación Chrome para enviar todo el ETH a su dirección mientras el software muestra las direcciones a las que el usuario cree que está enviando; roba un montón de ETH de muchos usuarios a la vez antes de que el mensaje se difunda en las redes sociales advirtiendo a las personas que dejen de usar la aplicación. (O supongamos que es alguien que pirateó su repositorio de software sin que Ledger lo supiera).

Sí, de nuevo, completamente posible . Pero usted debe estar más preocupado por cómo es posible . ¿Es probable que cuenten con procesos para evitar que esto suceda? Probablemente. ¿Confía en su reputación lo suficiente como para garantizar que se sigan estos procesos? Eso es para que usted decida.

La seguridad es una serie de compensaciones y compromisos. Si desea utilizar su hardware y software, debe comprometer la confianza, tal como lo hace cuando confía en el firewall de su sistema operativo o en el software antivirus para protegerlo.

Este ataque se descubrió recientemente (enero de 2018) en dispositivos Ledger. Aquí está el informe al respecto https://www.docdroid.net/Jug5LX3/ledger-receive-address-attack.pdf

El ataque

Las billeteras Ledger generan la dirección de recepción que se muestra usando el código JavaScript que se ejecuta en la máquina host.

Esto significa que un malware puede simplemente reemplazar el código responsable de generar la dirección de recepción con su propia dirección, lo que hace que todos los depósitos futuros se envíen al atacante.

Debido a que las direcciones de recepción cambian constantemente como parte de la actividad habitual de la billetera, el usuario no tiene una forma trivial (como reconocer su dirección) para verificar la integridad de la dirección de recepción.

Hasta donde él sabe, la dirección de recepción mostrada es su dirección de recepción real.

Lo que hace que esto sea aún peor

  • Todo el software de la billetera del libro mayor se encuentra en la carpeta AppData, lo que significa que incluso un malware sin privilegios puede modificarlos (sin necesidad de obtener derechos administrativos).
  • La billetera del libro mayor no implementa ningún control de integridad/anti-manipulación de sus archivos de origen, lo que significa que cualquiera puede modificarlos.
  • Todo lo que el malware debe hacer es reemplazar una línea de código en el software de contabilidad, esto se puede lograr con menos de 10 líneas de código python.
  • Los nuevos usuarios del libro mayor generalmente enviarían todos sus fondos a la billetera una vez inicializados. Si la máquina estaba preinfectada, esta primera transacción puede verse comprometida y hacer que el usuario pierda todos sus fondos.
  • El ataque cambia la dirección de recepción durante su generación, lo que hace que incluso el QR generado automáticamente se actualice a la dirección del atacante. Lo que significa que tanto la cadena como las representaciones QR de la dirección están comprometidas.

Consejos para clientes existentes del libro mayor

Si está utilizando la aplicación Bitcoin: antes de recibir cada transacción, valide la integridad de la dirección con el botón de seguimiento.

Si está utilizando la aplicación Ethereum: trate la billetera de hardware del libro mayor de la misma manera que cualquier otra billetera basada en software y utilícela solo en un sistema operativo Live CD que esté garantizado que no contiene malware. Al menos hasta que este problema reciba algún tipo de solución.

Malware infectado, entregado a través de un archivo docx, infectó esta computadora, activó el modo de desarrollador en Chrome, reemplazó Metamask con una versión maliciosa y robó $ 8 millones de esta cuenta: https://www.youtube.com/watch?v=__8sGeBVYrM

En otras palabras: tienes que comprobar que la operación que estás aprobando es la operación que pretendes aprobar. Es difícil hacerlo en una pantalla pequeña, podría considerar usar un dispositivo Ledger con una pantalla más legible.