|
Cet essai est destiné à vous faire comprendre le hacking, la sécurité informatique et sans prétention vous faire comprendre comment éventuellement vous protéger. PARTIE 1: Problèmes liés à la sécurité.
1.3 L'INTÉGRITÉ DU COMMERCE 1.4 LA MISE HORS SERVICE DES SERVEURS
2.2 LE SOCIAL ENGINEERING 2.3 LE « CRACKAGE » DE MOT DE PASSE 2.4 LE « SNIFFING » DES MOTS DE PASSE ET DES PAQUETS 2.5 L’IP SPOOFING 2.6 LES CHEVAUX DE TROIE. 2.7 LES VERS 2.8 LES TRAPPES 2.9 LE TCP-SYN FLOODING 2.10 CONCLUSION 3.1.1
QU’EST CE QU’UN FIREWALL ? 3.5 LES OUTILS DE VÉRIFICATION DE LA SÉCURITÉ 3.6 LA SÉCURITÉ À TRAVERS L’OBSCURITÉ 3.7 LA RESTRICTION D’IP 3.8 L’ÉDUCATION ET LA PRISE DE CONSCIENCE. Introduction :J’espère
par cet essai, vous montrer l’enjeu que représente la sécurité sur
l’Internet en dénombrant tout d’abord les problèmes existants
liés à la sécurité (première partie), puis en étudiant les types
d’attaques (deuxième partie) et finalement en proposant des solutions
(troisième partie). 1.1 La publicité piratée Beaucoup d'organisations (au sens large) ouvrent un site web pour avoir une sorte de vitrine sur l'Internet où elles peuvent exposer leurs produits, activités, etc ... Une nouvelle sorte de piratage consiste à entrer illégalement sur le serveur web et à modifier les pages existantes. C'est un peu comme entrer dans un magasin et changer les choses exposées. Dans tous les cas, quand un site est piraté, la nouvelle page remplacée n'est pas pour promouvoir l'activité du propriétaire. Plusieurs exemples suivent pour illustrer ce nouveau problème. 1.1.1 Les administrations américaines - Le 29 décembre 1996, un hacker a attaqué un site web de l'US Air Force et a remplacé la page principale (A voir ici). Le résultat a été que le "DefenseLINK" du pentagone, qui inclue environ 80 home pages, a été débranché pendant plus de 24 heures pour que les officiels s'assurent qu'il n'y avait pas d'autres brèches de sécurité sur le système. Vous pouvez voir que depuis les sites de l'administrations de tous les pays en ont pour leur argent face aux hackers. A voir dans notre bibiliothéque. Les principales attaques sont dirigées vers les institutions dans lesquelles les pirates voient une proie intéressante pour discréditer les gouvernements qu'ils attaquent. Toutefois,
il est important de signaler que les médias qui relaient ce type
d'information ne font pas suivre le message des pirates mais au
contraire les font passer pour des délinquants. La valeur de leur
message en est donc occulté contrairement aux exemples que nous allons
voir ci-dessous. 1.1.2 Les autres organisations: -
Le 10 février 1997 et encore le 14 février 1997, des hackers portugais
ont lancé une attaque politique sur la page web du gouvernement indonésien
en insistant que ce pays continuait une oppression sur le Timor Est. Ils
voulaient attirer l'attention sur la nécessité de l'indépendance du
peuple du Timor oppressé depuis des décades par le gouvernement
d'Indonésie. -
Le site des fourrures Kriegsman fut attaqué en novembre 1996 par un
activiste anti-fourrure. La nouvelle page bien évidemment ne promouvait
pas cette entreprise. Nous
avons ici deux exemples de sites web piratés par des hackers pour défendre
une cause. Le geste est le même que pour les exemples de la partie précédente
mais la porté médiatique en est multipliée. Ce qui montre que la sécurité
d'un site web n'est pas à prendre à la légère notamment pour les
entreprises. 1.2 L'espionnage industriel et militaire: De
nos jours, une grande majorité des serveurs Internet appartiennent aux
entreprises. Beaucoup de compagnies en profite pour utiliser l'Internet
comme réseau de transmission de données intra-entreprise. Il y a un
grand nombre d'exemples de serveurs Internet d'entreprise hackés. Un
bon exemple est le serveur de Boeing où il y a quelques années, deux
collégiens étaient rentrés en effraction dans un des ordinateurs de
la compagnie afin de rechercher des fichiers de mots de passe. De plus,
Boeing a trouver l'évidence que les hackers ont obtenu l'accès "root"
à la maison fédérale de Seattle. Le département de justice américaine
avait dit que cela était une situation classique dans laquelle les
pirates peuvent influer sur les coûts de production. En effet, les
pirates ont très bien pu voler certains fichiers secrets et les
distribuer sur l’Internet ou à des compagnies rivales. Après que le
cas fut fini, il couta à Boeing 57.000 Dollars simplement pour vérifier
l'intégrité de ses données d'avioniques. En
réalité, le principal risque est le vol de données confidentielles,
mais il y a aussi un autre risque, c'est le risque de données modifiées.
En effet, le pirate peut très bien changer les données actuelles par
de fausses. Alors, l'entreprise travaillerait avec des informations altérées
et pourrait produire des résultats erronés sans s'en rendre compte.
C'est pourquoi Boeing dépensa tant d'argent pour vérifier toute l'intégrité
de ses données. Un
autre exemple en 1987, une petite erreur comptable de 75 cents révella
qu'un intrus s'était ouvert lui-même un compte dans le système
informatique du laboratoire "Lawrence Berkeley". Les traces du
compte provennait d'un programmeur d'Allemagne de l'est qui avait copié
des documents des ordinateurs militaires attachés à MILNET (Le segment
Internet réservé pour les utilisations militaires). Les documents
furent vendus au KGB. Le
groupe Gartner William Malik (Célèbre groupe d'avocats américains)
affirme que un de ses clients, une très grande compagnie de produits
manufacturés, a perdu 900 millions de dollars parce que un de ses
concurrents avait pirater plusieurs ordinateurs de l'entreprise et avait
tout appris sur ses projets. Les
exemples de cette sorte sont abondants dans le monde de l'Internet.
Toutefois, un grand nombre d'attaques ne sont pas rapportées au public
parce qu'elles pourraient porter atteinte à la compagnie ou bien parce
qu'elles ne sont pas détectées par l'administrateur réseau de
l'entreprise. La sécurité des cartes de crédit est un des principaux enjeux de la sécurité sur Internet à cause de l'énorme potentiel de ce nouveau commerce mondial qui se développe à une vitesse impressionnante. Tout cela laisse évidemment une grande place à la fraude des cartes de crédit. Il
y a un grand nombre de magasins virtuels sur l'Internet qui vendent des
livres, des composants d'ordinateurs, des vêtements, etc ... Tous ces
magasins virtuels utilisent la méthode de paiement par carte de crédit.
Ce qui signifie que le consommateur envoie son numéro de carte de crédit
au magasin virtuel qui alors débite le montant du compte bancaire
propriétaire de la carte de crédit. Mais il y a deux problèmes. Premièrement,
la transmission du numéro de carte de crédit peut être interceptée
par une tierce personne sans l'accord, bien évidemment, ni du marchant
et ni du consommateur. Deuxièmement, une majorité de ces sites
commerciaux ne sont pas sécurisés. Même si la transmission du numéro
de carte de crédit à travers l'Internet est sûr, les moyens de le
stocker sur le serveur ne le sont pas forcément. Les fichiers de numéros
de cartes de crédit dans la base de données d'une entreprise peuvent
être piratés. Plusieurs compagnies spécialisées dans le commerce sur
Internet ont déjà été hackées à la recherche des fichiers clients
de numéros de carte de crédit. Par
exemple, le fournisseur d'accès Internet Netcom de San Jose
(Californie, USA) en a déjà subit les conséquences. Et le célèbre
hacker Kevin Mitnick avait volé environ 17.000 numéros de cartes de crédit
avant de se faire capturer par des détectives hi-tech. Pendant
que le commerce sur l'Internet devient un marché de plusieurs centaines
de millions de francs, cela devient aussi une grande problématique en
terme de sécurité pour les échanges commerciaux entre les clients et
les marchants. 1.4 La mise hors service des serveurs: Les serveurs fournissants des services basés sur le protocole TCP (WWW, email, newsgroup, gopher, telnet, etc ...) à la communauté Internet peuvent devenir incapable de fournir ses services lorsqu'ils sont sous le coup d'une attaque et même pendant un certain temps après cette dernière. Le service en lui même n'est pas endommagé par l'attaque; généralement seulement la capacité à fournir ce service est mis hors service. Dans certains cas, le système va jusqu'à épuiser toutes ses ressources mémoire, crasher ou sinon devenir inopérant. Ces attaques bloquent le système temporairement, donc durant ce temps inutilisé, la compagnie propriétaire du système peut perdre de l'argent notamment si le service proposé est un service de vente par Internet. Une
description de ces types d'attaques se trouve dans le chapitre suivant. PARTIE 22.1 Le système de fichiers en réseau :A
chaque fois qu’un utilisateur fait une requête pour accéder à un
fichier, le système d’exploitation décide si oui ou non
l’utilisateur à le droit d’accéder au fichier en question. Il y a deux principales raisons pour que l’on protège ses fichiers des autres utilisateurs. La première raison est que l’on peut souhaiter protéger le contenu de ses fichiers des autres utilisateurs. On peut considérer le contenu du fichier comme privé et on ne veut pas que les autres utilisateurs soit capable de lire ou de modifier le contenu du fichier. La seconde raison est que si des tierces personnes peuvent modifier des fichiers, elles peuvent aussi obtenir l’accès au compte. Par exemple, si un utilisateur malintentionné a l’accès “écriture” dans le répertoire racine, il peut alors créer ou modifier le fichier “.rhost“ (sous UNIX) qui donne un accès illimité à n’importe qui au compte. Il va sans dire, comme l’utilisateur est responsable de son compte, que tous les “dégats“ engendrés sont sous sa responsabilité directe. Le
principal but pour une personne qui cherche à s’introduire dans un
système est d’obtenir l’accès administrateur (root). Cet accès
permet à la personne de faire tout ce qu’elle désire sur un système,
elle peut effacer, modifier ou ajouter de nouveaux fichiers. La plus
part des intrusions où le hacker obtient l’accès administrateur
commencent quand l’intrus pénètre dans un compte utilisateur normal.
Une fois sur la machine en tant qu’utilisateur sans privilège
particulier, le hacker peut alors lancer une attaque pour obtenir l'accès
"super utilisateur" sur la machine en utilisant un trou de sécurité
dans le système d’exploitation. C’est
un terme utilisé parmis les hackers pour une technique d’intrusion
sur un système qui repose sur les points faibles des personnes qui sont
en relation avec un système informatique plutôt que sur le logiciel.
Le but est de piéger les gens en leur faisant révéler leur mot de
passe ou toute autre information qui pourrait compromettre la sécurité
du système informatique. Le
piège classique est de faire croire aux utilisateurs du système que
leur mot de passe est demandé d’urgence par le ou les techniciens. Le
hacker mentionera qu’il a besoin du mot de passe pour d’importants
travaux d’administration du système et il demandera à se qu’on lui
envoie le mot de passe par mail. Il faut savoir, comme nous le verrons
plus loin, qu’il est possible pour le hacker de créer un e-mail
faisant croire qu’il provient de quelqu’un que l’on croit être le
légitime administrateur réseau. Souvent, le hacker enverra le message
à tout les utilisateurs du système en espérant que plusieurs
utilisateurs tomberont dans le piège. Bien évidemment si la ruse se déroule
par téléphone, le hacker imitera la voix du technicien. Une
autre forme de social engineering va jusqu’à deviner le mot de passe
d’un utilisateur. Les gens qui peuvent trouver des informations sur un
utilisateur, peuvent utiliser ces informations pour deviner le mot de
passe de ce dernier. Par exemple, le prénom de ses enfants, leur date
de naissance ou bien encore la plaque d’immatriculation de sa voiture
sont tout à fait candidat à être des mots de passe. Les hackers
peuvent aller très loin pour deviner les mots de passe. 2.3 Le « crackage » de mot de passe : Les
mots de passe sont très important parce qu’ils sont la première
ligne de défence contre les attaques sur un système. Ceci peut être
établit simplement : si un hacker ne peut pas interagir sur un système
distant et qu’il ne peut pas ni lire ni écrire dans le fichier des
mots de passe alors il n’a quasiment aucune chance de développer une
attaque couronnée de succès sur ce système. C’est également
pourquoi, si un hacker peut au moins lire le fichier des mots de passe
sur un ordinateur distant, il aura aussi la possibilité de cracker un
des mots de passe contenu dans ce fichier. Si il en parvient, alors on
peut penser qu’il pourra se connecter sur ce système et qu’il
pourra s’introduire en tant qu’administrateur en passant par un trou
de sécurité dans le système d’exploitation. La
manière la plus classique qu’un hacker va essayer d’obtenir un mot
de passe est par l’intermédiaire d’une attaque avec un
dictionnaire. Dans ce genre d’attaque, le hacker utilise un
dictionnaire de mots et de noms propres, et il les essaie un à un pour
vérifier si le mot de passe est valide. Bien évidemment, ces attaques
ne se font pas « à la main », mais avec des programmes qui peuvent
deviner des centaines voire des milliers de mots de passe à la seconde.
Ce procédé est d’autant plus facile, qu’il lui permet de tester
des variations sur ces mots : mots écrits à l’envers, majuscules et
minuscules dans le mot, ajout de chiffres à la fin du mot, etc ... De
plus la communauté des hackers a construit de gros dictionnaires spécialement
conçus pour cracker les mots de passe. En utilisant des mots de langues
étrangères, ou des noms de choses, de personnes ou encore de villes,
n’est d’aucun effet contre ces dictionnaires. Le plus connu des
programmes utilisé pour cracker les mots de passe est « Crack4.1 »
avec son dictionnaire de 50 000 mots. 2.4 Le « sniffing » des mots de passe et des paquets : Si
un hacker ne peut pas deviner un mot de passe, alors il a d’autres
outils pour l’obtenir. Une façon qui est devenue assez populaire est
le « sniffing » de mots de passe. La pluspart des réseaux utilisent
la technologie de « broadcasting » ce qui signifie que chaque message
(ou paquet) qu’un ordinateur transmet sur un réseau peut être lu par
n’importe quel ordinateur situé sur le réseau. En pratique, tous les
ordinateurs sauf le destinataire du message vont s’apercevoir que le
message n’est pas destiné pour eux et vont donc l’ignorer. Mais par
contre, beaucoup d’ordinateurs peuvent être programmés pour regarder
chaque message qui traverse le réseau. Si une personne mal intentionnée
fait ceci, alors elle pourra regarder les messages qui ne lui sont pas
destinés. Les hackers ont des programmes qui utilisent ce procédé et qui scannent tous les messages qui circulent sur le réseau en repérant les mots de passe. Si quelqu’un se connecte sur un ordinateur à travers un réseau et que des ordinateurs ont été compromis par le procédé de sniffing, alors cette personne risque contre son gré de donner son mot de passe. C’est pourquoi il existe une menace sérieuse pour les personnes qui se connectent sur des ordinateurs distants (par exemple en utilisant Telnet). Toutefois, si quelqu’un se connecte sur la console d’un système (et non pas sur un terminal), son mot de passe ne ciculera pas sur le réseau ou il pourrait faire l’objet d’un sniffing. Mais si une personne se connecte sur un autre réseau ou à partir d’un prestataire de service Internet, alors dans ce cas elle sera dépendante de la sécurité de ces réseaux. Les programmes de sniffing les plus connus sont : -
Esniff.c (programme source pour un sniffer ethernet) -
TCPDump L’adresse IP d’un ordinateur est l’adresse qui est utilisée pour reconnaitre un ordinateur sur Internet. Elle est présumée valide lorsqu’elle est certifiée par les services TCP et UDP. Un des principaux problèmes est que en utilisant le routage source d’IP, l’ordinateur du hacker peut se faire croire comme étant un ordinateur connu. Brièvement, le routage source d’IP est une option qui peut être utilisée pour spécifier une route directe à une destination et renvoyer le chemin de retour à l’expéditeur. La route peut inclure l’utilisation d’autres routeurs ou de server qui n’auraient normalement pas été utilisés pour faire suivre les paquets à la destination finale. Voici un exemple qui montre comment ceci peut être utilisé de telle facon que l’ordinateur de l’intru apparaisse comme étant l’ordinateur certifié par le serveur : -
L’agresseur change l’adresse IP de son ordinateur pour faire croire
qu’il est un client certifié par le serveur -
Il va ensuite construire une route source jusqu’au serveur qui spécifiera
le chemin de retour direct que les paquets IP devront prendre pour aller
au serveur et qu’ils devront prendre pour retourner à l’ordinateur
de l’agresseur en utilisant le client certifié comme dernière étape
dans la route vers le serveur. -
L’agresseur envoie une requête client au serveur en utilisant la
route source. -
Le serveur accepte la requête du client comme si elle provenait
directement du client certifié et retourne une réponse au client. - Le client, utilisant la route source, fait suivre le paquet à l’ordinateur de l’agresseur. Beaucoup de machine de type UNIX acceptent les paquets de route source et les redirigent comme la route source l’indique. Beaucoup de routeurs acceptent également les paquets de route source bien que certains d’entre eux peuvent être configurer pour bloquer ces paquets. Une autre manière encore plus simple pour « spoofer » un client est d’attendre que le système client ait éteint sa machine et de se faire passer ensuite passer pour ce dernier. Dans beaucoup d’entreprises, les employés utilisent des PC’s et des réseaux TCP/IP pour se connecter sur des serveurs locaux UNIX. Les PC’s utilisent souvent NFS pour obtenir un accès aux répertoires et aux fichiers du serveur (NFS utilise les adresses IP uniquement pour autentifier les clients). Un intru pourrait configurer un PC avec le même nom et la même adresse IP qu’un autre ordinateur, et alors essayer de lancer des connexions au serveur UNIX comme si il était le « vrai » client. Ceci est très simple à réaliser et ressemblerait à une attaque de l’intérieur. Les
courriers électroniques sur Internet sont particulièrement sujet au
spoofing car très facile à réaliser. Les courriers électroniques
sans l’ajout d’une signature digitale ne peuvent pas être
d’origine fiable. Par exemple, considérons que l’échange prenne
place quand des serveurs Internet échange un courrier électronique.
Cet échange a lieu en utilisant un simple protocol consistant en une série
de commandes en caractères ASCII. Une personne maligne pourrait
facilement entrer ces commandes à la main en utilisant Telnet pour se
connecter directement au port SMTP (Simple Mail Transfer Protocol) du
système (port 25 sur les systèmes UNIX). Le serveur recevant ces
commandes fait confiance à cette personne en disant qui elle est. D’où
le fait que le courrier électronique peut lui aussi être spoofé
facilement en entrant une adresse d’expéditeur différente de
l’adresse réelle. Comme quoi, sans aucun privilège, on peut sans
problème falsifier ou spoofer le courrier électronique. Un
cheval de Troie est un programme qui se cache lui même dans un autre
programme apparemment au dessus de tout soupcon. Quand la victime
(l’utilisateur normal) lance ce programme, elle lance par la même le
cheval de Troie caché. Il y a des exemples de chevaux de Troie UNIX sur l’Internet. Par exemple, en 1995, un serveur FTP bien connu a été pénétré et les agresseurs ont modifié un programme très populaire disponible sur ce site. Le cheval de Troie installé à l’intérieur du programme permettait quand il était exécuté d’ouvrir l’accès au système UNIX à n’importe qui. Un
ver est un agent autonome capable de se propager sans l’utilisation
d’un programme quelconque ni d’une action par une personne. La plus
célèbre attaque de vers s’est produite en novembre 1988 quand un étudiant
lanca un programme sur l’Internet qui était capable de se développer
par lui-même à travers le réseau de serveurs. Dans les 8 heures après
le lancement de ce programme, entre 2000 et 3000 ordinateurs étaient déjà
infestés. Les ordinateurs commencèrent à tomber en panne parce que le
programme du ver réapparaissait plus rapidement que les connexions réseaux
pouvaient l’effacer. En parallèle, le ver : - essayait de trouver les mots de passe des comptes utilisateurs en essayant des permutations à partir des noms de comptes et en vérifiant une liste de 432 mots de passe courants.
Quand
une attaque fonctionnait, le ver créait un petit programme et les
commandes pour compiler et exécuter sur la machine distante. Ce ver
avait aussi des mechanismes qui lui permettaient de camoufler sa présence
sur une machine. Les attaques de vers sont toutefois rare parce que les
serveurs sur Internet sont de plus en plus différents (bien que cela
tend à changer : Windows NT serveur), mais c’est toujours une méthode
utilisée par les hackers quand un nouveau « bug » est découvert dans
un système d’exploitation. Cela a « l’avantage » pour
l’agresseur de pouvoir attaquer un maximum de sites en peu de temps.
|
2.8 Les trappes : Une
trappe est un point d’entrée dans un système informatique qui passe au-dessus
des mesures de sécurité normales. C’est généralement un programme
caché ou un composant électronique qui permet au système de
protection d’être inefficace. De plus, la trappe est souvent activée
par un évènement ou une action « normale ». Une trappe peut aussi être
un trou de sécurité dans un système qui a été délibérément mis
en place par les créateurs ou les personnes chargées de la
maintenance. Le principal intérêt de ces trappes n’est pas toujours
néfaste : certains systèmes d’exploitations, par exemple, ont des
comptes utilisateurs avec de hauts privilèges destinés pour faciliter
le travail des techniciens de maintenance. En 1983, Ken
Thompson (un des auteurs de UNIX) révéla l’existence d’une
trappe dans les premières versions de UNIX qui pourrait être identifié
comme l’un des plus malins pièges informatiques de tout les temps. Le
compilateur C contenait du code qui reconnaissait quand la commande «
login » était recompilée et insérait du code qui reconnaissait un
certain mot de passe que Thompson avait choisi. Ce mot de passe lui
ouvrait l’entrée du système qu’un compte utilisateur ou non ait été
créé pour lui. Normalement ce genre de trappes peut être éliminé en
la supprimant du code source du compilateur et en le recompilant. Mais
pour recompiler le compilateur, il faut utiliser le compilateur. Donc,
Thompson s’était aussi arrangé pour que le compilateur reconnaisse
quand il compilait une version de lui-même et insérait dans le
compilateur recompilé le code qui reconnaissait la procédure de
compilation de la commande « login » ! De cette facon, le piège
pouvait se perpétuer indéfiniment et laisser une trappe en place sans
aucune trace dans les programmes sources. Presque à chaque fois qu’un
hacker quitte un système, il laisse derrière lui une ou plusieurs
trappes pour être capable de revenir quand il veut. C’est pourquoi,
quand un système a été attaqué, il est plus prudent de vérifier
tout le système de fichiers ou bien de ré-installer le système
d’exploitation. Quand
un système client essaie d’établir une connexion TCP à un système
fournissant un service (le serveur), le client et le serveur échange
une séquence de messages. Cette connexion technique s’applique à
toutes les connexions TCP-IP (Telnet, Web, émail, etc. ...) Le système
client commence par envoyer un message SYN (pour synchronisation) au
serveur. Le serveur renvoie alors un accusé de reception du SYN:
SYN-ACK (pour synchronisation-aknowledgment) au client. Le client finit
alors par établir la connexion en répondant par un ACK. La connexion
entre le client et le serveur est donc ouverte et le service d’échange
de données peut s’exécuter entre les deux partenaires de la
connexion. Il y a encore une grande variété d’autres méthode d’attaques mais elle sont d’un niveau relativement élevé pour un utilisateur normal d’UNIX. Voici une courte liste de quelques une d’entre elles : - attaque Sendmail par le port système du mail (port 25) - attaque NIS et NFS - attaque FTP par le port 21 - attaque Telnet par le port 23 - attaque rlogin et remote shell -
attaque par interception de processus administrateurs PARTIE 3 Dans
cette partie nous allons découvrir les méthodes utilisées pour améliorer
la sécurité sur Internet. Les deux principaux espoirs de la sécurité
sur Internet résident dans la cryptographie et les firewalls. Les
firewalls sont souvent appelés les préservatifs pour les réseaux des
entreprises. Ils fournissent une protection digitale associée à la
rapide croissance des réseaux et de la commercialisation de
l’Internet. Comme les préservatifs, beaucoup de gens ont entendu
parler des firewalls mais peu de personnes les utilisent. De plus, le
nombre d’incidents de sécurité grandissant sur Internet laisse suggérer
très fortement que trop peu de personnes les utilisent correctement. 3.1.1 Qu’est ce qu’un firewall ? Un firewall est une sorte de technologie de contrôle d’accès qui empêche les accès non-autorisés aux ressources d’information en placant une barrière entre le réseau de l’entreprise et le réseau non-sécurisé (Internet, par exemple). Un firewall est aussi utilisé pour empêcher les transferts d’information propriétaire du réseau de l’entreprise. En d’autres mots, un firewall fonctionne comme une passerelle controlant le traffic dans les deux directions. Le firewall typique est un ordinateur bon marché fonctionnant avec UNIX éloigné de toute donnée confidentielle qui est placé entre Internet et le réseau de l’entreprise. Certains firewalls ne permettent que le passage de l’email protégeant ainsi tout le réseau contre toutes les attaques possibles autres que contre le service email. D’autres firewalls fournissent moins de restrictions et bloquent les services qui sont connus pour être une source de problèmes. Généralement, les firewalls sont configurés pour protéger contre les connexions interactives (Telnet par exemple) provenant du « monde extérieur ». Ceci, plus que toute chose, aide à empêcher les agresseurs de se connecter sur les machines du réseau intérieur. Les firewalls les plus élaborés bloquent le traffic de l’extérieur vers l’intérieur mais permettent aux utilisateurs de l’intérieur de communiquer librement avec l’extérieur. Les firewalls sont d’autant plus importants qu’ils fournissent un point de rencontre où la sécurité et la vérification peuvent être imposés. Dans une situation où un ordinateur est attaqué par quelqu’un, le firewall peut agir comme une cassette enregistrable et un outils de tracage. 3.1.2 Qu’est-ce qu’un firewall ne peut pas faire? Les
firewalls ne peuvent pas protéger contre les attaques qui ne passent
pas par le firewall. Beaucoup d’entreprises qui se connectent à l’Internet
sont très concernées par les fuites de données propriétaires qui
passe par ce chemin. Malheureusement pour ces concernées une disquette
magnétique peut être utilisée tout aussi efficacement pour transférer
des données. La politique du firewall doit être réaliste et refléter
le niveau de sécurité du réseau de l’entreprise. Par exemple, un
site avec des données top secrètes ne doit pas avoir de firewall du
tout : il ne doit tout simplement pas avoir sa place sur l’Internet.
Les systèmes avec des données confidentielles et secrètes doivent être
isolés du reste du réseau dans l’entreprise. Les
firewalls ne peuvent pas vraiment protéger contre les choses comme les
virus. Il y a trop de sorte d’encoder des fichiers exécutable pour
les transférer à travers les réseaux. Il y a également trop
d’architectures différentes et de virus pour essayer de les chercher.
En d’autres mots, un firewall ne remplace pas la sécurité et la
conscience de la part des utilisateurs. En général, un firewall ne
protège pas contre les attaques orientées données (attaques dans
lesquelles quelque chose est mailé ou copié vers un ordinateur interne
où il sera ensuite exécuté). Cette forme d’attaque s’est produite
dans les anciennes et nombreuses versions de «Sendmail». Il
y a beaucoup de sortes de firewalls. Toutefois, la principale part des
firewalls sont des programmes installés sur le routeur de
l’entreprise ou sur un autre ordinateur. Il existe quand même des
firewalls « hardware » qui sont plus rares. Ce sont des cartes électroniques
qui sont branchées dans l’ordinateur. Il peut y avoir plusieurs
rôles pour un firewall : certains sont filtreurs de paquets, routeurs,
passerelles, ordinateur bastion, etc ... Il y a aussi une large variété
de firewalls pour chaque système d’exploitation : UNIX, Novell
Netware, Windows NT, LINUX, etc... De nos jours, les firewalls sont des
remparts efficaces contre les agresseurs de toutes sortes. Toutefois, si
un firewall n’est pas proprement installé, il peut se révéler pire
que de ne pas en avoir à cause du faux sentiment de sécurité qu’il
procure. 3.2 La protection des mots de passe et la création de mots de passe sûrs : La protection des mots de passe est un des principaux problèmes de la sécurité sur Internet bien qu’il existe des solutions pour lutter efficacement contre ce dernier : -
les mots de passe « shadow » 3.2.1 Les mots de passe « shadow » Les
mots de passe « shadow » sont un système où le fichier de mots de
passe cryptés est caché de tous les utilisateurs excepté
l’administrateur, en espérant empêcher les tentatives de crackage de
mots de passe à la source. 3.2.2 La création de mots de passe sûrs : Premièrement, il serait intéressant de voir combien de mots de passe possibles il existe. La plus part des gens sont inquiets que des programmes comme « crack » vont éventuellement gagner en puissance jusqu’à ce qu’ils soient capables d’effectuer un recherche exhaustive de tous les mots de passe possibles pour rentrer dans un compte utilisateur spécifique (généralement administrateur). Les mots de passe valides sont créés à partir de 62 charactères [A-Za-z0-9] et ils peuvent inclure encore plus de charactères comme : « \}][{$££@ !%&(#/)=-:_.;,?">< ». Ils doivent également être de longueur comprise entre 5 et 8 charactères. En utilisant seulement les 62 charactères communs, la taille de la série de mots de passe valides est : 625+626+627+628 = 2,2 E+14 Un nombre qui est bien trop grand pour entreprendre une recherche exhaustive avec les technologies actuelles. De plus, si l’on peut utiliser les 95 charactères, qui ne sont pas des charactères de contrôle, dans les mots de passe, cela réduit d’autant plus les chances du cracker de mots de passe. Par contre, n’importe quel mot de passe qui est dérivé d’un dictionnaire (ou d’information personnelle), même modifié constitue un mot de passe potentiellement crackable. Par exemple les mots de passe basés sur les : - noms de login : monlogin - noms famille : dupond, durand - prénoms : Raoul, Adrienne - mots écris à l’envers : enneirda, dnopud - mots d’un dictionnaire : ordinateur, livres - mots en capitales : Ordinateur, OrDiNateuR - mots des dictionnaires de cracking : porsche911, 123456789, azerty. -
mots de langues étrangères : hello!, gutentag Un bon mot de passe doit toutefois être facile à se souvenir mais difficile à cracker. Le meilleur moyen de créer un mot de passe incrackable est de le faire apparaitre comme défini au hasard. Il ne faut pas oublier d’insérer des chiffres et des signes de pontuation dans le mot de passe. La méthode favorite pour trouver un mot de passe incrackable mais facile à se souvenir est de : 1. Prendre une phrase ou une ligne d’un poême ou d’une chanson qui doit être d’au moins long de 8 mots 2. Prendre la première lettre de chaque mot et l’utiliser dans le mot de passe. 3.
Utiliser les signes de pontuation Par
exemple, la phrase : « Un pour tous, et tous pour un » donne un mot de
passe relativement incrackable : « Upt,&tp1 » Un bon moyen pour un
administrateur réseau de savoir si les utilisateurs ont des mots de
passe sûrs est d’utiliser les programmes de crackage de mots de passe
sur son propre système comme le ferait un cracker. « Crack » est un
bon outil pour s’assurer que les utilisateurs de système UNIX n’ont
pas choisis des mots de passe facilement crackable qui apparaissent dans
les dictionnaires standards. La
cryptographie est la technologie qui permet d’envoyer des messages qui
ne peuvent être compris (décryptés) que par le destinataire en améliorant
les contrôles sur les messages routés par l’Internet, et en améliorant
la qualité du système d’exploitation à abaisser les défauts des
programmes et d’autres vulnérabilités de sécurité. Il y a deux
principaux types de cryptage : le cryptage asymétrique (appelé aussi
cryptage à clé publique) et le cryptage symétrique. 3.3.1 Le cryptage asymétrique ou à clé publique: C’est
un système cryptographique qui utilise deux clés : une clé publique
connue de n’importe qui et une clé secrète connue uniquement du
destinataire du message. Un élément important au système de clé
publique est que les clés publique et privée sont en relation de telle
facon que seulement la clé publique peut être utilisée pour crypter
le message et seulement la clé privée correspondante peut être utilisée
pour le décrypter. Deplus, il est virtuellement impossible de déduire
la clé privée si on ne connait pas la clé publique. 3.3.2 Le cryptage symétrique : C’est
un type de cryptage où la clé utilisée pour crypter et décrypter le
message est la même. Le cryptage de type DES (Data Encryption Standard)
est une des plus célèbre forme de cryptage symétrique. Il est
d’ailleurs toujours utilisé par les administrations aux Etats-Unis
pour envoyer des données à travers un réseau. Toutefois, elles
utilisent le système de cryptage à clé publique pour envoyer la clé
DES au destinataire du fichier crypté ! 3.4 IP spoofing et SYN flooding : Avec
la technologie actuelle du protocole IP, il est impossible d’éliminer
les paquets spoofés. Mais il existe quelques solutions pour réduire le
nombre de paquets spoofés entrant et sortant du réseau. La meilleure méthode
est d’installer un routeur-filtreur qui limite les entrées à
l’interface externe (connue sous le nom de filtreur d’entrée) en
n’accordant pas le droit d’entrée à un paquet qui a une adresse
source du réseau interne. Il peut aussi être bon de filtrer les
paquets sortants qui ont une adresse source différente du réseau
interne afin de prévenir une attaque d’IP spoofing provenant du réseau
interne. La combinaison de ces deux routeurs-filtreurs doit empêcher
les agresseurs extérieurs d’envoyer des paquets prétendants venir du
réseau interne. Cela doit également empêcher les paquets provenants
du réseau interne de se prétendre venir de l’extérieur du réseau.
Ces filtreurs ne vont pas stopper toutes les attaques de type TCP-SYN du
moment que les agresseurs extérieurs peuvent spoofer leurs paquets de
facon qu’ils proviennent d’autres sites extérieurs, et les
agresseurs internes peuvent toujours envoyer des attaques spoofing avec
des adresses internes. L’IP
spoofing et le SYN-flooding sont actuellement les deux pricipaux problèmes
unsoluble de la sécurité sur l’Internet. Nous vous proposons un trés
bon outil de cryptage ici. 3.5 Les outils de vérification de la sécurité : Il
existe de nombreux ooutils disponible sur l’Internet pour tester la sécurité
d’un système. Certains outils scannent les systèmes pour connaitre
leurs vulnérabilités : « SATAN » est le plus célèbre programme
pour UNIX, d’autres vérifient l’intégrité des fichiers comme «
Tripwire ». L’administrateur réseau est fortement conseillé
d’utiliser ces outils avant les agresseurs si il veut éviter les
problèmes les plus courants. Voici une petite liste des outils de vérification
les plus courants : ISS, C2 security, COPS, Tiger (qui fait parti de
TAMU security), MD5.
3.6 La sécurité à travers l’obscurité : C’est
une manière de considérer qu’un système ne peut être sûr que
aussi longtemps que personne, en dehors des personnes qui l’ont créé,
n’ait compris son fonctionnement interne. La technique est de cacher
les comptes utilisateurs, les mots de passe dans des fichiers exécutables
ou des programmes avec l’espoir que personne ne les trouvera. C’est
une philosophie qui a la faveur des bureaucrates américains. La
principale critique de cette technique est que ce n’est que de la
pseudo-sécurité car elle ne résoud pas les vrais problèmes de sécurité
mais à la place, les cache. De plus, le responsable du petit groupe qui
a créé ce système doit faire confiance aux employés pendant toute
leur vie. Et si les employés ont une meilleure offre de salaire
ailleurs, les connaissances s’envont avec eux que les connaissance
soient remplacables ou non. La
restriction d’IP sert à limiter les utilisateurs à se connecter à
certaines parties du serveur. En accordant seulement quelques adresses
IP à se connecter au serveur, l’agresseur n’aura pas l’accès aux
domaines où il peut causer des dommages. 3.8 L’éducation et la prise de conscience. Une
des craintes majeures pour la sécurité d’un système n’est pas les
trous techniques de sécurité d’un système mais le manque de
conscience des utilisateurs ou de l’administrateur. Par « manque de
conscience », je veux dire que les utilisateurs d’Internet ont
souvent l’impression que le seul moyen par lequel un hacker peut
rentrer dans leur compte ou sur un système est en utilisant trappe
laissée ouverte par un administrateur non-conscencieux. Une autre
croyance est qu’il n’y a aucune valeur dans un simple compte
utilisateur et que personne ne va s’ennuyer à essayer de le pénétrer.
Aussi bizarrement qu’il puisse paraitre, ce qu’un agresseur trouve
d’intéressant dans un compte utilisateur est tout simplement l’accès
au système. Un simple accès permet à l’intrus de devenir
super-utilisateur après avoir exploité une faille dans le système
d’exploitation du système ou bien le compte peut être utilisé comme
passerelle pour attaquer d’autre sites. Bien évidemment,
l’utilisateur victime est responsable de se qui se produit sur son
compte, d’où l’intéret de le protéger correctement. Un bon moyen pour faire prendre conscience aux utilisateurs de l’importance de leur compte (et donc de leur mot de passe) est de prendre des mesures strictes en les encourageant : - à changer leur mot de passe après la premiere connexion, - à ne pas partager leur compte avec qui que ce soit, - à protéger leur mot de passe : être prudent des regards indiscret au moment de taper le mot de passe, - à changer leur mot de passe régulièrement et tout spécialement après s’être connecté sur une machine éloignée, -
à choisir des mots de passe sûrs Un
autre moyen d’impliquer les utilisateurs à respecter les mesures de sécurité
sur un système est de leur faire signer une charte de responsabilité
et de bonne conduite sur l’Internet. La sécurité est l’affaire de
tous sur un système : l’administrateur aussi bien que les
utilisateurs. Et le rôle de l’administrateur est d’éduquer ses
utilisateurs à la sécurité. PARTIE 44.1 Conclusion :La meilleure solution pour l’Internet réside sans doute dans le cryptage des données. Mais beaucoup de gouvernements n’approuvent pas cette technique parce qu’elle représente un danger pour la sécurité de l’état car l’information ne peut plus être controlée. C’est pourquoi aux Etats-Unis le cryptage à clé publique est seulement permis avec des clés de 48 bits. Dans certains pays, le cryptage des données est même totalement interdit : Singapour, Chine, etc ... En France, par contre la cryptologie n’est pas interdite, mais l’utilisateur qui veut crypter des données doit remettre les clés de cryptage au SCSSI. De nos jours, les entreprises veulent choisir des options de haute sécurité dont elles ont besoin pour communiquer dans le commerce électronique, et la cryptographie semble être la meilleure solution pour ces dernières. Comme il n’y a pas et il n’y aura sans doute jamais de réseaux sûrs à 100%, nous pouvons quand même nous protéger d’une majorité de problèmes associés à l’Internet en étant vigilant. Toutefois, l’Internet continue de grandir en popularité et les statistiques de fraudes et d’attaques risquent de continuer à augmenter si les utilisateurs ne prennent pas conscience que la sécurité est un enjeu capital pour l’Internet. « Le seul système informatique qui est vraiment sûr est un système éteint et débranché, enfermé dans un blockhaus sous terre, entourré par des gaz mortels et des guardiens hautement payés et armés. Même dans ces conditions, je ne parierais pas ma vie dessus. » Gene Spafford |