Vous êtes sur la page 1sur 13

Module 312

Sécurité des systèmes d'information

La sécurité sur Internet

Connexion à Internet
Scénarios d'attaque
Sécurisation des applications Internet

Bibliographie

Gérard-Michel Cochard

cochard@u-picardie.fr
La sécurité sur Internet

La connexion à Internet

Se connecter, c’est donner des renseignements [voir : http://www.cnil.fr]

1) Connexion simple à un serveur Web

Les protocoles d’Internet utilisent et transportent/récupèrent des variables d’environnement (ici


définies dans le navigateur équipant le poste client)

exemple : consultation d’un serveur Web

REMOTE_HOST : adresse en clair du demandeur


REMOTE_ADDR : adresse IP
HTTP_USER_AGENT : type de navigateur/système d’exploitation
HTTP_REFERER : adresse de la page précédemment consultée

Le serveur Web peut donc récupérer

votre adresse URL


votre adresse IP
quel navigateur vous utilisez
quel système d’exploitation équipe votre ordinateur
quelle langue vous utilisez
ce que vous avez consulté précédemment

2) Les cookies

Le protocole HTTP ne reconnaît pas deux chargements consécutifs de la même page : ces deux
chargements sont considérés comme totalement indépendants.

Si l'on veut garder entre deux chargements consécutifs (ou plus) des valeurs de variables, on peut
cependant utiliser la technique des cookies.

Les cookies sont des informations qui sont écrites sur le poste client, sur le disque dur et donc
mémorisées en vue d'une utilisation ultérieure lors d'une connexion future dans un fichier texte.

Attention ! chaque navigateur a son emplacement pour le fichier relatif aux cookies ; si vous
changez de navigateur, vous risquez des incohérences relativement aux cookies stockés.
Répertoires des cookies

Microsoft Internet Explorer :

● Sous Windows 95 : C:\Windows\Cookies


● Sous Windows NT : C:\WinNT\Cookies Sous UNIX : /repperso/.microsoft/
Cookies
● Sous Macintosh : dossier_navigateur:Preferences Panel:Cookies

Netscape Navigator :

● Sous Windows 95 : C:\Program Files\Netscape\Navigator\Cookies.txt


● Sous Windows NT : C:\Program Files\Netscape\Navigator\Users\User_name
\Cookies.txt
● Sous Unix : /repperso/.netscape/cookies
● Sous Macintosh : dossier_navigateur:MagicCookie

Netscape Communicator :

● Sous Windows 95 et NT : C:\Program Files\Netscape\Communicator\Users


\User_name\Cookies.txt
● Sous Unix : /repperso/.netscape/cookies
● Sous Macintosh : dossier_navigateur:MagicCookie

L'écriture et la lecture dans ce fichier peut être effectuée notamment par un petit programme
JavaScript. La structure d'un cookie est la suivante :

nom=valeur [; expires=date][; domain=nom_domaine][; path=chemin][;secure]

● nom (du cookie) est une variable et valeur est sa valeur instantanée
● expires=date exprime la date d’expiration du cookie ; par défaut, le cookie expire à la fin de
la session.
● domain est le nom du domaine du serveur qui a posé le cookie
● path définit quelles sont les pages qui peuvent accéder au cookie à partir du serveur
précédent.
● secure définit si le cookie est transmis de façon sécurisée ou non.

écriture d'un cookie : elle peut se faire à l'aide de la fonction setcookie(nom,valeur,


expiration) en JavaScript

lecture d'un cookie : elle peut s'effectuer à l'aide de la fonction getcookie(nom)

La pose de cookies est une intrusion ! Utilisations (gentilles) courantes :

● Connaître vos goûts (remplissage de formulaires) et proposition de produits adaptés


● Remplissage de caddies en vente sur Internet
● Publicité en fonction des rubriques consultées
● Personnalisation de pages d’accueil
Parades :

● On peut refuser les cookies, à la carte ou globalement


● On peut nettoyer les fichiers « cookies » manuellement

3) Détection de votre personnalité

Un serveur peut enregistrer votre parcours dans vos différentes requêtes : fichier d’audit

On peut donc ainsi connaître quels sont vos goûts lors de plusieurs connexions
(enregistrement de votre adresse).

Et puis un jour, on vous demande votre nom, votre adresse, ……

Et vous pouvez alors être fichés avec vos caractéristiques……

Parades : Utilisation d’un proxy, d’un firewall, d’un site d’anonymisation Mais l’administrateur de ces
sites peuvent aussi vous espionner…

4) Souriez, vous êtes espionnés : vos traces sont enregistrées

Les pages du Web consultées sont référencées sur le poste client : fichiers cache

Microsoft Internet Explorer :

● Sous Windows 95 : C:\Windows\Temporary Internet Files


● Sous Windows NT : C:\WinNT\Temporary Internet Files Sous UNIX : /repperso/.microsoft/
TempInternetFiles
● Sous Macintosh : Dossier Système:Préférences:Explorer:Temporary Files

