lundi 21 décembre 2009

Dissonance cognitive

Ca y est, j'ai terminé le Challenge Azure (je ne suis pas 1er car il a fallu un peu de temps pour brute-forcer le QCM :)



La mauvaise nouvelle pour vous, c'est que je suis maintenant officiellement autorisé à vous parler de Cloud Computing puisque j'ai envoyé mes applications "In The Cloud" :)

Mais pour être honnête, je n'ai jamais rencontré un challenge aussi grisant depuis la disparition de SecuriTech. Il existe plein de challenges passionnants et intelligents sur Internet, mais rien à faire: le temps limité ajoute un sentiment d'urgence très excitant.

Et le Challenge Azure est vraiment unique. Pourquoi ? Parce qu'il est facile de trouver la solution à tous les autres challenges publics. Soit parce qu'il existe des spoilers, soit parce que ce sont toujours les mêmes failles qui reviennent en boucle: buffer overflow, fichier setuid gérant mal ses privilèges, etc.

Alors que pour le Challenge Azure, il n'existe aucune solution. Personne ne peut vous aider, car personne ne sait comment ça marche. La documentation disponible sur Internet est fausse, car elle ne s'applique pas à la version CTP de novembre 2009. Bien que le challenge consiste simplement à corriger du code déjà écrit par des gens de Microsoft France, vous pouvez rester des heures à contempler une lambda-fonction C# destinée à requêter un blob dans votre storage sans comprendre une ligne de ce qui est écrit.

