20 may 2008

"Hoy goodware, mañana no sé"

Habían transcurrido sólo 6 horas desde que el responsable de seguridad de la multinacional había enviado al laboratorio un ejecutable para su análisis. Lo había encontrado en el portátil de un alto ejecutivo, durante una auditoría rutinaria. Desconocía el origen de aquel binario, no sabía lo que hacía. Cuando menos le resultaba sospechoso, la fecha de instalación coincidía con una salida del ejecutivo al extranjero donde, según los logs del sistema, había estado conectándose a Internet a través de al menos dos hotspots públicos. "¡Maldito WiFi!". Cuando recibió la llamada del laboratorio se apresuró a preguntar "¿malware o goodware?". La respuesta al otro lado del teléfono lo dejó algo desconcertado: "Hoy goodware, mañana no sé".

Y es que cualquiera que acuda a que le realicen un análisis de un binario espera un dictamen claro. O bien se trata de algún tipo de malware (virus, troyano, spyware, adware, etc.) que lleva a cabo acciones no deseadas en el sistema, o bien es goodware y por tanto no debemos temer de que realice ninguna trastada. Al fin y al cabo, un profesional puede realizar un análisis en profundidad del código mediante ingeniería inversa y saber exactamente como funciona y qué es lo que hace. ¿O no?

Tradicionalmente así solía ser. Un virus podía utilizar más o menos capas de ofuscación y cifrado, tener más o menos técnicas anti-debugging, podía ser más o menos complicado su análisis, pero al final, uno podía conocer al detalle como se comportaba. El virus era autónomo, todo su universo estaba autocontenido en su propio código. Eran otros tiempos, cuando los hombres eran hombres y se programaba en ensamblador.

Pero llegó Internet y lo cambió todo. Y no hablamos de la distribución masiva ni de los gusanos por Internet, ni de la explotación de vulnerabilidades mientras navegamos para infectar equipos de forma transparente, ni de la producción masiva de troyanos, ni siquiera del polimorfismo en origen a la hora de distribuir el malware, ni de las posibilidades de actualización y descarga de nuevas variantes, ni las botnets, etc. Las reglas han cambiado, y recién comenzamos a sufrir sus consecuencias.

¿Qué ocurre cuando no existe código malicioso en el binario? ¿Qué ocurre si tras un análisis al detalle de la muestra todo parece indicar que es goodware, o al menos hay ausencia de indicios que apunten a que es malware? Pues ocurre que puede ser goodware, o no. La clave está en que la lógica del malware, la inteligencia, se está trasladando a la parte servidor, allí donde queda fuera del alcance de nuestro análisis. ¿Cómo?.

Imaginemos que un espía profesional es contratado para atacar a un objetivo concreto. En vez de diseñar un malware tradicional, desarrolla una utilidad que, además de realizar su cometido, se conecta a Internet regularmente para comprobar si hay actualizaciones o para llevar a cabo cualquier otra acción común hoy día en el software. Una vez terminada la cuelga de Internet y, además, la envía a los laboratorios antivirus para su análisis. Esa muestra es analizada por los laboratorios y catalogada como goodware en su colección de binarios. Si algún día alguien envía de nuevo esa muestra, en sus registros ya se encuentra analizada y catalogada como goodware. Lógico, bastante tienen analizando todo lo que se produce nuevo como para estar reanalizando muestras.

La utilidad es pública, ha sido analizada por los laboratorios antivirus y se ha catalogado como limpia, de hecho no contiene ningún código malicioso oculto, además se la instalan indiscriminadamente los usuarios y tienen una buena experiencia (hace lo previsible). La utilidad se conecta regularmente a un servidor (del espía) en Internet para comprobar si debe autoactualizarse, descargando algún parche o nueva versión en caso necesario. Todo normal.

Pero hay un código que no sabemos que hace, el del servidor controlado por el espía en Internet. Allí tiene un script que recibe las consultas de la utilidad preguntando si hay alguna actualización, y una lógica que todo el mundo desconoce. El servidor devolverá o no un aviso de que hay una nueva actualización legítima pero, además, comprueba si la IP del sistema que está realizando la consulta pertenece al rango de la empresa objetivo; entonces, sólo entonces y en ese equipo concreto, descargará y ejecutará un código para robar información sensible.

Vale, bonita historia de espías. El problema es que lejos de ser una historia es un enfoque que va en aumento en el malware actual, y es posible que sólo estemos viendo la punta del iceberg.

Por ejemplo, en Hispasec estamos especializados en la detección y análisis de troyanos bancarios. Comienza a ser preocupante la aparición de familias que no son catalogadas como "bankers" por los antivirus, porque realmente no contienen código que pudiera hacer pensar que lo son. En todo caso son catalogadas como spyware, menos peligrosas, ya que su función consiste en enviar las URLs por las que navegamos a un servidor de Internet. La "gracia" está en que ese servidor sólo devuelve un nuevo código malicioso, o comandos interpretables por el propio malware, cuando la URL que envía al servidor coincide con la dirección de la web de una entidad bancaria determinada.

Estamos en un caso similar al del espía profesional, el análisis aislado del código que se instala en el cliente no puede dar pistas sobre la funcionalidad que puede adoptar ese binario. Un evento en concreto, en este caso visitar una URL determinada, es la que hace activar la lógica del servidor web que devuelve un nuevo código o instrucciones desconocidas hasta ese momento. Una lógica que puede o no estar activa en el momento en que se analiza la muestra, o incluso que puede tener más dependencias para activarse de forma que previene la detección de un análisis puntual.

Este traslado de la inteligencia del malware a la parte servidor supone nuevos retos y la necesidad de nuevos enfoques. En un momento en que también parte de la inteligencia de los antivirus se está externalizando en servicios en Internet, vemos que sigue siendo más importante que nunca tener inteligencia local, más allá de las firmas de detección, que pueda identificar actividades sospechosas en nuestros sistemas. Y es que, al fin y al cabo, no hay balas de plata en esto de la seguridad, debemos seguir combinando diferentes capas complementarias de protección e ir evolucionando con los tiempos. Tenemos "diversión" para rato.

Fuente: http://www.hispasec.com/unaaldia/3496

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!