Canalblog
Suivre ce blog Administration + Créer mon blog

Securité

7 avril 2010

Comment se servir des Flux RSS ?

Aujourd’hui j’ai décidé de vous faire un petit tutoriel sympa et court. Vous allez apprendre à vous servir des flux RSS pour suivre des blogs par exemple, via 2 agrégateurs : Netvibes et Google reader. Nous allons répondre à ces questions : Qu’est-ce qu’un flux RSS ? Qu’est-ce qu’un agrégateur de flux RSS ? Comment s’en servir pour gagner du temps ?

Qu’est ce qu’un flux RSS ?

Un flux RSS est un fichier dont le contenu est produit automatiquement (sauf cas exceptionnels) en fonction des mises à jour d’un site web. Les flux RSS sont souvent utilisés par les sites d’actualité ou les blogs pour présenter les titres des dernières informations consultables en ligne. (merci wikipedia)

Qu’est-ce qu’un agrégateur de flux RSS ?

Un agrégateur (de l’américain aggregator) est un logiciel (dans notre cas un site plutôt, mais il faut savoir que des logiciels existes aussi)  qui permet de suivre plusieurs fils de syndication (flux RSS) en même temps. Dans notre cas, les agrégateurs sont netvibes et google reader.(merci wikipedia)

Comment s’en servir pour gagner du temps ?

Avant les flux RSS, lorsqu’on suivait plusieurs blogs (ou sites), on devait aller manuellement sur chaque site et vérifier si quelque chose de nouveau était présent. Désormais, grâce aux flux RSS et aux agrégateurs (un nom barbare pour quelque chose de simple), les nouveautés sont centralisées dans un même endroit. A la place d’aller sur 10 sites différents, je consulte un seul site qui recense toutes les nouveautés de tous les blogs qui m’intéressent.

Voici une petite image que j’ai trouvé sur internet qui résume bien la situation. Malheureusement en anglais, mais c’est très compréhensible, si j’ai un peu de temps je ferais une traduction.

Voilà, l’article est terminé. Je vous encourage fortement à utiliser les flux RSS, c’est vraiment un outil très pratique, surtout à l’époque du « web 2.0″. N’hésitez pas à suivre le blog via le flux RSS aussi, vous gagnerez du temps :)  .
Si vous avez des questions, laissez un commentaire .

Publicité
Publicité
3 avril 2010

Sécurité Wifi : les bases

I. La nature "insécurisée" des réseaux sans fil

Utilisant les ondes radios pour transmettre le signal, les réseaux sans fils sont naturellement insécurisés. La propagation des ondes à travers les airs ne connait pas le confinement localisé et "physiquement protégé" des réseaux filaires.

Dans cette perspective, il semblait légitime et suffisant d'introduire dans le standard IEEE 802.11 un protocole de sécurité assurant autant d'intimité qu'un fil ... Le WEP ( Wired Equivalent Privacy) n'a d'ailleurs que cette seule prétention.

D'un point de vue pragmatique, les implémentations sans fil sont couramment laissées sans aucune mesure de sécurité. Mise en oeuvre facile et rapide, omission justifiée ou non, ignorance sont des éléments qui expliquent cet état de fait. Il suffit de se promener en rue avec un client wifi pour constater que l'on peut se connecter à l'Internet et aux réseaux locaux sans  aucune difficulté.

A ce titre, la principale menace des réseaux sans fil est celle du "man-in-the-middle" : une attaque à partir de l'intérieur d'un réseau local. Elle se concrétisera par la présence de "points d'accès voyous" ("rogue APs") ou de clients wifi espions.  Ces "intrus" peuvent être placés délibérément avec une volonté de nuisance. Mais le plus grand danger viendrait plutôt des utilisateurs, remplis des meilleures intentions, qui placent du matériel actif pour leur confort personnel ou même professionnel.

Egalement, on citera des attaques bien plus aisées et efficaces à mettre en oeuvre telles que :

  • l'attaque par interférence rendant un réseau sans fil inopérant en polluant l'espace d'ondes aussi puissantes sur le même canal utilisé;
  • l'attaque du déni de service en tentant d'envoyer des trames de contrôle qui rendent les services ou le matériel hors d'usage.