Et là, la vérité m'est apparue nue. Depuis 10 ans que je pratique la sécurité informatique en entreprise, je n'ai jamais rencontré un développeur (sauf des designers d'IHM en Java, mais je ne pense pas que ça compte). J'en ai pourtant audité des applications, j'en ai prodigué du conseil pour améliorer la sécurité des développements (comme compiler avec /GS, /NXCOMPAT et /SAFESEH) ... mais même dans les réunions de debriefing post-audit les plus houleuses, je n'ai jamais eu en face de moi que des intégrateurs ou des technico-commerciaux ...

Les entreprises dont le coeur de métier n'est pas l'IT n'embauchent pas de développeurs. Les seuls "développeurs" qu'on y recontrent sont des prestataires liés aux gros progiciels internes (comme SAP ou SharePoint). Ce sont souvent des consultants de l'éditeur ou de sociétés aux intérêts très liées. Le reste des applications sont achetées sur étagère, jamais développées en interne.

Et dans le domaine de l'application commerciale, il y a deux cas: soit la start-up avec quelques développeurs, parfois motivés, mais jamais très nombreux, et rarement sensibilisés à la sécurité. Soit la société qui a crû suffisamment pour sous-traiter ses développements en Roumanie, en Inde, au Vietnam, ou n'importe où ailleurs (mais toujours à un endroit où il sera impossible de communiquer avec les développeurs).

Alors après avoir pratiqué un peu sur la plateforme Azure, je souris intérieurement en pensant à la probabilité pour que ma société soit un jour cliente directe de cette solution (mais je pense que cela s'étend à d'autres sociétés françaises de la même envergure). Il est déjà probablement impossible de trouver un employé (pas un sous-traitant) qui sache écrire une ligne de C#. Alors de là à maitriser les subtilités du framework 4.0 ou de LINQ, c'est de la science fiction. Bien sûr il est également possible de développer du code PHP avec Eclipse pour la plateforme Azure, mais là on en est quasiment au stade de la manipulation génétique :)

Petit détail: le SDK Azure ne s'installe que sur Windows Vista et ultérieur. Rien que ce pré-requis est rédhibitoire quand on sait que l'écrasante majorité des postes de travail reste sous Windows XP, le SP2 n'ayant parfois pas été installé par peur des incompatibilités.

La seule voie par laquelle le Cloud a une chance de gagner les entreprises, c'est par la sous-traitance. Après tout, mon employeur m'a bien obligé à enregistrer mon numéro de carte bleue sur le site Web d'une société tierce en charge de tous les voyages et de toutes les notes de frais. Peut-être fait-elle déjà appel au Cloud ? Qui s'en préoccupe de toute façon ?


PS. Pourquoi le Cloud est-il l'avenir de l'informatique ? IDC pense qu'il n'y aura pas de successeur à Windows Seven. Vinton Cerf pense qu'en 2012, il y aura plus de téléphones connectés à Internet que d'ordinateurs. Il me semble que tout cela fait du sens: l'informatique telle que nous la connaissons va disparaitre. Les services informatiques sont déjà en train de disparaitre d'ailleurs ...

samedi 17 octobre 2009

Le Monstre

Et oui, le Patch Tuesday d'octobre est tout simplement ... monstrueux ! Avec 13 bulletins corrigeant 33 failles, c'est un record dans l'histoire des bulletins de sécurité Microsoft.

Il faut dire que traditionnellement, avant chaque lancement d'une nouvelle version de Windows, Microsoft vide son placard des failles accumulées. Et Windows Seven sort le 22 octobre ...

Impossible de rentrer dans les détails techniques de tous ces correctifs en un seul billet. Je me contenterai de donner quelques remarques ou anecdotes concernant ces bulletins.

MS09-050 corrige 3 failles dans l'implémentation du protocole SMBv2: celle trouvée par Laurent Gaffié (qui n'est pas crédité, en châtiment de son irresponsible disclosure), et une autre faille exploitable trouvée par Matthieu Suiche (l'un de mes anciens stagiaires :). Notons que ces deux français sont expatriés: l'un au Canada, l'autre aux Pays-Bas.

MS09-051 corrige des failles dans un obscur codec de Windows Media, optimisé pour le traitement de la voix. Mais ce bulletin est symptomatique du fait qu'il faut lire les bulletins, et pas seulement appliquer les correctifs. En effet, ce codec n'est pas présent par défaut dans Windows Media Player 6.4 sur Windows 2000, mais a pu être installé par le mécanisme de recherche automatique des codecs en ligne. Si c'est le cas, une opération manuelle est requise sur le poste.

MS09-053 corrige des failles (déjà connues) dans le serveur FTP de Microsoft. Bizarrement, Kingcope est crédité alors que la publication de ces failles a été tout sauf responsable !

MS09-054 est un correctif cumulatif pour Internet Explorer. L'une des failles est exploitable par le biais de la technologie XBAP: il ne s'agit rien de moins que de créer des applications complètes (en code managé) qui vont être téléchargées et exécutées dans le navigateur ! Un remplacement des ActiveX et un concurrent pour la technologie Native Client de Google.

Là où ça devient fort, c'est que l'installation du Framework .NET 3.5 (pré-requis à l'exécution d'applications XBAP) va automatiquement installer une extension Firefox (si ce navigateur est présent). Donc même Firefox sur Windows est vulnérable à cette faille ! Du coup, la fondation Mozilla a désactivé cette extension par le biais des mises à jour automatiques de plugins ... Est-ce que Microsoft va réactiver le plugin par le biais de Windows Update ?

MS09-056 corrige deux failles dans la CryptoAPI (le pendant Windows de la libssl), permettant de tricher sur les propriétés d'un certificat. Manque de chance, ce correctif n'est pas compatible avec le produit Microsoft OCS - un produit de communication unifiée très en vogue actuellement: il provoque l'invalidation des clés de licence ...

MS09-061 permet basiquement d'exécuter du code "natif" depuis du code "managé", même si celui-ci s'exécute avec les droits minimum. Il s'agit d'une évasion de machine virtuelle comme Java en a connu par le passé. Dès lors que vous exécutez du code "managé" depuis une source non sûre, vous êtes exposés: applications XBAP, hébergement ASP.NET, mais aussi plugin SilverLight (le concurrent Microsoft d'Adobe Flash Player). Ce dernier est un produit important dans le portfolio Microsoft ...

L'auteur de l'un de ces bogues (Jeroen Frijters) n'en est pas à son coup d'essai. Pour la petite histoire, il est leader d'un projet Open Source visant à implémenter une machine Java en .NET (le projet IKVM). Dans le cadre de ce projet, il a déjà remonté plusieurs bogues critiques à Microsoft, qui ont tous été corrigés silencieusement. Du coup, il avait décidé d'appliquer ce qu'il appelle la "no Microsoft bug filing policy". Il faut croire que Microsoft s'en est ému.

PS. Si vous vous demandez à quoi peut bien servir une machine Java en .NET, sachez qu'il en existe déjà une, fournie par Microsoft: il s'agit de la technologie J#. C'est très pratique lorsque Microsoft fait l'acquisition d'applications entièrement écrites en Java ;) Seul problème: cette technologie a été développée à Hyderabad et s'avère ni fiable (d'après Jeroen Frijters), ni pérenne (d'après Wikipedia).

MS09-062 corrige un paquet de failles dans GDI+. Pour mémoire, GDI+ est la librairie qui traite tous les formats d'image sous Windows - l'impact potentiel de ces failles est donc énorme, compte-tenu du nombre de vecteurs d'attaque. Souvenez-vous, déjà en 2004 certains avaient prédit le "Big One" avec la faille JPEG dans cette même librairie (MS04-028).

Comme facteur aggravant, il faut noter que le code GDI+ est disponible sous forme de librairie dans les outils de développement Microsoft. Il est donc possible de lier statiquement ce code à toute application développée avec Visual Studio. Conclusion: malgré la mise à disposition par Microsoft (à l'époque) d'un outil de recherche de motifs dans le code compilé, il est impossible de venir entièrement à bout de cette faille dans toutes les applications tierces.

Notons que l'une de ces failles permet d'exécuter du code "natif" depuis du code "managé" (évasion du Framework .NET). Java a connu les mêmes: il s'agit d'un risque rampant, sauf à réécrire toutes les librairies graphiques en code managé.


Notons aussi que Thomas Garnier (SkyRecon) est crédité pour la découverte de l'une de ces failles. Sachant qu'il a quitté SkyRecon autour du mois de février 2009 (pour aller chez Microsoft), cela donne une idée du délai de correction de cette faille ... La faille dans les graphiques Office a été vendue à iDefense en avril 2008, et celle sur le format TIFF en ... décembre 2007 !

Que conclure de tout cela ?

Je ne vais pas employer un mot commençant par "E..." pour ne pas lasser mes lecteurs. Mais quand même, mettre plus d'un an à corriger des failles, corriger silencieusement des failles critiques dans le Framework .NET (exploitables à distance via SilverLight), introduire des failles dans des applications tierces comme Firefox ... ça la fout mal pour les champions du développement sécurisé ...


Pour finir, félicitations aux équipes de Google et Palo Alto Networks pour le nombre de failles qu'elles ont trouvées ! (Ce dernier étant un pare-feu innovant qui a fait du buzz lors des Assises de la Sécurité).

mercredi 7 octobre 2009

Pourquoi la sécurité ne va pas s'améliorer

Il n'a échappé à personne que 10,000 mots de passe Hotmail ont été "aperçus" sur le site pastebin.com. Pour ceux qui ne connaissent pas, PasteBin est un site gratuit et anonyme permettant d'échanger rapidement des données textuelles entre amis et avec le monde entier par la même occasion. Ce qui est l'occasion de voir parfois à quel point les gens sont confiants ...

L'origine de cette divulgation est probablement liée à une campagne de phishing.
Comme à chaque fois qu'une base importante de mots de passe est perdue, c'est l'occasion d'enrichir ses connaissances sur les pratiques des utilisateurs confrontés au problème crucial du choix d'un mot de passe.

Malheureusement, dans le cas de Hotmail comme dans tous les cas antérieurs (ex. phpbb.com), le mot de passe le plus courant est ... "123456".

Qu'est-ce que cela m'inspire ? Qu'après avoir lutté pendant des années pour mettre en place des politiques de robustesse sur les mots de passe dans les entreprises (c'est même une recommandation forte ou une exigence dans la plupart des normes et standards comme PCI/DSS ou ISO 2700x), le Web 2.0 nous fait revenir 20 ans en arrière.

La différence, c'est que le Web 2.0 a des clients là où les entreprises ont des utilisateurs. Et même si les utilisateurs sont (parfois) pénibles, on peut les contraindre à obéir. Alors que le client est roi ...

La situation est même pire que cela, puisque les clients du Web 2.0 sont les annonceurs. L'utilisateur, lui, ne paie rien et ne s'engage à rien (les contrats transnationaux signés par un simple clic sur "oui, j'accepte" n'ayant probablement aucune valeur légale). Il est donc essentiel de choyer l'utilisateur pour qu'il n'aille pas voir ailleurs. Et dans ce domaine, imposer des mots de passe complexes est tout sauf user-friendly.

Dans le Web 2.0, c'est le marketing qui arbitre sur les exigences de sécurité. Les informaticiens ayant une activité professionnelle à forte composante technique, qui se sont retrouvés rattachés du jour au lendemain à une direction marketing (j'en connais beaucoup), apprécieront l'impact potentiel ...

Quelques-uns, comme MySpace, imposent une relative complexité sur le mot de passe (lettres ET chiffres). Résultat: le mot de passe le plus commun sur ce site est ... "password1" (on notera au passage que les "gens normaux" commencent à compter à partir de 1, et non 0 comme tout informaticien qui se respecte :).

Est-ce que cela impacte les entreprises d'une manière ou d'une autre ? Je ne vais pas me lancer dans des débats sur l'informatique nébuleuse (Cloud Computing) ou la dépendance cachée à GMail ...

Mais quand on voit le nombre de sites institutionnels qui utilisent Google Analytics, sans que la politique sécurité de l'entreprise ne soit applicable au mot de passe choisi ... le fait que la majorité des gens réutilisent le même mot de passe partout ... et la dépendance chainée entre les différents services 2.0 par le biais de la réinitialisation de mot de passe (comme dans le cas emblématique de Twitter) ... je suis quand même vaguement inquiet, et pas du tout confiant dans le fait que les choses vont s'améliorer !

samedi 19 septembre 2009

L'échec de Microsoft

Dans Windows, il n'y a que 3 points d'entrée à défendre:

  • La pile TCP/IP
  • L'implémentation SMB (sur les ports TCP/139 et/ou TCP/445)
  • L'implémentation du RPC endpoint mapper (port TCP/135)
En effet, ces 3 points d'entrée sont toujours accessibles quels que soient la version et le mode d'utilisation de Windows (machine personnelle, poste de travail, serveur, etc.).

Il est possible de n'avoir aucun port ouvert sur l'extérieur (moyennenant quelques astuces telles que la configuration de la clé de base de registre "ListenOnInternet"), mais en pratique je n'ai jamais vu une machine configurée de la sorte ailleurs que dans les labos de recherche.

Avec Windows Vista (sorti en novembre 2006, pour mémoire), Microsoft a modifié deux composants fondamentaux:
  • La pile TCP/IP, entièrement réécrite pour supporter nativement IPv6.
  • L'implémentation SMB, passée en version 2. Cette version est supposée plus simple (donc plus sûre) avec seulement 16 commandes au lieu de 80.
Bien sûr, avec tout le tremblement autour du Secure Development Lifecycle, on aurait pu penser que le remplacement de 2 composants critiques sur 3 se ferait avec toutes les précautions possibles.

Ca sentait pourtant mauvais, puisque la pile IP s'est d'abord avérée partiellement vulnérable à la Land Attack (avant la sortie de la RTM), puis une faille conceptuelle dans l'implémentation de la signature SMB a obligé Microsoft à mettre à jour le protocole en version 2.1 (bulletin de sécurité MS07-063).

Mais ce mois-ci, c'est le drame.
Non seulement la pile IP s'avère vulnérable à une faille d'exécution de code à distance (pas triviale, je l'avoue) - CVE-2009-1925, à ne pas confondre avec la faille SockStress qui a été patchée dans le même bulletin (MS09-048) - mais surtout il n'a échappé à personne qu'une faille d'exécution de code à distance (confirmée par Microsoft) non patchée affecte la pile SMBv2.
Quelles leçons tirer de tout cela ?
  1. On ne peut avoir confiance en personne. Malgré un budget de 4 milliards de dollars pour le développement de Vista, le recrutement de toutes les pointures en sécurité disponibles sur le marché, et des objectifs affichés en matière de sécurité, Microsoft a raté[*] une faille assez triviale (à détecter, pas à exploiter :) et catastrophique en terme d'impact.
  2. Il n'y a eu aucune analyse correcte de la faille sur Internet. Je n'ai vu que SourceFire et ReverseMode aborder le sujet sous un angle vaguement technique, sans toutefois rentrer dans les détails. Ca ne veut pas dire que personne ne comprend rien - ça veut dire que les gens qui travaillent sérieusement sur cette faille ne sont pas payés pour faire fuir les détails sur leur blog ...
  3. Par contre des gens pour réécrire le code d'exploitation en Java et s'accorder tous les crédits, il y en a eu. J'attends la version PHPCLI ...
  4. Les loups sont lâchés. Je prédis d'autres failles sur SMBv2 (bon là je triche un peu ;).
  5. Et vive la France, puisque tous les acteurs de la chaine sont francophones ! Laurent Gaffié (on m'a dit qu'il était québecois, mais je ne le connais pas personnellement), Kostya Kortchinsky et Nicolas Pouvesle.
[*] Est-ce que Microsoft a vraiment "raté" cette faille ? Pas tout à fait sûr, puisque la faille a été corrigée dans Windows Seven entre la RC et la RTM. Reste à savoir si cette correction a été apportée sans comprendre l'impact de la faille ("à la Linux"), ou si Microsoft a tout à fait compris l'enjeu ... et décidé de passer la faille sous le tapis, ce qui serait vraiment malhonnête de la part d'une société qui prétend donner des leçons de sécurité à tout le monde !
PS. Bienvenue aux lecteurs de la newsletter XMCO n°23 :)

mardi 15 septembre 2009

Je suis fâché contre Dell

Ces derniers temps, mes collègues et moi avons eu plusieurs expériences malheureuses avec Dell: délais de livraison allongés de manière incompréhensible, supports technique et commercial totalement inutiles, disponibilité des pilotes Vista plusieurs mois après la sortie du matériel (alors que la machine est livrée par défaut sous Vista), conception matérielle douteuse (ex. connecteurs trop fragiles), etc.

Mais sur le site de Dell, franchement, on est à la limite de l'escroquerie:





Ecrire le tarif de la hotline en noir sur fond noir, ça ne doit pas être très légal, surtout à 0,15€/mn.

Edit: pour les gens qui ne veulent pas installer Flash (excellente idée au demeurant) ou qui ne peuvent pas installer Flash, voici les screenshots.


vendredi 4 septembre 2009

Message aux lecteurs de DC

Désolé pour ceux qui ne connaissent pas "DC", cela ne devrait toutefois pas les arrêter de lire la suite (j'essaie d'éviter les private jokes autant que possible).

"DC" est de la génération W: il blogue par email. Il a toutefois la courtoisie de ne pas mettre tous ses destinataires en copie ouverte, contrairement à d'autres (ce qui me vaut au passage l'insigne honneur d'avoir mon email publié dans ZF05).

A la lecture de sa dernière lettre, il m'a semblé opportun de dissiper ici les malentendus qu'ont pu engendrer un billet antérieur, interprêté comme une tentative de troll, voire une résurrection de l'analogie éculée entre industrie informatique et industrie automobile (cf. commentaires du susdit billet).

Pourtant mon propos initial était brûlant d'actualité (c'est d'ailleurs le propre d'un blog): il s'agit de l'irruption des Etats dans le domaine de la Sécurité des Systèmes d'Information (Obama en étant le champion).

En effet, jusqu'à présent, on ne peut pas dire que le pouvoir politique ait beaucoup contribué au domaine de la SSI. Aucun homme public n'a signalé (à ma connaissance) s'il était pour ou contre le full disclosure, un sujet qui a pourtant fait circuler beaucoup d'électrons ...

Quant au pouvoir judiciaire, il s'intéresse essentiellement aux crimes et délits "de la vraie vie" ayant parfois un support informatique (vol, chantage, racket, pornographie, etc.). Si vous souhaitez porter plainte pour négligence contre Debian, allez expliquer au juge que vous avez été compromis à cause d'une défaillance dans le générateur d'entropie d'OpenSSL !

L'essentiel de l'action publique visible dans le domaine de la SSI se limite à la certification Critères Communs de quelques systèmes cryptographiques, essentiellement matériels.

Mais l'informatique a un problème de fond, qui s'appelle le COTS.

Car dans tous les domaines numériques, c'est désormais le marché "grand public" qui dicte les choix technologiques. Et les Etats (ce qui inclut l'administration, la police, l'armée, etc.) ne font pas mieux: ils utilisent Windows (ou Linux). Ils ont confiance dans leurs antivirus. Ils utilisent du WiFi, du BlueTooth et du GSM. Ils utilisent BlackBerry. Ils utilisent Internet (voire des Livebox) comme réseau de transport pour les liaisons point à point. Ils ont des sites Web publics (qui ne sont plus éteints la nuit). Même la Chine, qui prétend utiliser son propre système d'exploitation, n'a fait que repackager un FreeBSD.

Bien sûr, il n'y a pas que les Etats qui sont dans cette situation. Toutes les industries, y compris les plus critiques, reposent sur des réseaux Windows (plus ou moins) connectés à Internet. Je ne suis pas spécialiste SCADA, mais je connais un peu le réseau inter-aéroportuaire SITA. Ainsi que le grand usage d'Excel (et de ses macros) dans les banques.

Compte-tenu du coût, de la pauvreté de l'offre de solutions (sérieuses), et de la technicité requise pour assurer un bon niveau de sécurité dans un réseau de technologies COTS, il n'y aucune raison pour que "ce soit mieux ailleurs".

Après tous, un botnet de quelques milliers de machines arrive à éteindre Facebook (on notera là encore l'effet de levier du grand public sur l'informatique professionnelle). Or c'est à la portée de n'importe quel lycéen. Et il n'y a aucune raison pour que impots.gouv.fr soit mieux protégé contre les DDoS que Facebook.

Dans ces conditions, il est évident que la SSI est devenue un enjeu majeur pour les Etats. Mais là, plutôt que de légiférer (intelligement) sur le sujet (une fonction régalienne assez pratique), il semble que la politique actuelle soit plutôt ... de commencer à jouer sur le terrain technique de la SSI !

Il est vrai que voter des lois nationales pour les appliquer à un réseau international (et de fait contrôlé par les acteurs américains du domaine: Microsoft, Cisco, Google, VeriSign, etc.) semble voué à l'échec, sauf à construire un Internet français. Malheureusement, la Chine a été trop critiquée sur le sujet pour qu'on puisse ouvertement mettre en place les mêmes solutions chez nous.

Mais de là à espérer résoudre le problème par une contre-attaque technique ... cela suppose que l'Etat soit le plus fort dans le domaine, ce qui est loin d'être prouvé compte-tenu de la nature asymétrique des menaces numériques: les COTS sont tellement fragiles qu'un petit groupe organisé peut causer des dégâts considérables.

Quelques exemples d'actualité, dans lesquels l'Etat assume la responsabilité de logiciels COTS oeuvrant dans le domaine de la sécurité:
  • Les "mouchards numériques" imaginés dans LOPPSI 2. Si le mouchard est logiciel, une confrontation inévitable va s'en suivre avec les éditeurs antivirus (et assimilés). Il n'est pas sûr que l'Etat arrive à développer des backdoors indétectables sur le long terme par tous les outils de contrôle d'intégrité du marché.
  • La détection des téléchargements illégaux dans le cadre de la loi HADOPI. La collecte et le traitement des données ont été confiés à une société privée. Quelles conséquences si cette base de données (voire le système en amont chez les FAI) est compromise ?
  • La CSPN. Ce qui au départ devait être une certification administrative de type Critères Communs (tous ceux qui se présentent finissent par l'avoir ... tôt ou tard !) se transforme ni plus ni moins en une collecte de failles d'implémentation dans des produits COTS (un ZDI-like français ? Mais que va faire VUPEN !). Je ne peux pas croire que seuls 3 produits se soient présentés depuis la création de cette certification: l'Etat doit donc disposer d'un sacré stock de "0day" :) Car par expérience: "tout produit qui n'est pas un produit de sécurité, et qui n'a pas été conçu par des gens de la sécurité, est truffé de failles de sécurité" ...
  • L'ANR SEC&SI. Ou comment essayer de régler le problème des malwares sur Internet en proposant à Mme Michu un système ultra-sécurisé, permettant de lire son mail, d'ouvrir des documents (Open)Office et de surfer sur Internet en toute confiance. C'est une lourde responsabilité pour l'éditeur d'une telle solution, comme en ont fait les frais les Chinois avec leur logiciel de filtrage Green Dam. La mission n'est pas totalement impossible, si on oublie tout critère d'ergonomie et de convivialité (laissez tomber Flash) ... mais Windows Seven n'est-il pas déjà assez sécurisé pour ce qu'on fait sur Internet ? ;)
Tous ces projets ont en commun d'impliquer l'Etat à très bas niveau (technique) dans le domaine des technologies "grand public". Imagine-t-on un jour un produit antivirus certifié CSPN et recommandé sur le site de l'ANSSI ? Même si l'objet de la CSPN est différent, on sait ce qui est arrivé à tous les gens qui ont annoncé être unbreakable.

Je ne parlerai pas des projets de cyber-guerre, qui impliquent de doter les services de l'Etat de capacités offensives. Un gradé américain avait quand même proposé que tout bon patriote installe le bot officiel du gouvernement américain sur son poste, pour donner à son pays la capacité de lancer des DDoS ! La sécurité des COTS est dans un état tellement lamentable que l'attaque est plusieurs ordres de magnitude plus facile que la défense, la cyber-guerre devrait donc réussir.

Le vrai problème, et ce sera ma conclusion pour aujourd'hui, ne sont pas les mérites respectifs de l'industrie automobile et de l'industrie informatique. Le vrai problème, c'est que l'Etat semble désormais décidé à vouloir faire régner l'ordre numérique, et choisit pour cela d'oeuvrer dans les domaines techniques de la SSI. Mais s'il est possible de rentrer dans la police sans aucun diplôme, il n'est pas 1% des élèves issus des écoles d'informatique qui n'aient le hacker mind (les autres voulant pour la plupart devenir chef de projet Java ou PHP).

Il reste donc à savoir si l'Etat a les moyens de ses ambitions. Or si le peu de gens brillants et motivés qui restent quittent le pays pour trouver beaucoup mieux ailleurs, comme mon précédent billet s'en faisait l'écho, cela ne me semble pas de bon augure.

On m'objecte souvent que la majorité des excellents professionnels qui oeuvrent en France sont totalement invisibles. Ce qui est probablement exact, car j'ai déjà rencontré des gens dont le nom n'apparait pas une seule fois dans Google et dont les compétences ne peuvent pas être mises en doute. Mais alors, à quoi sont utilisées ces compétences ?

PS. Je ne rentrerai pas dans le débat sur les causes de l'échec de Multics, dont il est aussi question dans le message de "DC" :)

lundi 24 août 2009

L'envers du décor

Quand j'étais petit, je pensais que le problème de la sécurité était résolu (c'était plus facile à l'époque, il faut dire).

Je mettais à jour ma machine dès que possible, je n'avais aucun port ouvert sur Internet, des mots de passe robustes, et un antivirus (déjà !). A l'époque les navigateurs ne posaient pas problème: l'historique de sécurité de NCSA Mosaic est pour ainsi dire vierge :)

Plus grand, je suis sorti d'école sans savoir rien faire et je suis donc devenu consultant en SSII (comme beaucoup de jeunes diplômés). J'ai ainsi pu distribuer des conseils à des gens qui semblaient persuadés que j'en savais plus qu'eux - ce qui était malheureusement probablement vrai (note: j'ai un billet sur le jeunisme dans l'informatique en préparation :).

Plus tard, j'ai pris en charge bénévolement l'administration du réseau informatique dans la TPE de ma femme. Avec de vrais utilisateurs complètement étrangers à l'informatique (sauf le commercial, qui a un Mac). Et là, j'ai commencé à voir l'envers du décor ...

Maintenir en sécurité - et donc à jour - un parc logiciel de taille même modeste relève de la gageure avec les outils logiciels qui nous sont proposés aujourd'hui par les éditeurs.

Microsoft facilite vraiment la tâche des administrateurs avec l'installation automatique des correctifs pour tous leurs logiciels, avec ou sans WSUS, et le déploiement centralisé d'applications.

De mon point de vue, la palme de l'horreur dans le domaine revient sans conteste aux logiciels Adobe (Acrobat Reader et Flash particulièrement, ainsi que ShockWave récemment). Ces logiciels sont victimes de la combinaison des facteurs suivants:
Se protéger nécessite au minimum de mettre à jour et de diminuer la surface d'attaque de ces logiciels.

En ce qui concerne la mise à jour, c'est la croix et la bannière. Le système de mise à jour automatique (intégré) nécessite d'être administrateur local du poste. Et l'utilisateur final doit prendre la décision de mise à jour, au travers d'une boite de dialogue - échec.

En ce qui concerne Flash, un fichier d'installation ".msi" est disponible, ce qui permet d'utiliser les fonctions natives de distribution logicielle dans Windows et de contourner les problèmes précédents.

Ce qu'on sait moins, c'est que la distribution de ce fichier ".msi", même en entreprise, est soumise à accord préalable et discrétionnaire de la part d'Adobe !

En ce qui concerne Acrobat Reader, c'est l'enfer.

Les seules versions téléchargeables en format ".msi" sont les versions 9.1.0 et 8.1.3. Enfin je crois, car l'ergonomie du site Web d'Adobe laisse à désirer ... On peut passer par ici ou par là pour récupérer ces versions mais il existe peut-être des portes dérobées.

Quand je dis ".msi", il faut comprendre une version compressée avec NOSSO dans laquelle il est possible de trouver le ".msi" après quelques manipulations (notez que la documentation d'installation d'Acrobat Reader est elle-même au format PDF :) ... Sans parler de la version anglaise d'Acrobat Reader, qui installe également AIR si l'on n'y prend garde.

Au jour où j'écris ces lignes, les seules versions d'Acrobat Reader sans bogue connu et publié sont les versions 9.1.3 et 8.1.6. Pour arriver à ces versions, il faut télécharger des correctifs au format ".msp". Passons sur le sans-débit (<= 56K) qui a récupéré une version d'Acrobat Reader sur un CD AOL: il ne peut pas être à jour sans télécharger presque 100 Mo de correctifs.
L'organigramme d'application des susdits correctifs ne suit aucune logique. Certains correctifs nécessitent de disposer de la version N-1, d'autres peuvent être appliqués sur les versions N-1, N-2 ou N-3. Ce qui cause visiblement des problèmes.

Après avoir appliqué tous les correctifs et redéployé entièrement l'application, reste le problème de la défense en profondeur: la désactivation de JavaScript dans Acrobat Reader (mesure conservatoire nécessaire mais non suffisante par les temps qui courent).

Cette opération s'effectue dans la base de registre au travers de la clé bEnableJS, dont l'emplacement exact varie d'une version d'Acrobat Reader à l'autre.

Vous trouverez des modèles d'administration (fichiers ".adm) "tout fait" sur Internet vous permettant de régler ce paramètre. Seul problème: une fois le fichier ".adm" chargé dans la console de gestion des stratégies de groupe, aucun paramètre n'est visible ...

Je vous donne les trucs que personne ne documente (applicables au moins à Windows 2003 R2):
  • Le parser de fichiers ".adm" étant ce qu'il est, il faut obligatoirement terminer par un retour à la ligne (sinon le dernier caractère de la dernière ligne est omis).
  • Les clés de base de registre n'étant pas des sous-clés de "Software\Policies" ne sont pas affichées par défaut. Il faut changer le filtre d'affichage dans la GPMC.
Ce dernier comportement s'explique par le fait que les modifications apportées ailleurs que dans "Software\Policies" sont permanentes (ce que Microsoft appelle le "tatouage" de la base de registre). A contrario, les paramètres gérés par une politique sont appliqués dynamiquement.

Tout ça pour qu'à l'ouverture d'un fichier PDF contenant un JavaScript, l'utilisateur se voie proposé de le réactiver "afin de bénéficier de toutes les fonctionnalités du document" ...


Mais au moins, Acrobat Reader a l'avantage sur Flash (et sur FireFox, accessoirement) d'être configurable par la base de registre, et non par une saleté de fichier binaire ".sol" configurable uniquement en passant par le site d'Adobe !

Si j'avais un seul message à faire passer à Adobe, cela serait probablement "with great power comes great responsibility" ...

Quant à moi j'en tire les conclusions suivantes:
  • La sécurité est un échec.
  • Il est impossible d'être un bon auditeur sans être un excellent administrateur.
  • Personnellement, je désinstalle Flash à chaque annonce de faille pour être sûr de toujours récupérer la dernière version au moment où j'en ai vraiment besoin.
  • Et enfin, le réseau de ma femme est probablement plus sûr que celui des entreprises du CAC40 ... la sécurité est un échec, à nouveau !

lundi 17 août 2009

Faut-il passer à Windows Seven ?

Très franchement, je n'en sais rien :) Mais la question se pose, puisque 2 personnes proches, n'ayant jamais acheté de logiciel auparavant, se sont payés un Windows Seven en précommande.


Le système est disponible depuis le 7 août pour les abonnés MSDN/Technet+. Il était même "dans la nature" quelques jours avant suite à une fuite (il ne serait probablement pas illégal vous donner le lien, vu que c'est la clé de licence qui contrôle tout, mais n'étant pas juriste je préfère m'abstenir :).

Il est clair que la première impression est plutôt bonne: pas d'écrans bleus, système fluide sur du matériel d'il y a 2/3 ans, bonne ergonomie (moins de prompts UAC, barre des tâches retravaillée), ... Il faut dire que depuis novembre 2006 (sortie de Vista sur MSDN), les constructeurs ont eu le temps de peaufiner leurs drivers.

L'objectif de ce billet est surtout de mettre l'accent sur un choix: soit vous restez sous Windows XP, soit vous passez à Windows Seven. Pour citer la page Wikipedia consacrée à Vista:"Vista est considérée comme l'une des versions les plus calamiteuses de Windows". Et comme le dit un ami risk manager, donc habitué des formules synthétiques: "le monde se souviendra de Windows Vista comme de Windows ME".

Windows Seven offre le noyau et l'habillage graphique de Vista, les bogues en moins, et certaines features en plus: Direct Access (tunnel IPv6 équivalent à un VPN), mode Windows XP (basé sur Virtual PC), etc.

Bien sûr, tout n'a pas été corrigé. Il reste impossible d'importer une photo individuelle depuis un appareil photo numérique sans synchroniser tout le contenu. Il reste donc nécessaire d'avoir un appareil familial et un appareil porn^H^H^Herso (on peut en conclure que les développeurs Microsoft n'ont pas de famille, ou pas de relations sexuelles, au choix :).

Mais aujourd'hui, démarrer une migration vers Vista ne fait plus aucun sens. D'autant que le dernier Service Pack est prévu pour 2010, et la fin de support mainstream pour 2012.

Reste la question de la migration éventuelle vers Linux, comme certains collègues me le rappellent tous les jours.

Malheureusement, outre les arguments traditionnels en défaveur de Linux [*], ce système prend cher en ce moment [1][2][3][4]. Depuis que Google a décidé de s'en servir comme base pour ChromeOS (à moins que ce ne soit le projet SEC&SI qui ait tout déclenché :), ils se rendent compte que tout reste à faire en matière de sécurité, à commencer par sensibiliser le Chef de Patrouille (a.k.a. Linus). Pour paraphraser l'ineffable Dave Aitel: "Right now, Linux kernel security is 5 years behind Windows".

Bien sûr, Thomas Garnier nous avait démontré que le noyau Windows connait les mêmes problèmes. Mais depuis qu'il a été recruté par Microsoft, tout va mieux !

PS. Avec la sortie de Seven (et 2008R2), Microsoft en a profité pour faire le ménage dans son stock de bogues (certains ont plus de 2 ans !). Alors si vous avez dansé tout l'été, patchez maintenant !

[*] impossibilité de gérer de manière centralisée des parcs étendus, incompatibilité des applications professionnelles dominantes, coût de formation des utilisateurs et des exploitants exhorbitant, absence de socle logiciel stable (ex. pilotes graphiques), etc. Laissons le troll en paix :)

