¿Cómo el software malicioso encripta los archivos de las víctimas tan rápidamente?

48

Para mí, el cifrado de un archivo es similar a tratar con una cadena muy larga, introduciéndolo en la función de hashing o encriptación para obtener otra cadena encriptada larga (o un hash en el caso de hashing).

Este proceso lleva una buena cantidad de tiempo. Lo sé porque uso HashTab para verificar la integridad de los archivos que descargo de Internet.

¿Cómo pueden los ransomware como CTB-Locker o Crypt0l0cker cifrar sus archivos de víctimas al instante?

Recientemente, un amigo mío fue víctima de uno de estos ransomware y NO pudo abrir sus archivos / fotos de Ubuntu en su máquina con sistema operativo dual incluso cuando ocurrió la infección con MSWindows. Esto sugiere que el cifrado no se produce sobre la marcha cuando abre un archivo.

    
pregunta Ulkoma 05.07.2015 - 09:19
fuente

8 respuestas

45

Estaba en una charla de OWASP donde el orador descompilaba y analizaba un ejecutable de ransomware (para Windows) delante de nosotros. Hay muchos sabores de ransomware por ahí, así que no puedo hablar del ransomware en general, pero ciertamente puedo hablar sobre el que vi. La idea general es que el ejecutable de ransomware contiene la clave pública de encriptación necesaria para cifrar archivos usando un algoritmo asimétrico, por ejemplo, RSA. La clave privada / de descifrado correspondiente permanece con los piratas informáticos, de modo que ninguna cantidad de ingeniería inversa del ejecutable puede proporcionarle la clave de descifrado.

Para cifrar realmente un archivo, hace algo similar a:

  1. Omita los primeros 512 bytes del archivo para que el encabezado del archivo permanezca intacto.

  2. Cifre los siguientes 1 MB utilizando la clave de cifrado incorporada.

  3. Si el archivo es más largo que esto, deja el resto sin cifrar.

El punto no es ocultar o proteger completamente los datos, es suficiente para que no pueda analizarse.

En cuanto al tiempo, hacer 1 MB de RSA sigue siendo lento y todavía tardará varias horas en rastrear su HDD.

Sospecho que este espécimen que vi fue solo una imitación perezosa del ransomware RSA-AES completo que Steffen Ullrich mencionó en su respuesta - que es la que realmente debería preocuparte.

    
respondido por el Mike Ounsworth 05.07.2015 - 19:16
fuente
28

El primer cifrado simétrico es bastante rápido. AES en algunos modos es fácilmente 200MB / s. Su afirmación de que el hashing es lento es una pista falsa. El hash es increíblemente rápido. Es tan rápido en los procesadores modernos que debilita la seguridad efectiva de los hashes de contraseña. Eso ha llevado al desarrollo de funciones de derivación de claves de múltiples rondas para "ralentizar" el hashing.

La velocidad "lenta" que está viendo es principalmente el efecto de su disco duro lento. En la memoria, el hashing es algo del orden de 500MB / sa 2 GB / s +.

Aún así, el malware no necesita ser "instantáneo". El sistema del usuario está infectado silenciosamente. Las copias de los archivos se pueden cifrar sin alertar al usuario y luego, una vez listos, se eliminan los originales y se notifica al usuario "al instante". El proceso completo, desde la infección hasta ese punto, puede haber tomado una cantidad de tiempo significativa a pesar de que parece ocurrir al instante.

    
respondido por el Gerald Davis 05.07.2015 - 16:06
fuente
15

El hash (como SHA-1, etc.) y el cifrado simétrico (como AES) es relativamente barato, el cifrado asimétrico (como RSA) es mucho más caro. Por eso, por lo general, uno no usa RSA para cifrar un archivo grande, sino que utiliza criptografía simétrica con una clave aleatoria y solo cifra esta clave corta con RSA.

  

Lo sé porque uso HashTab para verificar la integridad de los archivos que descargo de Internet.

Suena como un método muy científico para mí. A menos que tenga un procesador antiguo y lento, la velocidad del hash (y, por lo tanto, la verificación de los datos) es mayor que la de los datos del disco (en caso de que esto no sea obvio: por supuesto, todavía necesita leer los datos para hacerlo). , pero pasará más tiempo esperando los datos del disco que calculando el hash).

  

¿Cómo pueden los ransomware como CTB-Locker o Crypt0l0cker cifrar sus archivos de víctimas al instante?

Los sistemas operativos modernos son compatibles con los sistemas de archivos cifrados y con los procesadores actuales (que a menudo incluyen la aceleración de hardware para AES), no notará una gran diferencia de velocidad si utiliza un sistema de archivos cifrado o no, porque el cuello de botella no es el cifrado sino la velocidad del disco (en los puntos de referencia, usted verá una caída en el rendimiento pero estos no reflejan el uso del mundo real para la mayoría de las personas). Por lo tanto, no hay ninguna razón por la que el ransomware no pueda cifrar datos rápidamente. Por supuesto, pueden hacer que se sienta más rápido al conectarse al sistema para que los archivos que desea abrir se cifren primero y el resto en segundo plano.

    
respondido por el Steffen Ullrich 05.07.2015 - 11:57
fuente
10

El error que estás cometiendo es pensar que es instantáneo. Más bien, el malware se encuentra allí, encriptando en segundo plano y descifrando cualquier cosa que el usuario solicite. Es silencioso durante esta fase, solo exige el rescate después de que todo haya sido cifrado.

    
respondido por el Loren Pechtel 06.07.2015 - 00:19
fuente
8

Según wikipedia:

  

