Escolar Documentos
Profissional Documentos
Cultura Documentos
FACULTAD DE INGENIERA
DEPARTAMENTO DE SISTEMAS Y COMPUTACIN
A. SCANNERS DE MALWARE
Aunque no son solucin suficiente, los scanners se mantienen como un mtodo til para
detectar malware.
Como mencionamos en clase, la idea de un scanner es tener un conjunto de firmas y
buscarlas en los archivos posiblemente infectados. Ahora, en la medida en que el nmero
de firmas crece, la comparacin una a una se vuelve inviable.
En consecuencia, ha sido necesario desarrollar mtodos para hacer dicha comparacin
ms eficientemente. La idea fundamental es hacer el reconocimiento simultneo de todos
los patrones que sea posible.
Uno de los mtodos para hacer esto es el algoritmo de AhoCorasick. Encuentra una
descripcin de este algoritmo en el libro Computer Viruses and Malware, de John
Aycock (disponible como recurso electrnico en la biblioteca).
B. OBJETIVO
Desarrollar un programa en Java que implemente un scanner siguiendo el algoritmo de
AhoCorasick.
El programa debe recibir los nombres de tres archivos: uno con las firmas, otro el archivo
que se quiere verificar y, por ltimo, el resultado.
Formato de los archivos:
Archivo de firmas. Es un archivo de texto con una firma por lnea; hay tantas
lneas como firmas. Cada lnea es una descripcin en hexa de la firma
correspondiente.
Archivo verificado. Es un archivo binario con un contenido cualquiera.
Salida. El programa imprime como resultado un archivo de texto con todas las
firmas reconocidas. Si una firma se encuentra varias veces, debe imprimirla todas
las veces que la encuentre. Se debe imprimir una firma por lnea, y la lnea final
debe decir: ***** FIN DEL SCAN *****
Pueden usar libreras desarrolladas por terceros siempre y cuando solo provean
manejo de estructuras de datos genricas y no el problema concreto (es decir, se
pueden usar libreras para manejo de listas encadenadas, rboles, etc.).
Si usan software desarrollado por terceros, en el cdigo, como comentario,
referencien cul software es, quin lo desarroll y de dnde lo tomaron.
Entrega a ms tardar el 24 de mayo a las 23:50
D. EVALUACIN
El programa se evaluar con unos archivos de firmas y de revisin especficos. Sobre la
salida se contar un punto por cada cadena correctamente identificada, y se restar
medio punto por cada cadena incorrectamente identificada. La nota ser en proporcin a
los puntos obtenidos sobre el total de puntos posibles.
Lo anterior siempre y cuando se respete el algoritmo de AhoCorasick; de no ser as, se
penalizar segn lo que haya faltado implementar.