Citation
Chica Manjarrez, Sergio
(2017).
Diseño e implementación de un módulo para identificar código compartido entre ejecutables maliciosos..
Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.
Abstract
La genealogía de código malicioso, la cual estudia la evolución de estos programas
en el tiempo, es una de las aplicaciones más importantes en el análisis de malware.
U na limitación de los enfoques actuales es que sólo funcionan en malware que no
está empacado, o malware empacado del cual se dispone el desempacador. Esto
resulta ser un problema, ya que, para evitar las medidas de detección, la mayoría
de las veces el malware se encuentra empacado.
Dado un conjunto de muestras de código de la misma familia, de las que no se
dispone del código fuente y que pueden estar empacadas, se busca realizar un
grafo cuyos vértices son las versiones de la familia y las aristas las relaciones entre
éstas. Para hacer esto posible, se propone una técnica para identificar las versiones
de una familia y una técnica de indexado para determinar las funciones que son
compartidas por cualquier par de programas. La precisión del sistema se ha
evaluado haciendo uso de la suite SPEC CPU® 2006, la última versión de PuTTY
empacados con 13 empacadores distintos y 7793 programas maliciosos.---ABSTRACT---Malware lineage studies the evolution of malware besides his important
applications for malware analysis. An existing limitation of current approaches is
that they only work on malware that are not packed, or packed malware for which
unpackers are available. This results in a problem since to evade detections, the
majority of malware are packed.
Given a set of executables from the same family, which no source code is available
and which may be packed, we want to produce a lineage graph were nodes are
versions of the family and edges describe the relationships between versions. It is
proposed an approach to identify the versions of a malware family and an indexing
technique for determining what functions are shared between any pair of samples.
The accuracy of the system has been evaluated with the suite SPEC CPU® 2006,
the last version of PuTTY packed with 13 different packers and 7793 malware
samples.