Cuando se ejecuta por primera vez, la carga útil se instala en la carpeta del perfil del usuario y agrega una clave al registro que hace que se ejecute en el inicio. A continuación, intenta comunicarse con uno de los varios servidores de control y comando designados; una vez conectado, el servidor genera un par de claves RSA de 2048 bits y envía la clave pública a la computadora infectada.

No es tan lento como cree, si su computadora es rápida y no está haciendo un uso intensivo de la CPU en el momento de la infección, podría perder gigabytes de datos en menos de 15 minutos. Las PC modernas pueden calcular el hash y realizar operaciones de cifrado más rápido de lo que pueden funcionar los discos de disco duro / SSD. Por lo tanto, diría que el límite moderno de velocidad de hash / encriptación se basa más en el disco. Puedo generar un hash SHA-512 para un archivo de 2,5 GB en 2 minutos.

Y también el malware puede esperar hasta que cifra todo lo que quiere antes de mostrar un mensaje al usuario.

    
respondido por el Freedo 05.07.2015 - 09:44
fuente
6

El proceso básico es leer el contenido de su archivo y escribirlo de nuevo en el disco utilizando algún tipo de cifrado asimétrico para asegurarse de que tiene que pagar para recuperar sus datos. Algunos cifrarán solo pequeñas secciones de los datos para mejorar la velocidad, otros reescribirán todo su disco duro si pueden. Como señalan algunas de las respuestas, algunos programas maliciosos simplemente cifrarán una parte de su archivo en el lugar para acelerar el proceso, ya que para muchos formatos de archivo, incluso un ligero cambio en el archivo hace que todo el archivo sea inutilizable.

  

¿Cómo pueden los ransomware como CTB-Locker o Crypt0l0cker cifrar sus archivos de víctimas al instante?

No pueden. En su lugar, lo que hacen es ocultar su actividad haciendo que los archivos parezcan estén bien hasta que se complete el proceso. Al interceptar las llamadas del sistema de archivos, puede cambiar la vista del usuario de lo que realmente está presente en el disco, haciendo que parezca que todo está bien hasta que termine, luego, cuando retire las intercepciones, el usuario podrá ver el estado real de la unidad. . El peligro de hacer esto es que tiene que tener ambas partes de su par de claves asimétricas para descifrar los archivos sobre la marcha cuando el usuario abre una, lo que en principio significa que algo podría encontrar la clave privada que desea vender el usuario más tarde.

Otros programas maliciosos como CryptoWall (con los que he tenido más experiencia recientemente de lo que quiero recordar) no se molestan en ocultarlo, solo arden al cifrar todo lo más rápido posible ... y eso está bastante limitado por la velocidad de E / S de la unidad a la que se está cifrando.

Mirando unos pocos puntos de referencia para AES, que es el algoritmo de cifrado que CryptoWall pretende utilizar, una CPU moderna y modesta puede cifrar datos a velocidades superiores a 100 MB / s, lo que significa que la operación es probablemente IO Encuadernado en cualquier otra cosa que no sea un SSD. Agregue varios subprocesos que se ejecutan en núcleos de CPU separados dirigidos a diferentes carpetas y / o unidades y el proceso puede completarse con bastante rapidez.

Hace poco tuve que limpiar un servidor de archivos que había sido procesado por CryptoWall ejecutándose en una de las PC de los usuarios. Cuando los usuarios notaron que algo estaba mal, el malware se había estado ejecutando durante aproximadamente 1.75 horas. Lo retiramos de la red justo a la altura de 2 horas y durante la limpieza encontré alrededor de 230 GB de archivos encriptados. Eso es un promedio de ~ 30MB / encriptación, lo que ciertamente es factible en el ambiente. Tomó aproximadamente 3 veces ese tiempo restaurar los archivos de la copia de seguridad anterior. Aunque tengo algunas ideas sobre cómo acelerar eso la próxima vez, la mayoría de los clientes tienen sus copias de seguridad en dispositivos NAS de bajo costo o en unidades USB ( shudder )

.

Lamentablemente, es poco probable que veamos el fin de estas cosas en el corto plazo. Una solución de respaldo competente y decentemente configurada es su mejor amigo cuando una de estas cosas golpea. No hace daño tener un programador a mano para programar la restauración.

    
respondido por el Corey 06.07.2015 - 12:45
fuente
5

Desde una perspectiva de ingeniería social, el autor del malware podría haber escrito un programa que reemplazara el contenido de los datos con bits aleatorios. La víctima no tendría forma de verificar si el contenido estaba encriptado o simplemente fue eliminado. Si deciden pagar el rescate y la "clave" no funciona, no hay mucho que puedan hacer, los chicos son criminales, después de todo.

    
respondido por el Boluc Papuccuoglu 05.07.2015 - 15:03
fuente
4

Algunos ransomwere como TorrentLocker solo cifran el primer MB (además de agregar un final). Eso es suficiente para hacer que la mayoría de los formatos no sean reconocidos, pero al mismo tiempo hace que sea mucho más rápido encriptar una gran cantidad de archivos (también recuerde que solo algunos tipos de archivos están encriptados, como documentos, fotos, etc.).

Esto fue informado por Nixu en blog de SANS , y también en ( Libro blanco de ESET ), aunque informaron 2MB.

Y, como Loren mencionó, el ransomware solo muestra la gran pancarta que pide el rescate después de que todo se haya cifrado (no es bueno que te des cuenta cuando solo se han "guardado" unos pocos archivos), aunque algunos ransomwares se colocan mientras vaya a un archivo exigente de ransomware en cada carpeta / para cada archivo que cifraron.

    
respondido por el Ángel 06.07.2015 - 13:33
fuente

Lea otras preguntas en las etiquetas