Archive

Archive for the ‘Sécurité’ Category

Analyse de traces réseau par l’exemple

6 avril 2011 3 commentaires

Le présent article n’a en rien pour objectif de vous dévoiler tous les mystères des analyses réseau, étant donné que cela aborde une quantité de concepts assez large.

J’ai choisi de procéder par un exemple pour montres les étapes principales nécessaires à une bonne analyse réseau.

Pour cet article, pas de VM, j’ai fait au plus simple, un serveur web (lighttpd), un navigateur web (w3m, mais ce n’est pas important) et un outil de capture/analyse de traces. Pour ce dernier, j’utilise Wireshark, qui convient tout à fait à mon besoin.

Le principe de cet exemple est tout simple. Nous allons analyser ce qu’il se passe niveau réseau quand mon navigateur va accéder au serveur web pour afficher une page.

Tout d’abord une présentation rapide de Wireshark. Il s’agit d’un analyseur de paquets réseau, multi plateformes supportant plusieurs centaines de protocoles (nous verrons cela plus loin). Il possède l’avantage de s’interfacer avec un outil de capture réseau (tshark) et de posséder une interface graphique plutôt intuitive, pour peu que l’on sache ce que l’on veut faire.

L'interface de Wireshark

Pour notre exemple, nous allons donc procéder en premier lieu à une capture réseau. Le principe est tout simple, nous lançons la capture avec Wireshark, et ensuite nous affichons notre page web sur le navigateur, suite à quoi nous pourrons stopper la capture et passer à l’étape suivante, c’est à dire l’analyse de notre capture.

Il est nécessaire que Wireshark soit lancé en tant que « root » pour pouvoir effectuer des captures réseau (pour des raisons de sécurité).

Dans notre exemple, le serveur et le client sont installés sur la machine locale, une capture simple sur l’interface de boucle locale (lo) sera utilisée. Il est cependant possible d’effectuer toutes sortes de captures, sur toutes les interfaces de la machine (y compris les interfaces USB), en appliquant divers filtres. Cependant je n’en parlerais pas dans cet article, par soucis de ne pas tout tenter d’expliquer en même temps.

Donc pour lancer ma capture, je me contente de cliquer sur l’interface « lo » dans la liste des interfaces. Apparaît alors une fenêtre me permettant de suivre en temps réel l’avancée de ma capture.

Aucun paquet capturé pour le moment

Pour le moment n’ayant aucune communication sur cette interface, aucun paquet n’a été capturé. Je peux donc lancer l’affichage de ma page web (page d’accueil par défaut du serveur) dans mon navigateur.

La fameuse page web

Et tout de suite le résultat de la capture est affiché dans Wireshark.

Résultat de la capture

Nous allons pouvoir maintenant passer à la partie qui nous intéresse vraiment, à savoir l’analyse de la capture en elle-même.

Chaque ligne affichée correspond à un paquet, chacun identifié par un numéro. Dans la colonne suivante est affiché le temps écoulé depuis le début de la connexion (information très utile par exemple pour savoir quelle partie intervient dans la lenteur d’une connexion). Ensuite la source et la destination, qui indiquent quelles sont les IP émettrices et réceptrices du paquet, informations utiles dès lors que plus de 2 machines sont utilisées, peu pertinentes pour notre exemple, les 2 étant la même machine. Vient ensuite le protocole utilisé, cela permet dans notre cas d’identifier les différentes parties d’une connexion. Viennent ensuite les informations qui nous en apprennent déjà pas mal sur le paquet en question.

Ces informations nous montrent ainsi ce que sont les trois premiers paquets. Il s’agit du three ways handshake permettant l’établissement de la connexion.

Le premier paquet, [SYN] est une demande de connexion envoyée par le client (le navigateur) au serveur, le second [SYN ACK] est un accusé de réception de cette demande (du serveur au client) et le troisième est un « accusé de cet accusé ». Il s’agit de la méthode utilisée pour établir une connexion avec le protocole TCP, qui est un protocole réseau en mode connecté (il y a un suivi des informations envoyées).

A la suite de ces trois paquets, la connexion est établie entre le serveur et le client, le client va pouvoir alors faire sa requête. Il s’agit du paquet suivant, « GET / HTTP/1.0 », qui signifie tout simplement que l’on demande la page d’accueil par défaut du serveur.

Immédiatement le serveur accuse réception de cette demande ([ACK]), et la traite. Cela résulte alors en l’envoi de la page demandée dans le paquet suivant, « HTTP/1.0 200 OK ». Le serveur informe ensuite que le dernier paquet de réponse a été transmis, dans notre cas un seul paquet aura suffit à transmettre toute l’information, mais dans le cas de gros fichiers plus de paquets sont nécessaires.

