B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Virus de Computador y ALife
Mario Hernández
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Í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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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)
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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.
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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 infectado es contagioso aunque no patógeno
Malicioso: un programa infectado es patógeno y contagioso
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Estructura y Operación de los Virus
Programa huésped Virus
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Estructura y Operación de los Virus
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Historia de los Virus de Ordenador
Primeros programas autorreplicantes: “rabbits” en los años 60.
1972: When Harlie was one por 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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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 de Communications of the ACM dedicado a los worm d’Internet
Historia de los Virus de Ordenador
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Métodos of Clasificación
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
Métodos of Clasificación (cont.)
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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)
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Defensa frente a Virus
Monitores de Actividad Rastreadores (Scanners) Comprobadores/monitores de integridad
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Viruses como ALife
¿Qué es la vida? ¿Qué es estar vivo? Criterios establecidos por J.D. Farmer
1. Existe en el espacio y el tiempo2. Autoreproducción3. Almacenamiento de una autorepresentación4. Metabolismo5. Interacción con el entorno 6. Interdependencia de partes7. Estabilidad/resiliencia (resilience )8. Abilidad de evolucionar9. Crecimiento y expansión
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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?
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Interdependencia de Partes
Una vez que un virus resulta aislado, no funciona adecuadamente
Depende (relies) de sus componentes para funcionar
No
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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
1. No
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Crecimiento
Una vez infectado un host, el virus puede gwenerar otros virus que pueden reinfectar el host.
Si
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
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?
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Criterios más simples
ALife es autoreplicante ALife se autosostiene ALife es capaz de evolucionar
B
ioin
form
áti
ca:V
iru
s y A
Life
Bio
info
rmáti
ca:V
iru
s y A
Life
Instituto Universitario de Sistemas Inteligentes y Aplicaciones Numéricas en Ingeniería
Conclusión
Revisión de Virus Estructura y operación de Virus Evolución de los virus Defensa frente a Virus Virus como ALife
Top Related