mercredi 21 mai 2008

AV caesar, morituri te salutant?

A few days ago, Pedro Bustamante from Panda wrote a very interesting post about automated AV signature creation, emphasizing the risk of false positives with such a method. He uses the example of a gaming company, Fenomen Games, that generates numerous distinct Gaming Downloaders. According to him, these binaries are not malicious, and massive FPs are automatically inserted by AV editors into their databases.

In order to cope with the exploding number of malware variants that are dynamically created, AV are forced to use various techniques to automatically analyze and detect new threats. This trend is a tough challenge and the race between goods and villains can probably not be won by AV engines through that way.

Automated malware analysis is undoubtedly the key due to the ever increasing number of malware variants being seen in-the-wild. But AVs, ISPs and LEAs should also try to make better use of all the intelligence gathered, and particularly the "network" connections initiated by these pieces of malware. Even if today virus are more and more difficult to reverse-engineer (think about StormWorm's automatic ddos protection or virtual machine detection used by more and more samples), most sandboxes still provide valuable information about command&control and blind drop Web servers.

For example, we noticed today that one of the samples we have -automatically- analyzed was trying to connect to a server located in the US at this address: http://XXXXquanglan4.t35.com/. New malware variants have been trying to download two files (setting.xls and setting.nql) from this server since May 2007 at least! They are known to be a specific Worm called Sohanad -also referenced as Pitin under some AV nomenclature- (see here or here for example). What is surprising here is that this malware propagation source is still online one year after being discovered. Let's hope it was deliberately kept online by LEAs or anti-cybercrime units for investigation purposes.

But what is even more disturbing is that these 2 files are only detected by 2 out of 32 AV editors' signatures according to yesterday's VT report (We'll talk another time about these detection rates, as it could be subject to some misunderstanding).

So far, we still need AV engines, but controversy on the AV industry has risen lately in numerous IT security forums and blogs. The RaceToZero contest dilemma and the latest moves in AV testing (merger of Anti Malware Test Lab and AV Comparatives, new Anti-Malware Testing Working Group set up by a bunch of AV editors, etc) prove that the industry will probably have to go through some serious changes.

I believe that more "human" investigators, able to require the hosting providers -such as t35.com- to disclose information about some of their customers, would help finding the real people behind these criminal activities, and not only dealing with the symptoms (a.k.a better protection against infections).

jeudi 15 mai 2008

Et pour quelques warnings de moins...

"Le plus mauvais jour pour Debian". La vulnérabilité découverte par Luciano Bello dans le paquet openssl de Debian n'en finit pas de provoquer l'émoi au sein des utilisateurs de cette distribution GNU/Linux.

Tout est parti d'une bonne intention du mainteneur du paquet de vouloir supprimer certains messages d'avertissement émis par Valgrind. Rappelons que ce dernier est un débogueur utilisant la technique de traduction dynamique de code (QEMU utilise une technique similaire) afin d'intrumentaliser un binaire à des fins de recherche de fuites de mémoire ou de double "free". Dans le cas présent, c'est l'utilisation d'une zone mémoire non initialisée qui provoquait un message jugé gênant.

En mai 2006 a donc été appliqué le correctif suivant (qui ne deviendra effectif qu'en septembre de la même année car il avait été appliqué dans un autre fichier que celui entrant en jeu dans la compilation) :

  • commentaire de la ligne MD_Update(&m,buf,j); dans la fonction ssleay_rand_bytes(). Cette fonction, utilisée généralement par l'intermédiaire de RAND_bytes(), extrait de l'entropie du "pool" pour la mettre dans un buffer, ici buf. Vis-à-vis de la fonction ssleay_rand_bytes(), ce buffer est utilisé en tant que buffer de sortie, donc cela n'a pas d'impact sur l'aléa du générateur.
  • commentaire de la ligne MD_Update(&m,buf,j); (donc la même), cette fois-ci dans la fonction ssleay_rand_add(). Cette autre fonction, utilisée généralement par l'intermédiaire de RAND_add(), sert à ajouter de l'entropie au "pool", buf étant cette fois-ci utilisé en tant que buffer d'entrée. Comme il s'agit de la seule ligne de la fonction utilisant buf pour ajouter de l'entropie au "pool", l'aléa global du générateur en est réduit au simple PID du processus générant la clé.

Par défaut, la valeur maximale du PID sous Linux est 32768 (sysctl kernel.pid_max) et la numérotation commençant à 1 avec le processus init, cela laisse donc 32767 possibilités de clés par algorithme et par longueur sur un système donné. Autant dire très, très peu. Sont principalement impactées les clés SSH et SSL, mais aussi DNSSEC et OpenVPN, à partir du moment où elles ont été générées sur Debian (ou une distribution dérivée comme Ubuntu) avec la version vulnérable d'OpenSSL, donc depuis septembre 2006.

En plus de l'application de la version corrigée de la bibliothèque, toutes les clés devront être regénérées. Debian fournit différents outils afin de mener un "audit" des clés présentes sur un système dans le but de déterminer les clés compromises. Le problème ne saurait être pris à la légère puisque l'intégralité des clés faibles pour DSA-1024, ainsi que RSA-2048 et RSA-4096 a été publiée par H D Moore...

Et une mauvaise nouvelle n'arrivant jamais seule, cette mise à jour Debian corrige aussi deux autres vulnérabilités, dont une permettant l'exécution de code arbitraire datant d'octobre 2007... Une mise à jour à appliquer de toute urgence, donc.

mercredi 14 mai 2008

Léger patch-day Microsoft de Mai

Le deuxième mardi du mois amène comme d'habitude son lot de correctifs Microsoft. Tout comme en Mars, les vulnérabilités Office sont à la fête, puisqu'elles accaparent les 3 bulletins critiques. Le seul bulletin qualifié d'important est quant à lui dédié au moteur de protection antivirale inclus dans plusieurs produits Microsoft.

Voici le détail des vulnérabilités critiques :

MS08-026 : deux vulnérabilités de corruption de la mémoire permettant l'exécution de code arbitraire en faisant ouvrir des fichiers RTF ou HTML malveillants à sa victime dans Word (Réf. Lexsi 10127)

MS08-027 : vulnérabilité dans Publisher, permettant une corruption de la mémoire lors de l'ouverture d'un document malveillant (Réf. Lexsi 10126)

MS08-028 : vulnérabilité de type débordement de tampon dans le tas dans le composant Jet Engine Database de Windows, exploitable via un fichier MDB malveillant (Réf. Lexsi 9333)

Pour finir, voyons le bulletin important :

MS08-029 : deux vulnérabilités de type déni de service par corruption de la mémoire et occupation de l'espace disque lors de l'analyse de fichiers spécialement formés par le moteur de protection antivirale (Réf. Lexsi 10128)

Si la vulnérabilité MS08-028 semble familière, c'est parce qu'elle avait déjà été publiquement dévoilée par Microsoft en Mars dernier, alors qu'elle était exploitée "dans la nature".

Les vulnérabilités critiques de ce mois-ci nécessitent une interaction de l'utilisateur pour être exploitées, celui-ci devra donc être vigilant et ne pas ouvrir de documents dont il ne connait pas avec exactitude la provenance.