Aussi, la définition d'un SSID ou d'un filtrage MAC sur le point d'accès ne constituent en rien une sécurité suffisante :

  • une écoute du traffic permet de prendre connaissance d'adresses MAC autorisées (l'en-tête de trame contenant les adresses MAC ne sont pas encryptés par le WEP) et de les usurper (spoofing).

D'un autre point de vue, les logiciels (firmware, pilotes, systèmes d'exploitation) peuvent présenter des défauts de conception et des failles exploitables.

Enfin, on verra ci-dessous que le protocole WEP n'est pas exempt de faiblesses, ce n'est pas une nouveauté.  Sans compétence particulière, une attaque WEP peut être menée uniquement avec des logiciels libres (voir Attaques WEP simple).

Quoi qu'il en soit , pour les petites entreprises ou la maison, le WEP sera mieux que rien. Toutefois, le WPA-PSK est largement disponible aujourd'hui et il augmentera considérablement la sécurité de ces petits réseaux.

II. Présentation brève du protocole WEP

Le WEP (Wired Equivalent Privacy) est le protocole initial de sécurité des réseaux WIFI. Il est déclaré dans le document IEEE 802.11. Le standard définit des méthodes d'authentification et d'encryption.

II.a. Authentification

En matière d'authentification, on trouvera deux méthodes :

  • L'authentification ouverte. Il s'agit d'une authentification nulle, pour le principe. Celle-ci consiste seulement à fournir le bon SSID (Service Set ID).
  • L'authentification partagée. Chaque intervenant dispose d'une même clé WEP. Le point d'accès envoie un message en clair au client qui répond avec un message crypté avec la clé WEP. Dans ce cas seul le client authentifie le point d'accès. Il s'agit d'une authentification asymétrique.

II.b. Encryption

"Le cryptage consiste à prendre un message, dit « en clair », et à le soumettre à un algorithme mathématique pour produire un texte « crypté ». Le décryptage est la transformation inverse. Les algorithmes de cryptage se servent le plus souvent d'une valeur, appelée clé, qui sert à crypter et à décrypter les données.

Le cryptage WEP utilise le chiffrement continu RC4 inventé par Ron Rivest de RSA Data Security, Inc. (RSADSI). L'algorithme de cryptage RC4 est un chiffrement en continu symétrique  qui supporte les clés de longueur variable.

Le chiffrement en continu consiste à exécuter la fonction de cryptage ou de décryptage sur une unité du texte en clair (dans ce cas, la trame 802.11b).

Dans le cryptage symétrique, la clé est un élément d'information qui doit être partagé par les unités d'extrémité pour réaliser le cryptage et le décryptage.

RC4 autorise une clé de longueur variable, qui peut atteindre 256 octets contrairement à d'autres algorithmes dont la clé a une longueur fixe. L'IEEE a spécifié que les unités 802.11 devaient supporter les clés de 40 bits, avec la possibilité d'accepter des clés plus longues. Plusieurs constructeurs proposent le cryptage WEP à 128 bits dans leurs solutions WLAN.

Le protocole WEP est un chiffrement en continu, et il est indispensable de disposer d'un mécanisme pour garantir que le même texte en clair ne générera pas le même texte crypté. L'IEEE a stipulé l'utilisation d'un vecteur d'initialisation (IV) qui doit être concaténé avec la clé symétrique avant de générer le texte crypté en continu.

Ce vecteur d''initialisation est un nombre de 24 bits qui prend donc une valeur entre 0 et 16 777 215. L'IEEE
suggère mais n'exige pas de modifier le vecteur d'initialisation pour chaque trame. Comme l'émetteur génère le vecteur d'initialisation sans schéma ni calendrier prédéfini, ce vecteur doit être envoyé en clair au récepteur, dans la partie d'en-tête de la trame de données 802.11. Le récepteur peut ensuite concaténer le vecteur d'initialisation reçu avec la clé WEP (la clé de base) stockée localement pour décrypter la trame de données.

Comme le montre la figure suivante, l'algorithme RC4 ne crypte pas le texte en clair lui-même mais sert à générer un flux de clé unique pour la trame de données 802.11 concernée en reprenant le vecteur d'initialisation et la clé de base comme clé de cryptage. Le flux de clé unique ainsi obtenu est ensuite combiné avec le texte en clair et le tout est transformé par une fonction mathématique appelée XOR qui produit le texte chiffré."

