Sunteți pe pagina 1din 5

TALLER #12

1. Dirjase a la Biblioteca de la Carrera de Informtica y obtenga una tesis cuya temtica se


encuentre relacionada con la vida artificial. Anote el autor, tutor y fecha de presentacin.
Luego responda lo siguiente:

Ttulo: Virus forma de vida artificial en evolucin
Autor: Benigno Flix Coparicona Saire
Tutor: Ing. Rolando Campuzano Arzabe
Fecha: La Paz, Bolivia 2002

a) Cul es el problema que resuelve con el uso del paradigma de la vida artificial?
Desea incrementar la capacidad de ocultamiento viral de un virus de computadora a travs del uso
de Ingeniera de Mutacin.

b) Cul es el proceso que sigue para obtener el prototipo de la aplicacin propuesta?
A travs del uso de criptografa, generacin de nmeros pseudo-aleatorios e ingeniera de mutacin
genera mecanismos para que el prototipo (Nmesis) pueda ocultarse en una mquina infectada.

c) Cul es el dispositivo de prueba que utiliza para verificar y validar su prototipo?
Al ser el prototipo (Nmesis) un virus computacional este debe ser probado en un sistema operativo
con el cual sea compatible, en este caso, la familia Windows 9.x y en especfico afecta a
archivos .exe y .scr (screen saver)

d) Qu mtodo sigue la construccin del prototipo?
Para la ocultacin hacia el sistema de este virus encripta a este con llaves de 8, 16 y 32 bits como
tambin hace uso de llamadas a las APIs del sistema operativo que se encuentran en kernel32.dll y
user32.dll

e) Cul es la utilidad del modelo de vida artificial propuesto?
Al ser un virus informtico daino a simple vista no se puede ver una utilidad, pero, por otro lado al
describir una tcnica de propagacin y ocultamiento que para aquel entonces era considerada daina,
esta metodologa de reproduccin, ocultamiento, etc. Puede ser utilizada como vector de partida
para la contraofensiva de proteccin (antivirus)


2. Considerando las caractersticas de una mascota y utilizando las propiedades mecnicas de
la vida, demostrar que la mascota es un ente vivo.

Reproduccin propia Sea cual sea la especie de la mascota, esta puede reproducirse haciendo un
proceso de apareamiento con otra mascota de la misma especie pero del sexo contrario
Comportamiento emergente Una mascota cuenta con un conjunto de cromosomas a partir de
esto, se puede definir las caractersticas que tendr en un futuro la mascota
Metabolismo/adaptabilidad Dependiendo del ambiente, bsicamente esta mascota al ser un ser
vivo necesita de comida, agua y cierta temperatura para que esta pueda sobrevivir.
Evolucin Al reproducirse los hijo(a)s de la mascota pueden ser mejores que el padre (odo ms
agudo, un olfato ms preciso, etc.)


3. Utilizando las propiedades mecnicas de la vida, demostrar que un virus de computacin es
un ente vivo

Reproduccin propia Los virus de computadora se reproducen automticamente, poseen un
mecanismo con el cual al momento de introducir un medio de almacenamiento al computador, este
se ejecuta automticamente ocasionando la reproduccin del virus
Comportamiento emergente En ocasiones a partir de una secuencia de bits o cdigo en lenguaje
ensamblador se puede auto-crear el y emerger hacia toda la computadora
Metabolismo/adaptabilidad Los virus de computadora tienden a adaptarse a diferentes sistemas
operativos (de la misma plataforma), por ejemplo si un virus fue creado para Windows XP
tranquilamente puede ejecutarse y reproducirse en Windows 7
Evolucin Muchas veces los fabricantes de antivirus obtienen la cura para un virus determinado,
una vez que existe la cura, el creador del virus crea un virus ms evolucionado intentando que dicho
virus ya no pueda ser eliminado como su predecesor.


4. Con base en la definicin proporcionada por John Conway construya un programa en Matlab
para el juego de la vida

En base al cdigo proporcionado en el siguiente link:
http://www.mathworks.com/matlabcentral/fileexchange/4514-gol-game-of-life-v-2-5-
1/content/gol.m
podemos obtener un juego de la vida en el cual la parte del cdigo ms relevante es la siguiente:

CelsAnt=[];

while ~salir
while ejec
if demora ~= inf;pause(demora);end
while pausa;pause(0.1);end
if ejec
if grabar
if numAnim<10
numAnimStr = strcat('000',numAnimStr);
else
if numAnim<100
numAnimStr = strcat('00',numAnimStr);
else
if numAnim<1000
numAnimStr = strcat('0',numAnimStr);
end
end
end
grabarStr =
strcat(imgPathStr,nomAnimStr,numAnimStr,extAnimS
tr);
if rgb == 1
imwrite(imgCels,gris,grabarStr);
else
imwrite(imgCels,grabarStr);
end
numAnim = numAnim+1;
numAnimStr = num2str(numAnim);
end

CelsAnt = Cels;
if rgb==3
Cels(:,:,1) = vida(CelsAnt(:,:,1));
Cels(:,:,2) = vida(CelsAnt(:,:,2));
Cels(:,:,3) = vida(CelsAnt(:,:,3));
else
Cels = vida(CelsAnt);
end
imgCels = uint8(255-Cels);
set(imgHndl,'CData',imgCels)
if rgb ==1
colormap(gris)
end
iters = iters + 1;
actualizar('iters',iters);

if demora == inf

set(pausaTxt,'Visible','on','string',' Press any
key to continue')
pause
set(pausaTxt,'Visible','off')
end

% La animacin se detiene si las "clulas" no
cambian
if isequal(Cels,CelsAnt)
ejec = 0;
grabar = 0;
actualizar('estado',[pausa,ejec,grabar]);
end
end
end
pause(0.1)
end

Y en las siguientes capturas de pantallas podemos observar como inicia el juego, la poblacin
inicial y la poblacin final.

S-ar putea să vă placă și