vendredi 22 mars 2013

De l'interprétation des advisos de sécurité : BES

En faisant un peu de veille sur Twitter, je suis tombé sur un lien vers un article parlant d'une vulnérabilité de la mort qui tue, affectant les serveurs BlackBerry :
La semaine dernière, les responsables de la sécurité de RIM ont reporté une vulnérabilité assez importante. En l’espèce, il s’agirait d’une faille qui toucherait surtout BlackBerry Enterprise Server, la solution professionnelle de BlackBerry.
De façon succincte, du code malveillant véhiculé à travers une image au format TIFF pourrait ouvrir une backdoor sur le téléphone, simplement en visitant un site Web comportant la dite image, ou envoyée en pièce jointe par email ou par BBM, la messagerie instantanée de BlackBerry.
Ca a l'air sexy, mais le peu que je connais du fonctionnement d'un serveur BlackBerry est en contradiction avec certains trucs écrits là dedans, et le fait de lire qu'une faille dans le processing TIFF du BES permet d'exécuter du code arbitraire sur le téléphone me chiffonne. Voyons ce que dit BlackBerry (ex RIM) dans son adviso...
Déjà, ce n'est pas une vulnérabilité, mais deux (CVE-2012-4447 et CVE-2012-2088). Il s'agit de deux overflows dans la bibliothèque LibTIFF, qui est utilisée dans un paquet de solutions diverses, commerciales ou non (merci la licence BSD qui le permet). Ces deux vulnérabilités permettent d'exécuter du code arbitraire avec les privilèges de "l'utilisateur" faisant tourner une hypothétique application utilisant la libtiff (donc du code en tant que user si une version vulnérable de la bibliothèque libtiff est embarquée dans le navigateur web d'une personne sous Linux par exemple). Bon, puis il s'agit de vulnérabilités qui ont été remontées il y a déjà un an pour la plus vieille, et il y a plus de six mois pour la seconde.
Ensuite, on voit que le score CVSS attribué aux deux vulnérabilités est de 10 (le max). C'est déjà le niveau au dessus de "assez importante". Mais passons, en fonction du contexte, le score CVSS de ces vulnérabilités pourrait varier de 10 (libtiff dans une application s'exécutant avec des privilèges d'administrateur) à 7.5 (libtiff dans une application s'exécutant sans privilèges) en pouvant même chûter à 6.8 si on ajoute la nécessité d'une interaction utilisateur (on attend qu'il visite une page web contenant un .tiff malveillant) . Dans le cadre du BES, c'est évidemment le premier cas qui s'applique.
Au niveau des logiciels impactés par ces vulnérabilités, toujours sur la page de l'adviso publié par BlackBerry, on expand le champ "affected software" de la catégorie "products" et on voit que seul le produit "BlackBerry Enterprise Server" et ses composants pour Domino, Exchange, etc. sont affectés. Dans la catégorie "non-affected software" on retrouve certaines versions du BES intégrant une version non vulnérable de la libtiff, ainsi que "BlackBerry Desktop Software" (le truc qui permet de synchroniser un device BlackBerry avec son PC) et "BlackBerry Device Software", qui est l'OS tournant sur les téléphones BlackBerry (BlackBerry OS). A ce niveau là, on a donc effectivement la confirmation que ça touche le BES, mais par contre on apprend que les smartphones ne sont pas impactés.
Donc pour l'installation d'une backdoor sur le téléphone, on repassera.
De toutes façons, la vulnérabilité se situe dans le moteur de traitement des images du BES (exemple, un utilisateur de smartphone blackberry reçoit un e-mail avec une image, le BES va la convertir dans un format et des dimensions adaptés au téléphone - c'est lors de ce traitement que la vulnérabilité dans la libtiff est exploitée et que du code arbitraire peut-être exécuté sur le BES, et non sur le téléphone). Il y a quelques années, une vulnérabilité permettant la même chose, exploitable par le même biais (pièce-jointe malveillante) avait été identifiée dans le composant PDF du BES.
Continuons la lecture de l'article...
Pour en revenir à la vulnérabilité, elle ne concerne pas uniquement que les entreprises, mais finalement, tous les possesseurs de BlackBerry car RIM a intégré sa propre vulnérabilité dans son système : BlackBerry Messenger.Considéré comme le killer apps  de la marque, il reste l’un des seuls atouts majeurs de BlackBerry face à Apple, Samsung et Nokia. Or, cette application est parfaite pour une attaque de type « drive-by-download » et nécessite Java pour fonctionner pleinement.
Il m'a fallu relire quelques fois la phrase pour comprendre qu'il s'agissait d'humour. Mais si on considère qu'un smartphone BlackBerry est vulnérable à cause de BlackBerry Messenger (BBM), on doit se rappeler qu'il y a 3 ou 4 ans, il était possible d'exécuter du code arbitraire sur un iPhone juste en lui envoyant des SMS (Charlie Miller, où que tu sois, on pense à toi).
J'ai eu un peu de mal à comprendre la petite phrase "et nécessite Java pour fonctionner pleinement". En effet, la majorité des téléphones BlackBerry en circulation utilisent un BlackBerry OS basé sur Java, donc le fait que BBM dépende de Java me semble évident : les applications BlackBerry sont en Java ! En regardant le lien vers lequel pointe cette petite phrase j'ai compris pourquoi l'auteur de l'article l'a mentionné; il y est dit que BBM  exige "Un téléphone Blackberry compatible Java", car effectivement, les premiers devices BlackBerry n'utilisaient pas Java.
Chaque smartphone BlackBerry possède un PIN (Personal Identification Number) composé de huit caractères, mélangeant chiffres et lettres, de façon apparemment aléatoire. Les rares documentations accessibles à ce sujet sont peu parlantes et ne permettent pas de déterminer si cette suite répond à une logique similaire à celle des IMEI ou des numéros de cartes de crédit.Dans la mesure où le PIN est limité à huit caractères, qu’il ne comporte pas de caractères spéciaux, qu’il n’est pas sensible à la casse, on peut émettre l’hypothèse d’une tentative d’attaques par le biais de BBM, en tapant quelque peu au hasard, du moins dans un premier temps et qu’une fois certaines informations collectées, l’attaquant peut ajuster son tir.
En fait ces "huit caractères, mélangeant chiffres et lettres, de façon apparemment aléatoire" sont la représentation hexadécimale d'un entier non-signé de 32 bits (donc dans les 4 milliards de possibilités, allant de 0x00000000 à 0xffffffff, tout en gardant à l'esprit que ces deux là sont peut-être réservés). Du coup, dans la mesure où il s'agit d'hexadécimal, on peut considérer qu'il est normal qu'il n'y ait pas de caractères aléatoires (et même qu'il n'y ait pas tout l'alphabet).
Concernant ensuite les infections de smartphones BlackBerry par "des petits malins générant des PIN aléatoires" et invitant les victimes à les rejoindre dans des groupes avant de les infecter, il ne semble pas y avoir eu de cas documenté. D'autant plus que dans le cas des vulnérabilités de la libtiff citées ci-dessus, il ne peut pas y avoir de compromission du téléphone, donc je ne vois pas bien ce que ces petits malins pourraient exploiter (mis à part se faire des amis sur BBM...).