Partie tirée de Cisco SAFE : Description détaillée de la sécurité pour les réseaux locaux sans fil


II.c. La faiblesse du WEP


II.c.1. Une clé statique

Une première faiblesse de la sécurité de base du WIFI est la gestion et la distribution des clés. Un administrateur devra configurer la même clé WEP sur tous les clients Wifi d'un réseau local. On notera que l'identification se fondra seulement sur les périphériques et non sur les utilisateurs.

Primo, la clé WEP unique ne permettra pas d'attribuer des ressources en fonction d'un profil utilisateur. Secundo, un périphique Wifi dérobé remet en cause l'ensemble de la sécurité d'un réseau local en obligeant l'administrateur à reconfigurer l'ensemble des clients. Cette dernière remarque est valable pour tout mécanisme à clé partagée dont WPA-PSK.

II.c.2. Les attaques FMS - attaques passives

"Les cryptoanalystes Fluhrer, Mantin et Shamir (FMS) ont découvert des faiblesses inhérentes à l'algorithme RC4 de programmation des clés. Or l'algorithme RC4 utilisé par WEP se sert d'un vecteur d’'initialisation de 24 bits et ne renouvelle pas les clés de cryptage de manière dynamique.

Fluhrer, Mantin et Shamir ont pu montrer que ces faiblesses pouvaient avoir des applications pratiques dans le décryptage des trames 802.11 qui utilisent WEP. Cette attaque se concentre sur une classe élargie de vecteurs d’'initialisation faibles qui peuvent être générés par RC4 et met en évidence les méthodes qui permettent de « casser » la clé en utilisant certaines formes récurrentes des vecteurs d'’initialisation. L'’attaque appelée attaque FMS – est pragmatique, mais le plus déconcertant est qu’elle est totalement passive. L’'attaque FMS présente la dérivation théorique d'’une clé WEP sur un éventail de paquets – entre 100 000 et 1 000 000 – cryptés avec la même clé."

Des informations techniques sur l'attaque FMS peuvent être obtenues sur :

En améliorant les attaques statistiques mise en oeuvre par Korek avec du trafic capturé, on obtient d'excellents résultats.

II.c.3 Les attaques actives par rejeu

Supposons qu'un attaquant connaisse exactement le texte clair d'un message crypté. Il peut utiliser cette connaissance pour construire des paquets cryptés. La procédure implique qu'il construise un nouveau message en calculant la somme de contrôle en l'occurence CRC-32 et en appliquant des changements minimes (bits flips) sur le trafic crypté original pour changer le texte en clair. Ce paquet peut être accepté par le point d'accès ou une station mobile légitime.

On peut aussi mener une attaque plus insidieuse qui vise à changer quelques bits dans le message et d'adapter correctement le CRC sans aucune connaissance du paquet pour en obtenir une version cryptée correcte. Par exemple, il pourrait être possible avec une connaissance partielle d'altérer des commande shell d'une session Telnet.

On peut encore aller plus loin. Un attaquant ne connait rien d'une trame capturée mais pourra comme expliqué plus haut modifier les bits d'adresses IP de destination et l'envoyer par une passerelle sur l'Internet. Vu que ce trafic quitte le réseau sans fil, il sera envoyé en clair sur l'inter-réseau.

IV. Solutions

Aujourd'hui, on peut dire que la sécurité sans fil est meilleure que les services fournis par défaut sur le fil. Les solutions proposées aujourd'hui proposent toutes une authentification 802.11 ouverte :

solution authentification Encryption standard 802.11
WPA Home ou WPA-PSK Open TKIP (PreSharedKey) IEEE 802.11i
WPA2 Home ou WPA2-PSK Open TKIP ou AES (PreSharedKey) IEEE 802.11i
WPA Enterprise EAP/802.1x TKIP IEEE 802.11i
WPA2 Enterprise EAP/802.1x TKIP ou AES (PreSharedKey) IEEE 802.11i

Les solutions pour les petits réseaux utilisent une clé partagée avec du TKIP (grosso modo du WEP amélioré) ou de l'AES avc authentification nulle et pour de plus grosses implémentation on peut utiliser une authentification des utilisateurs par un serveur Radius avec EAP/802.1x.

Encryption
Authentification

