iProfesional

¿Por qué es fundamental actualizar aplicaciones para no infectarse?

Estos programas pueden estar instalados por defecto en cualquier tipo de dispositivo, desde una computadora hasta un teléfono celular
29/05/2013 - 19:40hs
¿Por qué es fundamental actualizar aplicaciones para no infectarse?

En la última semana de agosto de 2012, el plugin Oracle Java RuntimeEnvironment (JRE), una de las aplicaciones más utilizadas en los sistemas operativos de los usuarios, y quizás una de las menos conocidas, se le hallaron un par de vulnerabilidades críticas que permitían que los delincuentes tomen el control del sistema operativo (Windows, Mac o Linux) y lo infecten sin conocimiento del usuario.

Si bien esas vulnerabilidades fueron solucionadas, lamentablemente este hecho se repitió en los primeros días de 2013, a través del descubrimiento de otro bug crítico, que incluso llevó a varias compañías y al Departamento de Seguridad Nacional de EE.UU. a recomendar la no utilización de dicho plugin.

Así como Java, otras aplicaciones igualmente utilizadas y vulnerables son Adobe Flash Player y Adobe Reader que permiten respectivamente visualizar animaciones y juegos y leer documentos del tipo PDF.

La particularidad de estas aplicaciones es que pueden estar instaladas por defecto en cualquier tipo de dispositivo, desde una computadora hasta un teléfono celular, y por lo tanto se las utiliza a diario sin ser conscientes de ello, lo cual también es un beneficio para los atacantes porque pueden infectar mayor cantidad de usuarios en forma silenciosa.

En realidad, cualquier aplicación utilizada por los usuarios tales como navegadores, programas de mensajería (chat), reproductores de sonido e imagen, editores de documentos, o cualquier otra, puede tener vulnerabilidades (y seguramente las tiene) y las mismas pueden ser una vía para infectar al usuario con un malware.

El proceso de infección, denominado Drive-by-download, sigue el siguiente lineamiento general:

1. El usuario tiene instalada una aplicación vulnerable (sin parches) e ingresa a un sitio web cualquiera.

El sitio web puede ser de confianza y generalmente sus administradores no tienen conocimiento de lo que sucede.

2. El sitio web es atacado y modificado por los delincuentes de forma tal que junto a la página requerida por el usuario, también se carga otro sitio web dañino-script e iframe- de forma transparente.

Cuanto más conocido y popular sea el sitio, mayor será la cantidad de afectados.

3. El script dañino ejecuta en forma automática una serie de análisis sobre el sistema del usuario para determinar el sistema operativo y las posibles aplicaciones instaladas, con la premisa de que una de ellas será vulnerable.

Si el usuario tiene un promedio de 10 aplicaciones instaladas, ¿qué posibilidad hay de que todas estén actualizadas?

4. Encontrar una aplicación vulnerable le permite al atacante ejecutar uncódigo -exploit- especialmente diseñado para aprovechar esta vulnerabilidad y descargar e instalar un malware en el sistema.

El tipo de código dependerá del sistema operativo determinado inicialmente. Estas acciones son llevadas a cabo mientras el usuario visualiza la página y, al abandonar la misma, el sistema ya se encuentra infectado sin que nada indique algo extraño o fuera de lo común.

Este escenario tiene varios puntos que deben ser analizados en profundidad:

Inicialmente es importante señalar que todas las aplicaciones son susceptibles de tener (y las tienen) vulnerabilidades -bugs- simplemente porque son desarrolladas por seres humanos y no es posible que exista un software perfecto y completamente seguro.

Generalmente las aplicaciones de seguridad como IDS (sistema de detección de intrusos) y antivirus detectan la explotación de estas vulnerabilidades así como el malware descargado, pero es una buena práctica adicional mantener actualizados los sistemas operativos y las aplicaciones para minimizar el riesgo de infección.

Los bugs son corregidos mediante las actualizaciones, normalmente denominadas parches, que permiten a las empresas solucionar los errores cuando los mismos son encontrados. Las actualizaciones solucionan las vulnerabilidades y por lo tanto evitan que los exploits se ejecuten. 

Cuando las empresas lanzan una actualización para una aplicación, los usuarios y organizaciones deben descargarlas e instalarlas en sus sistemas.

Los sistemas operativos y las aplicaciones actuales permiten configurar que las actualizaciones se instalen de forma automática sin ningún esfuerzo.

Si las empresas no solucionan los errores, los bugs pueden ser encontrados por delincuentes y ser utilizados contra los usuarios mientras no exista el parche o bien hasta que el usuario no instale la actualización correspondiente.

Cada aplicación puede tener varias vulnerabilidades y todas ellas pueden ser aprovechadas para infectar al usuario mediante el proceso descripto anteriormente.

La instalación de actualizaciones sobre las aplicaciones es una práctica generalmente menospreciada por las organizaciones y por los usuarios.

Las actualizaciones no se aplican por desconocimiento o por precaución sobre lo que pueden hacer sobre el sistema y, por lo tanto, se dejan agujeros de seguridad abiertos en todos los sistemas, los cuales son aprovechados por terceros para tomar el control de cientos de miles de víctimas.

Actualizar las aplicaciones es un proceso fundamental para terminar infectado o que el sistema termine comprometido.

Para un usuario hogareño el proceso de actualización debería ser simplemente instalar las actualizaciones recomendadas por el sistema cada cierto tiempo (una vez por mes suele ser lo recomendable). 

En una organización, llevar adelante la actualización de los equipos de todos los usuarios requiere de herramientas centralizadas y automatizadas (Patch Management) como Microsoft WSUS(Windows Server UpdateServices) para Windows; herramientas nativas (yum, rsync, apt-get,etc), CFEngine, Puppet, Chef, openQRM, Spacewalk, Pulse, para Linux; o el software Manage Engine Security Manager Plus, funcional en ambos entornos.

Tampoco hay que perder de vista que muchas de estas herramientas instalarán las actualizaciones del sistema operativo pero no lo harán con productos de otros fabricantes (Java, Adobe, etc.) por lo cual habrá que poner especial interés en la configuración de las mismas, para descargar e instalar todo lo que corresponda a cada ambiente.

Ahora ya lo sabe, si es un usuario hogareño, configure su sistema operativo y sus aplicaciones para que se actualicen de forma automática, no requiere ningún trabajo adicional y tendrá el beneficio inmediato en la disminución de los riesgos de ataques. Si es el administrador de tecnología de una organización evalúe los productos disponibles para actualizar sus aplicaciones en forma centralizada. ¡No hay excusa para no actualizar!

Cristian Borghello, External Security Consultant de ZMA

Temas relacionados