Tu GPU y su memoria pueden infectar tu PC: así es el virus indetectable

Los virus informáticos no son más que programas que realizan operaciones no autorizadas tanto por el usuario como por el sistema operativo. Se aprovechan de los recovecos más profundos en la arquitectura para ejecutarse y realizar un destrozo a nuestros datos. ¿El último escondrijo? La memoria VRAM que es la que integra la tarjeta gráfica de tu PC, la cual es indetectable para los antivirus.
La memoria VRAM incluida en las tarjetas gráficas no forma parte del direccionamiento de la RAM del sistema y es de uso exclusivo para la GPU, al menos eso es lo que ocurre en el PC donde al contrario de otras plataformas como los dispositivos PostPC tanto RAM como VRAM no tienen direccionamiento unificado. Esta diferencia en la forma de tratar el acceso convierte a todo espacio de memoria no directamente accesible por la CPU como el escondite ideal para que los antivirus no detecten los programas con objetivos maliciosos.
Pues bien, los virus han dado un salto cualitativo a la hora de evitar el control y ya no solo se ejecutan haciendo el uso de la RAM del sistema y la CPU principal, sino que ahora hacen uso del hardware de vuestra tarjeta gráfica. Es decir, la GPU y la VRAM, no solo para ejecutarse, sino también para no ser detectados. Veamos a continuación cómo lo han conseguido.
Consiguen ejecutar virus desde la tarjeta gráfica
La forma es bien sencilla: han aprovechado las capacidades de computación de las GPU, las cuales les permiten ejecutar programas aparte de la generación de los gráficos, objetivo principal de este componente. Este tipo de programas se suelen utilizar para realizar cálculos en paralelo en alta velocidad y de forma combinada con la CPU permiten acelerar el rendimiento de ciertos algoritmos en varias órdenes de magnitud respecto a utilizar solo la CPU.
¿Cómo han conseguido que los virus se ejecuten en la tarjeta gráfica? Para ello han utilizado la API OpenCL 2.0, lo cual les permite copiar el código del virus de la RAM a la VRAM. No olvidemos que solo la GPU tiene acceso exclusivo a la VRAM que es desde donde se ejecuta la parte maliciosa del código. Mientras que la parte benévola se ejecuta en la CPU de manera combinada. Esto no puede ser detectado por los antivirus por el hecho que cuando chequean la memoria solo pueden detectar los dispositivos en el espacio de memoria o direccionamiento de la CPU, lo que hace que la VRAM escape de su escrutinio.
En el caso de que seáis usuarios de un sistema operativo distinto a Windows no os tenéis que preocupar, al menos por el momento, ya que esto solo se puede realizar en la versión para Windows de la API para computación OpenCL 2.0. No sabemos si por características del sistema operativo o del propio controlador de la API. En todo caso resulta un clavo en el ataúd de OpenCL 2.0, más cuando la versión 3.0 no es una mejora de la primera, sino simplemente es un upgrade opcional como extensiones que parte de la versión 1.3 real.