PEAP MS-chapv2 EAp-fast eap-tls leap
Tunnel TLS préalable Oui Oui Oui Non
Autorisation Radius Oui, MS-ISA, Cisco ACS,
Juniper Odyssey (anc. Funk),
MeetingHouse (nouv. Cisco)
Oui, Cisco ACS Oui, ouvert Oui, Cisco ACS
Serveur de certificat Oui Non Oui Non
Certificat côté serveur Oui Non Oui Non
Certificat côté client Non Non Oui Non
Crédits utilisés Mot de passe Windows Mot de passe Windows, ...
DB d'authentification
Standardisation
Pilotes
Avantages
Désavantages
3 avril 2010

Un jeu en ligne mieux sécurisé que le site de votre banque

World of Warcraft est un jeu vraiment très populaire, avec des millions de joueurs. Tellement d'ailleurs, que les affaires de piratage de comptes sont légion.

L'éditeur du jeu - Blizzard - propose pour 6,5 dollars (environ 5 €) un "token", c'est à dire un petit boitier qui affiche des numéros qui changent régulièrement.  Vous entrez ces numéros en plus de votre mot de passe pour vous connecter. Même si quelqu'un vous vole votre mot de passe, il ne pourra pas se connecter puisque qu'il ne saura pas prédire les numéros affichés par le boitier.

Ainsi, même en présence d'un keylogger, vous n'avez aucun risque de vous faire voler votre compte. Plutôt bien, non ? D'ailleurs beaucoup d'entreprises utilisent ce genre de boitier pour sécuriser certains accès à leur réseau.

Si l'éditeur d'un jeu peut proposer ça à 5€, pourquoi est-ce que toutes les banques ne le font pas ?
Votre compte bancaire est-il moins important qu'un jeu vidéo en ligne ?

Je suis atterré par le peu d'effort de la majorité des banques. Même l'initiative 3DSecure est une débacle: 80% des banques se contentent de votre date de naissance pour vous authentifier. C'est minable.

3 avril 2010

Les antivirus gratuits sont bons

En dehors du traditionnel « Un antivirus ça sert à rien », s'il y a bien deux phrases typiques qui me gonflent c'est « Les antivirus gratuits ça vaut rien » et « Avast c'est de la merde il détecte rien ». Pourquoi ? Parce que c'est balancé généralement sans le moindre argument. Les petites guerres « mon antivirus est meilleur que le tiens » tirent rapidement vers l'émotif, voir la religion dans le plus pur style des guerres interminables Windows/Linux/MacOSX. Avec autant de résultat: Beaucoup d'air brassé, aucune conclusion utile.

Ancrons-nous donc dans les faits pour examiner ça de plus près: Qu'en est-il de l'efficacité de détection des antivirus (gratuits et payants) ?

Il est difficile de trouver de bons tests, qui soient assez indépendants et larges. Oubliez les tests des magazines, ils ne sont pas fiables pour la plupart, quand ils ne sont pas carrément bidonnés. On trouve des tests sur internet, mais souvent effectués avec une mauvaise méthodologie (par exemple en testant contre 2 ou 3 logiciels malveillants seulement). Il ne reste grosso-modo que deux tests: VirusBulletin et AV-Comparatives.

Les tests les plus récents de VirusBulletin n'étant accessibles que sur abonnement, j'ai récupéré les tests de Février 2009 d'AV-Comparatives: Ils ont testé plusieurs antivirus contre une base de 1,2 millions de fichiers infectés par des virus apparus dans les 9 derniers mois. Je vous fais un court résumé des résultats:

                                                                                                                                                                                                                                                                                                                                                                                             
Antivirus Taux de détection
G Data99,8%
Antivir99,7%
McAfee99,1%
Norton98,7%
Avast98,2%
BitDefender98,0%
eScan ISS98,0%
NOD3297,6%
Kaspersky97,1%
TrustPort97,1%
F-Secure93,4%
AVG93,0%
Sophos89,6%
Command AM88,9%
Norman87,8%
Microsoft OneCare87,1%
Kingsoft84,9%

Bien sûr comme pour toutes les statistiques, ces pourcentages sont à prendre avec des pincettes.

