Você está na página 1de 2

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERA
DEPARTAMENTO DE SISTEMAS Y COMPUTACIN

HERRAMIENTAS DE SEGURIDAD ISIS-4428


Tarea Malware 2016-1

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 *****

Se adjuntan sendos archivos de ejemplo.


C. CONDICIONES

La tarea se puede desarrollar en grupos de dos personas.


El programa debe desarrollarse en Java.
Se debe entregar un archivo .zip con el programa fuente y el ejecutable.
Adicionalmente, si su programa tiene algn inconveniente, o desea hacer alguna
aclaracin, puede entregar un archivo en formato .docx o .pdf con las
explicaciones del caso.
Al comienzo del programa fuente, como comentario, escriban el nombre y cdigo
de los integrantes del grupo. Igualmente en el eventual documento adjunto.
El archivo debe ser entregado por Sicua por uno solo de los integrantes del grupo.

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.

Você também pode gostar