Le client accuse alors réception des paquets, et informe le serveur qu’il souhaite mettre un terme à la connexion. Le serveur accuse alors réception de cette demande et la connexion est alors terminée.

Cet exemple résume bien le déroulement d’une communication classique entre un serveur et un navigateur. Nous allons maintenant étudier cela d’un peu plus prêt en nous attaquant à l’analyse proprement dite d’un paquet. Pour cette étape j’ai choisi d’étudier le paquet contenant la page Web, étant le paquet le plus intéressant selon moi car il regroupe le plus de protocoles.

Sans vouloir entrer dans les détails, un paquet du protocole http est encapsulé dans du tcp, lui-même encapsulé dans du protocole IP (pour informations complémentaires, se référer au modèle OSI et notamment son architecture en 7 couche). Pour simplifier, chaque protocole cité précédemment fait partie d’une couche plus ou moins élevée de ce modèle.

Nous allons donc nous servir de Wireshark pour analyser ce paquet. Un double clic sur ce paquet nous permet d’afficher de plus amples informations (informations également données dans le panel inférieur).

Zoom sur un paquet

Dans la partie du haut, 5 lignes, toutes étendables.

La première donne des informations basiques sur le paquet : taille, date d’émission et de réception…

Ensuite sont séparées les informations des différents protocoles mis en jeu, dans l’ordre proposé par le modèle OSI.

Tout d’abord la couche de liaison de donnée, avec le protocole Ethernet. L’information à en tirer est l’adresse MAC des deux protagonistes.

Ensuite vient la couche de réseau avec le protocole IPv4. Attardons nous un peu sur cette ligne. En la dépliant, on peut voir tout un tas d’informations, résumées sur cette image (source Wikipedia).

Elements de l'entête IP

Les éléments les plus importants sont la version du protocole (IPv4 ou IPv6) ainsi que l’adresse IP source et destination. La partie « Protocol » correspond au protocole encapsulé, dans notre cas, TCP. Toutes ces informations sont principalement à destination des routeurs traversés par le paquet.

Vient ensuite le protocole TCP. Il permet entre autres de définir quels sont les ports source et destination d’un paquet.

Enfin vient le protocole HTTP en lui-même, contenant les données envoyées par le serveur, c’est à dire la page web.

Notre page web... ou pas

Parmi les informations concernant le succès de la requête, ainsi que l’identification du serveur (lighttpd 1.4.26), se trouve l’entête du fichier envoyé par le serveur. Nous constatons que la page Web a été envoyée compressée au format bzip2. De ce fait, dans la partie Data nous ne retrouvons pas directement la page Web telle qu’affichée dans notre navigateur.

Pour retrouver cette page, il va falloir faire autrement. Retournons à l’affichage principal de Wireshark. Sélectionnons ensuite le paquet, et naviguons jusqu’à afficher la partie Data (comme dans l’image ce-dessus). Ensuite, un clic droit puis « Export selected Packet Bytes » permettra d’extraire ces données sous forme de fichier. Sachant qu’il s’agit d’un fichier au format bzip2, enregistrons cela dans un fichier a.bzip2 par exemple. Une fois décompressé, voici ce que l’on obtient :

Notre page Web, vraiment

Notre page Web, arborant son plus beau code HTML.

A travers ce petit exemple nous avons donc vu quelques bases de l’analyse réseau, bien évidemment uniquement survolées pour la plupart. Cependant nous avons déja vu comment retrouver des informations dans une trace basique, et quelles étaient les informations à tirer de chaque protocole. La méthode utilisée pour analyser un paquet est généralisable à quasiment tout type de paquet, Wireshark les présentant de manière très claire.

Publicités
Catégories :Réseau, Sécurité, Tutoriel Étiquettes :

Madchat

Un post assez rapide pour vous parler d’un site des plus utiles quand vous vous intéressez de près ou de loin à la sécurité informatique (j’ai l’impression que j’ai déjà dit un truc comme ça moi…).

Il s’agit de Madchat, un site (ou plutôt un dépôt)  qui vous propose de télécharger un peu tout ce qui a rapport avec la sécurité.

Que vous vous intéressiez à la cryptographie à l’administration système (Linux ou Windows)  ou à plein d’autres choses vous y trouverez votre bonheur.