Malgré tout, que peut on tirer comme conclusions de ces rapports ?

  • Aucun antivirus n'est fiable à 100%: Quel que soit l'antivirus que vous prenez, on peut toujours trouver une saloperie qui passera au travers. Prendre n exemples d'ordinateurs infectés malgré la présence de l'antivirus X ne suffit pas pour dire que cet antivirus « c'est de la merde » (c'est pourtant l'argument souvent avancé contre Avast).
  • Un antivirus ne suffit pas: Il reste nécessaire d'utiliser d'autres logiciels (firewalls, antispywares...), d'installer les mises à jour de sécurité et de suivre des règles de bonne conduite. Et même en ajoutant tout ça, il n'y a pas de garantie à 100%.
  • Malgré tout les antivirus bloquent la quasi-totalité des menaces d'infection: Il serait idiot de s'en priver. Tout comme il serait idiot de ne pas vouloir mettre de ceinture de sécurité sous prétexte qu'elle ne peut pas vous garantir que vous ne mourrez jamais en voiture.
  • La performance des antivirus varie d'un mois à l'autre: Kaspersky a toujours été en tête de liste, il ne l'est plus. McAfee et Norton avaient des taux de détection abyssaux les mois passés, ils sont maintenant parmi les meilleurs. etc.
  • Certains antivirus gratuits sont meilleurs que des antivirus payants: Les deux antivirus gratuits les plus conseillés - Avast et Antivir (en jaune dans le tableau) - sont meilleurs que beaucoup d'antivirus payants (BitDefender, NOD32, Kaspersky, Microsoft OneCare, Sophos, F-Secure... en tous cas pour ce mois-ci). Donc dire que « Les antivirus gratuits c'est de la merde » (sic), c'est carrément un mensonge.
  • En dehors de quelques mauvais élèves, les antivirus se valent. Autant il n'est pas raisonnable de prendre un antivirus avec un taux de détection inférieur à 95%, autant entre 98% et 99%, la différence est négligeable et ça ne vaut pas le coup de se prendre la tête là dessus, surtout quand les taux de détection varient d'un mois à l'autre.
    L'important, c'est d'avoir un antivirus, peu importe lequel tant qu'on évite les bouses (genre OneCare).
  • Il y a bien d'autres facteurs en jeu: Le taux de détection brute ne suffit pas à évaluer un antivirus, il y a bien d'autres paramètres qui entrent en jeu comme le taux de faux positifs (fichiers détectés comme infectés alors qu'ils sont sains), la lourdeur (ralentissement de l'ordinateur), les mises à jour (fréquence, lourdeur), les éléments surveillés (fichiers, mail, P2P, chat...), etc.

Au final, il est tout à fait viable de recommander des antivirus gratuits.

Ce que l'étude ne révèle pas:

  • Quelle quantité de virus sont détectés par les systèmes heuristiques ? Beaucoup d'antivirus sont désormais équipés d'un système qui tente de détecter les programmes susceptibles de contenir du code malveillant sans se baser sur une liste de virus mais sur l'analyse du code exécutable ou le comportement. C'est un exercice difficile et sujet aux fausses alertes, mais il permet parfois de détecter et bloquer les virus avant même que les signatures du virus ne soient mises à disposition par les éditeurs. On retrouve par exemple cette technologie chez Norton sous le nom de BloodHound.
  • Quelle est le temps moyen pour qu'un éditeur d'antivirus ajoute un virus à ses signatures ? L'étude ne l'indique pas, même si le choix des virus de moins de 9 mois est une bonne idée. Un internaute (merci crapoulou !) m'a fait passer le lien d'un organisme qui fait tester les virus récents (<24 heures) par les différents antivirus. Le graphe donne des indications sur la propension des éditeurs à inclure les signatures en moins de 24 heures, mais il aurait été intéressant de savoir en combien de temps (en moyenne) les éditeurs incluent la signature d'un nouveau virus.

PS: Aux détracteurs d'Avast: Voici la preuve qu'on peut toujours trouver un contre exemple: Un abruti a posté sur CCM un lien vers un fichier infecté. Il se trouve que seulement 3 antivirus sur 40 l'ont détecté, dont Avast.  Avast a vu l'infection là où AntiVir, Kaspersky, NOD32, Norton, McAfee, BitDefender, AVG et autres n'ont rien vu. Ce n'est pas pour dire qu'Avast est meilleur, mais juste pour montrer qu'on peut toujours trouver des fichiers détectés par l'antivirus X et pas par l'antivirus Y.

