tesis de antivirus

Upload: rixi-flores-flores

Post on 14-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Tesis de Antivirus

    1/164

    INSTITUTO POLITCNICO NACIONAL

    CENTRO DE INVESTIGACIN EN COMPUTACIN

    UN MODELO DEL SISTEMA INMUNE PARAPREVENIR Y ELIMINAR LOS VIRUS

    INFORMTICOS.

    T E S I S

    QUE PARA OBTENER EL GRADO DE MAESTRO EN

    CIENCIAS DE LA COMPUTACIN PRESENTA:

    Juan Carlos Sarmiento Tovilla

    DIRECTOR DE TESIS

    Dr. Brbaro Jorge Ferro Castro

    CODIRECTOR

    Dr. Agustn Francisco Gutirrez Torns

    MXICO D.F., 2003

  • 7/30/2019 Tesis de Antivirus

    2/164

  • 7/30/2019 Tesis de Antivirus

    3/164

    Agradecimientos

    Agradecimientos

    A Dios, por darme amor.

    A mi hija Karla, ya que tu has sido la inspiracin que le dio luz ami vida.

    A mi esposa Karla, por haberme ayudado a que esto tuvierasentido.

    A mi mam, quien es un ejemplo de amor, paciencia y sabidura.

    A mi ta Lupita, quien con sus consejos y su apoyo me enseo allevar a buen termino las cosas.

    A mi ta Linita, gracias por ayudarme a ver ms all de lasfronteras, donde solamente la imaginacin toma forma.

    A mi suegros, Irene y Cesar quien con su gran paciencia y buenejemplo me han ayudado a que esto sea una etapa ms en mi vida.

    A mis hermanos Jorge, Marco, Migue y Maggy quienes con sudedicacin y apoyo me han ayudado en todo momento.

    Al Dr. Brbaro Ferro, por su exhortacin y paciencia.

    Al Dr. Gutierrz Tonz, por su apoyo incondicional.

    A los miembros de la Comisin Revisora, por sus valiosassugerencias.

    A Leticia Tate Morales por la amistad y apoyo brindado.

    i

  • 7/30/2019 Tesis de Antivirus

    4/164

    ii

  • 7/30/2019 Tesis de Antivirus

    5/164

    3

  • 7/30/2019 Tesis de Antivirus

    6/164

    ndice

    ndice

    AGRADECIMIENTOS .....................................................................ERROR! MARCADOR NO DEFINIDO.

    RESUMEN .........................................................................................ERROR! MARCADOR NO DEFINIDO.

    ABSTRACT .......................................................................................ERROR! MARCADOR NO DEFINIDO.

    NDICE ............................................................................................................................. ................................

    NDICE DE TABLAS ........................................................................ERROR! MARCADOR NO DEFINIDO.

    NDICE DE FIGURAS ......................................................................ERROR! MARCADOR NO DEFINIDO.

    NDICE DE PROGRAMAS ..............................................................ERROR! MARCADOR NO DEFINIDO.

    GLOSARIO .......................................................................................ERROR! MARCADOR NO DEFINIDO.

    1 INTRODUCCIN ....................................................................ERROR! MARCADOR NO DEFINIDO.

    RESUMEN ................................................................................................ERROR! MARCADOR NO DEFINIDO.OBJETIVO DEL CAPTULO ......................................................................... ERROR! MARCADOR NO DEFINIDO.1.1 PROBLEMTICA .......................................................................... ERROR! MARCADOR NO DEFINIDO.1.2 JUSTIFICACIN ........................................................................... ERROR! MARCADOR NO DEFINIDO.1.3 OBJETIVOS ................................................................................. ERROR! MARCADOR NO DEFINIDO.

    Objetivo general ......................................................................................... Er ror ! M arcador no defi nido.Objetivos especficos .................................................................................. Err or! M arcador no defi nido.

    1.4 ALCANCE DE LA TESIS ................................................................ ERROR! MARCADOR NO DEFINIDO.1.5 DESCRIPCIN DEL DOCUMENTO .................................................. ERROR! MARCADOR NO DEFINIDO.

    1.5.1 Virus informtico, antivirus y vacunas .......................................... Er ror ! M arcador no defi nido.1.5.2 Sistema Inmune ............................................................................. Er ror ! M arcador no defi nido.1.5.3 Aplicaciones del sistema Inmune ...................................................Er ror ! M arcador no defi nido.

    2 ESTADO DEL ARTE ...............................................................ERROR! MARCADOR NO DEFINIDO.

    RESUMEN ................................................................................................ERROR! MARCADOR NO DEFINIDO.OBJETIVO DEL CAPTULO ......................................................................... ERROR! MARCADOR NO DEFINIDO.2.1 HISTORIA DE LOS VIRUS INFORMTICOS...................................... ERROR! MARCADOR NO DEFINIDO.2.2 DEFINICIN DE UN VIRUS INFORMTICO...................................... ERROR! MARCADOR NO DEFINIDO.2.3 ANALOGA DE LOS VIRUS BIOLGICOS CON LOS VIRUS INFORMTICOS ......... ERROR! MARCADOR NODEFINIDO.

    2.3.1 Caracterstica y similitudes ...........................................................Err or! Marcador no defi nido.2.4 CONTAMINACIN POR MEDIO DE UN VIRUS INFORMTICO ........... ERROR! MARCADOR NO DEFINIDO.

    2.4.1 Modelo de propagacin................................................................. Er ror ! M arcador no defi nido.2.5 LOS ANTIVIRUS Y LAS VACUNAS ................................................. ERROR! MARCADOR NO DEFINIDO.2.6 ALGUNAS TCNICAS PERFECTAS PARA LA DEFENSA DE LOS VIRUS INFORMTICOS ..................ERROR!MARCADOR NO DEFINIDO.

    2.6.1 Compartir con limitaciones ........................................................... Er ror ! M arcador no defi nido.2.6.2 Limitar la transitividad .................................................................Er ror ! M arcador no defi nido.2.6.3 Limitar la funcionalidad................................................................Er ror ! M arcador no defi nido.

    2.7 DETECTAR TODOS LOS POSIBLES VIRUS....................................... ERROR! MARCADOR NO DEFINIDO.

    i

  • 7/30/2019 Tesis de Antivirus

    7/164

    ndice

    2.7.1 Caractersticas de los programas que detectan todos los virus informticos Err or! M arcador nodefinido.

    2.8 LAS TCNICAS PARA LA DETECCIN DE LOS VIRUS INFORMTICOS................ ERROR! MARCADOR NODEFINIDO.

    2.8.1 Bsqueda basada en una firma simple. ......................................... Er ror ! M arcador no defi nido.

    2.8.2 Algunos puntos para una mejor eficiencia en la implantacin de un buscador. .Er ror! M arcadorno def ini do.2.9 EPIDEMIOLOGA BIOLGICA ........................................................ERROR! MARCADOR NO DEFINIDO.

    3 VIRUS Y ANTIVIRUS .............................................................ERROR! MARCADOR NO DEFINIDO.

    RESUMEN.................................................................................................ERROR! MARCADOR NO DEFINIDO.OBJETIVO DEL CAPTULO..........................................................................ERROR! MARCADOR NO DEFINIDO.3.1 CLASIFICACIN DE LOS VIRUS INFORMTICOS .............................ERROR! MARCADOR NO DEFINIDO.

    3.1.1 Los virus que infectan a los archivos del sistema operativo Microsoft ........ ..Err or! Marcador nodefinido.3.1.2 Los virus que infectan a los archivos del sistema operativo Linux Er ror ! M arcador no defi nido.

    3.2 LOS ANTIVIRUS ...........................................................................ERROR! MARCADOR NO DEFINIDO.3.2.1 Identificacin de virus informticos.............................................. Err or! M arcador no defi nido.

    3.3 HERRAMIENTAS PARA LA CORRECCIN DE LOS PROGRAMAS INFECTADOS ..... ERROR! MARCADOR NODEFINIDO.

    3.3.1 Eliminar el virus llamado ping pong............................................. Er ror ! M arcador no defi nido.3.3.2 Eliminar el virus Viernes 13 ......................................................... Er ror ! M arcador no defi nido.

    3.4 PROBLEMAS ABIERTOS EN LA INVESTIGACIN DE LOS VIRUS INFORMTICOS. ERROR! MARCADOR NODEFINIDO.

    4 EL SISTEMA INMUNE ...........................................................ERROR! MARCADOR NO DEFINIDO.

    RESUMEN.................................................................................................ERROR! MARCADOR NO DEFINIDO.OBJETIVOS DEL CAPTULO........................................................................ERROR! MARCADOR NO DEFINIDO.4.1 SISTEMA INMUNE NATURAL ........................................................ERROR! MARCADOR NO DEFINIDO.4.2 FUNCIONAMIENTO BSICO DEL SISTEMA INMUNENATURAL.........ERROR! MARCADOR NO DEFINIDO.

    4.2.1 Clulas presentadoras de antgeno profesionales ....... ........ ....... ... Er ror ! M arcador no defi nido.4.2.2 Los precursores de las clulas del sistema inmune de los vertebrados.. ....... .Err or! M arcador no

    definido.4.2.3 Los linfocitos B ............................................................................. Er ror ! M arcador no defi nido.

    4.3 EL SENTIDO INNATO DEL PELIGRO ...............................................ERROR! MARCADOR NO DEFINIDO.4.3.1 Las diferencias entre el modelo de lo propio y extrao y el modelo del peligro .Err or! M arcadorno def ini do.4.3.2 La seal que inicia la inmunorespuesta ....... ........ ....... ....... ....... .... Er ror ! M arcador no defi nido.

    4.4 UN MODELO DEL SISTEMA INMUNE A NIVEL MICRO ......................ERROR! MARCADOR NO DEFINIDO.4.4.1 Cmo se acoplan los virus informticos ....................................... Err or! Marcador no defi nido.4.4.2 Interpretacin abstracta ............................................................... Er ror ! M arcador no defi nido.4.4.3 Crear una seal de peligro ........................................................... Er ror ! M arcador no defi nido.

    4.5 UN MODELO DEL SISTEMA INMUNE A NIVEL MACRO ....................ERROR! MARCADOR NO DEFINIDO.4.5.1 Funcionamiento real del servidor T .............................................. Er ror ! M arcador no defi nido.

    5 APLICACIONES ..................................................................... .ERROR! MARCADOR NO DEFINIDO.

    RESUMEN.................................................................................................ERROR! MARCADOR NO DEFINIDO.OBJETIVOS DEL CAPTULO........................................................................ERROR! MARCADOR NO DEFINIDO.5.1 SISTEMA INMUNE EN EL MBITO LOCAL ......................................ERROR! MARCADOR NO DEFINIDO.5.2 INTERPRETACIN ABSTRACTA DE UN PROGRAMA DE CMPUTO ....ERROR! MARCADOR NO DEFINIDO.5.3 SIMULADOR DE GRANULARIDAD FINA .........................................ERROR! MARCADOR NO DEFINIDO.5.4 UN MODELO................................................................................ERROR! MARCADOR NO DEFINIDO.5.5 EL DISEO DE UN SIMULADOR.....................................................ERROR! MARCADOR NO DEFINIDO.

    ii

  • 7/30/2019 Tesis de Antivirus

    8/164

    ndice

    5.6 COMPONENTES QUE SIMULAN UNA PROPAGACIN SUSCEPTIBLE INFECTA SUSCEPTIBLE (SIS) ERROR!MARCADOR NO DEFINIDO.5.7 COMPONENTES QUE SIMULAN UNA PROPAGACIN EN FORMA JERRQUICA ... ERROR! MARCADOR NODEFINIDO.5.8 COMPONENTES QUE SIMULAN UNA PROPAGACIN DEL TIPO ESPACIAL .......... ERROR! MARCADOR NO

    DEFINIDO.5.9 COMPONENTES QUE SIMULAN AL SISTEMA INMUNE ..................... ERROR! MARCADOR NO DEFINIDO.5.10 EL DISEO DE LA INTERFAZ GRFICA DEL SIMULADOR................ ERROR! MARCADOR NO DEFINIDO.

    5.10.1 Grupo de trabajo ..................................................................... .Er ror ! M arcador no defi nido.5.10.2 Servidor de Internet ..................................................................Er ror ! M arcador no defi nido.5.10.3 Programador de virus ...............................................................Err or! M arcador no defi nido.5.10.4 Programador normal ................................................................Er ror ! M arcador no defi nido.5.10.5 Componentes de la respuesta inmune........................................Er ror ! M arcador no defi nido.

    5.11 FUNCIONAMIENTO BSICO DEL SIMULADOR................................ ERROR! MARCADOR NO DEFINIDO.5.12 LAS GRFICAS DE LAS CURVAS DE PROPAGACIN ....................... ERROR! MARCADOR NO DEFINIDO.

    6 RESULTADOS Y CONCLUSIONES ....... ........ ........ ....... ....... .ERROR! MARCADOR NO DEFINIDO.

    6.1 RESULTADOS DEL SISTEMA INMUNE LOCAL................................. ERROR! MARCADOR NO DEFINIDO.6.2 LOS RESULTADOS DEL SIMULADOR DEL SISTEMA INMUNE ........... ERROR! MARCADOR NO DEFINIDO.6.3 CONCLUSIONES ..........................................................................ERROR! MARCADOR NO DEFINIDO.6.4 TRABAJOS FUTUROS ................................................................... ERROR! MARCADOR NO DEFINIDO.

    6.4.1 Sistema inmune local .................................................................... .Er ror ! M arcador no defi nido.6.4.2 Simulador ...................................................................................... Er ror ! M arcador no defi nido.

    APNDICE A. DISEO DE UN SIMULADOR BASADO EN UML ....... .....ERROR! MARCADOR NODEFINIDO.

    RESUMEN ................................................................................................ ERROR! MARCADOR NO DEFINIDO.OBJETIVOS............................................................................................... ERROR! MARCADOR NO DEFINIDO.A.1 CASOS DE USO ........................................................................... ERROR! MARCADOR NO DEFINIDO.A.2 SINGLETON................................................................................. ERROR! MARCADOR NO DEFINIDO.A.3 ESTRATEGIA (STRATEGY) ........................................................... ERROR! MARCADOR NO DEFINIDO.A.4 OBSERVADOR(OBSERVER) ......................................................... ERROR! MARCADOR NO DEFINIDO.

    A.5 PROTOTIPO (PROTOTYPE) ........................................................... ERROR! MARCADOR NO DEFINIDO.A.6 COMPUESTO (COMPOSITE) .......................................................... ERROR! MARCADOR NO DEFINIDO.A.7 DECORADOR(DECORATOR) ........................................................ ERROR! MARCADOR NO DEFINIDO.A.8 ESTADO (STATE) . ...................................................................... . ERROR! MARCADOR NO DEFINIDO.

    APNDICE B. ANLISIS DE CDIGOS EN ENSAMBLADOR PARA DETECTARINSTRUCCIONES IRRELEVANTES .............................................ERROR! MARCADOR NO DEFINIDO.

    RESUMEN ................................................................................................ ERROR! MARCADOR NO DEFINIDO.OBJETIVOS............................................................................................... ERROR! MARCADOR NO DEFINIDO.B.1 FRECUENCIA DE INSTRUCCIONES EN PROGRAMAS EJECUTABLES DEL TIPO PE ERROR! MARCADOR NODEFINIDO.B.2 EMULACIN DEL CDIGO............................................................ ERROR! MARCADOR NO DEFINIDO.B.3 DIFERENTES TCNICAS PARA CREAR Y DETECTAR LA MUTACIN . ERROR! MARCADOR NO DEFINIDO.

    B.3.1 Mutacin con operaciones del tipo NOP ..... .... .... .... ... .... .... .... .... .. .Err or! M arcador no defi nido.B.3.2 Eliminacin de cdigos irrelevantes NOP ....... .... .... .... .... ... .... ... ... .Err or! M arcador no defi nido.B.3.3 Una mutacin con instrucciones irrelevantes ...... ... .... .... .... ... .... ... .Err or! M arcador no defi nido.

    B.4 ESTADSTICA DE INSTRUCCIONES UTILIZADAS CON DIFERENTES TCNICAS DE MUTACIN .......ERROR!MARCADOR NO DEFINIDO.

    APNDICE C. LOS ANALIZADORES HEURSTICOS ....... ...ERROR! MARCADOR NO DEFINIDO.

    RESUMEN ................................................................................................ERROR! MARCADOR NO DEFINIDO.

    iii

  • 7/30/2019 Tesis de Antivirus

    9/164

    ndice

    OBJETIVOS ...............................................................................................ERROR! MARCADOR NO DEFINIDO.C.1 LOS ANALIZADORES HEURSTICOS ..............................................ERROR! MARCADOR NO DEFINIDO.

    C.1.1 Buscador heurstico esttico y dinmico....................................... Er ror ! M arcador no defi nido.

    REFERENCIAS ................................................................................ .ERROR! MARCADOR NO DEFINIDO.

    iv

  • 7/30/2019 Tesis de Antivirus

    10/164

    5

  • 7/30/2019 Tesis de Antivirus

    11/164

    ndice de figuras

    ndice de figuras

    FIGURA 2-1 MODELO DE SEGURIDAD DE BELL LAPADULA ............................ ERROR! MARCADOR NO DEFINIDO.

    FIGURA 2-2 MODELO DE INTEGRIDAD BIBA .................................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 2-3 LA COMBINACIN DE SEGURIDAD MS INTEGRIDAD ................... ERROR! MARCADOR NO DEFINIDO.FIGURA 2-4 UN POSET .................................................................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 2-5 LIMITAR LA TRANSITIVIDAD ...................................................... ERROR! MARCADOR NO DEFINIDO.FIGURA 3-1 CONTAMINACIN DEL SECTORINICIAL....................................... ERROR! MARCADOR NO DEFINIDO.FIGURA 3-2 ARCHIVO ORIGINAL Y LIMPIO..................................................... ERROR! MARCADOR NO DEFINIDO.FIGURA 3-3 CONTAMINACIN AL PRINCIPIO DEL ARCHIVO ............................ ERROR! MARCADOR NO DEFINIDO.FIGURA 3-4 ARCHIVO MICROSOFT DEL TIPO EXE LIBRE DE VIRUS ................ ERROR! MARCADOR NO DEFINIDO.FIGURA 3-5 UN ARCHIVO MICROSOFT DEL TIPO EXE CONTAMINADO POR UN VIRUS....... ERROR! MARCADOR NO

    DEFINIDO.FIGURA 3-6 UN ARCHIVO MICROSOFT DEL TIPONE CONTAMINADO POR UN VIRUS ......... ERROR! MARCADOR NO

    DEFINIDO.FIGURA 3-7 UN ESQUEMA DE LA INFECCIN DEL VIRUS LIN GLAURUNG........ ERROR! MARCADOR NO DEFINIDO.

    FIGURA 3-8 ESQUEMA DE INFECCIN DEL VIRUS OBSIIAN E .......................... ERROR! MARCADOR NO DEFINIDO.FIGURA 3-9 INICIO EN LA EXTRACCIN DE UNA FIRMA. ................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 3-10 BSQUEDA DE UNA FIRMA APROXIMADA. ................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 3-11 BSQUEDA DE UNA NUEVA FIRMA. ........................................... ERROR! MARCADOR NO DEFINIDO.FIGURA 3-12 BSQUEDA DE UNA FIRMA BASADO EN COMODINES. ................. ERROR! MARCADOR NO DEFINIDO.FIGURA 3-13 RECONSTRUCCIN DE UN ARCHIVO INFECTADO POR LA TCNICA MULTI-PROTECT ..............ERROR!

    MARCADOR NO DEFINIDO.FIGURA 4-1 PROPAGACIN DE UN VIRUS INFORMTICO................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 4-2 INFECCIN LTICA. . ................................................................... . ERROR! MARCADOR NO DEFINIDO.FIGURA 4-3 INFECCIN LTICA EN UN ARCHIVO EJECUTAB LE EXE. ............... ERROR! MARCADOR NO DEFINIDO.FIGURA 4-4 INFECCIN LISO GNICA. .. ......................................................... ERROR! MARCADOR NO DEFINIDO.FIGURA 4-5 INFECCIN LISO GNICA A UN DOCUMENTO. ............................... ERROR! MARCADOR NO DEFINIDO.FIGURA 4-6 INFECCIN DE UN VIRUS EN UN REA DE DATOS. ........................ ERROR! MARCADOR NO DEFINIDO.FIGURA 4-7 VISTA GRFICA DE LA INTERPRETACIN ABSTRACTA DE UN VIRUS. ............. ERROR! MARCADOR NO

    DEFINIDO.FIGURA 4-8 VISTA GRFICA DE UN ARCHIVO SIN VIRUS................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 4-9 VISTA GRFICA DE UN ARCHIVO CONTAMINADO. ....................... ERROR! MARCADOR NO DEFINIDO.FIGURA 4-10 REPRESENTACIN DE UN PROGRAMA........................................ ERROR! MARCADOR NO DEFINIDO.FIGURA 4-11 EXTRACCIN DE LA FIRMA DIGITAL DE UN PROGRAMA. ............ ERROR! MARCADOR NO DEFINIDO.FIGURA 4-12 ESQUEMA DE UN PROGRAMA CONTAMINADO POR UN VIRUS. ..... ERROR! MARCADOR NO DEFINIDO.FIGURA 4-13 LOCALIZACIN DE UN VIRUS INFORMTICO.............................. ERROR! MARCADOR NO DEFINIDO.FIGURA 5-1 CASOS DE USO A NIVEL PROCESO DEL SISTEMA INMUNE LOCAL .. ERROR! MARCADOR NO DEFINIDO.FIGURA 5-2 PATRN DE DISEOPEQUEO LENGUAJE.................................... ERROR! MARCADOR NO DEFINIDO.FIGURA 5-3 DISEO DEL COMPUTADOR........................................................ ERROR! MARCADOR NO DEFINIDO.FIGURA 5-4 DISEO DEL COMPONENTE GRUPO DE TRABAJO .......................... ERROR! MARCADOR NO DEFINIDO.FIGURA 5-5 DESCRIPCIN DE LA UTILIZACIN DEL PATRN CONSTRUCTOR.. ERROR! MARCADOR NO DEFINIDO.FIGURA 5-6. DISEO DEL COMPONENTE LLAMADO SERVIDORT .................... ERROR! MARCADOR NO DEFINIDO.

    FIGURA 5-7 DISEO DEL COMPONENTE LLAMADO SERVIDORB ..................... ERROR! MARCADOR NO DEFINIDO.FIGURA 5-8 BARRA DE HERRAMIENTAS DEL SIMULADOR............................... ERROR! MARCADOR NO DEFINIDO.FIGURA 5-9 FORMA PARA CONFIGURAR LOS EQUIPOS DE CMPUTO. .............. ERROR! MARCADOR NO DEFINIDO.FIGURA 5-10 CONFIGURACIN DEL COMPONENTE INTERNET. ........................ ERROR! MARCADOR NO DEFINIDO.FIGURA 5-11 CONFIGURACIN DEL COMPONENTE PROGRAMADOR DE VIRUS. ERROR! MARCADOR NO DEFINIDO.FIGURA 5-12 CONFIGURACIN DEL COMPONENTE PROGRAMADOR DE APLICACIONES. .... ERROR! MARCADOR NO

    DEFINIDO.

    i

  • 7/30/2019 Tesis de Antivirus

    12/164

    ndice de figuras

    FIGURA 5-13 UN SIMULADOR VISUAL PARA DIAGNOSTICAR LA PROPAGACIN DE LOS VIRUS ERROR! MARCADORNO DEFINIDO.

    FIGURA 5-14 CURVA DE PROPAGACIN DE UN VIRUS EN EL SIMULADOR. .......ERROR! MARCADOR NO DEFINIDO.FIGURA 5-15 CURVAS DE PROPAGACIN DE LOS VIRUS Y SU CURA EN EL SIMULADOR. .... ERROR! MARCADOR NO

    DEFINIDO.

    FIGURA 5-16 CURVA DE RESPUESTA INMUNE EN EL SIMULADOR. ...................ERROR! MARCADOR NO DEFINIDO.FIGURA 6-1 COMPARACIN DE LOS NODOS EN UN ARCHIVO INFECTADO ........ ERROR! MARCADOR NO DEFINIDO.FIGURA 6-2 LISTA DE UNA FIRMA.................................................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 6-3 CONFIGURACIN DEL GRUPO DE TRABAJO .................................. ERROR! MARCADOR NO DEFINIDO.FIGURA 6-4 UN MODELO VISU AL DE LOS EQUIPOS CON Y SIN SISTEMA INMUNE EN EL NIVEL MICRO.......... ERROR!

    MARCADOR NO DEFINIDO.FIGURA 6-5 GRFICA DE PROPAGACIN DEL SISTEMA INMUNE EN EL NIVEL MICRO ACTIVADO ................. ERROR!

    MARCADOR NO DEFINIDO.FIGURA 6-6 GRFICA DE PROPAGACIN CON EL SISTEMA INMUNE EN EL NIVEL MICRO DESACTIVADO ...... ERROR!

    MARCADOR NO DEFINIDO.FIGURA 6-7 GRFICA DE PROPAGACIN DEL MENSAJE DE ALERTA.................ERROR! MARCADOR NO DEFINIDO.FIGURA 6-8 UN MODELO VISU AL DE LOS EQUIPOS CON SI Y SIN SI .................ERROR! MARCADOR NO DEFINIDO.FIGURA 6-9 GRFICA DE PROPAGACIN CON EL SI EN EL NIVEL MICRO Y MACRO ACTIVADO ERROR! MARCADOR

    NO DEFINIDO.FIGURA 6-10 GRFICA DE PROPAGACIN SIN NIVEL MICRO Y CON EL NIVEL MACRO ACTIVADO ............... ERROR!

    MARCADOR NO DEFINIDO.FIGURA 6-11 GRFICA DE PROPAGACIN DE UN VIRUS DETENIDO CON EL SISTEMA INMUNE COMPLETO. .. ERROR!

    MARCADOR NO DEFINIDO.FIGURA 6-12 GRAFICA DE LA PROPAGACIN DE UN V IRUS SIN SISTEMA INMUNE ............. ERROR! MARCADOR NO

    DEFINIDO.FIGURA 6-13 GRFICA DE PROPAGACIN DE UN SERVIDOR CON UN SISTEMA INMUNE RESPALDADO ......... ERROR!

    MARCADOR NO DEFINIDO.FIGURA A-14 LOS CASOS DE USO PARA UNA COMPUTADORA .........................ERROR! MARCADOR NO DEFINIDO.FIGURA A-15 PATRN SINGLETON................................................................ ERROR! MARCADOR NO DEFINIDO.FIGURA A-16 CONFIGURACIN DEL SERVIDORT. ......................................... ERROR! MARCADOR NO DEFINIDO.FIGURA A-17 PATRN ESTRATEGIA (STRATEGY). ......................................... ERROR! MARCADOR NO DEFINIDO.FIGURA A-18 PATRN OBSERVADOR(OBSERVER). ....................................... ERROR! MARCADOR NO DEFINIDO.

    FIGURA A-19 PATRN PROTOTIPO (PROTOTYPE)........................................... ERROR! MARCADOR NO DEFINIDO.FIGURA A-20 BARRAR DE HERRAMIENTAS. ................................................... ERROR! MARCADOR NO DEFINIDO.FIGURA A-21 VISTA DEL SIMULADOR. .......................................................... ERROR! MARCADOR NO DEFINIDO.FIGURA A-22 PATRN COMPUESTO (COMPOSITE). ........................................ ERROR! MARCADOR NO DEFINIDO.FIGURA A-23 CONFIGURACIN DEL GRUPO DE TRABAJO. ............................. ERROR! MARCADOR NO DEFINIDO.FIGURA A-24 PATRN DECORADOR(DECORATOR). ...................................... ERROR! MARCADOR NO DEFINIDO.FIGURA A-25 PATRN ESTADO (STATE). ...................................................... ERROR! MARCADOR NO DEFINIDO.FIGURA B-26 LA ELIMINACIN DE INSTRUCCIONES IRRELEVANTESNOP ....... ERROR! MARCADOR NO DEFINIDO.

    ii

  • 7/30/2019 Tesis de Antivirus

    13/164

    3

  • 7/30/2019 Tesis de Antivirus

    14/164

    ndice de tablas

    ndice de tablas

    TABLA 6-1 LA COMPARACIN DE LA RECONSTRUCCIN DE LOS DIFERENTES VIRUS ........ ERROR! MARCADOR NO

    DEFINIDO.TABLA 6-2 CANTIDAD DE NODOS QUE GENERA CADA ARCHIVO ..................... ERROR! MARCADOR NO DEFINIDO.TABLA 6-3 CLCULO DEL RIESGO EN EQUIPOS DE CMPUTO ......................... ERROR! MARCADOR NO DEFINIDO.TABLA 6-4 EL CLCULO DE RIESGOS EN EQUIPOS DE CMPUTO CON SISTEMA INMUNOLGICO..................ERROR!

    MARCADOR NO DEFINIDO.TABLA 6-5 MODELO VISUAL DE EQUIPOS CON EL SISTEMA INMUNE COMPLETO............... ERROR! MARCADORNO

    DEFINIDO.TABLA 6-6 COMPARACIN ENTRE UNA COMPUTADORA CON SI (SISTEMA INMUNE) Y SIN SI. ERROR! MARCADOR

    NO DEFINIDO.TABLA B-7 FRECUENCIA DE INSTRUCCIONES DE ALGUNOS PROGRAMAS EJECUTABLES. .. ERROR! MARCADORNO

    DEFINIDO.TABLA B-8 COMPARACIN DE INSTRUCCIONES DE LOS DIFERENTES MOTORES DE MUTACIN ................... ERROR!

    MARCADOR NO DEFINIDO.

    TABLA B-9 CDIGOS HEURSTICOS. .. ............................................................ ERROR! MARCADOR NO DEFINIDO.

    i

  • 7/30/2019 Tesis de Antivirus

    15/164

    ii

  • 7/30/2019 Tesis de Antivirus

    16/164

    ndice de tablas

    3

  • 7/30/2019 Tesis de Antivirus

    17/164

    ndice de programas

    ndice de programas

    CDIGO 3-1 NUEVO VIRUS BAT ................................................................... ERROR! MARCADOR NO DEFINIDO.

    CDIGO 3-2 ALGORITMO BSICO EN LA CONSTRUCCIN DE UN VIRUS. .......... ERROR! MARCADOR NO DEFINIDO.CDIGO 3-3 ELIMINACIN DEL VIRUS PING-PONG. ....................................... ERROR! MARCADOR NO DEFINIDO.CDIGO 3-4 ELIMINACIN DEL VIRUS VIERNES 13 ........................................ ERROR! MARCADOR NO DEFINIDO.CDIGO 4-1 FIRMA DE UN PROGRAMA SIN VIRUS. ......................................... ERROR! MARCADOR NO DEFINIDO.CDIGO 4-2 ARCHIVO CONTAMINADO. ......................................................... ERROR! MARCADOR NO DEFINIDO.CDIGO B-1 PARTE DEL EMULADOR BASADO EN EL LENGUAJE ENSAMBLADOR. ............. ERROR! MARCADOR NO

    DEFINIDO.CDIGO B-2 EJEMPLO DE UN PROGRAMA EN EL LENGUAJE C PARA SERMUTADO. ........... ERROR! MARCADOR NO

    DEFINIDO.CDIGO B-3 PROGRAMA COMPILADO EN EL LENGUAJE ENSAMBLADOR. ........ ERROR! MARCADOR NO DEFINIDO.CDIGO B-4 LENGUAJE C Y SU REPRESENTACIN EN ENSAMBLADOR80386 . ERROR! MARCADOR NO DEFINIDO.CDIGO B-5 PROGRAMA BASADO EN EL 80386 MUTADO CON OPERACINNOP INTERCALADA. ................. ERROR!

    MARCADOR NO DEFINIDO.

    CDIGO B-6 MUTAR UN PROGRAMA CON INSERCIN DE OTRAS INSTRUCCIONES IRRELEVANTES...............ERROR!MARCADOR NO DEFINIDO.CDIGO B-7 LA ELIMINACIN DE LAS INSTRUCCIONES IRRELEVANTES MEDIANTE SALTOS ... ERROR! MARCADOR

    NO DEFINIDO.CDIGO B-8 ELIMINADO LAS INSTRUCCIONES IRRELEVANTES....................... ERROR! MARCADOR NO DEFINIDO.CDIGO B-9 LA MUTACIN DE UN PROGRAMA POR EL CAMBIO DE LAS INSTRUCCIONES.. ERROR! MARCADOR NO

    DEFINIDO.CDIGO B-10 PROGRAMA EN LENGUAJE ENSAMBLADOR PARA REGRESAR AL SISTEMA OPERATIVO........... ERROR!

    MARCADOR NO DEFINIDO.CDIGO B-11 EN LENGUAJE ENSAMBLADOR PARA REGRESAR AL S ISTEMA OPERATIVO ... ERROR! MARCADOR NO

    DEFINIDO.

    i

  • 7/30/2019 Tesis de Antivirus

    18/164

  • 7/30/2019 Tesis de Antivirus

    19/164

    ndice de programas

    3

  • 7/30/2019 Tesis de Antivirus

    20/164

    Resumen

    Resumen

    En esta tesis, se presenta un modelo del sistema inmune para prevenir y eliminar los virusinformticos en ambientes locales y distribuidos. Lo anterior se realiza con base a los anlisisde la velocidad de propagacin en diferentes topologas. Para la elaboracin de este modelose tom como base la analoga de la seal de peligro, que genera el sistema inmune de losvertebrados.

    Para realizar este modelo, se llev a cabo un estudio de los virus informticos, analizando ydefiniendo su comportamiento bajo una Mquina de Turing Universal. En este estudio, sepresentan varios problemas intrnsecos al momento de realizar una deteccin. Se proponeentonces una solucin que consiste en realizar una representacin abstracta de los programasde cmputo. Estas representaciones sern utilizadas como firmas de identificacin junto a unareconstruccin de estructuras principales. Todas estas firmas generadas y alteradas sern

    enviadas a una central llamada Servidor T, en la que se realiza un diagnstico para obteneruna identificacin de propagacin que permite predecir el riesgo o un brote de algunainfeccin. Posteriormente, en el momento en que el virus ha sido identificado ser enviado ala central denominada Servidor B, en ella se diagnostica o crea la vacuna apropiada paraerradicar el virus. Tanto la identificacin como la vacuna se realiza en ambientes controladosy conforman el llamado sistema inmune.

    El desarrollo del modelo se ha dividido en dos partes:

    La identificacin y eliminacin de un virus informtico basada en una representacinabstracta de las estructuras de control.

    Un simulador visual de granularidad fina que permite experimentar y predecir losriesgos de un virus en diferentes topologas.

    Las herramientas antes mencionadas se basan en patrones de diseo y fueron representadosen UML, por lo que permiten una mejor reusabilidad y fortalecen la experimentacin connuevas formas de virus informticos.

    i

  • 7/30/2019 Tesis de Antivirus

    21/164

  • 7/30/2019 Tesis de Antivirus

    22/164

    Resumen

    3

  • 7/30/2019 Tesis de Antivirus

    23/164

    Abstract

    Abstract

    In this thesis is presented, an immune system to prevent and eliminate the computer viruses inlocal and distributed environments. This goal is achieved by analizing the propagation speedin different topologies. This model, is based upon the sign of danger, which is generated bythe immune vertebrate system.

    To elaborate the model, a study of computer viruses was realized. Its behavior was analyzedand defined under a Turing Universal Machine. In the study, several intrinsic problemsappeared at the detection moment. A solution consisting in the realization of an abstractrepresentantion of the computing program was then proposed. These representations will beused as identification signatures together with a reconstruction of main structures. All thesegenerated and upset signatures will be sent to a head office called T Server. Here a diagnosisis executed to obtain a spread curve that allows predicting the risk or an outbreak of some

    infection. Later, at the moment in which the computer virus has been identified, it is sent toanother server call B. Here the vaccine locates or creates the appropiated vaccine to eradicatethe virus. Both the identification and the vaccine are done in controlled environments, andthey shape the so called immune system.

    The development of the model has been divided in two parts:

    The identification and elimination of a virus, is based upon an abstract representationof an the control structures.

    A visual simulator of fine granularity that allows to experience and to predict the risksof a virus in different topologies.

    The above mentioned tools are based on design patterns and were represented in UML, inorder to provide greater reusability and power experiments with new evolutionary forms ofthe computer viruses.

    i

  • 7/30/2019 Tesis de Antivirus

    24/164

  • 7/30/2019 Tesis de Antivirus

    25/164

    Abstract

    3

  • 7/30/2019 Tesis de Antivirus

    26/164

    Captulo 1

    Captulo

    1 INTRODUCCIN

    1R e s u me n

    Este captulo incluye los objetivos del trabajo, tanto general como especficos. Ademsplantea la problemtica que se est abordando y su justificacin.

    O b je t i vo de l cap tu lo Plantear los objetivos de la tesis.

    Establecer la problemtica que se aborda en el contenido y justificar su estudio.

    1

  • 7/30/2019 Tesis de Antivirus

    27/164

    Captulo 1

    1 .1 P r o b l e m t i c a

    La creciente ola de virus informticos y la rpida propagacin que stos tienen en la red, haoriginado que los sistemas tradicionales para la deteccin se encuentren al lmite de sus

    posibilidades para mantener a los sistemas libres de alguna infeccin.

    Esto se debe a que el nmero de vacunas que existe por antivirus y por equipo sigue enaumento, ya que hay que actualizar de forma manual o automtica las firmas de identificacinas como las vacunas correspondientes. Este problema se ve acrecentado con la lentitud enque se crean las firmas de identificacin y las vacunas para eliminar a los virus informticos.

    1. 2 J u s t i f i c a c i n

    En el trabajo, Un modelo del sistema inmune para prevenir y eliminar los virusinformticos, surge la necesidad de crear una firma que permita identificar y minimizar la

    curva de propagacin que han generado los virus informticos durante estas ltimas dcadas.Se presenta adems un nuevo modelo de seguridad que permite coexistir con la evolucin delsoftware.

    La principal dificultad para los creadores de antivirus es diagnosticar en qu momento surgeun nuevo virus informtico. Para ello han utilizado bsquedas heursticas que permitenlocalizarlos basndose en pequeos patrones de comportamiento. Posteriormente, el virus esanalizado para obtener un antdoto y as erradicarlo de los equipos de cmputo. Actualmenteeste proceso consume varios das antes de que las compaas de antivirus proporcionen unasolucin real al usuario, durante los cuales los virus se propagan rpidamente lo que causaimportantes prdidas econmicas. Es por ello, que en esta tesis se propone un modelo basadoen una firma llamada seal de peligro, que ayude a identificar una nueva infeccin y facilite

    la reconstruccin de los programas daados, para as ayudar a minimizar la curva depropagacin que estos presentan.

    Para analistas en seguridad informtica es necesario tener una herramienta que permitamodelar y calcular los riesgos de una epidemia, as como la estrategia que se deberimplementar para salvaguardar la informacin de una forma eficaz. Esta estrategia seencuentra basada en el modelo del sistema inmune propuesto.

    1. 3 O b je t i vos

    A continuacin se describe el objetivo general y los objetivos particulares del presente

    trabajo.Objet i vo genera l

    Presentar un modelo del sistema inmune que minimice la propagacin de los virusinformticos. Una herramienta a nivel local llamada sistema inmune local que elimine losvirus conocidos y futuros as como una herramienta visual que permita modelar y simular adicho sistema en ambientes de propagacin ms complejos.

    2

  • 7/30/2019 Tesis de Antivirus

    28/164

    Captulo 1

    Objet ivo s espec f i cos

    Los objetivos particulares de esta tesis son los siguientes:

    Analizar y estudiar las diferentes formas evolutivas que han presentado los virus

    informticos para diagnosticar futuras infecciones. Analizar las diferentes formas en que los virus contaminan a su husped con el fin de

    disear una forma de eliminar a los virus de forma automtica.

    Analizar y disear un antivirus con tcnicas actuales, para encontrar los problemasbsicos de los antivirus comerciales.

    Definir y establecer una analoga del sistema inmune de los vertebrados para encontraruna mejor barrera que permita prevenir y eliminar a los virus informticos.

    Crear una firma llamada seal de peligro que identifique a los virus informticos,permita reconstruir el archivo husped y sea fcil de sintetizar.

    Realizar el anlisis, diseo e implantacin de una herramienta, que permita eliminarlos virus conocidos y futuros dentro de un mbito local.

    Realizar el anlisis, diseo e implantacin de una herramienta visual, que permitaexperimentar con la seal de peligro y las diferentes formas de propagacin que tienenlos virus informticos.

    1 . 4 Alcance de la tes is

    En la presente tesis se muestran algunas evoluciones de los virus informticos hasta finales

    del ao 2002, dejando claro que no es posible conocer en su totalidad las nuevas formasevolutivas que pueden presentar los virus y que stos estn sujetos a los avancestecnolgicos.

    Tambin se disearon y desarrollaron algunas tcnicas utilizadas por los antivirus, las cualesnicamente operan bajo el sistema operativo Microsoft Windows y reconocen a un grupo devirus que infecta a los archivos con la extensin .EXE, .COM y el sector de arranque. Caberecordar que muchas de las tcnicas mencionadas en el Captulo 3 no se encuentrandocumentadas debido a diversas patentes que manejan las empresas privadas de antivirus. Porlo tanto, este estudio solamente es para conocer los problemas esenciales de los antivirus.

    En la analoga del sistema inmune de los vertebrados muchos de los aspectos principales

    fueron cubiertos como son: La firma llamada seal de peligro que se cre en el Captulo 4, nicamente analiza

    programas en el lenguaje ensamblador del microprocesador Intel 8086/80386 yreconstruye los programas que han sido infectados con nuevos virus; siempre ycuando los virus utilicen las estructuras de contaminacin estudiadas en el Captulo 2.

    3

  • 7/30/2019 Tesis de Antivirus

    29/164

    Captulo 1

    Funcionalidad del Servidor T: En l se presentan los aspectos bsicos de sufuncionalidad y est limitado a prevenir futuras infecciones. ste solamente opera bajoun grupo de equipos de cmputo conectados entre s, adems de estar restringido a losaspectos que presenta la seal de peligro.

    La funcionalidad del Servidor B, solamente presenta los aspectos necesarios paraconstruir una vacuna especfica, limitando su funcionalidad a las restricciones quepresenta la seal de peligro. Adems de que su funcionalidad est dada por uno o msgrupos de Servidores T.

    En la analoga del sistema inmune de los vertebrados se analizaron las funciones bsicas paramantener a los sistema de cmputo lejos de una infeccin. Aunque solamente se tomaron tresde los componentes bsicos, este podra ampliarse con otras analogas basndose en otrostipos de clulas que ayuden a minimizar la propagacin de los virus informticos.

    Se dise y desarroll una herramienta llamada sistema inmune localque permite eliminarlos virus en una mquina local. Esta herramienta se encuentra basada en el sistema operativode Microsoft Windows y est limitada en la eliminacin de virus por las estructurasanalizadas en el Captulo 2.

    Por otra parte, se dise y desarroll un simulador de granularidad fina en el lenguaje Java ycon estudio de la seal de peligro, adems de utilizar los modelos de propagacin realizadospor IBM [34].

    1 .5 D es c r ip c i n d e l d o cumen to

    Hablar de los virus informticos, es tener que analizar los procesos involucrados para lograrsu diagnstico, as como una vacuna que permita erradicarlos de los sistemas de cmputo. En

    este trabajo, se presentan todas las partes que componen el problema de los virusinformticos desde el punto de vista evolutivo, en donde se analizan los modelos de seguridady las tcnicas utilizadas por los antivirus. Tambin se analizan los diferentes modelos deseguridad basados en el sistema inmune, por lo que se propone un modelo que permitacoexistir con la evolucin del software.

    1.5 .1 Virus informtico , ant iv irus y vacunas

    Existen varias formas en que los virus informticos han evolucionado, as como losprogramas de cmputo que existen hoy en da. Los virus contienen tcnicas que les permitenocultarse y cambiar la apariencia dentro de un archivo, con lo que impide que las

    herramientas de deteccin realicen un diagnstico correcto y eficiente. Por otra parte, losdiseadores de los antivirus han creado clasificaciones de los virus informticos, adems deanalizar la forma en que contaminan, que va desde que los virus se agregan a su husped,hasta insertarse dentro de un programa en donde se modifica su conducta sintctica.

    Las polticas en seguridad informtica en la actualidad son ms especficas y, por lo mismo,se necesita incorporar detalladamente los lineamientos y posibles efectos alternos que ayudena detectar a los virus informticos. Estos factores han originado que los antivirus sean la

    4

  • 7/30/2019 Tesis de Antivirus

    30/164

    Captulo 1

    primera barrera contra los virus informticos, pero hoy en da han sido rebasados por losavances tecnolgicos.

    Los antivirus han evolucionado lentamente. Esto se debe a que se encuentran en espera de lasnuevas tcnicas que implantan los virus informticos, para despus utilizar estas tcnicas en

    busca de un diagnstico que permita detectar a los virus en forma correcta.

    1.5 .2 S i s tema Inmune

    Un modelo del sistema inmune que elimine los virus informticos, es la bsqueda de unamejor barrera que impida que los virus informticos se propaguen rpidamente. Este modelose basa en una analoga con el sistema inmune de los vertebrados, donde se analizan dosteoras. Una de ellas es la de realizar la diferencia entre lo propio y lo extrao, y la segundaes la teora basada en la seal de peligro, para ello se presentan dos niveles de estudio:

    El nivel micro, que es donde se analizan las estructuras de control que tienen los

    programas para diagnosticar a un virus y eliminarlo de forma automtica. El nivel macro, que es el estudio de la propagacin de la seal de peligro y de los

    virus informticos en forma distribuida.

    1.5 .3 Apl icac iones de l s i s tema Inmune

    La Epidemiologa biolgica proporciona la consolidacin de los conceptos y los mtodos queproporcionan un sustento a una verdadera disciplina cientfica. Los cientficos han combinadolas perspectivas micro y macroscpicas de enfermedades, lo que origina como resultado elestudio y analoga de enfermedades biolgicas con los virus informticos, que se encuentranseparados en el mundo real, pero cerca al tratar aspectos cientficos.

    Se crea una herramienta llamada sistema inmune local que es la encargada de eliminarvirus presentes y futuros bajo las reglas explicadas en el Captulo 3. Esta forma de eliminarlos virus siguiendo el modelo de propagacin SIS (Susceptible Infecta a Susceptible)

    La Epidemiologa en los virus informticos se ha utilizado para observar diferentesestadsticas, donde se analizan diversas topologas en busca de la tendencia, propagacin eimpacto que tienen los virus. Por esto, se propone utilizar a la Epidemiologa para predecir elmomento en que surge un nuevo virus informtico; y as, de esta manera estimar la vacunaapropiada para que la propagacin sea menor.

    El propsito de disear un modelo del sistema inmune mediante un simulador, tiene la

    finalidad de comprender el comportamiento de la seal de peligro y el comportamiento de losvirus informticos dentro de un sistema de cmputo ms complejo que el del modelo SIS.Adems de evaluar nuevas estrategias para prevenir una propagacin.

    En el Captulo 5, se muestran los aspectos del diseo de un simulador basado en UML ydesarrollado en el lenguaje Java. Este simulador tiene las caractersticas de ser degranularidad fina y visual, lo que permite realizar experimentos con la seal de peligro y las

    5

  • 7/30/2019 Tesis de Antivirus

    31/164

    Captulo 1

    diferentes formas en que se propaga un virus; analizando a stos en un equipo o en un modeloms complejo como son los sistemas distribuidos.

    6

  • 7/30/2019 Tesis de Antivirus

    32/164

    7

  • 7/30/2019 Tesis de Antivirus

    33/164

    Captulo 2

    1 ESTADO DELARTE

    Captulo

    2R e s u me n

    En este captulo, se presentan los conceptos bsicos necesarios para la comprensin de estetrabajo, as como una descripcin de los virus informticos, poniendo nfasis en el contextode las diferentes formas de contaminacin que stos presentan. Adems de mostrar los

    esquemas ms utilizados para realizar su deteccin.

    O b je t i vo de l cap tu lo Definir los conceptos bsicos necesarios para la comprensin de los virus

    informticos. Presentar un panorama general de la infeccin y propagacin que tienen los virus

    informticos. Mostrar los esquemas utilizados por los virus informticos para propagarse y

    evolucionar.

    1

  • 7/30/2019 Tesis de Antivirus

    34/164

    Captulo 2

    1. 1 H is to r i a de l o s v i rus i n f o r m t i c o s

    John Louis Von Neumann, un matemtico brillante que realiz importantes contribuciones ala fsica cuntica, la lgica y la teora de la computacin, public en 1949, en su artculollamado Teora y Organizacin de Autmatas Complicados (Theory and Organization ofComplicated Autmata) la idea bsica de un cdigo que es capaz de reproducirse a smismo. Por esta razn se le conoce como uno de los primeros precursores en el campo de losvirus informticos [1].

    A finales de los aos 50, en los laboratorios Bell, tres programadores, H. DouglasMcllroy, Vctor Vysottsky y Robert Moris crearon un juego llamado Core Wars [2].ste consiste en la elaboracin de programas para un simulador de computadoras,donde la idea principal era que los programas sobrevivieran con tcnicas parecidas alas que utilizan los virus informticos [3-5].

    John Shoch y Jon Hupp, investigadores de la empresa Palo Alto Research Center, quepertenece a Xerox, aseguran que en 1972 se elaboraron programas con ciertas tcnicasque poseen los virus. Aunque estos programas podran ser considerados virusbuenos, ya que controlanban continuamente la salud de las redes; a uno de ellos lollamaron el gusano vampiro [6], debido a que se ocultaba en la red y slo seactivaba durante las noches para aprovechar que las computadoras no estaban en uso[7].

    En 1983 Ken Thompson reciba el premio Alan Turing de la Association ofComputing Machinery. En su discurso basado en el juego Core Wars invita aexperimentar con esas pequeas criaturas lgicas [8].

    La adopcin del nombre virus fue proporcionada en noviembre de 1983, en unseminario de seguridad en computadoras del Dr. Fred Cohen; quien realiz elexperimento en una computadora VAX 11/750, en donde crea un programa quepuede modificar a otros, para incluir una copia quiz evolucionada de s mismo; conlo que establece un paralelismo entre los virus biolgicos y los informticos parajustificar la adopcin de dicha terminologa [3,8]

    Dewdney publica un tercer artculo en el que se desliga de cualquier relacin con losvirus informticos; posteriormente sigue involucrado en los juegos de la GuerraNuclear y explica el funcionamiento de los virus. Se da el primer caso de contagiomasivo a travs del virus llamado MacMag, tambin llamado virus Peace en

    computadoras Macintosh; este virus fue creado por Richard Brandow y Drew Davisony lo incluyeron en un disco de juegos que repartieron en una reunin de un club deusuarios. Uno de los asistentes, Marc Canter, consultor de Aldus Corporation, se llevel disco a Chicago y contamin el equipo de cmputo en el que se realizaban pruebascon el nuevo software [6].

    2

  • 7/30/2019 Tesis de Antivirus

    35/164

    Captulo 2

    En el ao 1987 se descubre la primera versin del virus "viernes 13", y el virus Viena; estos tienen mayor difusin en el mundo al momento de publicar una partede sus cdigos en un libro de virus, lo que provoc que muchos investigadores crearanvariantes [9].

    En 1988 la informtica realiz un trabajo que consista en hacer ms consciente a laindustria; el objetivo principal era la necesidad de defender los sistemas informticosde ataques realizados por los virus informticos. Uno de los primeros antivirus llevabael nombre de Inyeccin para la gripe (Full Shot); y fue creado por Ross Greenberg.

    En 1989, el virus llamado Dark Avanger se propaga por toda Europa y los EstadosUnidos, hacindose famoso por su estilo de programacin a tal grado que se hanescrito muchos artculos y hasta ms de un libro acerca de este virus. Posteriormenteinspir a su propio pas, para la produccin masiva de sistemas generadores de virusautomticos [5].

    En junio de 1991, el Dr. Vesselin Bontchev, que trabajaba como director delLaboratorio de Virologa de la Academia de Ciencias de Bulgaria, escribe un artculo,en el cual se reconoce a su pas como el lder mundial en la produccin de virus; porlo que dio a conocer la primera especie de virus blgara, creada en 1988, que fue elresultado de una mutacin del virus Viena. Estos virus fueron desensamblados ymodificados por estudiantes de la Universidad de Sofa [10].

    El virus Michelangelo, no realiza una destruccin significativa pero la prensa lovendi como una grave amenaza mundial en la primavera de 1992 [3].

    En los noventa, se producen enormes cambios en el mundo de la informtica en dondese dio un aumento en el nmero de los virus en circulacin, hasta lmitesinsospechados. La razn principal de este desmesurado crecimiento se debe al auge deInternet, que en 1994 ya comenzaba a popularizarse en Estados Unidos, y un par deaos ms tarde empezara a generalizarse en el resto del mundo.

    En 1995 se reportan, en diferentes partes del mundo, la presencia de una nueva familiade virus que solamente infectaban documentos sin ser archivos ejecutables directos delsistema operativo. Estos podan auto reproducirse infectando a otros documentos. Losllamados macro virus, slo infectaban a los archivos de MS-Word [11], pero apareciuna especie que atacaba al Ami Pro, ambos procesadores de textos. En 1997 sedisemina a travs de Internet en donde surge el primer macro virus que infecta hojasde clculo de MS-Excel, denominado Laroux, y en 1998 surge otra especie de estamisma familia de virus que ataca a los archivos de bases de datos de MS-Access [12].

    El virus Strange Brew es el primer virus conocido en el lenguaje Java, este virus escapaz de copiarse en otros archivos siempre y cuando tenga los permisos de acceso, esdecir, que slo funcionar con ciertas condiciones como aplicacin Java [13].

    A principios de 1999 se empezaron a propagar los virus adjuntos a mensajes decorreo, ese mismo ao fueron difundidos a travs de Internet varios de estos virus.

    3

  • 7/30/2019 Tesis de Antivirus

    36/164

    Captulo 2

    1. 2 D e f in i c i n d e u n v i rus i n f o r m t i c o

    El constructor universal de John Louis Von Neumann es una extensin del concepto lgico delas mquinas de clculo universal. Neumann propone realizar un constructor para probar quesu red celular colocada en una mquina de Turing es capaz de producir otra red celular. Estonicamente sucede en el momento en que un programa se incrusta en otro, l llam a estaltima mquina Constructor Universal, y mostr que un programa que contenga dichadescripcin es capaz de reproducirse a s mismo.

    Una definicin ms formal de un virus informtico se encuentra en libro de Cohen [14], en laque menciona que cualquier secuencia de smbolos en la memoria de una mquina deTuring que tiene la capacidad de realizar un auto copiado en otro lugar de ste, se le llamavirus.

    En otras palabras, un virus informtico es un programa que puede infectar a otrosprogramas modificndolos para incluirse como una copia de s mismo, la copia puededesarrollarse o evolucionar [14].

    El trmino virusfue dado por el Dr. Cohen en 1983; l establece una relacin significativaentre los conceptos virus informticos y virus biolgicos. Es importante analizar estos dosconceptos de una manera ms amplia, para comprender las similitudes y diferencias queexisten entre ambos.

    1. 3 A n a lo g a de l o s v i rusb i o l g i c os co n l o s v i rus i n f o r m t i c o s

    La virologa ha sido la ciencia microbiolgica que ha surgido como resultado del hallazgo deenfermedades infecciosas, donde la implicacin de microorganismos se demostraba con losmedios habituales disponibles a finales del siglo XIX.

    En 1898 Martinus Beijerink, realiza experimentos parecidos a los de Dimitri Iwanovski.Ambos en 1892 se enfrentaron a los conceptos de la poca, y proponen que los agentesfiltrables contagium vivum fluidu deban de incorporarse al protoplasma vivo del huspedpara lograr su reproduccin. Estos agentes infecciosos que cruzan los filtros de porcelana,fueron llamados Virus Filtrables, que despus tomaran el nombre de Virus. Hoy en da ladefinicin aceptada es [15]:

    Los virus biolgicos son fragmentos de ADN cubiertos de una capa de protenas; sereproducen nicamente en el interior de las clulas vivas, tomando el control de suenzima y maquinaria metablica. Sin esta maquinaria permanecen inertes comocualquiermacromolcula.

    Esta definicin describe a los virus biolgicos, pero no ayuda a encontrar una semejanza mssevera con los virus informticos, por esta razn, se presentan las siguientes relaciones [16].

    1) Los virus biolgicos estn compuestos por cidos nucleicos. Estos cidos poseen lainformacin suficiente y necesaria para realizar cierta actividad, si esto se compara conlos virus informticos, stos poseen un cdigo que realiza un proceso similar.

    4

  • 7/30/2019 Tesis de Antivirus

    37/164

    Captulo 2

    2) Los virus biolgicos no tienen metabolismo propio; por lo tanto, en el momento en queestn fuera del husped no manifiestan actividad de ningn tipo. Un comportamientoidntico adquiere un virus informtico en el momento en que no se encuentra en lamquina que lo interprete.

    Aunque existen varias semejanzas entre los dos puntos analizados, tambin existen algunasdiferencias que son importantes mencionar:

    Los virus informticos no tienen vida, capacidad que s poseen los virus biolgicos. El definirel trmino vida no es parte de ningn dogma, lo que hoy en da es cierto para la ciencia puedeque el da de maana no lo sea. Algunos cientficos toman a los virus como partculascarentes de vida, y otro grupo lo ubica en una especie de limbo entre lo vivo y no vivo. Latercera opinin mantiene la postura que son formas vivientes y que al momento deevolucionar perdieron la caracterstica de ser metablicos; este proceso tiene el nombre desimplificacin evolutiva, y surge en el momento en que los virus biolgicos son definidoscomo seres vivos, lo que corresponde a una discusin filosfica.

    1.3 .1 C ara cte rs t ic a y s i mi l i tud es

    Despus de analizar algunas similitudes entre los dos trminos virus informticos y virusbiolgicos, existen otras caractersticas que contribuyen a esta comparativa.

    La primera caracterstica es el tamao que presentan los virus informticos con relacin a losprogramas que infectan, ya que estos deben ocultarse ante los usuarios, y estar latentesdurante algn tiempo. Los virus biolgicos presentan la misma caracterstica, son demasiadopequeos comparados con sus huspedes.

    Tipo de accin: Los virus informticos y los virus biolgicos modifican y/o daan a sus

    huspedes. Aunado a esta caracterstica, existe un proceso de acoplamiento con el organismosano por as llamarlo, ya que en el momento de realizarse ste, existe una distincin de smismo para no autodestruirse.

    Modo de accin: Ambos tipos de virus inician su actividad de forma oculta, sinconocimiento, ni consentimiento del sistema, despus de un evento significativo el viruspuede activar el mecanismo y hacerse visible.

    Codificacin de la informacin: Ambos tipos de virus por definicin contienen lainformacin necesaria para su auto reproduccin. Los virus informticos lo realizan pormedio de clusula transitiva [17] y los virus biolgicos poseen un cdigo cuaternario (cuatronucletidos combinados en tripletes).

    Propagacin: Los dos tipos de virus utilizan medios para su propagacin; los virusbiolgicos se propagan a travs del aire, el agua o por el contacto directo entre un huspedsano y uno infectado. Los virus informticos se propagan por todo aquel medio que impliquela transitividad de informacin.

    Latencia: Ambos virus tienen el periodo de latencia, que es el momento en que la infeccinse realiza pero no se presentan los sntomas.

    5

  • 7/30/2019 Tesis de Antivirus

    38/164

    Captulo 2

    Mutar: La susceptibilidad de mutar algo, es la que posibilita el proceso evolutivo de lasformas vivientes para sobrevivir, y se encuentra en los virus biolgicos bajo determinadascondiciones; esto se debe por influencias de distintos factores o por manipulacin gentica.Los virus informticos, pueden cambiar para dar origen a nuevas variedades de virus, algunos

    de estos cambian por s solos, esto se realiza al cifrar el programa y otros por medio deprogramacin directa.

    Proceso reproductivo: Ambos virus carecen por s mismos de la capacidad de reproducciny para realizarlo es necesario tener conocimiento de la estructura del husped.

    Sinergia: El trmino alude a un mecanismo de exaltacin o potenciacin del poder patgenoque ejerce un virus en otro diferente en el momento en que estn juntos, dicho de otra formael poder de ambos, es mayor que la suma de los poderes individuales. El fenmeno desinergia es compartido por ambos tipos de virus.

    Tipos de infecciones: Los virus biolgicos pueden actuar por medio de dos tipos deinfecciones:

    Las lticas: Fijacin de los virus en la superficie de la clula husped.

    Las liso gnicas: El virus integra su ADN con el ADN del husped y en el momentoen que ste duplica su ADN tambin se duplica el ADN del virus. El huspedaparentemente no se ve afectado por tal proceso; de cualquier manera, la infeccin lisognica por influencia y por determinados factores puede transformarse en unainfeccin ltica.

    Los virus informticos, poseen estos dos tipos de infecciones, aunque se explica con mayordetalle en el punto en el Captulo 4.

    Epidemiologa: Ambas entidades cumplen con las mismas bases epidemiolgicas y por lotanto son vlidos los trminos utilizados en Epidemiologa biolgica.

    1. 4 C o n ta min a c i npo r me d io de un v i r u s i n f o r m t i c o

    Una forma general de estudiar a los virus informticos, es por medio de su cdigo quemuestra como se realiza la contaminacin, y donde el usuario deber analizar el programapara determinar si se encuentra infectado. Como ejemplo se utilizar un programa quepermite mostrar el funcionamiento bsico de dicho problema. Para ello definimos algunossmbolos como son:

    = Smbolo que se utiliza para representar una definicin.

    : Smbolo que se utiliza para representar una etiqueta.; Smbolo que se utiliza para separar sentencias.:= Es usado para la asignacin.== Es usado para la comparacin.{ } Agrupan una secuencia de sentencias.. . . Es utilizado para indicar una parte irrelevante.

    6

  • 7/30/2019 Tesis de Antivirus

    39/164

    Captulo 2

    Programa virus = {1234567;

    subrutina infectar ejecutables ={loop:

    Archivo = obtener un archivo;

    S (en la primera lnea del Archivo == 1234567)entonces

    loop;Se inserta al principio el virus en elarchivo;Copiar las instrucciones de dao y la pilade disparo;Copia la rutina para infectar a los demsejecutables;Modificar el proceso main para insertarse yser ejecutado en primer plano;

    }

    subrutina proceso de dao = {inicia el proceso de realizar algn dao alsistema;

    }

    subrutina pila de disparo = {detecta algn evento para activar el proceso dedao;

    }

    main = {infectar a los archivos ejecutables;S(pila de disparo) entonces proceso de dao;

    }}

    En el ejemplo anterior, se observa que el virus realiza una bsqueda de los archivos delsistema, en donde verifica la existencia de una firma, de no existir sta, el virus se insertapara contaminar al archivo husped. El mecanismo de dao del virus, nicamente se dispararsi existen las condiciones necesarias dentro del sistema, por lo que la propiedad principal delvirus es de tener la habilidad de infectar a otros programas [14].

    1.4 .1 Modelo de propagacin

    En los modelos de propagacin; algunos de los ms rpidos son: el de los virus LoveLetter,SirCim y Code Red.

    Segn los datos recolectados por la Asociacin Internacional de Seguridad Informtica ICSA[18],LoveLetteres el virus que se ha propagado con mayor rapidez. En 1995 un virus tomabaaproximadamente un mes en propagarse; nada comparado con el virus informtico llamado

    7

  • 7/30/2019 Tesis de Antivirus

    40/164

    Captulo 2

    LoveLetter, que en slo cuatro horas se propag por la red para contaminar a variascomputadoras.

    Este incidente, se discute desde el punto de vista epidemiolgico, en donde se analiza laforma de propagacin en una poblacin determinada. Para realizar este estudio, se utilizan

    modelos ms simples, basndose en una propagacin homognea, que no es ms que unacomputadora, pueda infectar a cualquier otra computadora.

    La suposicin anterior no es verdadera para los virus tradicionales por as llamarlos, donde lapropagacin sigue un modelo grfico de tipo jerrquico, en el cual la infeccin tiende a lapropagacin de las computadoras ms cercanas. Sin embargo, no es el caso del LoveLetter,que infecta a las computadoras ms lejanas, donde la correspondencia electrnica tiende a serde una forma global y la propagacin puede considerarse homognea.

    El ciclo vital de un gusano se divide en dos etapas. La primera etapa es desconocida paralos analizadores de los virus informticos, y es precisamente en este momento en que losvirus s propagan; la segunda etapa ocurre despus, en el momento en que la firma del virus

    ha sido encontrado por alguna empresa.

    En la primera etapa, la Ecuacin 2-1, describe el nmero de sistemas infectados[19]:

    (2-1)

    donde:

    t = Tiempo transcurrido,

    g = Promedio de infecciones,a = Mortalidad y

    = El tiempo en que se realiza la propagacin.En la Ecuacin 2-1 no es exacta, ya que despus que una empresa encuentra la firma delvirus, el ciclo no es el mismo, esto es conocido como t0, ya que los usuarios actualizan susantivirus.

    En el momento en que las actualizaciones de los antivirus se encuentran distribuidas, sepuede pensar que estn instalados en un porcentaje de las computadoras infectadas, y que lamortalidad resulta ser la probabilidad de 1-p. Tambin existen algunos usuarios que son

    administradores y que han aprendido de experiencias anteriores por lo que actualizanpuntualmente sus antivirus.

    Por lo tanto la propagacin inicia en una segunda etapa con una fraccin de computadorasinfectadas ( 1-p ).

    (2-2)

    8

  • 7/30/2019 Tesis de Antivirus

    41/164

    Captulo 2

    La primera pregunta que surge es: Cmo se puede reducir la propagacin de los virus quetienen una forma exponencial creciente?

    Para lograr una disminucin en el exponente de la ecuacin (2-1), se realiza mediante elfactor de multiplicacin del virus (g-a) que es mayor de 1, por lo tanto, el virus estar enaumento y, si es menor a 1 tender a la muerte.

    Una solucin trivial para disminuir la poblacin del virus consiste en aumentar el factorp;esdecir adquirir ms exploradores de virus e instalarlos en otras computadoras. Si se analiza laecuacin (2-2) se confirma la disminucin del exponente, adems se asegura que el virus

    morir ms rpidamente en la segunda etapa. El nico problema es conocer el momento deadquirir ms antivirus que disminuya el ndice de infeccin en la primera etapa de la vida delvirus.

    1 . 5 L os an t iv i r u s y l as vacu na s

    Comnmente se confunden los trminos antivirus1 y vacuna 2 debido a que estos seencuentran fuertemente unidos, es difcil distinguir donde empieza uno y termina el otro

    Se puede mencionar que el inicio de los antivirus surgi con John Shoch y Jon Hupp,investigadores de Palo Alto Research Center que haban elaborado programas con tcnicasparecidas a las de un virus, aunque estos programas podran ser considerados virus buenos, yaque controlaban continuamente la salud de las redes, sin embargo, stos consumandemasiados recursos [7].

    No se debe olvidar que la mayora de los antivirus en el mercado surgieron por necesidad,debido a que la propagacin de los virus informticos se encontraban en expansin, por loque se trat de encontrar un remediopor as llamarlo. Se observ que estas soluciones noresultaban factibles debido a que se encontraban un paso atrs en el desarrollo de los virusinformticos. Esto es, primero surge un virus y luego se debe encontrar el antdoto para quese actualicen a los antivirus que sern los encargados de realizar la vacunacin.

    Por otra parte las vacunas automticas son una meta por cumplirse, ya que en el momento enque un virus informtico reciente es encontrado, los expertos llevan un tiempo en buscar unafirma o cadena que sea nica para su deteccin. Posteriormente, esta firma es enviada a todoslos antivirus para que detenga la propagacin. Por otro lado, un grupo de expertos en virus

    1 Es un programa que se encarga de la deteccin y eliminacin de los virus informticos 2 Es el antdoto o programa encargado de erradicar al virus del lugar donde se hospeda.

    9

  • 7/30/2019 Tesis de Antivirus

    42/164

    Captulo 2

    informticos, realiza las vacunas correspondientes, por lo que se agrega ms tiempo alproceso mientras la propagacin del virus continua.

    1.6 Algunas tcnicas per fectas pa ra la d e fensa de los virus

    i n f o r m t i c o sPara Cohen, existen tres maneras en que se obtiene una perfecta prevencin contra lapropagacin de los virus informticos, ya sean estos dentro del mismo equipo o en unambiente distribuido [20-22] y estos son:

    1. Compartir con limitaciones

    2. Limitar la transitividad

    3. Limitar el funcionamiento

    1.6 .1 Comp art ir con l imi tac ion e sEsta tcnica se basa en que un usuario no debe leer de un nivel ms alto de seguridad, y nointentar escribir en una rea de menor clasificacin, esto tiene la finalidad de que no existauna fuga o infiltracin en la informacin, como se observa en la Figura 2-1

    Figura 1-1 Modelo de seguridad de Bell LaPadula

    De la misma manera, opera el modelo de integridad de Biba, donde no se lee la informacinde un bajo nivel de integridad, para no corromper la informacin y no se escribe en un nivelalto de integridad con el mismo fin.

    Figura 1-2 Modelo de integridad Biba

    Ahora s se requiere que el sistema mantenga la integridad [23] y la seguridad, se deben unirlos dos modelos, lo que dar como resultado un sistema en el que no se permita Leer niEscribir fuera del nivel de uso, como se observa en la Figura 2-3.

    10

  • 7/30/2019 Tesis de Antivirus

    43/164

    Captulo 2

    Figura 1-3 La combinacin de seguridad ms integridad

    Esto es nicamente un caso especfico, ya que al momento de compartir con limitaciones, sedeber implementar una poltica basada en una estructura llamada poset 3, que es un conjunto

    parcialmente ordenado.dominio A, B y C posetA B y B C A CA B y B A A = BA A

    En un poset, la regla es que la informacin fluya hacia arriba, como se observa en la siguienteFigura 2-4:

    Figura 1-4 Un poset

    3 Es un conjunto de cuadros conectados por medio de lneas.

    11

  • 7/30/2019 Tesis de Antivirus

    44/164

    Captulo 2

    Se escribe un virus informtico, en el cuadro marcado con la letra A. Como se observa en laFigura 2-4, el virus se propagar hacia los cuadros B, C, D, E y F, pero no en G, esto se debea que no existe, una ruta que lleva al virus de A a G, la ventaja es que la propagacin sepresenta en un conjunto limitado y no en todo el sistema.

    1.6 . 2 Limi t a r la trans i t iv id ad

    La segunda posibilidad es limitar la transitividad como se observa en la Figura 2-5.

    Figura 1-5 Limitar la transitividad

    Se podra realizar una implantacin, con limitar la transitividad para prevenir la propagacinde los virus informticos a partir de una cierta distancia del origen. El problema es que no esposible realizarlo en el mundo real [17].

    1.6 . 3 Limi t a r la f uncion al ida d

    La tercera posibilidad se basa en la prevencin de los virus informticos dentro de un sistemalocal o en un rea distribuida. Esto se logra evitando instrucciones que puedan dar lugar a lacreacin de virus.

    1. 7 Detec ta r t o d o s l o sp os ib le s v i r u s

    Las tres tcnicas descritas anteriormente permiten prevenir la propagacin de un virusinformtico. Otro caso de estudio es, en el momento en que un equipo se encuentracontaminado por un virus informtico y lo que se desea es eliminarlo. Cabe aclarar que todaslas tcnicas que se explican a continuacin son imperfectas.

    12

  • 7/30/2019 Tesis de Antivirus

    45/164

    Captulo 2

    1.7 .1 Car act er st i ca s de los pro g rama s que det ect a n todo s los viru sinf orm t ico s

    Una pregunta que surge es, Se pueden detectar todos los virus? nicamente s existen lascondiciones siguientes:

    1. Funcionamiento de los programas por siempre sin cambio alguno o2. Tener un nmero infinito de falsos positivos4 o3. Tener un nmero infinito de falsos negativos5 o4. Tener la combinacin de los tres puntos anteriores

    1 . 8 La s t cn i c aspar a l a d e te cc i n d e l os v ir us inf o r mt ico s

    El hablar de tcnicas es hablar de procedimientos comprobados para la localizacin de losvirus informticos, desde sus inicios, el primer intento por mantener al margen este tipo deprogramas era el de crear un programa similar al de un virus informtico. El investigador BobThomas liber un programa llamado Rastrero; mientras que otro programador escribi un

    virus llamado Segador, el cual se reproduca en la red para matar Rastreros.Obviamente esto no sera una solucin factible por ciertas razones que saltan a la vista, comoes el costo de cmputo desperdiciado para mantener vivos a los Segadores; aunque en unprincipio su costo era sostenible, sera la solucin ms apropiada, hasta crear una especie deplataforma que permitiera controlar los costos que estos generaban. El primer problema fueresuelto, la vacuna sola debera de ser activada en el momento en que la presencia del virusfuera encontrada; esta plataforma hoy es conocida como antivirus.

    La bsqueda de las firmas dentro de un virus es ms que una tcnica, es la parte esencial delos antivirus que ha sido estudiada, y es la encargada de identificar de forma correcta la partedel cdigo de un virus, as como evitar los llamados falsos positivos y falsos negativos. Es

    por ello que se debe realizar un estudio sobre los diferentes mtodos de bsquedas que hanempleado los antivirus.

    Qu es una firma? Una secuencia de bytes que identifica a un solo virus. Una buena firma esaquella que se encuentra dentro de cada objeto infectado por un virus; pero es menosprobable de ser encontrado si el virus no est presente. Es decir que la probabilidad de falsosnegativos y falsos positivos debe ser reducida al mnimo; normalmente un experto humanoelige una firma para el nuevo virus al detectar una zona segura. Adems deber ser una rutinamenos comn y esto se logra con la extraccin de la zona de auto verificacin que tienen losvirus informticos.

    Para los Macro Virus, el problema de la deteccin es an ms sencillo porque se obtiene una

    suma de validacin del cdigo y se compara con una base de datos. Ya que en stos por loregular no presenta el fenmeno de cambiar sus instrucciones al momento de acoplarse.

    4 Falso positivo: es cuando un antivirus anuncia la presencia de un virus que no lo es. 5 Falso negativo: es cuando un antivirus anuncia que no existe la presencia de un virus y en realidad existe.

    13

  • 7/30/2019 Tesis de Antivirus

    46/164

    Captulo 2

    El experto en virus informticos puede llevarse muchos das en encontrar una buena firma,una intencin es el de crear la herramienta que pueda identificar a un programa en formanica. IBM ha desarrollado un mtodo estadstico para extraer automticamente firmas de unvirus informtico [24]. La idea bsica es recopilar una gran cantidad de programas, y despus

    utilizar esta informacin para estimar las probabilidades de falsos positivos en las firmascreadas. En la prctica, las firmas extradas con este mtodo son menos probables de generarfalsos positivos.

    1.8.1 Bsqueda basada en una f irma simple.

    Esta tcnica consiste en localizar una cadena de 16 o 32 bytes dentro del archivo que tienevirus, el cual tiene una probabilidad alta de ser una identificacin nica para el virus. Paralocalizar dicha cadena, se utilizan algunos algoritmos que permitan realizar la localizacin enun tiempo menor y de una manera ms compleja.

    El primer intento se realiz con una bsqueda basada en la fuerza bruta:

    Caractersticas:

    No posee ninguna fase del proceso previo; Su anlisis ser comparar uno a uno con un desplazamiento hacia la derecha.

    Debido a la creciente ola de virus informticos que se dio a finales de los aos 80s, lacantidad de stos aumentaron considerablemente. Esto motiv a que se mejoraran las tcnicasde bsqueda, ya que las firmas de identificacin eran ms complicadas de extraer. Estecambio en los antivirus era provocado por algunos virus que tenan un parecido mayor.

    Para solucionar el problema anterior, se toma la idea de un algoritmo que permita buscar una

    cadena en donde se hace uso de algunos caracteres como comodines, con la idea de ser msflexible, el algoritmo se conoce como bsqueda con un autmata.

    Para realizar la bsqueda de una cadena que pudiera contener un patrn ms complejo devirus informticos, una herramienta llamada TBSCAN6, emple una manera de extender loscaracteres comodines en la que utiliza la siguiente definicin:

    ? = Representa cualquier smbolo de entrada,%n = Saltar de 0 a N smbolos de entrada,*n = Saltar exactamente N smbolos y** = Saltar un numero arbitrario (incluye la posicin 0).

    Con estos comodines mencionados, se obtiene una firma ms compleja, pero la forma deimplementarla dentro de un sistema tiene ciertas caractersticas que debern ser consideradasy que se explican en el Captulo 3. Otra forma de mejorar la eficiencia en la bsqueda de

    6 Parte integral de la herramienta ThunderByte Antivirus.

    14

  • 7/30/2019 Tesis de Antivirus

    47/164

    Captulo 2

    patrones es el de no tener que realizar la bsqueda en todo el archivo ni en todos, por lo quese proponen algunos puntos que debern tomarse en cuenta.

    1.8 .2 Algun os punt os para una mejo r efi c ien cia en la implan tac in de

    un buscador . Las firmas se deben clasificar por el tipo de archivo en el que se encuentran. Las firmas se clasifican segn la posicin de inicio del cdigo, esta es otra de las

    maneras de minimizar el rbol de bsquedas. Si un virus se incrusta al final delarchivo tendr que modificar las direcciones que indiquen el inicio del programa pararealizar la unin de los segmentos. Esto reduce el tamao de bsqueda, dado que porlo regular los virus son ms pequeos con respecto a su husped.

    Debe desarrollarse un algoritmo que sea lo ms eficiente al momento de localizar elpatrn deseado.

    Se debe realizar un diseo para implantar los diferentes algoritmos de bsqueda,debido a que cada empresa, desarrolla sus propios mtodos, y se debe pensar ensustituir este mdulo de una forma que sea lo ms transparente posible para eldesarrollador.

    1 . 9 E p id e mio lo g ab i o l g i c a

    La primera definicin de la Epidemiologa basada en el objeto de estudio fue la propuesta porD. Kleinbaum y colaboradores en su libro de texto publicado en 1982, para quienes laEpidemiologa es sencillamente el estudio de la salud y la enfermedad en las poblacioneshumanas [25]. Enseguida los mismos autores aclaran que la definicin no es redundante, yaque la salud debe entenderse como estados de bienestar y la enfermedad como procesospatolgicos.

    Con lo explicado anteriormente se tienen los dos siguientes puntos. El primero es al definir ala Epidemiologa con base en sus mtodos o en sus objetivos, queda claro que se trata de unalegtima disciplina de la ciencia; el segundo punto es que ms all de la simple enumeracinde hechos, la Epidemiologa tiene el propsito de explicar los fenmenos que constituyen unobjeto de estudio.

    La Epidemiologa podra perderse en el extremo opuesto, la mala e insuficienteespecificacin de los conceptos y los mtodos, que es la falta de coherencia de los hallazgosepidemiolgicos. Esto ltimo fue claro por el doctor Petr Skrabanek, en su trabajo Lamiseria de la Epidemiologa publicada en 1992, que censura a los estudios epidemiolgicospor la falta de consistencia de sus resultados y por incurrir constantemente en el problemaepistemolgico de confundir asociacin con causalidad [26]. Por una parte, entender y aplicarcorrectamente los conceptos y tcnicas y por la otra, evitar la utilizacin desmedida y lainterpretacin de la estadstica, como escribi el mismo Skrabanek [26], pensando en los quese dedican al estudio de la Epidemiologa.

    15

  • 7/30/2019 Tesis de Antivirus

    48/164

    Captulo 2

    Dentro de la virologa informtica se encuentra Frederick Cohen, que defini a los virusinformticos [17] y junto con Murray [27] lograron precisar la conexin entre la propagacinde los virus informticos y la Epidemiologa bsica. Aunque exista mucha similitud entre laEpidemiologa Biolgica y la Epidemiologa Informtica, en donde no se crearon las bases

    para analizar las diferentes interpretaciones que stos podan tener entre s, lo que deja unhueco importante para el estudio de est fenmeno. Para Gleissner [28], que examin unmodelo de virus informtico separado de un sistema real, present el mismo resultado quehaba mostrado Cohen, que los virus tenan una propagacin exponencial. Aunque, losresultados mostrados por los investigadores antes mencionados, no mencionan la capacidadque tienen los usuarios para eliminar a los virus informticos, esto es un factor importante almomento de atacar est problema. Solomon [29] presenta un estudio de este modelo en formadeterminista [30] con el fin de analizar la propagacin de virus informticos basada en laEpidemiologa Matemtica.

    La primera aplicacin de modelar matemticamente a la propagacin de la enfermedadinfecciosa fue realizada por Daniel Bernoulli en 1760 [31], l muestra la identificacin del

    agente responsable de la transmisin de la viruela por un siglo, en donde formula unaecuacin diferencial que describe la dinmica que tiene la propagacin [32].

    En las ltimas dcadas los virus informticos han provocado que el funcionamiento de losequipos de cmputo tenga cambios importantes en la seguridad, debido a conductasprovocadas por los brotes masivos y algunas otras formas de contagio extraas, lo que loshace cada vez ms parecidos a las enfermedades biolgicas.

    En el rea de los virus informticos, surgen varias preguntas del futuro que stos producirnen el mundo de la computacin y de la informtica.

    1. Qu tan malo es este problema hoy en da?

    2. Qu tan malo podra ser este problema?3. Cmo se predicen futuros desastres?

    Para darle un razonamiento correcto a las interrogantes antes mencionadas, se deben analizarlos dos enfoques que tienen los virus informticos. El primer anlisis se establece en el nivelmicro, que es el estudio que han realizado las empresas de seguridad como ICSA 7 [18] y elsegundo, se proporciona en el nivel macro, el cual ha tenido poca importancia y donde lamayora de modelos matemticos explica la propagacin de los virus informticos en formaespecfica. Estos acercamientos epidemiolgicos, han originado que las empresas, tomen lasmedidas necesarias para asegurar la integridad de sus sistemas.

    Las estadsticas de ICSA, muestran cules son las tendencias actuales de los virus

    informticos, aunque en ningn momento, indican cmo se llega a realizar la contaminacin.Por otro lado, un grupo de investigadores de IBM, public un artculo en el que se analizan

    7 International Computer Security Asociation.

    16

  • 7/30/2019 Tesis de Antivirus

    49/164

    Captulo 2

    los virus informticos a un nivel macroscpico, y de esta manera determina cmo se realiza lapropagacin y el impacto que stos tienen en las diferentes topologas 8 epidemiolgicas [33].

    Otro trabajo importante, es el de Jeffrey O. Kephart y Steve R. Withe tambin de IBM [34],en donde presentan informacin de los modelos epidemiolgicos. En este trabajo explican el

    modelo heterogneo de la comunicacin entre sistemas informticos individuales.

    Mostrando los siguientes modelos:

    Un Modelo SIS (Susceptible Infecta a Susceptible) en un grafo al azar. Un Modelo Jerrquico. Un Modelo Espacial.

    8 Un mundo es compuesto de clulas que pueden ser habitadas por criaturas que a su vez puedenreproducirse en otras clulas vecinas en condiciones especficas. La topologa de un mundo es una descripcinde la vecindad entre las clulas.

    17

  • 7/30/2019 Tesis de Antivirus

    50/164

  • 7/30/2019 Tesis de Antivirus

    51/164

    19

  • 7/30/2019 Tesis de Antivirus

    52/164

    Captulo 3

    1 VIRUS YANTIVIRUS

    Captulo

    3R e s u me n

    En este captulo se crea una clasificacin de los virus informticos por la forma en que seacoplan a su husped, as como la descripcin de las herramientas ms importantes que se hanutilizado para detectar y eliminar a los virus informticos. Asimismo se explican algunosproblemas abiertos para los antivirus.

    O b je t i vo de l cap tu lo

    Crear una clasificacin de los virus informticos para crear una firma que puedeidentificarlos de una manera automtica.

    Describir las tcnicas utilizadas por los antivirus que permitan detectar a los virusinformticos.

    Crear algunas tcnicas que permiten eliminar a los virus informticos. Mostrar algunos problemas abiertos para los antivirus.

    1

  • 7/30/2019 Tesis de Antivirus

    53/164

    Captulo 3

    1. 1 Clas i f i cac in de l o s v i r us i n f o r m t i c o s

    Las computadoras se disearon para ejecutar instrucciones tiles para alguien en particular,sin embargo, las instrucciones ejecutadas pueden ser perjudiciales o destructivas pornaturaleza, estas codificaciones malvolas han recibido nombres diferentes Malware yVandalware [35]. En aos recientes, las ocurrencias del Malware han sido descritas casiuniformemente por los virus informticos; aunque los virus son extensos, pero no sonresponsables de muchos de los problemas atribuidos a ellos [5].

    En los orgenes de los virus informticos, stos se propagaban dentro de los sistemasoperativos ms difundidos, Microsoft y Linux.

    1.1 .1 Los virus que infe cta n a los a rch ivo s de l s i s tem a opera tiv o

    Micros o f tSe ha realizado un estudio de las diferentes formas en que el Sistema Operativo de Microsoftllamado Windows y su antecesor MS DOS han sufrido el ataque de los virus; el estudio tuvosu base principalmente en explicar la forma en que se acoplan los virus en los programasexistentes, este estudio se realiz con ms de 10,000 virus principales.

    Los virus que infectan a los archivos con la extensin .BAT, tienen una secuencia deinstrucciones del Sistema Operativo Microsoft, en el cual se describe un pequeo lenguajeque permite manejar algunas propiedades del entorno, como se observa en el Cdigo 3-1, estaes la manera de escribir un virus con estas instrucciones.

    Cdigo 1-1 Nuevo virus BAT

    En el ao de 1986 el virus llamado Brain se propag por Amrica; este virus fue creado porlos hermanos Basit y Alvi Amja. El virus originalmente infecta los discos de 5,25 pulgadas,lo que da origen a la tecnologa de antivirus (Fighting Computer Viruses). Estos virus sealojaban en la parte del sector de arranque de los discos.

    El funcionamiento de este virus se aprecia ms claramente en la Figura 3-1.

    2

  • 7/30/2019 Tesis de Antivirus

    54/164

    Brain

    FAT 1BOOT

    FAT 2

    ROOT

    Data

    Captulo 3

    BOOT

    FAT 1

    FAT 2

    ROOT

    Data

    Figura 1-1 Contaminacin del sector inicial

    En la Figura 3-1, se observa que el sector inicial del disco contaminado, es desplazado a otrolugar en el mismo disco, y el virus es colocado en el sector inicial. De esta manera, en elmomento en que el equipo de cmputo se inicia por medio de este disco, el sector inicial seejecuta y toma el control de accesos de todos los discos (que en el microprocesador Intel es lainterrupcin 13h), posteriormente el disco que se introduzca en el mismo equipo llegar a sercontaminado.

    Para mostrar cmo un virus se acopla a un programa, se tienen los diferentes esquemas enque se realiza este proceso, para ello se crear un ejemplo que permite mostrar cada uno destos. Inicialmente se tiene un archivo de una longitud determinada.

    00000 Jmp 110

    Cdigo y datos

    00110

    Cdigo y datos

    00400 End

    Figura 1-2 Archivo original y limpio

    En la Figura 3-2 se observa un programa con una longitud de 400 bytes, y una instruccin

    (Jmp) que indica un salto hacia la etiqueta marcada con 00110, que en este caso es el lugardonde inicia el programa y termina en el momento en que la etiqueta 00400 es alcanzada.

    El primer caso de estudio es la contaminacin al inicio de un programa. Este posee dosformas bsicas, colocar el virus al principio del archivo o al final del mismo, para ello setoma el ejemplo de la Figura 3-2 donde se muestra cmo se realiza esta primera forma decontaminacin.

    3

  • 7/30/2019 Tesis de Antivirus

    55/164

    Captulo 3

    00000

    Cdigo y datos del

    virus

    00099 Jmp 100

    00100 Jmp 210

    Cdigo y datos

    00210

    Cdigo y datos

    00500 End

    Figura 1-3 Contaminacin al principio del archivo

    En la Figura 3-3 se observa cmo el virus desplaza el cdigo original a una posicin igual omayor a la del virus, con el objetivo de insertarse al principio. Esta forma de contaminacines usual en archivo con extensin .COM. La eliminacin de este virus es rpida, ya quenicamente hay que identificar el segmento del cdigo del virus y corregir el desplazamientoprovocado por la contaminacin.

    El siguiente esquema de contaminacin se da en el momento en que el virus es colocado alfinal del cdigo, para modificar las primeras instrucciones con el fin de que sea el cdigo delvirus el que se ejecute primero; este virus informtico se agrega a los archivos con extensin

    EXE1 (MZ o NE) de Microsoft, la eliminacin de ste virus requiere el conocimiento en laestructura del archivo ejecutable.

    1 Microsoft idea esta estructura para ejecutar programas mayores de 64Kbytes.

    4

  • 7/30/2019 Tesis de Antivirus

    56/164

    Captulo 3

    (MZ o NE)

    (Estructura inicial)

    00000 Jmp 110

    Cdigo y datos

    00100

    Cdigo y datos

    00400 End

    Figura 1-4 Archivo Microsoft del tipo EXE libre de virus

    En la Figura 3-4 se muestra un archivo con una cabecera .EXE. Para que el virus se puedainsertar dentro de un archivo EXE, se tiene que modificar la estructura inicial y colocar al IP(iniciador de instruccin) con la direccin del virus como se ve en la Figura 3-5.

    (MZ o NE)

    (Estructura inicial)

    00000 Jmp 110

    Cdigo y datos00100

    Cdigo y datos

    00400 End

    Cdigo y datos del virus

    Figura 1-5 Un archivo Microsoft del tipo EXE contaminado por un virus

    En la Figura 3-5 se observa que el virus modifica la estructura inicial del archivo huspedpara que el virus se ejecute primero.

    Otra forma en que se realiza una contaminacin es de la siguiente manera.

    5

  • 7/30/2019 Tesis de Antivirus

    57/164

    Captulo 3

    Figura 1-6 Un archivo Microsoft del tipo NE contaminado por un virus En la Figura 3-6 se observa que la antigua instruccin llamada Jmp 100 ha sido modificadapara que el primer salto del programa se realice hacia el cdigo del virus, y despus estetransfiera el control al programa original.

    Una forma de eliminar el virus, es reemplazar la instruccin Jmp 420 por el Jmp 100yeliminar el cdigo agregado, la instruccin Jmp original (Jmp 100) se encuentra dentro delvirus, ya que es el encargado de unir los dos nodos o segmentos, el del virus y el delprograma.

    1.1 .2 Lo s viru s que i nfe cta n a los arch ivo s de l s i s tema ope rat iv o Lin u x

    El uso del Sistema Operativo Linux ha ido incrementndose estos ltimos