Identificar al autor (es) de una pieza de malware

29

Cuando aparece una nueva pieza de malware, las personas pueden intentar determinar de dónde proviene y quiénes podrían ser sus autores.

¿Cómo intentan los expertos en seguridad identificar a los autores de una nueva pieza de malware divulgada públicamente? ¿Qué técnicas (por ejemplo, ingeniería inversa) están disponibles?

    
pregunta user3404735 14.01.2016 - 12:47
fuente

2 respuestas

49

Hay varias técnicas diferentes, según el nivel de habilidad del autor del malware:

  • Metadatos incorporados: los programas compilados pueden contener detalles sobre sus autores. Esto se ve con más frecuencia en programas legítimos y se muestra en la pantalla de detalles si observa las propiedades de Windows. Los atacantes que están fuera de la fama pueden poner detalles de identificación en estos campos
  • Incrustación accidental: los compiladores suelen incluir detalles sobre los indicadores de compilación utilizados, que pueden incluir rutas a los archivos de origen. Si el archivo de origen estaba en /users/evilbob/malware , puedes hacer una buena suposición de que Bob Bob lo escribió. Hay formas de desactivar estas inclusiones, pero todos cometen errores a veces
  • Código común: los autores de malware son como cualquier otro programador y reutilizarán partes útiles de código del trabajo anterior. A veces es posible detectar que una sección del código compilado coincide con una sección del código previamente descubierta tan cerca que parece probable que se haya utilizado el mismo código fuente para cada una. Si ese es el caso, puede deducir que el segundo autor tuvo acceso al código desde el primero, o puede ser la misma persona.
  • Cadena de herramientas común: si un desarrollador tiende a usar Visual Studio, sería inesperado ver su código compilado con GCC. Si usan un empaquetador específico, sería extraño verlos usando un empaquetador diferente. No es perfecto, pero podría sugerir una distinción.
  • Técnicas comunes: similares a las anteriores, los codificadores a menudo tienen patrones específicos de codificación. Es poco probable que las personas cambien de patrón, por lo que puede hacer una conjetura razonable de que si algún código compilado no pudo haberse generado en un estilo de codificación en particular, probablemente no haya sido escrito por alguien que se sabe que usa un estilo diferente. Esto es mucho más fácil con lenguajes interpretados, ya que ver el uso consistente de, por ejemplo, for loops en lugar de while loops es más fácil que detectar las diferencias entre los resultados compilados de cada uno (los compiladores modernos pueden reducirlos al mismo conjunto) de instrucciones).
  • Origen de malware: ¿de dónde viene? ¿Tiene algún texto en idiomas específicos o errores tipográficos que sugieren un fondo en particular? (por ejemplo, colour sugeriría que el autor no era estadounidense, generale podría sugerir que alguien esté acostumbrado a escribir en una lengua románica como el francés o el italiano)

Ninguno de estos es por sí solo lo suficiente como para determinar un autor, pero combinados, pueden sugerir un autor común con malware anterior o incluso con otro código conocido (por ejemplo, de proyectos de SO).

    
respondido por el Matthew 14.01.2016 - 13:10
fuente
27

La respuesta de Mateo fue excelente. También hay algunas otras formas.

  • No hay muchos autores de malware que sean tan brillantes. Por ejemplo, puede abrir muchos archivos ejecutables en notepad y buscar datos de cadenas. He visto innumerables autores que simplemente ponen su dirección de correo electrónico / nombre de servidor, nombre de usuario y contraseñas dentro de los programas en una cadena, y literalmente aparece el bloc de notas.
  • malware de ingeniería inversa creado por autores que ofuscaron el paso anterior.
  • Buscar la dirección a la que se conecta el malware e investigar a alguien detrás de él. Si se trata de un tipo específico de malware que infecta muchas máquinas, probablemente ya se sabe que el desarrollador comienza. Si no es así, rastrearlo a la fuente. Hay rastros de datos en todas partes.
respondido por el Mark Buffalo 14.01.2016 - 17:13
fuente

Lea otras preguntas en las etiquetas