Sécurité et internet
09/02/2005
 Christian CALECA 
Liste des cours

Attaques

Accueil ] [ Attaques ] [ Etude de cas ] [ Contrôles possibles ] [ Protections ] [ Les Firewalls ] [ Client Windows ]


Hasard ou nécessité ?

La bonne question à se poser, concernant les problèmes de sécurité n'est pas:

"Est-ce que j'ai des chances (grandes ou petites) de subir une attaque un jour?"

Mais:

"Quand vais-je être la cible d'une attaque?"

Et la seule réponse pertinente à cette question est:

"A tout moment. Peut-être justement pendant que tu lis ces lignes :-)"

Mon propos n'est certes pas d'affoler le lecteur, mais d'essayer de lui faire comprendre que les arguments du type:

"Oh, moi, je n'ai rien d'intéressant sur ma machine et je ne vois pas pourquoi un pirate s'ennuierait à essayer d'y pénétrer..."

Sont du même ordre que de croire que les accidents de voiture sont pour les autres, jamais pour soi.

Les attaques possibles

Une machine informatique est par défaut, d'une grande vulnérabilité, tout simplement, parce que l'informatique est passée des mains d'une poignée de spécialistes à une foule d'utilisateurs et qu'une certaine éthique de l'informaticien y a laissé ses plumes.

Les environnements informatiques n'ont pas été prévus pour être manipulés par des personnes sans scrupules qui cherchent à en exploiter tous les effets pervers.