Il fournit également de très bons emags, du plus ancien à de l’un peu plus récent, un seul regret, le fait que ne s’y trouvent pas Hackademy Magazine ni HZV Magazine des très bons HackerzVoice (oui encore eux) et que vous trouverez sur leur site. Je recommande également d’aller faire un tour dans leur cave.

Et en parlant de magazines je vous propose également l’excellent 42 plein d’insolites geekesques à tendance très WTF.

Catégories :Sécurité Étiquettes : ,

Moteurs de recherche et vie privée

23 juin 2010 2 commentaires

À l’heure de twitter, facebook et autres google, le respect de la vie privée devient un thème de plus en plus abordé avec par exemple de beaux graphiques montrant l’évolution de la considération de notre bien aimée vie privé par facebook.

Mais si après tout nous choisissons ce que nous mettons sur notre facebook, en toute connaissance de cause (je ne parle pas ici de la photo de vous en train de vous ridiculiser après une soirée bien arrosée, mise par l’un de vos si sympathiques amis), il en va tout autrement de la plupart des moteurs de recherches. Pour le démontrer il suffit de prendre l’exemple de Google qui peut sans trop de soucis associer votre adresse IP avec l’ensemble de vos recherches, phénomène encore accentué si vous possédez un compte mail chez eux, puisqu’alors il aura accès à des informations plus privées sur vous.

Donc Google (entre autres, je ne tiens pas à stigmatiser Google tout particulièrement, Yahoo! et autres Bing devant faire relativement la même chose, mais je préfère parler de ce que je connais mieux) peut savoir que Mme A aime les films pornographiques suédois, que M. B à l’intention de s’acheter une piscine et que M. C est passionné de photographie sportive.

D’ailleurs si vous voulez lire un article assez intéressant sur le sujet, je vous conseillerais celui-ci :

Google, the leading Internet search engine, automatically collects its users’ search terms in connection with their IP addresses. Google states that, after collection, it retains the personally identifiable information for 18 months, and then « anonymizes » the data linking search terms to specific IP addresses by erasing the last octect of the IP address.

On December 17, 2008, Yahoo announced that it would erase the last octect of the IP address after 90 days. The search engine company previously retained the data for for 13 months.

Microsoft makes search query data anonymous after 18 months by permanently removing cookie IDs, the entire IP address and other identifiers from search terms.

Fort de ce constat, certains ont décidé de se distinguer comme des moteurs de recherche que « respectent votre vie privée » (je tiens d’ailleurs à rappeler que le mode de navigation privée de Firefox ne va en rien dans ce sens, seul votre ordinateur ne gardera aucune trace de votre passage).

Je vais vous parler ici de deux d’entre eux, tout d’abord Ixquick, qui vous l’annonce d’ailleurs de manière très visible sur sa page d’accueil :

  • Ixquick Protège Votre Vie Privée !
  • le moteur de recherche le plus confidentiel au monde.

Derrière ces annonces aguicheuses, qu’en est-il vraiment ?

Tout d’abord ce qu’il faut savoir c’est que ixquick n’est pas un moteur de recherche en tant que tel, mais plutôt un méta moteur, c’est à dire qu’il va chercher ses résultats dans les autres moteurs de recherche. De cette façon vous ne donnez votre adresse IP associée à une recherche qu’à un seul moteur de recherche tout en bénéficiant des résultats de l’ensemble d’entre eux. Depuis janvier 2009 ixquick n’enregistre plus les adresses IP. Il n’utilise les cookies qu’à des fins de conservation de la configuration du moteur de recherche, lesquels sont périmés au bout de 90 jours. Il propose également de multiples services destinés à la protection de la vie privée telle que la navigation en https, et il peut également faire office de serveur mandataire (qui ne supporte cependant pas le javascript pour des raisons de sécurité). Il est également l’un des rares à utiliser la méthode POST au lieu de la méthode GET (les termes de la recherche ne sont pas dans l’URL donc plus difficile pour les outils de statistique de savoir la recherche que vous avez effectuée pour arriver sur un site).

Vous pourrez trouver toutes les informations concernant leur traitement de la vie privée ici lecture fort intéressante mais qui ressemble un peu trop à de la propagande à mon goût, un peu plus de finesse dans le propos aurait plus correspondu avec le message qu’ils veulent faire passer, mais bon je ne suis pas un pro de la comm’, ils doivent savoir mieux que moi ce qu’ils font.

En face de ce qui m’a semblé être un mastodonte en matière de vie privée se place un autre moteur de recherche pour vous protéger, j’ai nommé Yauba. Yauba est un vrai moteur de recherche, dont la seule prétention est de respecter votre vie privée et qui se targue d’avoir la plus courte politique de confidentialité de tous les grands services internet dans le monde. Je vous la retranscrirai donc ici dans son intégralité :

