Septiembre 17, 2012
Los peligros de los Exploits y los Días-Cero, y su Prevención.
No necesitas escucharme decir que Internet es un fenómeno muy interesante, y mega-útil para todos aquellos que lo usan. Pero al mismo tiempo, su apertura y su falta de control hacen que un montón de cosas desagradables también sean accesibles a los usuarios –no sólo hablo de los sitios porno o cuestionables, sino también sitios completamente legítimos, sitios que “parecen no hacer daño a una mosca”. Y desde hace años, Internet ha sido un lugar fijo en la lista de las principales fuentes de ciber-infecciones: de acuerdo con nuestras cifras, en el 2012, el 33% de los usuarios han sido atacado, por lo menos, una vez a través de Internet.
Si uno profundiza en la estructura de la red donde encontraríamos lo “desagradable”, vemos que siempre viene a través de tres categorías: troyanos, exploits y herramientas maliciosas. De acuerdo con el sistema basado en la nube Kaspersky Security Network (KSN) –videos, datos-, el escenario es el siguiente:
El 10% que se puede apreciar en el gráfico superior pertenece a los llamados exploits (en realidad el porcentaje sería aún mayor, ya que muchos de los Troyanos tienen una debilidad por explorar… exploits). Los exploits son la mayoría peculiaridades ‘extrañas’ para los no profesionales –mientras son un verdadero ‘dolor de cabeza’ para los expertos en seguridad. Quienes pertenezcan a la segunda categoría pueden ir directamente aquí. Para el resto, aquí encontrarán una mini lección en exploits…
El Software está diseñado por las personas, y las personas olvidan las cosas y cometen errores. Además, hasta la fecha no se ha inventado un método de programación “perfecto”. Como resultado, prácticamente cada parte del software tiene vulnerabilidades –es decir, errores en el código de programación a través del cual los ataques pueden tomar el control del sistema, estropearlo, etc. Y el código que se aprovecha de las vulnerabilidades es llamado… maravilla de las maravillas –un exploit.
Entonces ¿Qué programas son atacados más a menudo por los exploits? Aquí están nuestras estadísticas obtenidas mediante Kaspersky Security Network (KSN) del año 2011:
(Muchos problemas causados por Adobe Reader. ¿Eh? Y todo lo que hace es leer los archivos PDFs, como lo hacen otro montón de programas… ¡Aggghhh! la falta de humanidad)
Las vulnerabilidades pueden ser utilizadas por los exploits, o permanecer sin explorar, en función de la popularidad y la funcionalidad del programa determinado y, en consecuencia, el nivel de atención que se presta a los ciber-granujas. Un ejemplo típico fue el reciente incidente Flashback Mac-Trojan el mes pasado. La vulnerabilidad fue en Java, el cual se había descubierto ya a principio de año, pero el exploit para Mac apareció un mes más tarde. Lo que es importante es que una vulnerabilidad en un programa específico no se encuentra –esto no significa que ésta no exista. Esto sólo significa que (i) es usada por tan poca gente que es muy difícil encontrar el error, o (ii) esto es tan insignificante para el programa que no les vale la pena a los cibercriminales tener que “profundizar” en los errores.
Éste es un escenario típico: Una vulnerabilidad es descubierta por un investigador, quien informa al desarrollador. El desarrollador urgentemente parchea la vulnerabilidad con… sí, un parche. Sólo entonces el submundo cibernético tira de sí mismo, sale un exploit, y trata de atacar a los usuarios que no hayan instalado el parche todavía.
Yo escribo un caso habitual, pero tal vez sería mejor escribir este caso con lo que nosotros ‘preferiríamos’ tener siempre (con un intervalo de tiempo entre el descubrimiento de la vulnerabilidad y la aparición del exploit). Digo esto porque lo que a menudo sucede es que el exploit aparece junto con las primeras noticias sobre la vulnerabilidad, o el desarrollador (por ejemplo Apple en el incidente Flashback) se retrasará en la liberación de un parche y, como resultado, el exploit se establece en la civilización antes de que el parche esté disponible. Un exploit para el que todavía no hay parche se llama exploit día-cero (cero días después –es decir, ¡antes!- del parche). Y esto es día-cero (ó 0-día) exploits/ataques que es precisamente la peor variedad (la más peligrosa).
Aquí tienes información interesante sobre la distribución geográfica de los focos de los ataques web, la mayoría de las cuales usa exploits:
La localización de un sitio atacante no significa necesariamente que quien está detrás del ataque es también de allí. Lejos de esto. Los ciber-canallas pueden registrar un sitio de una compañía, residentes o no en el extranjero, y llevar a cabo la actividad maliciosa desde aquí.
Ahora, dos de los métodos más extendidos de ataques a través de exploits son:
- Drive-by downloads –las descargas (el 85% de los ataques a través de Internet). Éstos te atraen a través de sitios que, con la ayuda de un paquete exploit, escanea el navegador en busca de vulnerabilidades y, si lo encuentra, infecta el equipo sin que se note. Este método es ampliamente utilizado en los ataques en masa para lograr el máximo efecto destructivo. Aproximadamente, en un tercio de los casos, el sitio atacado resulta ser una página web legítima o alguna organización respetada por otros, la cual es hackeada e infectada con un código malicioso especial.
- Ataques dirigidos. En este caso, un usuario sin sospechar nada (¿tonto?) lanza un archivo infectado (por ejemplo, un PDF, Adobe Reader) en busca de vulnerabilidades y, si lo encuentra, infecta el ordenador. El mismo archivo puede ser distribuido a través de todo tipo de rutas –e-mail, archivos de ficheros web, memorias USB, etc. Los ataques dirigidos son los ataques de precisión con un objetivo concreto identificado – como los misiles borraron del mapa a los Rang Rover al final de la película Syriana. –no son ataques en masa a cualquier cosa y a todo (como los bombardeos). Los ataques dirigidos son también a veces llamados Advanced Persistent Threats (APT). Sus objetivos son las personas u organizaciones específicas y se distinguen del resto por el uso de sofisticadas técnicas de ingeniería social.
Bueno, así está las cosas: el 10% de las amenazas de la Web procedentes de exploits representados en nuestras estadísticas (primer gráfico –arriba) de hecho estas cifras son un problema, ya que ¡El 83% de las amenazas provienen de los troyanos! Por ejemplo, en este momento el paquete de exploit más extendido es conocido como Blackhole, el cual es capaz de infectar a más del 30% de los ordenadores que están visitando un sitio Web comprometido (en función del tráfico, el software instalado y la seguridad). ¡Un Troyano solo no podría siquiera acercarse a esta cifra!
Nosotros hemos estado luchando contra exploits desde hace años, con unos resultados impresionantes. Nuestros productos tienen una base de datos de gran dedicación que contiene las firmas de ataques conocidos, URLs maliciosas a través de las cuales las infecciones son cargadas, e incluso heurística especial y tecnología preventiva para detectar los retos futuros que plantean este tipo de amenazas. Si este tipo de código malicioso es encontrado, el programa es bloqueado, el usuario y administrador de sistemas es advertido, y las acciones del ataquen se invierten. Nosotros además proporcionamos una herramienta muy útil donde la aplicación comprueba la presencia de vulnerabilidades:
Y ahora les presento una de las características de las nuevas versiones de Kaspersky Internet Security / Kaspersky Anti-Virus. Con el lanzamiento de la nueva versión de nuestro Kaspersky Endpoint Securit en el primer trimestre del año próximo será también accesible a los usuarios corporativos. Como habrás adivinado, esta función tiene que ver con la protección contra exploits. Para ser más precisos –frente a exploits desconocidos, es decir, aquellos exploits como zero-days!
A menudo me preguntan cómo es posible proporcionar protección contra algo que es desconocido. Mi respuesta siempre es: observando de cerca la evolución de las amenazas. Nosotros tenemos alrededor de un millar de expertos a nivel mundial de I+D de muy alto nivel, que estudian las amenazas, investigan las tendencias y reflexionan sobre el futuro de la seguridad informática, en sus múltiples facetas.
En primer lugar, nosotros tenemos uno de los más avanzados arsenales multinivel para luchar contra futuras amenazas –emulación, heurística, HIPS, bloqueadores de comportamiento, servicios de reputación basados en la nube, listas blancas, control de aplicaciones y una amplia gama de tecnologías proactivas. En segundo lugar, el término “desconocido” en el idioma de la seguridad informática, lo describe como algo misterioso o inconcebible. ¡Como ocurre en la vida real!
Por supuesto, existe la posibilidad de que aparezca un nuevo tipo de amenaza, las cuales difícilmente se pueden prever y con la cual no podemos aplicar una protección proactiva. Pero en la mayoría de los casos los programas maliciosos en general actúan de acuerdo a un cierto patrón de conducta y utilizan herramientas especiales. ¡Y así es como los atrapamos! Y como la experiencia demuestra –con bastante éxito.
Así que ¿Cómo protegerse frente a los ataques desconocidos con las versiones de Kaspersky Internet Security 2013 y Kaspersky Anti-Virus 2013?
De la siguiente manera: nosotros mejoramos significativamente el módulo System Watcher (que supervisa la actividad de programas) con la nueva tecnología Automatic Exploit Prevention (AEP).Su título es bastante explicativo sobre lo que hace, pero cómo lo hace requiere ser explicado con detalles.
En realidad, la AEP es el nombre genérico para una amplia gama de características del anti-exploit. En primer lugar, hemos añadido a nuestra base de dato patrones de comportamiento de los exploits específicos. System Watcher utiliza estos modelos para controlar las acciones de las aplicaciones (por ejemplo, los navegadores) y detectar actividades sospechosas y bloquearlas. En segundo lugar, el sistema localiza los archivos y la fuente de los archivos y contrarresta el drive-by downloads. Además de eso, estamos integrando el Attachment Execution Service (AES) y los archivos de distintivos creados con y sin el conocimiento del usuario. En tercer lugar, para los programas más críticos y los módulos adicionales (por ejemplo, plugins para navegadores) estamos aplicando la tecnología ASLR. Cada vez que se utiliza, ASLR cambia el espacio de la estructura de la dirección de manera aleatoria de los programas atacados.Como resultado, incluso si un exploit se aprovecha de una vulnerabilidad, no podrá lanzar el código malicioso, ya que ¡No se conocerá su localización exacta!
AEP está siendo probada y está mostrando resultados impresionantes. Expusimos una gran cantidad de exploits para Flash Player, QuickTime, Adobe Reader, Java y otros programas –y ¡Nos dieron una tasa de detección del 100%! Especialmente impresionante fue la detección exitosa de un exploit para vulnerabilidad recientemente muy comentada en Windows Media Player: el exploit permite infectar un ordenador a través de archivos de música MIDI, especialmente creado y trabajado en todas las versiones de Windows XP, en adelante. Lo crítico aquí es que gracias a AEP nosotros cogemos el 100% de los exploits del kit exploit Blackhole mientras la puntuación media de la industria es sólo 94%
Para concluir, unas cuantas medidas preventivas –además de las tecnologías descritas anteriormente.
Como se suele decir, confía en el antivirus, pero no lo fastidies. Con esto quiero decir que la clave en la prevención es respetar una norma tan simple como “lavarse las manos antes de comer”. Un ataque de un malware como los descritos anteriormente es posible a través de todo tipo de sitios sospechosos. Piensa detenidamente antes de entrar a visitar estos sitios, como las páginas porno. ¿Vale la pena el riesgo? Por supuesto, nunca olvides la regla de oro de la ‘higiene’ del ordenador: “nunca bajo ninguna circunstancia abra archivos adjuntos sospechosos”.