Je classerai les malfaisants dans trois catégories (c'est une opinion toute personnelle):

  1. Les amateurs de génocides
    Ils utilisent des virus pour produire le plus de dégâts possible sans se soucier de savoir quelles sont les cibles qui seront touchées. Ce qui leur importe est la masse atteinte. Les meilleurs écrivent eux-mêmes leurs virus, ce qui fait au moins la preuve de leur compétence technique, les pires exploitent des virus faits par d'autres, sans même savoir comment ils fonctionnent.
  2. Les voyous du Net
    Bien connus sous le nom de "script kiddies", ceux là cherchent à pénétrer, le plus souvent pour faire de la casse, des hôtes connectés au Net en utilisant des recettes de cuisine élaborées par d'autres. Nous verrons plus loin de quoi il retourne. Peu leur importe la cible, leur amusement consiste à utiliser des méthodes toutes faites pour "ennuyer" leur monde. Ils s'attaquent à la première machine sur laquelle ils trouvent une faille, juste pour le plaisir. Mes logs sont pleins de petits comiques de ce genre, qui cherchent au hasard du Net, une machine qui serait infectée par un cheval de Troie, juste, sans doute, parce qu'ils ont trouvé quelque part le client qui sait s'y connecter.
  3. Les Hackers
    Les vrais, ceux qui ont des connaissances très étendues dans les systèmes et pour qui le jeu consiste à rechercher toujours de nouvelles failles. Ceux là sont de véritables techniciens et, même s'ils font parfois des dégâts, forcent plus ou moins le respect par leur grandes connaissances. Ce sont leurs découvertes qui, la plupart du temps, sont exploitées par les script kiddies et autres utilisateurs de virus. Ce sont également leurs découvertes qui contribuent à créer des systèmes de plus en plus solides et fiables. A priori, ce ne sont pas des pirates et leur objectif premier n'est pas de détruire, mais de comprendre.

Les attaques virales et assimilées

Les virus dans les exécutables

Un "virus" est un bout de programme glissé volontairement dans une application dans le but de nuire. Il est possible d'attraper un virus avec n'importe quelle application que l'on a installée et que l'on exécute, ce n'est pas un problème typique d'une connexion permanente. Un virus ne peut être introduit dans sa machine que si l'on exécute une application infectée, application récupérée sur l'Internet ou sur n'importe quel autre support informatique: Disquette, CD ROM etc.

Les macro virus dans les données

Une autre infection, assez semblable, consiste à exploiter les possibilités qu'ont certaines applications d'installer des macro commandes dans les fichiers de données. La suite Microsoft Office qui propose des possibilités, par ailleurs intéressantes, de placer des macros dans les documents Word, Excel et même Powerpoint est une cible de choix. Ces macros sont maintenant écrites en VBA (Visual Basic for Applications) qui est un langage suffisamment puissant pour arriver à faire beaucoup de dégâts avec. Dans un tel cas, il suffit d'ouvrir un document infecté pour mettre le "macro virus" en activité. Autrement dit, même des fichiers de données peuvent être dangereux.  Notez que Microsoft a modifié les applications de MS Office de manière à ce qu'elles puissent vous avertir de la présence de macros dans les documents, vous laissant la possibilité de les activer ou non.

Les scripts et applets dans le HTML

Malheureusement, d'autres moyens existent, typiquement venus de l'Internet, dans les pages HTML. En effet, pour rendre les pages HTML plus vivantes, il devient possible d'y insérer des composants actifs. Parmi ceux-ci nous trouvons:

Parades :

Toutes ces attaques sont plus ou moins prises en charge par des applications anti-virus, les meilleures précautions à prendre sont:

Les intrusions

Décrire dans le détail les méthodes employées serait long, voire fastidieux. Ceux qui sont avides de détails sur la question ont intérêt à se procurer le très instructif  "Halte aux Hackers" édité en français chez Eyrolles. Cet ouvrage traite en quelques 600 pages des diverses techniques de piratage, ainsi que les parades possibles. Voyons tout de même en résumé les principaux risques.

Les ports à l'écoute

Lorsqu'un port est ouvert à l'écoute sur un  service serveur, c'est une porte ouverte par laquelle un intrus peut entrer. Sur un serveur, on peut entrer avec des outils comme telnet et exploiter des failles de ces logiciels

Je vous entend me dire "Oui, mais ma machine WIndows xx n'est pas un serveur, il n'y a donc pas de ports à l'écoute"... En êtes-vous si sûr?

Vous avez déjà les ports 137, 138 et 139 qui sont ouverts pour que NetBIOS fonctionne (la partie la plus visible étant le voisinage réseau). Surtout, si vous avez le partage des fichiers et des imprimantes activé. Dans ce cas là, vous êtes bel et bien un serveur.

SI vous avez installé PWS (Personal Web Server), nécessaire pour travailler efficacement avec FrontPage, vous avez également le port 80 qui est ouvert (et vous êtes particulièrement en danger).

Vous êtes donc peut-être beaucoup plus serveur que vous ne le pensez...

Les "backdoors", "trojans" et assimilés

Une porte dérobée n'est pas à proprement parler un virus, dans la mesure où elle ne se multiplie pas . Elle  peut cependant s'attraper sensiblement de la même manière, par un cheval de Troie. Un cheval de Troie est une application, d'apparence inoffensive qui installe discrètement une porte dérobée. Elle peut également être inoculée par un pirate qui a réussi une opération de "spoofing", un débordement de pile ou de prise de contrôle à distance sur votre poste, comme nous le verrons plus loin.

Une porte dérobée est en gros un logiciel de contrôle à distance. Il fonctionne comme un serveur, sur un port connu de celui qui a conçu le piège. Un simple scan d'adresses IP sur ce port permet alors de repérer les machines infectées actuellement en ligne. Le mal intentionné peut s'y connecter et faire plus ou moins ce qu'il veut sur la machine distante. Très dangereux, ce genre de saleté peut heureusement être repéré relativement simplement, en prenant la précaution de vérifier périodiquement les ports ouverts sur sa machine. Malheureusement, l'utilisateur a souvent autre chose à faire que de surveiller continuellement les ports ouverts.

Une variante est le "spyware" très à la mode actuellement. Ce n'est pas dangereux à proprement parler, mais ça envoie des informations diverses sur le contenu de votre machine, vos habitudes sur l'Internet etc. à un serveur qui les récupère. Les "spywares" sont souvent implantés dans des logiciels en démonstration ou des "sharewares", de la même manière qu'une porte dérobée.

parades :

Les défauts logiciels

Il est également possible d'exploiter des failles de sécurité sur des applications serveur "officielles" pour les utiliser comme porte d'entrée, en général par débordement de pile. Il arrive aussi que certains logiciels serveurs comportent des "bugs" ou soient mal configurés et permettent de prendre la main sur une machine, les serveurs FTP mal configurés sont un danger immédiat , mais tout type de serveur peut présenter des failles de sécurité pouvant déboucher sur une prise de contrôle. Le pirate qui réussit l'opération peut alors installer une porte dérobée pour la suite des opérations.

Parades :

Les "spoofing", "hijacking" et autres "SYN Flood"

Le jeu consiste à se faire passer pour un autre au cours d'une connexion TCP. Le principe est assez compliqué, mais redoutable s' il  réussit. En général, le pirate utilise ces méthodes pour placer une porte dérobée qu'il utilisera par la suite. Vous serez sans doute tout à fait rassurés de savoir qu'il traîne sur l'Internet des programmes spécialement conçus pour ce genre d'intrusions.

Il est très délicat de se protéger de ces d'attaques.

Parades :

Pas à ma connaissance, sauf si le pirate utilise un "SYN Flood" et que le logiciel firewall sait le détecter. Ici, il faut être préventif et curatif. Comme un spoofing ne s'improvise pas, le mal intentionné a déjà certainement pas mal tourné autour de votre machine. Prise d'empreinte de la pile TCP/IP, scan des ports ouverts et c'est à ce niveau qu'il faut le débusquer et le coincer. Par ailleurs, il se contentera dans cette phase d'installer une porte dérobée ou de créer un compte d'administrateur, choses qui sont détectables si l'on y prend garde en vérifiant périodiquement l'état de son système.

Les blocages

Ce n'est pas à proprement parler une intrusion. C'est assez facile à faire, c'est pas forcément dangereux, mais la machine ciblée se bloque, forçant parfois un "reset" sauvage, on appelle ça un "denial of Service"

Pour ce genre d'attaque, le "méchant" utilise des failles dans le NOS pour bloquer le système distant. Le "ping de la mort" en est un bon exemple. Le jeu consiste à envoyer un "echo request" avec une trame anormalement longue. Certains systèmes y sont sensibles et se bloquent. Le "méchant" n'y gagne rien, il a juste la joie de vous avoir obligé à faire un reset.

Parades :

Un firewall bien configuré arrive généralement à éviter ce genre de problèmes.

ICMP, le proto qui fait peur

Rappelons ici que le protocole ICMP est avant tout destiné au transport d'informations sur le fonctionnement du réseau. Il travaille au même niveau qu'IP. Vous trouverez des détails sur ce protocole ici

ICMP couvre tous les besoins de signalisation des équipements de réseau. Il est clair que l'utilisateur final n'a pas besoin de tous les signaux possibles, c'est cependant une erreur de croire que l'on peut tous les bloquer sans problèmes. Voici quelques éléments de réponse à l'épineuse question: "ICPM oui ou non?"

Le PING

Le ping peut éventuellement être une source de désagréments:

Vous pouvez bloquer les "ping request" (signal 8) à l'entrée de votre machine, ça ne prête pas à conséquences.

Hôte inaccessible

C'est le signal 3. Il sert à indiquer que l'hôte que l'on cherche à joindre ne répond pas.  C'est certainement le signal le plus utile pour les clients du Net.

Il ne faut pas bloquer ce signal, du moins en entrée, faute de quoi les couches supérieures du protocole ne pourront pas être informées et ne réagiront pas en conséquence.

Par ailleurs, ce signal intervient dans la découverte du MTU (Maximum Transfert Unit). C'est la taille la plus grosse qu'un paquet peut prendre avant de devoir subir une fragmentation. Si ce processus est mis en oeuvre et que le signal 3 est bloqué,  les paquets envoyés risquent d'être systématiquement trop grands et donc systématiquement  fragmentés (voire même rejetés parfois). Dans ce cas, les performances de la connexion risquent de devenir déplorables.

Ce signal est-il par ailleurs dangereux? Pas à ma connaissance.

Horodatage

Ce signal peut donner des indications sur le fuseau horaire sur lequel vous vous trouvez. Son utilisation est assez similaire au ping. Comme vous ne voulez pas forcément donner ce genre d'information à un éventuel pirate, bloquez le (signal 13) A priori, ça ne devrait pas perturber le bon fonctionnement de votre connexion.

TTL Expiré

Information aussi intéressante que "hôte inaccessible". Ce signal (signal 11)  est utilisé dans la commande "traceroute".

Il n'est pas utile, voire néfaste de bloquer ce signal.

Redirection nécessaire

Ce signal n'est en principe utile que pour les routeurs. Il peut servir à manipuler à distance la table des routes (commande "route print" sous WIndows, ou "route" sous Linux).

Du fait de ces risques, il vaut mieux le bloquer.

En ce qui concerne les autres signaux, je n'ai trouvé aucune information indiquant s'il valait mieux les bloquer ou non. A mon sens, le signal 17 (requête de masque de réseau) ne perd rien à être bloqué. A essayer pour voir.


Accueil ] [ Suivante ]