Nous ne conservons aucune information qui vous identifie personnellement. Point final.

Oui, c’est aussi simple que ça, une promesse simple, ce moteur de recherche n’essaie pas d’en faire des tonnes, et personnellement je trouve que ce n’est pas forcément plus mal. Dans la pratique cela se traduit par

  • pas de cookies (aucun, même pas pour la configuration, il n’y a pas de configuration)
  • pas d’informations personnelles enregistrées
  • pas d’informations personnelles transmises aux sites tiers lors de la navigation.

Après libre à vous de choisir votre moteur de recherche, personnellement j’opterai pour Yauba dont les résultats présentés sous forme de concepts m’a bluffé (je vous laisse la découvrir par vous-même, son explication n’ayant rien à faire dans cet article), j’utiliserais peut être de temps en temps Ixquick pour sa fonction de serveur mandataire, mais j’avoue que sa politique de confidentialité sous forme de propagande m’a pas mal rebuté ce qui est dommage parce que les services proposés sont vraiment intéressants. Mais je ne vous cache pas que malgré tout ça je reste attaché à Google, principalement pour Gmail et Greader, deux services dont je ne peux plus vraiment me passer, n’ayant pas encore trouvé d’alternative prenant grâce à mes yeux.

Catégories :Sécurité, Test Étiquettes : , ,

Le pare-feu OpenOffice (via Pollux’s Blog)

17 juin 2010 3 commentaires

Une information que je ne pouvais décemment pas laisser passer, enfin l’arrivée de ce logiciel que Mme Albanel nous avait tant vanté, et que tous devraient installer pour se prémunir contre le téléchargement illégal.

Et ne vous y trompez pas ce n’est en rien un faux pare-feu qui y ressemble seulement et fait que pour la blague, celui-ci est pleinement fonctionnel qui affiche de beaux graphiques en pour montrer les paquets droppés/acceptés.

Pour les spécificités techniques, je vous laisse lire la source. Je mettrais juste le schéma descriptif de la solution :

A savoir cependant que cette solution est d’une grande lenteur (une dizaine de paquets par seconde selon l’auteur) mais ce n’est pas cela qui va nous arrêter dans notre lutte perpétuelle contre le piratage, n’est-il pas ?

Donc pour les plus intéressés d’entre-vous, pour le téléchargement ça se passe par ici. Et si vous pouvez y ajouter quelques fonctionnalités, ça n’en sera que mieux

Catégories :Humour, Sécurité Étiquettes : ,

Korben victime d’une attaque DDoS (via Journal du Hack)

Je précise que d’après les dernières infos tirées sur le forum, l’attaque est toujours en cours mais le serveur semble résister.
Toujours est-il que pendant un long moment le blog et le forum étaient inaccessibles, de quoi effrayer tous les adeptes (dont je commence doucement à faire partie)

Korben victime d'une attaque DDoS Korben a été victime d’une attaque DDoS hier (mardi 15 juin 2010). Deux questions: Qui en est l’auteur, et pourquoi? -Le gouvernement pour ses propos sur Waka? -Le sénateur Masson pour ses propos sur les dires du politique sur l’anonymat des blogueurs? -Orange pour se venger du billet à propos du célèbre failware? Heureusement Korben a les compétences pour faire face. J’espère que ça ne va pas le démotiver car ça prouve que se qu’il publie à un i … Read More

via Journal du Hack

Catégories :Sécurité Étiquettes : ,

Bonjour la vuln

Juste un petit post pour vous faire part de la mise en ligne très récemment d’un nouveau site, surfant sur la vague des Bonjour Madame, Bonjour Poney, Bonjour Serveur, je vous présente Bonjour la Vuln.

Créé par Hackerzvoice, co-organisateur de la nuit du Hack, ce site se propose de vous montrer tous les jours un screenshot d’une vulnérabilité. Il vient de débuter donc pour le moment pas beaucoup d’archives mais le concept me semble assez sympa, en espérant qu’il reste dans la même veine que celle d’aujourd’hui.

Je ne saurais que trop vous conseiller de lire le HZV Magazine, et Hackademy Magazine, mais aussi de farfouiller dans leur cave où peu trouver une grosse quantité de choses très intéressantes pour qui s’intéresse de près ou de loin à la sécurité informatique.

Edit : il semblerait que Bonjour la vuln n’existe plus, il n’aura pas résisté très longtemps, c’est bien dommage

Catégories :Sécurité Étiquettes : , ,