next up previous contents
Siguiente: Tercera lista de ejercicios Un nivel arriba: Virus en programas-while Anterior: Construcción de virus

Malas noticias: No hay detección universal de virus

Haciendo consideraciones más reales, tenemos que una computadora ejecuta a todo programa viéndolo como un subprograma de su propio sistema operativo. Un virus ``real'' ``infecta al sistema operativo''. Refinemos los conceptos virales vistos hasta ahora. Consideremos un sistema operativo fijo, digamos SO.


Un programa antiviral universal es un programa tal que

\begin{displaymath}\mbox{\it AVU}(P,\mbox{\bf x})=\left\{\begin{array}{ll}
\mbo...
...ox{\it !\lq Alto!} &\mbox{\rm en otro caso. }
\end{array}\right.\end{displaymath}

Proposición 6.1   No puede existir AVU.

Demostración: Supongamos que se tuviera un programa antiviral universal AVU. Construyamos el programa D tal que

\begin{displaymath}D(P)=\left\{\begin{array}{ll}
\mbox{\it {\bf Escribe }\lq\lq No c...
... Modifica a SO} &\mbox{\rm en otro caso. }
\end{array}\right.\end{displaymath}

Tenemos pues que $\forall P$:

\begin{eqnarray*}\mbox{\rm$D$\space es seguro bajo $P$ } &\Leftrightarrow& \mbox...
...
&\Leftrightarrow& \mbox{\rm$P$\space no es seguro bajo $P$ }
\end{eqnarray*}


En particular, para P=D se tiene una contradicción.
next up previous contents
Siguiente: Tercera lista de ejercicios Un nivel arriba: Virus en programas-while Anterior: Construcción de virus
Guillermo Morales-Luna
2000-07-10