lunes, 8 de septiembre de 2014

Mitos y Virus en GNU/Linux

El debate sobre Linux y los virus no es algo nuevo. Cada cierto tiempo vemos un correo en alguna lista preguntando si existen virus para Linux; y automáticamente alguien responde afirmativamente y alega que si no son más populares es porque Linux no está tan extendido como Windows. También son frecuentes las notas de prensa de desarrolladores de antivirus diciendo que sacan versiones contra los virus de Linux. Personalmente he tenido alguna que otra discusión con distintas personas por correo, o por lista de distribución, respecto al tema de si existen o no los virus en Linux. se trata de un mito, pero es complejo derribar un mito o, mejor dicho, un bulo, especialmente si está causado por interés económico. A alguien le interesa transmitir la idea de que si Linux no tiene este tipo de problemas, es porque muy poca gente lo utiliza. A la hora de publicar este reportaje me hubiese gustado elaborar un texto definitivo sobre la existencia de virus en Linux. Desgraciadamente, cuando la superstición y el interés económico campan a sus anchas, es difícil construir algo definitivo. No obstante, intentaremos hacer aquí un argumentario razonablemente completo para desarmar los ataques de cualquiera que quiera discutirlo. ¿Qué es un Virus? Lo primero, vamos a comenzar definiendo qué es un virus. se trata de un programa que se copia y se ejecuta automáticamente, y que tiene por objeto alterar el normal funcionamiento de un ordenador, sin el permiso o el conocimiento del usuario. Para ello, los virus reemplazan archivos ejecutables por otros infectados con su código. La definición es estándar, y es un resumen de una línea de la entrada sobre virus que aparece en la Wikipedia. La parte más importante de esta definición, y la que diferencia el virus del resto del malware, es que un virus se instala solo, sin el permiso o conocimiento del usuario. si no se instala solo, no es un virus: podría ser un ser un rootkit, o un troyano. Un rootkit es un parche al kernel que permite ocultar determinados procesos a las utilidades de área de usuario. Dicho de otra forma, es una modificación del código fuente del kernel que tiene como objeto que las utilidades que permiten ver qué se está ejecutando en cada momento no visualicen un determinado proceso, o un determinado usuario. Un troyano es análogo: es una modificación al código fuente de un servicio concreto para ocultar determinada ac tividad fraudulenta. En ambos casos es necesario obtener el código fuente de la versión exacta instalada en la máquina Linux, parchear el código, recompilarlo, obtener privilegios de administrador, instalar el ejecutable parcheado, e inicializar el servicio -en el caso del troyano- o el sistema operativo completo -en el caso del rootkit-. El proceso, como vemos, no es trivial, y nadie puede hacer todo esto "por error". Tanto unos como otros exigen en su instalación que alguien con privilegios de administrador, de forma consciente, ejecute una serie de pasos tomando decisiones de índole técnica. Lo cual no es un matiz semántico sin importancia: para que un virus se instale, basta con que ejecutemos un programa infectado como usuario común. Por otro lado, para la instalación de un rootkit o de un troyano es imprescindible que un humano malicioso entre personalmente en la cuenta de root de una máquina, y de forma no automatizada realice una serie de pasos que son potencialmente detectables. un virus se propaga con rapidez y eficiencia; un rootkit o un troyano necesitan que vayan específicamente a por nosotros.

No hay comentarios: