06 13 32 04 91

Sécurité TCP IP 7

PRECEDENT…
  1. Denial of service (DoS)

    1. Principe

Cela consiste à saturer un système en exécutant un processus en boucle de manière à le surcharger (flood), ou en amplifiant l’envoi de paquets en mode diffusion = broadcast (smurf) .

    1. Outils logiciels

Il existe de nombreuses façons pour faire planter une machine; en fait, on peut s’appuyer sur presque toutes les attaques existantes car en faisant planter la machine cela résultera inévitablement en un déni de service sur cette machine. La différence se situe au niveau des intentions du hacker, c’est-à-dire savoir si le déni de service est intentionnel ou s’il n’est que la résultante d’une attaque plus agressive visant à détruire une machine. Il ne faut plus aujourd’hui négliger cet aspect intentionnel, au vu des sommes qui entrent en jeu.

Parmi les attaques propres à créer un déni de service, nous pouvons rappeler entre autres :

les buffers overflows (mails, ping of Death…)

  • l’attaque SYN

  • l’attaque Teardrop

  • l’attaque SMURF

  • certains virus

    1. Prévention

Les contre-mesures sont très compliquées à mettre en place et très ciblées vis-à-vis du type de déni de service envisagé. En effet, d’un point de théorique, la plupart des attaques visant à créer des dénis de service sont basées sur des services ou protocoles normaux sur Internet. S’en protéger reviendrait à couper les voies de communications normales avec Internet, alors que c’est bien là la raison d’être principale des machines concernées (serveurs web, etc…).

Il reste tout de même la possibilité de se protéger contre certains comportement anormaux (voir les attaques précédentes) comme une tentative de flooding, un trop grand nombre de paquets ou de requêtes de connexion provenant d’un petit nombre de machines. Mais cela implique beaucoup de choses en fait : il faut monitorer le traffic (ce qui est loin d’être simple, du fait de la quantité de données qui transitent), établir des profils types de comportement et des écarts tolérables au-delà desquels on considérera que l’on a affaire à une attaque; il faut également définir les types d’attaques auxquelles on souhaite se protéger (analyses de risques à l’appui) car il est impossible de toutes les prévoir. On est donc loin de la protection absolue; il s’agit de mettre en place une protection intelligente et flexible.

C’est ce que l’on retrouve à l’heure actuelle dans la plupart des systèmes de protection contre les dénis de service. Ainsi Cisco propose des produits incluant à différents niveaux des services spécifiques :

  • test de la taille des paquets

  • test des adresses source et destination (ainsi que loop-back, unicast, multicast…)

  • test de la fragmentation

  • utilisation d’adresses IP virtuelles pour validation de sessions et ACK (contre attaques TCP)

  • test du nombre de SYN (contre attaques TCP)

  • NAT d’adresses locales vers IP virtuelles basées sur IP globales

  • contrôles de flux

  • contrôles de contenus (port, tag, url, extensions de fichiers)

  • autres fonctions de firewall, le tout basé sur du load-balancing et de la redondance.


Comme on peut le remarquer, l’accent est mis sur la sécurité du système de protection en lui-même pour qu’il puisse faire face à des situations extrêmes (traffic énorme, etc…) D’autre part, il reste que la plupart des contre-mesures visent à protéger contre un type d’attaque particulier. L’efficacité d’un tel système se révèlera par sa capacité à détecter et prévenir de nouveaux types d’attaques.

  1. CONCLUSION

Il faut ce rendre à l’évidence : en matière de sécurité informatique, aucun moyen ne permet de, définitivement, se mettre à l’abri des attaques.

Plusieurs raisons à cela :

  1. Les outils de défense sont, neuf fois sur dix, les mêmes que les outils d’attaques. Car un excellent outil de défense est souvent détourné de son but premier. Il faut ajouter à cela que ces outils sont, le plus souvent, adaptés, voire dédiés, au monde Unix.

Dès lors, quelques simples conclusions s’imposent :

    1. Une interface (passerelle, par exemple) Unix, positionnée entre le monde intérieur (LAN) et le monde extérieur (WAN) s’impose.

    2. Cette interface n’est pas la panacée et ne constitue qu’un premier pas vers la sécurisation du système d’information, car le monde Unix a, lui aussi, ses failles (leur nombre annuel est presque identique à celui ciblant les systèmes Microsoft).

    3. Ces outils ont un réel impact économique et, à ce titre, peuvent être utilisés comme arme d’attaque autant que de dissuasion, au sein d’une guerre économique de plus en plus exacerbée..

  1. Côté programmation, les outils sus-mentionnés sont écrits en Assembleur, C, C++, voire Pascal. Et ce n’est pas le fait du hasard que tous ces langages permettent d’intervenir au cœur de la machine et de ses interfaces. Ils offrent également la possibilité d’utiliser, avec finesse et précision, les procédures des protocoles de communication.

Conclusions :

    1. Même un simple script recopié, mais réellement malveillant, peut causé des dégâts (voir les scripts kiddies). Pourtant, dans tous les sites consacrés à la sécurité, ils sont connus, de même que leurs parades, car ils font souvent appel à des failles de sécurité déjà solutionnées.

    2. Tout le monde n’est pas capable de créer et d’écrire un nouveau programme d’attaque. Ceci étant, le même développeur peut parfaitement écrire deux programmes, utilisant les mêmes procédures, mais destinés aux rôles opposés : attaque et défense. Un peu comme un biologiste créant un nouveau virus, en même temps que sont antidote.

    3. L’aspect économique des choses apparaît là aussi… Autrement dit, une question brûle les lèvres : à qui profite le crime ?

La conclusion finale à ces constats est simple. Une entreprise traitant des données sensibles ne peut faire autrement que d’avoir, outre un bon administrateur système, un bureau de recherche et d’étude, de manière à créer ses propres outils (armes devrais-je dire). Tout le monde n’en a pas les moyens. Mais certaines banques, par exemple, ont depuis longtemps adopté cette stratégie.

Pour les autres, il faut adapter sa stratégie à l’importance des risques encourus, sachant que le minimum incontournable reste la mise à jour hebdomadaire des systèmes de défense et de contrôle mis en place (antivirus, anti-spyware, firewall voire IDS, paramétrage pointu du navigateur et du logiciel de messagerie).

Mémoire rédigé en janvier 2000
PRECEDENT…