3 avril 2010

Choisir de bons mots de passe

La sécurité sur les sites web est toujours problématique. L'un des plus gros soucis est l'utilisation des mots de passe. C'est souvent le maillon faible:

  • Le mot de passe est souvent trop court, trop simple à deviner (batman, 1234, charles67...).
  • Beaucoup de personnes utilisent le même mot de passe pour tous les sites.
  • La "question secrète" pour récupérer son mot de passe est trop souvent mal choisie, et la réponse trop facile à deviner (cf. l'affaire avec le nom du chien de Paris Hilton).

Ma première recommandation serait de choisir - quand c'est possible - une question secrète qui n'a absolument aucun sens, avec une réponse du même genre. C'est à dire pas quelque chose qu'on pourrait savoir de vous (nom de l'animal de compagnie, nom de jeune fille de votre mère, etc.)

Ensuite, le choix du mot de passe. Là il y a une astuce qui permet d'avoir un mot de passe long, difficile à deviner et différent pour chaque site. Voici le truc:

Etape 1 : Choisir un bon invariant

Tout d'abord, choisissez et mémorisez une phrase, par exemple «Ma Grand Mère Mange Les Pissenlits Par La Racine.». Si la phrase est assez originale, vous la retiendrez facilement.

Prenez ensuite la première lettre de chaque mot, et ajoutez quelques chiffres et symboles:  mgmmlpplr568**. Voilà déjà un bon mot de passe.

Etape 2 : Combiner avec le nom de domaine du site

Ensuite, il faut le rendre unique pour chaque site: Utilisez des lettres du nom de domaine et ajoutez-les à ce mot de passe. Par exemple:

  • korben.info → kni → knimgmmlpplr568**
  • commentcamarche.net → cen → cenmgmmlpplr568**
  • zdnet.com → ztc → ztcmgmmlpplr568**

Ce n'est qu'un exemple ! Libre à vous de choisir comment combiner le nom de domaine au mot de passe. L'important est de mémoriser la manière dont vous les combinez.

Résultat

Et vous voilà avec un excellent mot de passe:

  • Il ne correspond pas à un mot du dictionnaire (donc cela élimine les attaques par dictionnaire et par RainbowTables)
  • Il est long (ce qui rend les attaques par force brute infaisables)
  • Il est différent pour chaque site (ce qui réduit les risques de piratages inter-sites)
  • Il est facile à retrouver: Vous n'avez pas besoin de mémoriser le mot de passe de chaque site car vous êtes capable de le retrouver.

Enfin, un mot d'avertissement: Ne laissez jamais un logiciel mémoriser vos mots de passe. Ni votre navigateur (Firefox) ni un autre logiciel (KeePass, etc.). Ces logiciels stockent les mots de passe sur disque dur, et il est donc toujours plus ou moins possible de vous les voler.

En plus, en laissant ces logiciels entrer le mot de passe à votre place, vous ne retiendrez pas vos mots de passe et vous risquez de ne plus pouvoir accéder aux sites web le jour où il y a un problème avec le logiciel.

Pour terminer, je vous recommande de configurer votre navigateur pour qu'il supprime automatiquement tous les cookies à la fermeture du logiciel. Cela évite de laisser sur disque des cookies de session qui permettraient d'accéder à vos comptes, même sans connaître le mot de passe. (Firefox a une option pour purger les cookies à la fermeture.)

PS: Comme me le fait remarquer un internaute (merci Nicolas), on peut très bien utiliser la phrase elle-même comme mot de passe. J'y mettrais juste un petit bémol: Cela implique de se souvenir exactement de la phrase, à la ponctuation, espaces, minuscules/majuscules et accents près. Ça peut donc être un peu délicat. Ratez une virgule, et vous ne pouvez plus vous connecter.

PS 2: Un autre internaute (Jérôme) me signale sa méthode: Prendre mot de passe-nom de domaine, et hasher le tout en MD5 (avec des outils en ligne comme celui ci ou celui là). Par exemple, on calcul le MD5 de "toto-sebsauvage.net" et on ne garde que les 10 premiers caractères de la MD5, ce qui donne quelquechose du genre "53e6fd11df".  Pas mal non plus, comme idée !

Publicité
Publicité
Securité
Publicité
Publicité