vendredi 7 août 2009

Casser du WPA comme l'élite

Vous avez téléchargé la BackTrack, mais vous n'avez toujours pas réussi à trouver la clé WPA de votre voisin ...

Vous avez appris le CUDA, mais vous n'avez toujours pas réussi à trouver la clé WPA de votre voisin ...

Vous avez appris le VHDL, optimisé le placement/routage de votre Virtex-4 à la main, mais vous n'avez toujours pas réussi à trouver la clé WPA de votre voisin ...

Et pendant ce temps, l'élite du hacking craque une clé WPA en 10 secondes avec 1 seul paquet ... 1 paquet pour trouver l'adresse MAC du client légitime, et une paire de jumelles pour lire la clé du voisin !

(Photo réalisée sans trucage - pour ceux qui n'ont pas l'habitude, il s'agit d'une LiveBox avec son sticker d'origine mentionnant la clé WPA)

Comme quoi HADOPI a du bon: cette loi va opérer une sélection naturelle des gens qui conserveront le droit d'accès à Internet. La qualité globale du réseau ne peut que s'en trouver améliorée !

PS. Pour les esprits chagrins qui lisent ce blog, s'il y en a: je n'utilise pas la connexion WiFi des voisins. D'ailleurs la clé WPA se trouve en dessous de la LiveBox et pas sur le côté :)

lundi 27 juillet 2009

La preuve que la sécurité est un échec

Pour ceux qui ne lisent pas (ou plus) la liste de diffusion Full Disclosure, voici la version courte de l’histoire : un « groupe » se faisant appeler « anti-sec » lance une guerre totale contre les « white hats » (les gentils hackers, si toutefois cela a un sens) et le « full disclosure ». Une telle initiative refait surface de manière périodique, la dernière en date étant le « pr0j3kt m4yh3m » (tout un programme).

Comme preuve de leur motivation, ils ont saccagés quelques sites à forte visibilité : Astalavista, ImageShack … le dernier en date étant la crème du consulting américain en sécurité informatique : la société Matasano.

Cette histoire est emblématique à plusieurs titres.

Tout d’abord la réponse à « pourquoi la sécurité est un échec » se voit une n-ième fois confortée : toutes ces attaques sont basées sur la découverte d’un mot de passe faible par brute-force SSH, n’en déplaise à ceux qui pensaient avoir trouvé un « 0day » exploitable en préauth dans SSH sur un Linux 64 bits avec le patch GrSecurity appliqué …

N’oublions pas le cas de Twitter, qui aurait pu simplement « disparaitre » du Web à la suite de la compromission d’un mot de passe (heureusement que cette attaque était le fruit d’un individu isolé plutôt bien intentionné).

Ensuite le cas de Matasano laisse songeur, surtout lorsqu’on voit que le même système est utilisé pour de l’hébergement Web, de la messagerie … et le stockage de données d’audit client (ex. « ISA Pen Test Availability_13_Feb.xls »).

La sécurité est un échec car personne, quel que soit son niveau de compétences et l’énergie investie dans l’administration de ses systèmes, ne peut prétendre être invulnérable. D’ailleurs vous ne m’entendrez jamais dire « fu^H^Hhack me I’m famous », car je sais trop bien que vous y arriveriez :)