Netscape Navigator :

● Sous Windows 95 : C:\Program Files\Netscape\Navigator\Cache


● Sous Windows NT : C:\Program Files\Netscape\Navigator\Users\User_name\Cache
● Sous UNIX : /repperso/.netscape/cache
● Sous Macintosh : Dossier Système:Préférences:Netscape f:Cache f Sous

Netscape Communicator :

● Sous Windows 95 et NT : C:\Program Files\Netscape\Communicator\Users\User_name


\Cache
● Sous UNIX : /repperso/.netscape/cache
● Sous Macintosh : Dossier Système:Préférences:Netscape f:Cache f
Quelques scénarios d’attaque via Internet

On peut les classer en 4 catégories :

Le DENI DE SERVICE

● Objectif : perturbation d'un service ou de l'accès à un service


● Méthodes : intrusion, abus de droits

L'ALTERATION de données, voire de destruction

● Objectif : dénaturer ou détruire l'information ou des


configurations
● Méthodes : injection de code, intrusion

LE RENSEIGNEMENT

● Objectif : vol d'information


● Méthodes : injection de code, intrusion, usurpation d'identité,
abus de droits

L'UTILISATION DE RESSOURCES

● Objectif : utilisation clandestine de ressources


● Méthode :intrusion, abus de droits

Quelques scénarios d'attaque :

● Intrusion : exploitation des vulnérabilités du système pour l'exécution de commandes non


autorisées

exemples : exploitation des erreurs de configuration ou de bugs de


certains logiciels

● Abus de droits : utilisation abusive de certaines fonctionnalités d'un système

exemples : diffusion de logiciels sur un compte FTP anonyme, saturation


d'un serveur par envoi de requêtes successives, sniffing

● Usurpation d'identité : prise de l'identité d'un utilisateur

exemples : IP Spoofing (changement d'adresse IP), se faire passer pour


l'administrateur
● Injection de code : installation d'un logiciel clandestin sur une machine

exemples : virus, bombes logiques, ver, cheval de Troie, cookies, Back


Orifice, Packet Sniffer

● Ecoute : récupération d'informations exemple : analyseur de réseau

Exemples d'attaques

1)Appropriation de mots de passe

Comment obtenir un mot de passe ?

● Par indiscrétion des utilisateurs (très courant)


● Par obtention simple (évidence : date de naissance, noms familiers, etc…)
● Par analyse de trafic (repérage des paquets IP et de leur contenu) : utilisation de sniffers
● Par utilisation de dictionnaires et de listes : essais successifs
● Par cheval de Troie : petit programme de détournement

2)Détournement du fichier des mots de passe

Intrusion sur la machine de service ;

Parade : chiffrement
3)Usurpation

- Attaque TCP

Interposition du fraudeur (qui devine les numéros de ports TCP)

- Autre attaque TCP

Objectif : paralyser un serveur. TCP est un protocole orienté connexion


qui nécessite, avant tout échange de données, l'établissement d'une
communication par un double système d'acquittement :

● Le client demande la connexion (SYN)


● Le serveur accepte et renvoie un acquittement (SYN-
ACK) ; il mémorise les données relatives au client.
● Le client confirme par un acquittement (ACK).

Après cette poignée de main, le transfert de données peut


commencer.

Supposons que le client se fasse passer pour un ordinateur inconnu et


demande une connexion au serveur :

● les données de l'ordinateur inconnu sont mémorisées


sur le serveur
● le serveur envoie un SYN-ACK à l'ordinateur inconnu
(qui n'arrive jamais)
● le serveur attend l'acquittement ACK (qui ne viendra
jamais).
Si le client réitère un grand nombre de fois la demande de connexion, il
va finir par saturer la mémoire du serveur et donc le paralyser. La
détection du client douteux n'est pas simple !

- Attaque par fragmentation

Un paquet peut être fragmenté en plusieurs paquets plus petits et plus


adaptés au réseau ; seul le début du paquet porte l’adresse du port TCP ;
on peut donc ajouter des fragments pirates à la suite.

- Attaque par déroutement

Modification de la route suivie par les paquets pour les envoyer vers une
destination connue du fraudeur

- Attaque par ARP

Au passage de la couche réseau à la couche liaison, il faut établir la


correspondance entre les adresses IP et les adresses MAC(de réseaux
locaux) ; c’est le protocole ARP (Address Resolution Protocol) qui fait ce
travail : envoi d’une requête ARP pour savoir à qui est destiné le paquet
IP.

On peut envoyer des requêtes insolubles (on ne trouve pas l’adresse


MAC) ce qui a pour but de saturer le réseau local : indisponibilité.

- Attaque par UDP

