2016-1-isis4428 - herramientas de seguridad - tarea malware

2
 UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN  HERRAMIENTAS DE SEGURIDAD  ISIS-4428 Tarea Malware 2016-1 A. SCANNERS DE MALWARE  Aunque no son solución suficiente, los scanners se mantienen como un método ú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 número de firmas crece, la comparación una a una se vuelve inviable. En consecuencia, ha sido necesario desarrollar métodos para hacer dicha comparación más eficientemente. La idea fundamental es hacer el reconocimiento simultáneo de todos los patrones que sea posible. Uno de los métodos para hacer esto es el algoritmo de Aho  Corasick. Encuentra una descripción de este algoritmo en el libro “Computer Viruses and Malware”, de  John  Aycock (di sponible c omo recurso electrónico en la bib lioteca). B. OBJETIVO Desarrollar un programa en Java que implemente un scanner siguiendo el algoritmo de  Aho  Corasick. 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 línea; hay tantas líneas como firmas. Cada línea es una descripción 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 línea, y la línea 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.  Adiciona lmente, si su programa tiene algún inconveniente, o desea hacer alguna aclaración, 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 código 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.

Upload: adolfo-duarte

Post on 05-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

8/16/2019 2016-1-IsIS4428 - Herramientas de Seguridad - Tarea Malware

http://slidepdf.com/reader/full/2016-1-isis4428-herramientas-de-seguridad-tarea-malware 1/2

 

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA 

DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN HERRAMIENTAS DE SEGURIDAD – ISIS-4428

Tarea Malware 2016-1

A. SCANNERS DE MALWARE 

 Aunque no son solución suficiente, los scanners se mantienen como un método útil paradetectar malware.

Como mencionamos en clase, la idea de un scanner es tener un conjunto de firmas ybuscarlas en los archivos posiblemente infectados. Ahora, en la medida en que el númerode firmas crece, la comparación una a una se vuelve inviable.

En consecuencia, ha sido necesario desarrollar métodos para hacer dicha comparaciónmás eficientemente. La idea fundamental es hacer el reconocimiento simultáneo de todoslos patrones que sea posible.

Uno de los métodos para hacer esto es el algoritmo de Aho –Corasick. Encuentra unadescripción de este algoritmo en el libro “Computer Viruses and Malware”, de   John Aycock (disponible como recurso electrónico en la biblioteca).

B. OBJETIVO 

Desarrollar un programa en Java que implemente un scanner siguiendo el algoritmo de Aho –Corasick.

El programa debe recibir los nombres de tres archivos: uno con las firmas, otro el archivoque se quiere verificar y, por último, el resultado.

Formato de los archivos:

  Archivo de firmas. Es un archivo de texto con una firma por línea; hay tantas

líneas como firmas. Cada línea es una descripción en hexa de la firmacorrespondiente.

  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 todaslas veces que la encuentre. Se debe imprimir una firma por línea, y la línea finaldebe 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 algún inconveniente, o desea hacer algunaaclaración, puede entregar un archivo en formato .docx o .pdf con lasexplicaciones del caso.

  Al comienzo del programa fuente, como comentario, escriban el nombre y códigode 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.

8/16/2019 2016-1-IsIS4428 - Herramientas de Seguridad - Tarea Malware

http://slidepdf.com/reader/full/2016-1-isis4428-herramientas-de-seguridad-tarea-malware 2/2

  Pueden usar librerías desarrolladas por terceros siempre y cuando solo proveanmanejo de estructuras de datos genéricas y no el problema concreto (es decir, sepueden usar librerías para manejo de listas encadenadas, árboles, etc.).

  Si usan software desarrollado por terceros, en el código, como comentario,referencien cuál software es, quién lo desarrolló y de dónde lo tomaron.

  Entrega a más tardar el 24 de mayo a las 23:50

D. EVALUACIÓN 

El programa se evaluará con unos archivos de firmas y de revisión específicos. Sobre lasalida se contará un punto por cada cadena correctamente identificada, y se restarámedio punto por cada cadena incorrectamente identificada. La nota será en proporción alos puntos obtenidos sobre el total de puntos posibles.

Lo anterior siempre y cuando se respete el algoritmo de Aho –Corasick; de no ser así, sepenalizará según lo que haya faltado implementar.