Des exemples ?

On lit dans la presse que divers réseaux de sensibilité extrême sont piratés (DoD, FAA, système de paiement, …). C’est bien sûr totalement invérifiable, mais crédible. Ayant eu l'occasion de m'intéresser à quelques réseaux sensibles vaguement connectés à Internet (SITA, réseaux satellitaires, etc.), il s’avère qu’ils sont tous de même niveau de sécurité que le réseau bureautique moyen … l’expérience des attaques en moins !

Prenons quelques exemples publics et vérifiables :

  • Le site « j’aime les artistes ». Un(e) ministre ayant commis l’erreur de prétendre ce site inviolable, il a été immédiatement mis hors d’usage.
  • La société « Extelia ». Après avoir gagné l’appel d’offres HADOPI, cette société et tous ses sites clients ont immédiatement été piratés.
  • Le (défunt) Challenge Securitech. Bien sûr faire converger tous les « experts en sécurité » français (soyons clair, Securitech était devenu très « corporate » sur la fin :) sur un site où ils peuvent gagner un iPod en piratant était dangereux. Mais se faire avoir parce que l’hébergeur a désactivé l’option « magic quotes » est un peu humiliant quand même :)
  • Le blog d’Ivanlef0u. En même temps, je ne vois pas qui peut assurer la sécurité d’un hébergement mutualisé en PHP. Ils serait plus facile de compiler OpenOffice sous OpenBSD.
  • Edit: n'oublions pas la fameuse démo du projet SPAClik au SSTIC'09. "Aucune faille n'a été trouvée dans mon système jusqu'à présent". On connait la suite, avec l'humiliation en direct sur scène.