UDP (User Datagram Protocol) est l’un des deux protocoles de la couche
transport (TCP est l’autre) TCP nécessite l’établissement d’une connexion
préalable (une procédure d’identification a donc lieu) UDP ne nécessite
pas l’établissement d’une connexion préalable (pas de procédure
d’identification) ; on peut alors envoyer n’importe quoi connaissant
l’adresse du destinataire et effectuer ainsi une intrusion par le
protocole UDP (protocole à éviter pour sites sensibles).

- Attaque par inondation : smurfing


Envoi de messages en grand nombre : inondation d’où harcèlement et
paralysie. La commande Ping permet de savoir si une machine est en
fonctionnement : la machine A envoie un message Ping (contenant son
adresse) ; la machine B répond à A par un message Pong.

Supposons que le réseau possède l'adresse IP 192.212.47.0 . L'adresse


permettant d'envoyer un message à toutes les machines du réseau est
192.212.47.255. Imaginons la situation suivante : la machine A envoie un
message Ping, mais en prenant l'identité de B (et donc l'adresse de B) à
toutes les machines du réseau. En fait, dans la pratique, on passe par un
reroutage par un serveur broadcast. Quoi qu'il en soit, la machine B (à
tort) va recevoir des messages Pong de toutes les machines du réseau.
Cette inondation peut paralyser la machine B.

Sécurisation des applications Internet

La messagerie électronique

Très répandue et très utilisée

Problèmes principaux :

● Perte, interception, altération, destruction de messages


● Infection (virus)
● Harcèlement (spamming)
Impératifs de sécurité :

● Confidentialité des messages (cryptage)


● Intégrité des messages (anti-virus)
● Non répudiation (certification, signature)
● Authentification des acteurs du système

Nécessité d’améliorer le protocole initial SMTP (Simple Mail Transfer Protocol)

S/MIME

Secure Multipurpose Internet Mail Extensions MIME propose une structuration plus
sophistiquée des messages.
S/MIME propose des services d’authentification par signature (RSA, DSS) et de
confidentialité par chiffrement (RSA, DES, RC2)

PGP

Pretty Good Privacy (Voir plus haut)

Les serveurs de noms DNS

DNS (Domain Name Server) est un découpage « postal » permettant de trouver le


destinataire d’un message. Structure hiérarchique :
Délégation de gestion des domaines :

Des machines connectées gèrent la correspondance entre les adresses URL et les adresses IP :
serveurs de nom Organisation hiérarchique suivant les domaines, sous-domaines, ….
Chaque serveur DNS connaît l’adresse IP de son père.

Nécessité de sécuriser les serveur DNS : contrôle d’accès et encryptage obligatoire.

Applications Web

Deux dispositifs principaux de sécurité :

● SSL (Secure Socket Layer)


Établissement d’une connexion sécurisée
Incorporation au navigateur dans le poste client

● S-HTTP (Secure HTTP)

Analogue à SSL
Encore peu utilisé

Services d’authentification

- Kerberos

Utilisation d’un serveur central auprès duquel clients et serveurs doivent être
enregistrés ;
Stockage des caractéristiques dans une base de données : Identification, Mot de
passe, Droits d’accès
Partage d’une clé secrète avec chaque utilisateur
Délivrance d’un ticket de validité

- Service X.509

Proposition d’une infrastructure de certificats


Reprise des recommandations par S/MIME, IPSec, SSL, SET,…)

IPSec

La version actuelle IPv4 du protocole IP n’est pas sécurisée. La version future IPv6 le
sera. En attendant, IPSec propose, en compatibilité avec IPv4 et IPv6, une version
sécurisée
Un paquet IPv4 possède la structure suivante : une en-tête et un corps (qui comprend
l’en tête TCP et les données). Avec IPSec, on le transforme en un autre paquet avec
une nouvelle en-tête IP et une en-tête IPSec qui protège l’ancien paquet (tunnel).

L’en-tête IPSec contient les informations sur les procédures d’authentification et de


confidentialité.

Bibliographie

● A. Tanenbaum : Systèmes d’exploitation (InterEditions)


● A. Tanenbaum : Réseaux (InterEditions)
● S. Ghernaouti-Helie : Sécurité Internet (Dunod)
● W. Stallings : Data and Computer Communications (Prentice Hall)
● Maekawa, Oldehoeft & Oldehoeft : Operating Systems (Benjamin)
● Réseaux et protection numérique des documents multimédias (études INA)
● Réseaux et commerce électronique (études INA)
● J.P. Lovinfosse : Le piratage informatique (Marabout)
● N.J.Yeager, R.E.McGrath : Technologie des serveurs Web (Thomson Pub.)
● S.M.Bellowin, W.R.Cheswick : Firewalls et sécurité Internet (Addison Wesley)
● A.Fenyö, F.Le Guern, S. Tardieu : Raccorder son réseau d'entreprise à l'Internet (Eyrolles)
● Commission Nationale de l'Informatique et des Libertés : http://www.cnil.fr

Vous aimerez peut-être aussi