370 likes | 559 Views
Virus de Computador y ALife. Mario Hernández. Índice. Introducción a losVirus Estructura y Operación de los Virus Evolución de los virus Defensa frente a Virus Virus como ALife Conclusión. Virus de Computador.
E N D
Virus de Computador y ALife Mario Hernández
Índice • Introducción a losVirus • Estructura y Operación de los Virus • Evolución de los virus • Defensa frente a Virus • Virus como ALife • Conclusión
Virus de Computador • Bug de Software–Ejecución Accidental de instrucciones que causan daños a un sistema • Vandalware – cuando el autor del código crea un bug con intención maliciosa • Virus de Computador • Gusano (worms)de Computador • Caballo de Troya (troyano)
Vandalware • Virus de Computador: segmento de código ejecutable, autorreplicable, colocado en el interior de un programa huésped. El virus modifica el programa huesped con la intención de hacerse con el control durante la ejecución de este en el ordenador. Durante su ejecución el virus busca nuevo(s) huesped(es) sobre los que replicarse. • Gusano (worm)de Computador: programa independiente que, durante su ejecución, intenta infectar otros ordenadores interconectados al ordenador huesped. De manera similar a los virus, en este caso el programa huesped es el sistema operativo y el código infecta alguno de sus procesos. El concepto fué desarrollado originalmente en Xerox como un método de balanxcear las cargas en un sistema distribuido. • Caballo de Troya (troyano).nPrograma contenido en un código que realiza funciones que no son las esperadas por el usuario o no especificadas en el modo de empleo de un programa.
Virus de Computador • Pensemos en un virus como un segmento de código contenido en una concha protectora • El virus (attaches) se asocia a un programa (segmento de código) • Cuando se ejecuta el programa, se ejecuta el virus • La ejecución posibilita que el virus cause daños o se reproduzca a si mismo
Tipos de Virus • Beningno: los programas infectados son no patógenos y no son contagiosos. • Caballo de Troya:un programa infectado no es contagioso pero si es un patógeno. • Propagador:un programa infectadoes contagioso aunque no patógeno • Malicioso:un programa infectado es patógeno y contagioso
Estructura y Operación de los Virus • Dos componentes principales: • Infección – controla la dispersión del virus • Payload – segmento de código que, cuando se ejecuta afecta al host • También puede verse como: • Infectadores de Ficheros (File infectors) • Infectadores del Boot • No hay un método de clasificación claro
Estructura y Operación de los Virus Programa huésped Virus
Historia de los Virus de Ordenador • Primeros programas autorreplicantes: “rabbits” en los años 60. • 1972: When Harlie was onepor David Gerrold describió un tipo de worm, implementado por dos investigadores, Bolt Beranek and Newman para mostrar las capacidades de un nuevo SO • 1975: se emplea por primera vez el nombre worm en el libro The shockwave rider de John Brunner • Mediados de los 70: Shoch y Hupp realizan worms en Xerox para balancear la distribución de cargas en una red local. • 1980: surgen los primeros virus para Apple II
Historia de los Virus de Ordenador • 1983: Ken Thompson révela, en su discurso del premio Turing la existencia un Caballo de Troya en el compilador de C de AT&T • 1984: Neuromancer de William Gibson • 1986: primer virus para IBM PC: Brain, escrito por los hermanos pakistanies Basit y Amjad Farooq Alvi. En 1990 representan el 7% de los casos de infeccion • 1986: primera reunión del Chaos Computer Club de Hamburgo • 1987: nVIR para Macintosh • 1987: virus para Amiga, escrito por la Swiss Cracker’s Association (SCA)
Historia de los Virus de Ordenador • 1987: saturación de BITNET por una carta de Papa Noel. • 1988: Peter Norton: “los virus son un ejemplo de • mito urbano” • 1988: un virus en la version oficial de FreeHand • 1988: un “Atari virus construction set” se muestra en la CeBIT (prohibido a menores de 18 años...) • 1988: worm sobre Internet. Pérdidas estimadas de $96 M • 1989: número deCommunications of the ACM dedicado a los worm d’Internet
Shell Virus Forma una concha alrededor del código El código host interno resulta entonces contenido dentro del código del virus Add-on Virus Añaden su código al código host Puede relocalizar el código host e insertar el código del virus en el anterior inicio del código host Host code is untouched La aparición del virus puede detectarse por la apariencia del fichero huesped, que será mayor en tamaño Métodos of Clasificación
Métodos of Clasificación (cont.) • Virus Intrusivo • Invade selectivamente el código huesped original • Ejemplo: sobreescritura de rutinas, inserción de nuevo vector de interrupciones • Invade extensivamente el código huesped original • Porciones grandes del código huesped son reemplazadas con código viral, dando lugar a código huesped no funcional
Evolución de los Virus • Cinco generaciones de virus de computador, con dificultad creciente para su detección y eliminación • Primera generación – simple • Segunda generación – autoreconocimiento • Tercera generación – sigilosos (stealth) • Cuarta generación –blindados (armored) • Quinta generación - polimórficos
Simple • Solo son capaces de replicarse • Los daños causados por bugs en el software no fueron reconocidos por el autor del virus • No ocultan su presencia en un sistema • Fácil de detectar (por incremento del tamaño del fichero o por el patrón de infección)
Autoreconocimiento • Problema: infección repetida del mismo host • Causa detección prematura y eliminación subsiguiente • Inyecta el código host con una “firma” que indica una infección viral • Firma • +indicador de presencia viral • -permite un método de detección
Sigilosos • Se identifican los virus por rastreo (scan) del sistema buscando un patrón de datos asociados con un virus • Los virus sigilosos interceptan la petición de I/O cuando el monitor rastrea el disco • El virus devolverá todas las peticiones
Blindados • Proteje el código viral construyendo una concha defensiva • Puede atacar software antivirus • Los virus blindados son grandes y fácilmente detectables • Difícil de parar los ataques antivirales
Polimórficos • Virus automutantes • Infecta el host con una versión modificada o encriptada de ellos mismos • La detección por rastreo, comparación de bytes o reconocimiento de patrones es mucho más difícil
Defensa frente a Virus • Monitores de Actividad • Rastreadores (Scanners) • Comprobadores/monitores de integridad
Monitores de Actividad • Monitorizan el sistema y avisan de actividad ssospechosa • Buscan: • Cambios en el vector de interrupciones • Reescritura en el sector de boot • Pueden ser superados por virus elaborados • Si el virus se ejecutas antes de que el monitor se ejecuta en el sector de boot
Rastreadores (Scanners) • Método más popular de defensa antivirus • Lee datos de un disco y aplica un algoritmo de reconocimiento de patrones con una lista de patrones de virus conocidos • + rápidos y fáciles • - la lista de patrones debe mantenerse actualizada • - informes de falsos positivos • - no pueden detectar virus polimórficos
Monitores/Comprobadores de Integridad • Los programas que generan chequeos de paridad/ códigos de chequeo • Checksums • Códigos de redundancia cíclica • Tablas (hashes) seguras • Los Checksums descubren alteraciones a un fichero • Los Checksums se comparan con valores conocidos y salvados • - Los ejecutables cambian si se ejecutan • - Los informes de falsos positivos repetidos pueden resultar ignorados
Viruses como ALife • ¿Qué es la vida? • ¿Qué es estar vivo? • Criterios establecidos por J.D. Farmer • Existe en el espacio y el tiempo • Autoreproducción • Almacenamiento de una autorepresentación • Metabolismo • Interacción con el entorno • Interdependencia de partes • Estabilidad/resiliencia (resilience ) • Abilidad de evolucionar • Crecimiento y expansión
Criterios para la Evaluación • Viruses como patrones en tiempo y espacio • Existe como un patrón de instrucciones • Virus asociado con la ejecución de instrucciones • Por tanto, existen como cambios eléctricos en hardware/almacenamiento físico SI
Autoreproducción de Viruses • Característica clave de los viruses • Los viruses no tienen influencia causal en su reproducción • Es la ejecución de su código Yes/No?
El código que define un Virus está almacenado • Se mantiene una copia del virus • Similar a una plantilla/DNA o una cookie cutter Yes
Metabolismo de los Virus • Un virus toma materia y la transforma en energía • Los Viruses usan la energía eléctrica de un computador • Sin embargo, aunque los virus no convierten energía, el sistema lo hace (accesos a memoria, paginado de tablas, acceso a registros) No
Interacción Funcional con el entorno • Un virus altera el entorno como mecanismo de soporte de sus existencia • Cambia el código • Altera direcciones • Lee memoria Si
Interdependencia de Partes • Una vez que un virus resulta aislado, no funciona adecuadamente • Depende (relies) de sus componentes para funcionar No
Estabilidad de los Virus ante Cambios • Un virus puede ejecutarse en una cierta variedad de máquinas y bajo una cierta variedad de condiciones de operación Yes
Evolución de los Virus • Un virus debe modificarse a si mismo en relación con su entorno • Un virus puede cambier • Un virus puede alterarse ligeramente a si mismo sisegún las condiciones del host • Sin embargo, esto no es evolución • No
Crecimiento • Una vez infectado un host, el virus puede gwenerar otros virus que pueden reinfectar el host. Si
A resaltar y ¿Debate? • ¿Resultan estos nueve criterios satisfactorios para definir la vida artificial? • ¿Son necesarios y suficientes? • ¿Se ha omitido algo? • ¿Algo no se ha incluido?
Criterios más simples • ALife es autoreplicante • ALife se autosostiene • ALife es capaz de evolucionar
Conclusión • Revisión de Virus • Estructura y operación de Virus • Evolución de los virus • Defensa frente a Virus • Virus como ALife