Quel est le point commun entre tous ces cas ? La dépendance du niveau de sécurité global à celui des tierces parties impliquées.

Ainsi dans mon cas, je suis dépendant de :

  • La sécurité de ma Freebox (autant dire pas grand-chose, puisqu’elle est administrable à distance par au moins tout le personnel de Free).
  • La sécurité de mes fournisseurs de messagerie (Free, Gmail, etc.). Autant dire pas grand-chose non plus, même si j’utilise de fausses réponses aux questions secrètes, que je ne lis jamais mon mail via l’interface Web, et que j’utilise un mot de passe différent sur chaque site. Car réaliser un Webmail sécurisé relève de la mission impossible.
  • La sécurité de mes machines à la maison. Ainsi « on » m’a fait remarquer que dans la configuration Debian par défaut du serveur ProFTDd, l’utilisateur anonyme peut accéder à tout le disque par un simple « ../ ». Mais qui fait encore confiance à Debian pour assurer sa sécurité ? :)

Alors que peut-on faire ? Rien du tout, car en général il suffit que l’un de ces maillons soit brisé pour que le château de cartes s’écroule par le jeu des relations de confiance. La meilleure défense consiste à ne rien stocker de sensible qui ne soit accessible en ligne, car tout ce qui est connecté à Internet est ou peut être compromis.