Conclusion : l'auteur de l'article initial n'a vraisemblablement pas lu l'adviso de sécurité de BlackBerry (ex RIM quoi), et démontre sa totale méconnaissance de l'architecture blackberry (j'ai tenté d'être constructif en avançant mes arguments, ce n'est donc pas une attaque gratuite). Ce qui est un comble dans la mesure où la même personne a fait un talk à la Nuit du Hack l'an dernier parlant de sécurité mobile se soldant par la destruction d'un BlackBerry à l'aide d'un marteau (vers la 33e minute sur cette vidéo) :



lundi 18 mars 2013

Aide Google aux webmasters de sites compromis

C'est quelque chose qui est arrivé à un paquet de webmasters/administrateurs. Ca se matérialise parfois par un appel (en pleine nuit), avec au bout du fil quelqu'un qui dit (pas forcément en ces termes) :
"Google dit que le site est hacké"
Soudain, c'est la panique.
Que s'est-il passé ? Que faire ? C'est des conneries ?
Non.
Une faille merdique dans le CMS (moisi, genre Joomla) utilisé par le site/blog, ou un serveur encore vulnérable à une vulnérabilité dans Exim ou ProFTPd a permis à un Jean-Kevin (enfin, pas forcément, ça peut-être un bot à lui, ou son homologue russe Ivan-Boris) de venir polliniser (ou souiller) l'hébergement dudit site avec divers kits d'exploitation ou de phishing afin de contribuer à agrandir tel ou tel botnet.
A ce moment là commence la réponse à incident (enfin, en réalité ça commence avant la compromission en étant prêt à réagir). Pour le webmaster du dimanche, ça ne sera pas forcément évident.
Google a pensé à eux et a mis en ligne un guide (pour l'instant en anglais uniquement) expliquant tout un tas de choses :
- Pourquoi et comment les sites se font compromettre
- Mise en quarantaine du site
- Recherche du contenu posant problème
- Recherche de la vulnérabilité ayant permis la compromission
- Nettoyage du contenu malveillant
- Vérification du nettoyage

Ce guide permettra donc au responsable d'un site compromis de comprendre ce qui est attendu de lui au moment où il découvrira que son site héberge du blackhole. Le niveau de complexité des opérations est croissant, et si les premières étapes sont relativement simples, la fin l'est un peu moins (on ne peut en effet pas vraiment attendre de tous les webmasters qu'ils soient capables de faire du network forensics sur les logs du serveur hébergeant leur site). D'ailleurs, Google rappelle que s'il est possible de faire ça soi-même si on est à l'aise dans ces choses là, il est possible de faire appel à des spécialistes.

Bref, un bon guide qui mérite d'être mis plus en avant (et éventuellement traduit en français pour ceux qui ne sont pas compatibles avec l'anglais).