25/2/10

Trivia - Semana No. 1

La importancia de las actualizaciones

Las mejores prácticas para estar debidamente protegidos frente a las últimas amenazas incluyen adoptar el hábito de contar con un sistema y productos software actualizados a la última fecha disponible.

Esta vez hice todo bien: solo descargué archivos de personas conocidas, instalé un firewall, actualicé mi antivirus todos los días y tengo mi sistema únicamente para enviar y recibir correo.

Me llegó un correo de una persona conocida con un documento de Microsoft Word adjunto. Como la persona que me lo envió es de mi entera confianza, no lo dudé y abrí el archivo. Lo que no sabía era que ese documento fue enviado realmente por otra persona con una dirección falsificada, y que el documento adjunto estaba preparado para explotar ciertas vulnerabilidades en mi procesador de texto.

Esta vulnerabilidad le permitió al programa dañino ejecutar un comando y bajar su propio código desde una dirección de Internet, el cual abrió un puerto en mi sistema, instalando un troyano y gracias a esto, otra persona puede utilizar "mi" computadora. Ahora estoy infectado con un gusano que enviara correos con el documento especialmente preparado, buscado otros sistemas para seguir propagándose.

Ese párrafo, que parece extraído del mejor libro de ciencia ficción tiene una explicación. Antes de comenzar, se deben dar algunas definiciones:

Un gusano es un programa que se replica a sí mismo. Los fines de los mismos pueden ser muy variados y van desde sólo replicarse a causar daño en el sistema infectado.

Un troyano es un programa malicioso, capaz de alojarse en computadoras y permitir el acceso a usuarios externos y ajenos al sistema. A diferencia de gusano, no tiene capacidades de reproducción por lo que el usuario debe realizar una acción para instalarlo en el sistema.

Una vulnerabilidad es un fallo que compromete la seguridad de un programa o sistema.
Generalmente se trata de errores de programación que pueden ser utilizados para ejecutar código arbitrario, detener el sistema o aprovecharse de él para sacar cualquier tipo de beneficio.

Las vulnerabilidades existen porque los desarrolladores de sistemas son personas y como tales, son susceptibles de cometer errores. Cada vez que una vulnerabilidad es descubierta, es corregida y se publica el "parche" asociado para que todos puedan subsanar el error.

Un exploit es un código, un método o un programa, que realiza una acción contra un sistema o programa que tiene una vulnerabilidad, "explotándola" y sacando un beneficio de ella.

Si bien puede pensarse que es difícil que se den todas las condiciones de existencia de vulnerabilidades, exploits, inexistencia de parches y sistemas no parcheados, esto es común y queda demostrado por la gran cantidad de gusanos que desde hace tiempo circulan por Internet.

Si un programa cualquiera del sistema (son miles) tiene un error de programación, el mismo es vulnerable y, como resultado, el sistema en su totalidad también es vulnerable.

Ahora bien, luego de la explicación de todas las cuestiones de malware necesarias, se requiere una víctima, el usuario, que ejecute el código malicioso. Por ende, y para evitar que sigan apareciendo casos como estos, se pueden considerar dos acciones diferentes que, en última instancia, siempre involucran al usuario:

- La primera solución es absolutamente educativa y pasa por el uso correcto de la tecnología. Actualmente, la mayoría del malware existente ingresa al sistema porque una víctima le abre una puerta: en el ejemplo citado, el usuario descarga y ejecuta un archivo adjunto. Esto sucede porque se utilizan técnicas de engaño, denominadas Ingeniería Social, con el objetivo de lograr que se ejecute algún archivo en el sistema (en el caso de gusanos y troyanos) o se ingresen ciertos datos personales (en el caso del phishing), generalmente.

- La segunda solución es técnica, e involucra al usuario en tanto debe tomar conciencia de la importancia de las actualizaciones. Es de vital importancia tener en cuenta a todas las actualizaciones del sistema y productos software instalados cada vez que surja alguna de ellas para luego evaluar la factibilidad técnica de dicha instalación. Esta factibilidad, en el caso de las corporaciones, suele ser un tema complejo ya que los parches deben probarse antes de implementarse. No obstante, en el caso de los usuarios finales o pequeñas redes domésticas, no deberían representar mayores inconvenientes.

Las actualizaciones permiten solucionar los problemas que se encuentran en el software que se utiliza diariamente. Cuando un error es encontrado en un programa o sistema determinado, se informa al proveedor, quien evalúa su importancia, desarrolla la solución -normalmente llamada "parche"- y luego lanza públicamente la actualización.En este momento, los usuarios deberían descargar e instalar esas actualizaciones tan pronto como sea posible ya que, cuando existe un error de este tipo, lo más probable es que el mismo sea conocido por los creadores de malware quienes pueden aprovechar para crear nuevos programas dañinos que utilizan los agujeros de seguridad para infectar a los sistemas que aún permanecen sin actualizar.

En el último tiempo esta situación cobró mayor importancia, ya que luego de lanzada una actualización que corrige un error determinado, los delincuentes analizan la solución y son capaces de descubrir lo que fue modificado. Con este conocimiento son capaces de desarrollar nuevo malware, si aún no lo habían hecho.

Es decir que la misma actualización les sirve de "herramienta" para hacer sus programas dañinos. Por supuesto, estos programas afectarán a los usuarios que aún no hayan actualizado sus sistemas. La práctica demuestra que, lamentablemente, la mayoría de los usuarios no actualizan, razón por la cual el malware es más eficaz.

Todas las protecciones planteadas en la situación que se da comienzo al presente, no resultan si las mismas no son utilizadas con la responsabilidad que deberían. Un firewall no es eficiente si luego el usuario termina haciendo clic sobre un enlace o un documento adjunto. Un antivirus no es eficiente si no está correctamente actualizado o el mismo no provee de capacidades que le permitan detectar nuevo malware sin identificar, pero potencialmente dañino. Esto último, generalmente se logra con técnicas de heurística y detección proactiva que detectan amenazas o exploits sin la necesidad de que exista una firma de la misma en la base de datos.

Para finalizar se citan tres ejemplos:

- En el caso de Microsoft, la empresa publica las actualizaciones de su software solamente el segundo martes de cada mes, por lo que sería importante estar atentos en cada mes (existen muy pocas excepciones a esta regla). Además, este dato también es importante para evitar engaños de terceros que envían correos simulando ser dicha empresa. Esto puede apreciarse con la gran cantidad de correos propagados por delincuentes y simulando ser actualizaciones pero con archivos adjuntos dañinos.

- En el caso de la Fundación Mozilla, la organización lanza actualizaciones cada vez que las mismas se encuentran disponibles pero, al igual que el caso anterior, las mismas no son enviadas por correo.

- Las empresas antivirus actualizan su software y su base de firmas cada vez que lo consideran necesario (generalmente varias veces al día), pero tampoco enviarán adjuntos o similares a los usuarios.

En los tres casos citados, si se posee una conexión a Internet, los sistemas son actualizados automáticamente y casi no requieren intervención del usuario.

Ya lo sabe, la diferencia entre actualizar y no hacerlo, puede ser la diferencia entre si los sistemas son infectados por malware o no.

Publicado por eset-la.com

No hay comentarios:

Publicar un comentario

MYA Systems on Facebook