Pour tenter une analogie (avec tous les risques que cela comporte), les digicodes ne servent à rien quelle que soit la longueur du code - à partir du moment où au moins un résident de l'immeuble a déjà commandé une pizza par téléphone (disclaimer: je n'ai jamais audité le réseau Pizza Hut, je suppose juste que tous les digicodes sont stockés en clair dans leur base de données :).

Alors quand on voit le nombre d'intermédiaires impliqués dans la gestion du réseau Internet en France, on peut se poser des questions sur la sécurité même de nos infrastructures critiques ...

(Que serait un billet polémique qui ne se termine pas sur impots.gouv.fr ? ;)

Edit: je n'avais pas vu que le magazine Capital était arrivé exactement à la même conclusion ! Promis je n'étais pas au courant ...

vendredi 24 juillet 2009

Psychose

Pour commencer, il vous faut écouter cette séquence avec attention (il s'agit d'un distributeur de billets de marque Diebold situé à Paris, strictement identique à tous les distributeurs déployés par la Société Générale en France):



Si vous êtes utilisateur Windows, vous aurez reconnu sans peine le son "chimes" (C:\Windows\Media\chimes.wav) émis par ce distributeur (par dessus le bruit ambiant, désolé pour la piètre qualité de l'enregistrement).

Que viennent faire ici ces sons assez saugrenus, à part nous signaler que le distributeur tourne probablement sous une version quelconque de Windows Embedded (ou que la licence Microsoft a été violée) ?

A la lecture de l'article "organiser la fuite d'information d'un poste isolé: méthodes logicielles" - et particulièrement du chapitre "attaque via le jingle Windows" (MISC n°44, entièrement lisible en ligne à cette adresse), un doute horrible me saisit: et si ces sons servaient de stégo-medium à mon code PIN ?

Depuis, je ne vais plus retirer de l'argent sans chanter à tue-tête quelque musique nordique conseillée par Ivanlef0u. En l'état actuel des connaissances, aucun algorithme de traitement du signal ne peut extraire d'information utile dans ce bruit blanc.

vendredi 3 juillet 2009

L'échec de la sécurité française

Ou pourquoi il faut arrêter de me saouler avec les "0day" ...

Les français ne manquent pas de talent dans le domaine de la sécurité informatique. Malheureusement ils ne s'épanouissent pas forcément dans leur pays d'origine. Parmi les gens que j'ai connu personnellement et qui sont partis, on peut citer:
  • Kostya Kortchinsky
D'abord CERT Renater, puis EADS, et maintenant Immunity (à Miami). Il s'est illustré par l'exploitation de la faille MS08-001 (qualifiée d'impossible par Microsoft) et l'évasion de VMWare (attaque CloudBurst).
  • Nicolas Pouvesle
Anciennement Tenable Network Security (n'oublions pas que Nessus est un produit français à l'origine), cité par H.D. Moore comme "Top Influencer", contributeur du projet Metasploit, auteur du plugin PatchDiff2 pour IDA Pro ... et maintenant chez Immunity également.
  • Thomas Garnier
Anciennement SkyRecon (un autre produit français), auteur de failles innombrables dans le composant GDI de Windows, il est parti chez Microsoft Corp. lors de la reprise en main de SkyRecon.
  • Julien Tinnès
Anciennement FT R&D, il est parti (comme beaucoup d'autres) chez Google lorsque cette entité a été rattachée au marketing sous le nom d'Orange Labs. Il s'est illustré récemment sur la faille Java util.calendar(), mais tourne en fait dans le milieu depuis longtemps.
  • Julien Vanègue
Chef de file du projet ERESI, il a fini par virer sa cuti et rejoindre l'équipe MSEC de Microsoft.


Bien sûr, il existe encore probablement beaucoup de gens de qualité dans l'underground et l'upperground français. Mais quand je lis que la mise en oeuvre de la LOPPSI va peut-être nécessiter des "0day" pour installer les mouchards à distance, je manque de m'étouffer.

Non seulement la plupart des gens ayant démontré publiquement une certaine capacité dans le domaine sont partis, mais de plus tous les programmes publics d'acquisition de "0day" sont étrangers (américains en fait, sauf feu-WabiSabiLabi).

Si c'est pour faire appel à des projets universitaires, et sans mauvais esprit aucun (je ne suis pas connu pour ça :), on aura peut-être un fuzzer pour les syscalls NT4 dans 3 ans après avoir usé 5 thésards ...

Si c'est pour mettre le flingue sur la table ou la tête dans le caniveau, ça ne marche pas: il est impossible pour un magicien de créer un objet magique sous la contrainte.


Alors bien sûr, quelques initiatives sortent du lot, comme la conférence iAWACS: international Alternative Workshop on Aggressive Computing and Security - The No Limit Workshop, selon leurs termes.

On pourrait imaginer un programme particulièrement alléchant, comme:
Mais j'ai vaguement l'impression que le résultat final sera un peu moins sexy ... Espérons que les meilleures soumissions se verront exploitées sans passer par la case "publication" !


Pour finir, je campe sur ma position qui a toujours été claire depuis le début: les "0day" ne servent à rien (dans 99,9% des cas, je mets de côté le cas des systèmes vraiment protégés).

Ainsi le dernier numéro (n° 4/2009) du magazine Hakin9 m'est arrivé en anglais. Erreur de routage ou disparition de la version française ? Peu importe, la version anglaise est finalement comparable à la version française: les articles sont extrêmement inégaux en qualité (sur le fond et sur la forme).

Et là, un certain Carsten Köhler (visiblement très actif par ailleurs) nous délivre ses tricks de pentesteur, et explique par exemple qu'il est possible de créer des fichiers arbitraires sur n'importe quel système Windows qui partage au moins une imprimante.

Je reviendrai plus tard sur les détails techniques, mais voilà exactement le genre d'astuce qui marche "pour de vrai": une faille de conception (donc très difficile à corriger), multi-versions, multi-langues, ne risquant pas de planter le système distant, exploitable via les API Windows. Rien à voir avec un "0day" au sens où on l'entend d'habitude !

lundi 29 juin 2009

IKEArt

Je suis en vacances en ce moment, ce qui explique que je ne blogue pas (et que je ne suis pas à Hacker Space Festival). Mais ne vous inquiétez pas, j'ai toujours des choses à dire !


En attendant, voici un peu d'IKEArt (j'étais assez fier de moi sur le coup :)

mercredi 27 mai 2009

Spam fail

Je ne prends plus la peine de commenter la créativité et la diversité des messages commerciaux non sollicités (spam) que je reçois, par manque de temps pour bloguer. Mais c'est souvent un plaisir que de parcourir la boite à spam en début de matinée, tout en sirotant 1L de café lyophilisé (je reçois environ 800 spams par jour).

Pour ceux qui ne connaissent pas le client de messagerie Outlook, sachez que Word est l'éditeur de courier par défaut (s'il est installé). Ce qui offre des possibilités intéressantes, comme une correction orthographique et grammaticale de qualité.

Mais Word dispose de bien d'autres fonctions. C'est ainsi que j'ai récemment reçu un spam dans lequel ... le mode "révision" était activé ! Ce qui permet de connaitre toutes les modifications antérieures du message.


Spam fail.

Allez, pour la route, voici une capture d'écran du message s'affichant sur le Hotspot WiFi de la Cité des Sciences il y a quelques mois (merci Arno pour cette perle).

vendredi 22 mai 2009

Un avis d'expert sur HADOPI

Déjà être expert ça n'est pas grand chose - après tout il y en a environ 325 millions d'après Google. Pas comme les Senior Experts, les Executive Experts ou les Technical Evangelists :)


Ensuite le débat est clos, puisque la loi a été votée. L'avenir est à la LOPPSI 2 (avec deux 'P', puisque cela signifie Loi d'Orientation et de Programmation Pour la Sécurité Intérieure).

Enfin je n'ai pas lu le texte de loi, car le juridique est un domaine rébarbatif au possible pour les non-juristes (sauf ceux qui aiment à placer quelque locution latine au milieu d'un slide PowerPoint, mais ils se font rares).

Mais comme les trolls restent nombreux et poilus en cette saison, essayons de réfléchir 5 minutes aux moyens techniques d'empêcher le téléchargement d'oeuvres dites "protégées" (essentiellement films et musiques) - dont l'objet est par ailleurs d'être diffusées le plus largement possible.

Le texte de loi semble orienté à l'encontre du téléchargement. C'est une méthode comme une autre, car dans les années 80 circulaient déjà dans les cours de récréation disquettes Atari ou Amiga. Dans les années 90 ce furent les "LAN parties" qui favorisaient les échanges, puis au début des années 2000 il n'était pas rare de voir circuler pochettes ou spindles de CD dans les soirées. Depuis, tout le monde s'est converti au disque externe de 1 To (ou plus). Une taxe a d'ailleurs été votée en son temps sur les supports de stockage. L'échange via Internet avec des inconnus est certes plus pratique, mais finalement moins socialisant ...

Notons que le "téléchargement" reste une notion assez vague, le peer-to-peer (P2P) ne représentant qu'une partie de l'iceberg composé du streaming, des newsgroups, du téléchargement direct (ex. RapidShare) parfois payant, voire du piratage de iTunes par des chinois.

Il serait donc techniquement nécessaire de contrôler tous les usages d'Internet. Pour cela, il existe 3 solutions (non mutuellement exclusives):
  1. Contrôler le serveur source (par exemple, mettre en place un faux serveur eDonkey). Cette solution - pratiquée par des sociétés comme MediaSentry - est légalement douteuse et ne passe pas à l'échelle, vu la prolifération de l'offre.
  2. Contrôler le réseau. Une solution très alléchante, mais qui présente deux inconvénients: elle ne supporte pas la cryptographie ; et elle nécessite une infrastructure technique de filtrage et de journalisation (à valeur probante) considérable, pour laquelle ni l'Etat ni les FAI ne sont prêts à payer.
  3. Contrôler le client final. Cette solution résout les deux problèmes précédents. C'est un peu le Cloud Computing appliqué à la cyber-surveillance :)
La solution #2 est moins coûteuse à mettre en place si le système de contrôle est implanté directement dans la fameuse "box" Triple-Play que fournissent tous les FAI français. Et quoi qu'en dise Rani, peu de gens la remplacent par un modem standard, sous peine de perdre la téléphonie et la télévision. Ce dernier point est d'ailleurs assez surprenant, car il serait assez simple de prendre une carte ATM et d'y ajouter les couches logicielles "qui vont bien" (SIP, etc.) pour récupérer la fonctionnalité Triple-Play. Ou de modifier une box existante pour y intégrer un firmware libre.

Mais la solution #2 est globalement inapplicable, car si elle se sait, tout le monde installera son modem ADSL de secours "spécial téléchargements".

La solution #3 est celle qui semble explorée par HADOPI. Elle présente de nombreux défis techniques qui me semblent impossibles à relever en l'état actuel.

Le système de contrôle peut être logiciel ou matériel. Cette dernière solution n'est pas totalement aberrante techniquement, puisque des constructeurs intègrent déjà des solutions comme CompuTrace, ou un deuxième système d'exploitation virtualisé, dans leur BIOS. Mais elle imposerait d'acheter un matériel agréé par l'Etat pour accéder à Internet, ce qui est délicat du point de vue de la concurrence ... sauf si les spécifications sont publiques et largement implémentées, ce qui ne va pas se faire en un jour (et probablement jamais).

Et puis en 2009, on voit mal l'Etat distribuer un PC à chaque foyer comme on a pu distribuer des Minitel :) - d'autant qu'il n'existe plus aucun constructeur de matériel français.

Enfin rien ne saurait empêcher un français d'acheter son matériel n'importe où dans la communauté européenne. Il faut donc partir du principe que le matériel connecté n'est pas maitrisé.

Une solution intermédiaire serait de disposer d'un matériel additionnel permettant le contrôle des usages sur tout PC standard. Pourquoi ne pas envisager un crypto-processeur intégré à la future carte d'identité électronique par exemple ? Les coréens (du Sud) le font bien pour poster des commentaires sur YouTube (chacun ses problèmes). On peut aussi distribuer un Globull à chaque français, pour faire travailler l'industrie nationale :)

Notons que le problème de l'authentification ne se pose pas vraiment, puisque le titulaire de la ligne est réputé responsable de toute activité Internet depuis celle-ci, sauf s'il apporte une preuve contraire. Il n'est donc pas nécessaire de déployer du 802.1x avec authentification par carte d'identité à l'échelle de l'Internet français :)

En ce qui concerne l'idée d'un mouchard logiciel, elle est vouée à l'échec pour plein de raisons, dont les principales sont: compatibilité et sécurité.

Tout d'abord des cris d'orfraie ont été entendus du côté de l'Open Source lorsqu'il a été question de fournir un mouchard compatible avec Windows uniquement. Mais il s'agit d'un combat d'arrière-garde, car le système qui va dépasser le PC sous Windows en terme d'unités connectées à Internet c'est ... le téléphone portable !

Et là, entre Symbian, Windows Mobile, BlackBerry, Android et l'iPhone, cela devient un casse-tête logiciel, d'autant que la plupart de ces plate-formes sont "fermées" aux développements "bas niveau" principalement pour des raisons de ... DRM (notez l'ironie de la situation).

Ensuite d'un point de vue de la sécurité, l'idée d'un mouchard logiciel laisse rêveur. L'industrie informatique grand public ces 20 dernières années est partie de systèmes non sûrs pour les rendre non sécurisables. En gros, la sécurité est un échec.

Parmi les catastrophes qui pourraient advenir à ce mouchard logiciel, on peut citer le fait que sa sécurité soient contournée (ce qui lui enlèverait toute valeur probante), qu'il soit victime de bogues logiciels mettant en danger la machine sur laquelle il est installée (ça s'est déjà vu avec les antivirus), voire qu'il soit détourné de sa fonction première (le rootkit Sony, ça vous rappelle quelquechose ?).

Et malgré tous les efforts de développement et de certification possibles (que ce soit CSPN ou EAL), le WDK n'est pas écrit en ADA.

La catastrophe majeure serait que le backoffice de l'infrastructure soit compromis. C'est presque ce qui est arrivé au gouvernement australien, qui avait mis en place un filtrage du Web.

L'informatique de confiance est une idée poursuivie par Microsoft depuis longtemps avec le projet Palladium. Bien que Microsoft soit probablement l'acteur le mieux placé pour influencer la sécurité de l'informatique personnelle, une thread récente sur la liste Daily Dave démontre encore que la bataille est loin d'être gagnée, et pas seulement pour des raisons techniques.

Microsoft est effectivement en position idéale pour rendre les services de filtrage attendus sur son propre système, entre Windows Defender (qui pourrait bloquer tout logiciel de téléchargement grand public) et les listes noires intégrées au navigateur Internet Explorer 8. Mais pour des raisons d'image évidentes, je vois mal Microsoft activer une telle infrastructure au service du gouvernement français ...

Enfin se pose anecdotiquement le problème du point de connexion. Je ne parle pas des cyber-cafés, car il est facile de les fermer administrativement, ou de leur imposer un système d'accès à Internet comme en Chine.

Je parle de toutes les connexions qui ne sont pas de l'ADSL opéré par un FAI français. Cela inclut les abonnés AOL (dont les proxies Web ne sont pas en France), les utilisateurs de 3G+ (et bientôt 4G) d'un opérateur étranger en roaming, les utilisateurs du service FON ou Neuf WiFi, voire d'un futur mesh network WiMAX reprenant le concept de feu Paris Sans Fil.

Voilà, je ne doute pas que les commentaires seront nombreux, mais tant qu'ils restent courtois et avisés je suis preneur :)

mardi 7 avril 2009

Rien n'est laissé au hasard

Ceux qui m'ont déjà lu ou entendu savent que je ne manque jamais une occasion de dire que "PHP est la pire régression pour la sécurité depuis 10 ans"(tm).


Or un incident de sécurité est récemment survenu sur une installation de SPIP dans un laboratoire du CNRS. Cet incident, fort bien analysé dans la newsletter "Sécurité de l'Information", pourrait en rester au stade de l'anecdote. Mais à y regarder de plus près, il s'agit d'un exemple flagrant qui vient habilement illustrer cette thèse.

Car le problème vient tout simplement du fait que SPIP gère l'intégralité de sa configuration et des données de session dans un fichier texte à plat, accessible depuis la racine du serveur Web. On peut supposer que ce choix a été contraint techniquement par le manque de fonctionnalités des premières versions de l'interpréteur PHP ... je n'ose croire qu'il puisse s'agir d'un choix conscient et délibéré de la part des développeurs.

Le fichier en question s'appelle meta_cache.txt. Il est normalement protégé par un .htaccess, qui pour plein de bonnes et de mauvaises raisons ne fait évidemment pas toujours son office, comme une rapide recherche Google permet de s'en rendre compte.

Ce fichier contient une variable nommée alea_ephemere qui s'avère essentielle pour la sécurité des opérations sur le site (les détails sont dans la newsletter susmentionnée).

Accessoirement, ce fichier contient également une variable au nom intriguant: secret_du_site.

Une rapide recherche documentaire permet d'approcher (sans toutefois le comprendre) le rôle de cette variable:


A la lecture de cette documentation, la première chose qui me vient en tête c'est cette merveille du 7ème art ...

PS. De source orale, SPIP émule également le mécanisme bien connu des register_globals afin de contourner les configurations PHP un peu trop sécurisées.

samedi 28 mars 2009

Futurologie

En 2006, j'avais imaginé que les protocoles P2P puissent être utilisés comme canal de contrôle résilient par des botnets.


A l'époque, les bots rencontrés dans la nature utilisaient uniquement des connexions HTTP ou IRC vers un serveur statique comme canal de contrôle. Peu de temps après apparaissait le ver Nugache, présenté comme révolutionnaire car basé sur un protocole P2P.

Cette même année 2006, j'avais présenté les risques liés à la monoculture dans le domaine des boxes ADSL (ça ne s'est pas amélioré depuis, avec la concentration du secteur), leurs faiblesses de conception et d'implémentation. Avec une démo live (pour ceux qui s'en souviennent) d'insécurité flagrante liée aux interfaces d'administration exposées sur Internet. Pour planter le décor, la Livebox a pendant longtemps exposé sur Internet un serveur Telnet (sur un port non standard), et le mot de passe root était 1234.

Il semble qu'en 2009, un ver se propage sur des routeurs grand public (Linksys, etc.) dans cette configuration.

Bien sûr je ne peux pas me targuer d'avoir inventé le proxy Web (private joke, désolé), mais voilà qui fait tout de même du bien à l'égo (et un blog est fait pour ça :).

Cette année je m'apprête à prédire que la sécurité informatique va dans le mur à court ou moyen terme ... Je ne pense pas trop me tromper :)

Maintenant la véritable information.

Dans cette analyse du ver susmentionné, on peut lire:
La Freebox est invulnérable face à cette attaque. Selon Free, il n’y a "aucune chance." ;)
On peut lire par ailleurs que la Freebox vient d'ajouter le support du protocole UPnP. Pour résumer l'historique de ce protocole:
  • Failles d'implémentation dans la plupart des modems/routeurs du marché [1] [2] [3]
  • Librairie Open Source non maintenue depuis 2006 (encore utilisée dans de nombreux modems/routeurs du marché).
  • Nouvelle librairie Open Source présentant un historique loin d'être vierge (notez le subtil "Bugfix for M-Search packet" tout en bas).
Ready ... set ... go !

samedi 7 mars 2009

Les gens ne lisent plus (ils jackent)

J'ai découvert par hasard qu'il existait des rétroliens sur ce blog, malgré ma modeste 842,000ème place sur Technorati !

Parmi ceux-ci, un article sur les blogs du site LeMonde.fr (rien que ça !). Et bien figurez-vous que cela m'a apporté 60 visiteurs le jour de la publication, 30 le lendemain, et c'est tout. Ce qui est à peine visible sur le graphe Google Analytics:


Alors qu'une citation sur la liste "Daily Dave", c'est du lourd ! (Environ x3 en audience sur la journée).


Parmi les rétroliens que j'ai découvert avec curiosité:
  • Le visiteur qui s'est perdu ici en utilisant Ethicle, le moteur de recherche qui plante des arbres ...
  • Le site Niouzes, qui syndique le newsgroup "comp.os.linux" (trollomètre au taquet). J'ai le privilège d'y être cité au moins 2 fois [1][2]. Là où ça devient fort, c'est que la référence à ma bâche sur \LaTeX ... est illisible à cause de l'encodage utilisé sur le site (UTF-8 probablement ;).
  • Enfin, le meilleur d'entre tous, le site de Jacques, alias *Jack. Mythique.
Petit conseil à l'auteur: une recherche Google sur "*jacking" devrait être une source inépuisable d'inspiration: Ad-Jacking, WiFi-Jacking (à ne pas confondre avec le Wiki-Jacking), Call-Jacking, Side-Jacking, ... on a même eu droit au Lang-Jacking et au Chirac-Jacking, un moment :)

(Ok, je sors).

vendredi 13 février 2009

Random Rants Against Microsoft

NoDriveTypeAutorun

Pour commencer, je pense qu'il n'a échappé à personne que le ver Conficker utilise (entre autres) la fonction Autorun de Windows (ainsi que la fonction Autoplay - qui n'est pas du tout la même chose) pour se propager.

Et là, nouvel échec de l'industrie de la sécurité: l'US-CERT signale que la clé NoDriveTypeAutorun, mentionnée dans tous les guides de sécurisation Windows depuis plusieurs années, est grosso modo sans effet. Ce qui signifie qu'aucun des auteurs de ces guides de sécurisation n'a testé sa recommandation sur sa propre machine ...

Un patch est disponible sur le site de Microsoft, mais il doit être installé manuellement par l'utilisateur (pas de Windows Update). Et ce patch a été poussé silencieusement dans Windows Vista et 2008 avec MS08-038.

Double fail.

Windows Mobile

J'ai eu l'occasion de récupérer un téléphone sous Windows Mobile 6.1 (passons sur les détails).

Je l'ai prêté à ma femme, car elle pense à abandonner son vieux Sony Ericsson K750i pour un téléphone plus "moderne".

La première chose qu'elle a voulu faire, c'est changer le fond d'écran. Après plus de 10 minutes de recherche infructueuse, j'ai fini par lui expliquer que c'était dans :
Menu Démarrer > Paramètres > Personnel > Aujourd'hui > Image d'arrière plan
Et que non, le menu "parcourir" ne permet pas d'avoir un aperçu des images.

Ergonomy fail.

Versioning et marketing

C'est officiel depuis plusieurs jours, la Beta1 de Windows Seven est disponible.

Il faut savoir que Windows "Seven" a pour numéro de version interne ... 6.1

Et que la mise à jour Vista vers Seven sera a priori gratuite.

Vista fail ?

PS. Pour Internet Explorer, la gestion des versions est encore pire - puisqu'à peu près toutes les versions de navigateur s'installent sur toutes les versions supportées de Windows (XP / Vista / Seven). Alors si vous voulez comprendre comment ça marche, rendez-vous sur le blog Internet Explorer.

GDR vs. QFE

"On" vient de me signaler la différence subtile entre General Distribution Release (GDR) et Quick Fix Engineering (QFE).

La première contient des correctifs et des fonctionnalités supplémentaires (par exemple NAP, apparu dans Windows XP SP3), tandis que la deuxième ne contient que les correctifs.

Le mode QFE peut être forcé à l'installation d'un Service Pack en passant le paramètre /B.

On en apprend tous les jours (je n'ose pas dire expertise fail :).

Les TechDays

Je me garderai de faire un compte-tendu exhaustif des Microsoft TechDays édition 2009, car je suis sûr que d'autres sont déjà sur la brèche. Mes impressions à chaud:
  • Les speakers Microsoft donnent en général l'impression de découvrir les slides (fraichement traduits de l'anglais) à l'écran.
  • Pas un mot sur Vista cette année ! Comme dirait un collègue, "dans 10 ans on le confondra avec Windows ME".
  • Et surtout ... goodies fail cette année :(
Ca reste quand même à voir pour plusieurs raisons:
  • C'est gratuit et bien situé.
  • Tout le monde y est.
  • On peut jouer avec la table Surface (j'ai hâte d'avoir ça dans mon salon).
  • C'est un mélange improbable entre geeks boutonneux (souvent étudiants) et hôtesses comme on en voit pas dans les salons Open Source.
Ceci dit, dans la "vraie vie" (i.e. les entreprises), je rencontre plus souvent des gens bloqués avec des macros VBA sous Word 97 ou des applications Visual Basic 6.0, que des passionnés qui se documentent sur les nouveautés du Framework .NET 4.0 ou Windows Presentation Foundation ...

L'Underground

Parmi les conférences concurrentes des TechDays, il y avait le colloque de l'EPITECH.

Et quand je vois le programme, je me demande ce que signifie underground exactement ...
11h : Table ronde
    * Général Yves Mathian, ancien Directeur Technique de la DGSE
    * Commandant Nicolas Duvinage, Chef d'escadron
(...)
15h30 : Conférence underground : "Vulnérabilités et exploitations avancées"