Sie sind auf Seite 1von 33

Internet et Sécurité

n°830/SGDN/SCSSI/SI du 11 mai 1999

Table des matières


Chapitre 1 : AVANT-PROPOS

Chapitre 2 : L'INTERNET

2.1 Introduction
2.2 Politique de sécurité Internet
2.3 Les modes de raccordement sur l'Internet
2.4 Les services Internet les plus utilisés et les problèmes de sécurité associés

2.4.1 Accès au World Wide Web (protocole HTTP)


2.4.2 Messagerie électronique ou email (protocole SMTP)
2.4.3 Transfert de fichiers (protocole FTP)
2.4.4 Accès interactif par un terminal distant (protocole Telnet)
2.4.5 Forums thématiques ou newsgroups (protocole NNTP)
2.4.6 Serveur de noms (DNS)

2.5 Les principales menaces

2.5.1 Contournement d'un point de raccordement à l'Internet


2.5.2 Ecoute passive du réseau
2.5.3 Usurpation d'identité
2.5.4 Intrusion dans un routeur ou un serveur
2.5.5 Importation de virus par téléchargement
2.5.6 Détournement de site
2.5.7 Saturation du réseau

Chapitre 3 : PRINCIPES DE SÉCURITÉ

3.1 Que voulez-vous protéger ? exprimez vos besoins

3.1.1 Vos informations


3.1.2 Vos ressources
3.1.3 Votre réputation
3.1.4 Votre responsabilité juridique

3.2 Contre quoi essayez-vous de vous protéger ? évaluez les menaces


3.3 Quelques stratégies de sécurité

3.3.1 Moindre privilège


3.3.2 Cohésion et complémentarité des mesures de sécurité
3.3.3 Goulet d'étranglement
3.3.4 Sécurité en mode dégradé

Chapitre 4 : RECOMMANDATIONS POUR L'UTILISATION


D'INTERNET

4.1 Recommandations générales


4.2 Recommandations relatives aux firewall
4.3 Recommandations relatives à la cryptographie
4.4 Recommandations relatives aux sites Web
4.5 Recommandations relatives à la messagerie
4.6 Recommandations relatives à la recherche d'information
4.7 Recommandations relatives au contrôle des logiciels importés
4.8 Recommandations relatives à l'utilisation d'ordinateurs portables

Chapitre 5 : Conclusion

Annexe A : Quelques définitions

Annexe B : Quelques techniques de sécurité utilisées

B.1 L'authentification
B.2 Le filtrage de paquets
B.3 Les traces
B.4 Les techniques cryptographiques

Annexe C : Profils de protection pour firewall

C.1 Passerelle filtrante de sécurité configurable


C.2 Firewall à exigences réduites

Annexe D : Les risques liés aux codes exécutables mobiles

D.1 Exemple d'attaque


D.2 Description et possibilités d'ActiveX
D.3 Les applets Java
D.4 JavaScript

Liste des acronymes


• CERT : Computer Emergency Response Time
• CGI : Common Gateway Interface
• DES : Data Encryption Standard
• DNS : Domain Name System
• DSA : Digital Signature Algorithm
• FTP : File Transfer Protocol
• HTTP : Hyper Text Transfer Protocol
• HTML : Hyper Text Markup Language
• IP : Internet Protocol
• MIME : Multipurpose Internet Mail Extensions
• NNTP : Network News Transfer Protocol
• OSI : Open System Interconnexion
• OTP : One Time Password
• PCT : Private Communications Technology
• PEM : Privacy Enhanced Mail
• PGP : Pretty Good Privacy
• RSA : Rivest, Shamir, Adleman
• SHTTP : Secure Hyper Text Transport Protocol
• SMTP : Simple Mail Transfer Protocol
• SSL : Secure Sockets Layer
• TCP : Transmission Control Protocol
• TFTP : Trivial File Transfer Protocol
• UDP : User Datagram Protocol
• WWW : World Wide Web

AVANT-PROPOS
Le présent document est destiné à aider les administrations à utiliser l'Internet
dans un contexte sécurisé. À ce titre, il contient des recommandations et des
explications destinées d'une part à clarifier la terminologie, d'autre part à
apporter des connaissances de base sur le fonctionnement de l'Internet et sur
les principes de sécurité.

Ce document s'adresse donc aux responsables informatiques et administrateurs


de réseaux qui doivent comprendre pourquoi il est nécessaire de mettre en
place des contrôles et des mesures de sécurité et savoir les expliquer aux
utilisateurs.

Le document s'adresse également à tous les responsables, et en particulier aux


responsables de la sécurité, ayant à prendre des décisions pour la mise en
oeuvre de services sur l'Internet. Ces personnes n'ont pas forcément une
connaissance détaillée du fonctionnement des protocoles et des différents
services disponibles sur l'Internet ni, a fortiori, une totale visibilité sur les
vulnérabilités et menaces attachées à ce réseau. Connaître les risques, savoir
exprimer ses besoins de sécurité, être capable de juger de la pertinence de telle
ou telle fonction de sécurité et obtenir la coopération des utilisateurs : nul
besoin d'être un spécialiste de l'Internet pour atteindre ces objectifs. Aux
experts la tâche de développer, intégrer et tester les protocoles et les
applications, installer et configurer les routeurs et les coupe-feu ou firewall,
aux décideurs la responsabilité de bâtir une politique de sécurité et de s'assurer
qu'elle est correctement mise en oeuvre.

L'INTERNET
Introduction
L'Internet, souvent appelé réseau des réseaux, résulte en fait de la possibilité
d'interconnecter, à travers les différents réseaux de télécommunication
couvrant la planète, tous les systèmes informatiques - du plus simple
ordinateur personnel à la plus grosse configuration - dès lors qu'ils utilisent un
protocole commun: IPv41. Celui-ci permet d'une part aux machines de se
comprendre, d'autre part aux utilisateurs d'adresser leurs correspondants.

Pour se connecter sur l'Internet, il suffit d'avoir un micro-ordinateur, un


modem et une ligne téléphonique. Dès lors, vous aurez potentiellement accès à
toute l'information disponible au plan mondial, mais, contrepartie plus ou
moins appréciée, vos propres informations risquent de se trouver, si vous
n'avez pas pris de précautions particulières, accessibles à tout un chacun à
partir de tous les points du globe. Même ceux qui, avides de notoriété, se
réjouissent de cette aubaine, se montrent moins enthousiastes lorsque l'image
qu'ils pensaient véhiculer se trouve altérée, déformée, dévoyée. Des exemples
récents de piratage de site Internet sont là pour montrer les dégats et contre
performances médiatiques que peut générer ce médium mal maîtrisé. Ces
risques soulignent les menaces qui pèsent sur les systèmes informatiques
distribués où se côtoient sans cloisonnement sérieux les informations les plus
sensibles voire classifiées, et que l'on retrouve connectés à l'Internet, parfois
même sans que la hiérarchie en soit informée.

La communauté qui a créé un réseau de recherche expérimental aux États-Unis


vers la fin des années 1960, à l'origine de l'Internet, visait essentiellement à
faciliter les communications. Dans ce contexte, la sécurité n'était pas une
priorité. Le seul souci était de trouver un moyen pour transmettre rapidement
les informations entre des ordinateurs. En conséquence des choix techniques
effectués, ce réseau n'offre aucune garantie de délivrance de l'information, de
délais d'acheminement contrairement à d'autres réseaux de télécommunication.
Il ne garantit pas non plus l'intégrité des messages ni a fortiori leur
confidentialité.

Avec le succès et la croissance de l'Internet, la communauté des utilisateurs a


beaucoup changé et cette connectivité trop facile est devenue un casse-tête
pour la sécurité, car elle permet à certains d'effectuer des actes malveillants et
de les masquer. Sécuriser ses accès sur l'Internet est aujourd'hui une nécessité,
dès lors que le nombre des systèmes informatiques reliés à l'Internet, contenant
des informations de valeur, croît et attire les convoitises d'attaquants potentiels
de plus en plus nombreux, et donc que l'ouverture et la confiance d'antan ne
sont plus possibles.

Aujourd'hui les compagnies privées et les gouvernements doivent protéger


leurs informations, leurs ressources et leur réputation. Certains organismes sont
même dans l'obligation légale de protéger les données qu'ils détiennent contre
une divulgation ou une modification de celles-ci et pourraient le cas échéant
être tenus responsables d'un manque de protection.

Politique de sécurité Internet


La connexion de sites dont le niveau de sécurité est faible sur l'Internet est
dangereuse et peut avoir des conséquences catastrophiques. Des solutions
techniques existent pour contrer la plupart des menaces. Cependant, il faut être
bien conscient qu'elles ont un prix : en effet certaines solutions limitent les
fonctionnalités, d'autres le confort d'utilisation et enfin la plupart requièrent
d'acheter et de maintenir des matériels et des logiciels ainsi que du personnel
pour les mettre en place et les gérer.

Il est donc fondamental de décider comment une organisation doit se protéger


contre les risques liés à l'utilisation de l'Internet, ce qui constitue l'objectif de la
politique de sécurité Internet. Pour que celle-ci soit efficace, il est
indispensable que le décideur comprenne les conséquences, dont certaines sont
mentionnées ci-dessus, qu'aura la politique de sécurité sur le fonctionnement
de son organisation. Faute de quoi la politique de sécurité risque de se limiter à
un recueil de vagues conseils ou bien de n'être carrément pas appliquée, car les
conséquences de son application vont à l'encontre d'autres politiques
(budgétaires, personnel, productivité...).

Le problème fondamental vient du fait que l'Internet (IP v4) n'a pas été conçu
pour assurer une bonne sécurité. Les problèmes les plus évidents sont les
suivants :

Il est facile d'écouter le trafic et de se faire passer pour quelqu'un d'autre : les
messages électroniques, les mots de passe, les fichiers peuvent être récupérés
et, s'ils ne sont pas chiffrés, immédiatement exploités.

De nombreux services TCP/IP comportent des vulnérabilités, que des


attaquants exploitent pour s'introduire dans les serveurs ou les hôtes du site
attaqué. La plupart des vulnérabilités sont connues et peuvent être récupérées
sur l'Internet. Mieux encore, on y trouve même des scénarios d'attaque
parfaitement au point, qu'il ne reste plus qu'à utiliser.

L'absence de politique de sécurité : la configuration de nombreux sites est telle


qu'elle laisse grand ouvert l'accès à partir d'Internet. En général, les
responsables n'en ont même pas conscience et n'ont pas la moindre idée des
risques qu'ils courent. Par exemple, ils ne savent pas qu'en installant sans le
configurer un serveur ftp, ils laissent aux internautes qui se connectent l'accès à
toutes les informations présentes sur le site ou bien ils ne savent pas que
certains services TCP/IP dangereux pour la sécurité, dont ils n'ont aucun
besoin, sont accessibles sur leurs serveurs par défaut.

Configurer certains systèmes d'exploitation, contrôles d'accès et firewall se


révèle souvent si complexe que les failles de sécurité qui résultent de
mauvaises configurations peuvent être exploitées par des intrus.

Les modes de raccordement sur l'Internet

Un ordinateur relié à l'Internet peut héberger des applications de type serveur


ou de type client, ou les deux. Un serveur (Web, FTP...) contient des
ressources et des données à la disposition d'hôtes clients sur l'Internet. Un
client cherche un accès à un ou plusieurs serveurs. Un hôte, serveur ou client,
peut être un ordinateur isolé (un PC portable par exemple) ou faire partie d'un
réseau local.

Un ordinateur peut être connecté à l'Internet de deux façons :

Par une connexion directe (seul ou par l'intermédiaire d'un hôte sur lequel il
possède un compte utilisateur) ; dans ce cas il a une connexion permanente
(carte Ethernet, liaison France Telecom), une adresse IP fixe et a recours à un
fournisseur d'accès (RENATER, France Telecom...). C'est le type de
connexion utilisé par les entreprises, qui ont besoin d'un débit d'information
élevé.

De façon indirecte, par l'intermédiaire d'un fournisseur de service (AOL,


Compuserve, Infonie, PSINET/Calvacom, Wanadoo...) auquel il est relié par
un modem et une liaison série, et qui lui attribue une adresse à la volée (valable
pour la session). Il ne faut pas croire dans ce cas que l'on est à l'abri d'une
attaque, les adresses pouvant être retrouvées parmi la plage d'adresses utilisée
par le fournisseur de services. Ce type de connexion est souvent utilisé par les
utilisateurs individuels. Certains fournisseurs de service ont l'avantage d'offrir
une couverture mondiale, qui permet de se connecter au noeud le plus proche
au prix d'une communication locale.

Les services Internet les plus utilisés et les problèmes de sécurité associés

Accès au World Wide Web (protocole HTTP2)

Concept nouveau, qui a véritablement assuré le succès de l'Internet, le Web est


la collection des serveurs HTTP. Il utilise la technologie de l'hypertext pour
relier des documents situés sur des ordinateurs distants, documents incluant du
texte, des images graphiques, des fichiers sons ou vidéos. L'utilisateur peut se
déplacer librement d'un document à l'autre (et donc d'un serveur à l'autre) - on
dit qu'il navigue ou qu'il "surfe" - en cliquant sur certains mots ou images. Il
utilise en général pour cela un navigateur (browser en anglais) tel que Netscape
Navigator ou Internet Explorer. Celui-ci procure en fait tous les services clients
définis dans ce paragraphe.

Si vous ouvrez un serveur, vous devez vous protéger contre les internautes qui
visitent le site Web. Inversement, si vous faites de la navigation, vous êtes
vulnérables à des attaques provenant des serveurs visités.

Messagerie électronique ou email (protocole SMTP)

Probablement le service le plus utilisé, il permet de transmettre, lire et archiver


des messages au format SMTP. MIME3 procure des extensions au format de
base des messages et, en particulier permet d'attacher au message des fichiers
de données. Le protocole SMTP n'offre aucune fonction de sécurité : un
message peut être intercepté, modifié, envoyé par un usurpateur ou détourné.

Transfert de fichiers (protocole FTP)


FTP permet à un utilisateur de transférer des fichiers vers un serveur FTP
distant, d'aller chercher dans les répertoires et fichiers de ce serveur des
informations et de les télécharger. Il existe des serveurs FTP dits anonymes qui
n'exigent pas l'authentification des utilisateurs clients et où n'importe qui peut
lire, voire écrire. Un serveur FTP qui n'est pas anonyme comporte des
procédures d'authentification et de contrôle d'accès aux fichiers. Un serveur
FTP peut faire l'objet d'intrusion, être le lieu de recueil d'informations par des
programmes espions (téléchargés en utilisant FTP !) et une session FTP peut
en outre être détournée.

Accès interactif par un terminal distant (protocole Telnet)

Telnet, protocole assez voisin du protocole FTP en terme de fonctionnalités,


permet à un utilisateur d'accéder à un ordinateur distant (par exemple un
utilisateur en déplacement pourra se connecter sur sa station de travail à partir
d'un ordinateur portable). Telnet, dans sa version de base, transmet toutes les
données en clair (de même que FTP d'ailleurs), y compris le nom d'utilisateur
et son mot de passe. Un pirate peut donc recueillir les données et surtout les
mots de passe pour les utiliser ultérieurement. Il peut aussi détourner à son
profit une session Telnet et donc avoir accès à toutes les ressources à la
disposition de l'utilisateur.

Forums thématiques ou newsgroups (protocole NNTP4)

Ils sont destinés à la communication active entre de nombreuses personnes et


peuvent être publics ou privés. Plus exactement, NNTP sert à distribuer des
messages dans les groupes de discussion. Lorsqu'un utilisateur fait partie du
groupe, il envoie ses messages et prend connaissance des messages des autres
abonnés. Étant donné qu'il n'y a pas d'authentification, ni l'intégrité, ni l'identité
de la source de l'information ne peuvent être garanties.

Serveur de noms (DNS)

Le DNS permet d'utiliser, de façon transparente pour l'utilisateur, des noms


plutôt que des adresses numériques. Il sous-tend quasiment tous les services
sur l'Internet qui utilisent les noms de machine (Telnet, FTP, SMTP...). C'est
un service réparti, chaque serveur de noms d'un domaine contenant, tel un
bottin, les adresses de ses hôtes. Ainsi par exemple, pour trouver l'adresse de
www.scssi.gouv.fr, le DNS de la machine de l'utilisateur consulte le DNS qui
gère le domaine fr, puis gouv.fr (domaine géré par l'INRIA), pour obtenir
l'adresse du serveur DNS gérant le domaine scssi.gouv.fr, qui contient l'adresse
du serveur Web du SCSSI.

Le DNS constitue un gros problème de sécurité, dans la mesure où il est


vulnérable à des attaques qui permettraient de tromper le DNS et d'associer
l'adresse d'un site à une adresse IP choisie par l'attaquant. Il est aussi possible
d'installer un faux serveur DNS. Dans les deux cas, les clients qui penseraient
visiter votre site Web seraient en fait connectés à un autre site, avec toutes les
conséquences qu'on imagine. Par ailleurs, il est obligatoire de maintenir un
DNS secondaire qui sert de site de secours, ce qui peut encore faciliter la tâche
d'un agresseur.

Les principales menaces

Certaines menaces évoquées ci-dessous ne sont pas spécifiques à l'Internet,


mais aux réseaux en général ou aux réseaux de type Ethernet.

Contournement d'un point de raccordement à l'Internet

Cette menace consiste à passer outre le contrôle institué sur votre réseau local
par un firewall : un utilisateur du réseau peut, par exemple, se connecter
directement à l'Internet avec son propre modem relié à une ligne téléphonique
non surveillée. Avec l'avènement des modems numériques et des téléphones
portables munis de cartes PCMCIA, les connexions sauvages à l'Internet
deviennent difficiles à contrôler. Alors qu'il est possible de contrôler une ligne
analogique, le contrôle du flux d'une ligne RNIS sur un autocommutateur est
très difficile à réaliser en pratique. Les parades consistent essentiellement en
des mesures de sensibilisation et des mesures organisationnelles (contrôle des
locaux, des liaisons téléphoniques, des personnes).

De même, il existe des techniques qui permettent de s'affranchir de certains


contrôles mis en place sur un firewall. Supposons par exemple qu'un firewall
interdise d'utiliser Telnet ; il est malgré tout possible de contourner cette
interdiction, en cachant les requêtes Telnet dans des paquets TCP fragmentés
que la plupart des firewall ne contrôlent pas. La parade consiste pour le
firewall à mémoriser, assembler et analyser le contenu des paquets fragmentés,
mais peut pénaliser les performances.

Ecoute passive du réseau

Lorsque vous travaillez sur un ordinateur qui a une connexion permanente sur
l'Internet, des paquets IP d'autres utilisateurs peuvent être routés par cet
ordinateur. Il existe des outils permettant d'analyser, de filtrer et de stocker ces
paquets. Les "sniffers", programmes d'écoute espions, les utilisent. Le plus
souvent, un attaquant recherchera certaines informations dans les paquets, en
particulier les noms de comptes utilisateurs et mots de passe d'hôtes du réseau,
de façon à s'y introduire ultérieurement. Il existe des sites présentant un intérêt
particulier et qu'il convient de sécuriser : ainsi sur le réseau RENATER, une
bonne partie du trafic en direction des États-Unis passe par le site de l'INRIA.
L'écoute passive permet de lire toutes les données qui ne sont pas chiffrées ;
elle permet aussi d'intercepter les mots de passe.

La parade consiste à chiffrer les données sensibles et à utiliser des mots de


passe dynamiques (on dit aussi jetables, et en anglais "one time password").

Usurpation d'identité

L'usurpation d'identité consiste à se faire passer pour quelqu'un d'autre : un


utilisateur sur un réseau, ou même un hôte dans le cas d'un détournement de
session. Évidemment, toutes les actions effectuées par l'attaquant sous votre
identité vous sont a priori imputées.

Pour usurper l'identité d'un utilisateur, il suffit de connaître son identité et son
mot de passe, informations que l'on aura peut-être récupérées sur place, par
indiscrétion, ou par écoute du réseau. On peut aussi se connecter sur un site de
façon légale et essayer de trouver des vulnérabilités pour récupérer des mots de
passe, en particulier celui qui donne accès à tous les privilèges. Il faut donc
privilégier les mesures d'authentification fortes et sécuriser individuellement
tous les hôtes du site.

Il est également possible de se substituer à un hôte qui dialogue sur l'Internet.


Cette attaque consiste, par écoute du flux d'informations à intercepter et à
provoquer la demande de déconnexion de l'hôte puis à poursuivre la session à
sa place, sans que le serveur n'ait été alerté. Pour se prémunir autant que
possible contre ces attaques, il faut interdire les paquets avec routage par
défaut (possibilité offerte dans les options IP d'imposer que toutes les réponses
à des paquets IP empruntent un chemin prédéfini, en indiquant les adresses des
routeurs ; cette option permet d'utiliser des chemins non saturés, mais aussi à
un attaquant de concentrer les flux sur un routeur auquel il a accès afin
d'écouter et d'intercepter des paquets IP) et authentifier périodiquement son
correspondant.

Intrusion dans un routeur ou un serveur

On peut s'introduire sur un routeur ou un serveur sans forcément usurper


l'identité de l'administrateur ; ceci est possible en exploitant les vulnérabilités
de certains logiciels (une messagerie par exemple) pour faire exécuter des
commandes ou programmes personnels. Il est donc important de maintenir une
veille technologique active afin de connaître et de corriger certaines
vulnérabilités et d'éviter d'utiliser des logiciels trop vulnérables.

Importation de virus par téléchargement

L'importation de virus, programmes malicieux capables de se reproduire, qui


s'effectue souvent en introduisant sur son ordinateur des disquettes d'origine
incertaine, est bien sûr réalisable par le réseau Internet. Tout fichier téléchargé
sur le réseau peut en contenir. L'action d'un virus une fois installé peut alors
être destructrice (effacement de fichiers, blocage...) ou rester discrète, en
transmettant sur le réseau certaines de vos informations par exemple. Le
meilleur moyen de lutter contre cette menace consiste à analyser les fichiers et
messages potentiellement infectés par un anti-virus sur un ordinateur isolé dit
"sas de décontamination". On notera à cet égard que la solution consistant à
utiliser la même machine pour exploiter les fichiers, après une simple
déconnexion physique à l'Internet, n'apporte aucune sécurité réelle.

Détournement de site

Cette attaque redoutable est une forme d'usurpation d'identité. Dans ce cas,
c'est votre adresse Internet qui est usurpée au moyen d'une attaque sur le
serveur de noms DNS, soit en s'introduisant sur ce dernier et en modifiant ses
tables (votre nom correspondra désormais à une adresse IP autre que la vôtre),
soit en détournant une session. Le résultat peut être impressionnant : si par
exemple vous avez mis en place un site Web, les utilisateurs qui essaient de se
connecter se retrouvent sans le savoir sur un autre site avec tous les risques de
désinformation ou de perte d'image associés.

Il faut donc sécuriser le DNS et ne pas oublier de sécuriser aussi le DNS


secondaire. Il s'agit de s'assurer de l'intégrité des données du DNS par des
techniques cryptographiques (comparaison périodique de signatures de pages
de données avec les signatures des pages originales afin de détecter toute
modification suspecte). Il faut également être sûr de l'intégrité des serveurs
DNS gérant les parties supérieures du domaine.

Saturation du réseau

Ce type d'attaque sur la disponibilité du réseau est relativement facile à mettre


en oeuvre avec des outils logiciels que l'on trouve sur le réseau, mais très
difficile à parer. Il suffit par exemple de faire de nombreuses demandes
successives de connexions, ou de provoquer de multiples messages d'erreurs
pour saturer une liaison. On peut essayer de se prémunir contre ces attaques
par filtrage et rejet de certains paquets suspects...tant que le routeur filtrant
n'est pas saturé.

PRINCIPES DE SÉCURITÉ
Que voulez-vous protéger ? exprimez vos besoins

Quand vous vous connectez sur l'Internet, vous mettez en jeu vos informations,
vos ressources, votre réputation et votre responsabilité juridique.

Vos informations

Vous souhaiterez en général assurer à vos données les caractéristiques de


sécurité suivantes : la confidentialité (prévention d'une divulgation non
autorisée), l'intégrité (prévention d'une modification non autorisée), la
disponibilité (prévention d'un déni d'accès à l'information ou à des ressources),
l'exigence de preuves telles que la non répudiation de l'envoi ou de la réception
de messages ou fichiers. Attention, une information destinée à être publiée
exige souvent des mesures de confidentialité strictes jusqu'à sa publication.

Les gens tendent à privilégier la confidentialité, mais il est bien souvent plus
important de s'assurer que personne ne peut modifier vos données, ce qui, en
dehors des cas triviaux, n'est pas toujours évident à déceler.

Les techniques de sécurisation font appel à la cryptographie associée à des


mesures de protection informatiques mais également à des mesures de sécurité
non techniques : il ne sert à rien de chiffrer des données si des personnes non
sûres ont accès à ces mêmes données lorsqu'elles existent en clair, ou encore
aux clés de chiffrement.

Vos ressources

Pas plus que vous ne souhaitez qu'on emprunte à votre insu votre véhicule pour
partir en vacances ou commettre un hold up, vous ne souhaitez que des intrus
n'utilisent vos ressources (ordinateurs, logiciels, noms d'hôtes...) pour effectuer
leurs travaux ou pour se livrer à des activités malveillantes, ou bien qu'ils vous
privent de l'accès à celles-ci en les rendant non opérationnelles (attaques par
virus, par saturation...). Il vous faut donc les protéger, ce qui n'est pas toujours
facile dans le cas des attaques par saturation.

Votre réputation

Votre réputation est clairement en jeu si l'on s'introduit sur votre site ou si l'on
modifie vos pages Web à votre insu, au vu et au su des utilisateurs ou de la
presse.

Votre responsabilité juridique

Plus que la perte de crédibilité et de confiance, c'est votre responsabilité civile


et pénale qui peut être mise en cause si un intrus conduit des attaques à partir
de votre site en usurpant votre identité.

Contre quoi essayez-vous de vous protéger ? évaluez les menaces

Il est relativement aisé d'exprimer clairement ses besoins de sécurité en


utilisant des méthodes d'analyse de risques. En revanche, vous n'êtes pas
maître de l'environnement et des menaces qui pèsent sur vos biens. Vous devez
donc acquérir une bonne connaissance des types d'agresseurs et des types
d'attaques qui vous menacent. Nous avons évoqué les principales menaces :
elles nécessitent pour que des attaquants les mettent en oeuvre, des outils et des
techniques plus ou moins compliqués, que les ingénieurs systèmes ou les
administrateurs de site et de réseau doivent connaître dans leurs principes afin
de mieux s'en prémunir. Nous citerons sans les détailler des techniques
évoluées tels que le routage par défaut, la fragmentation de paquets IP, la
découverte de numéros de séquence de paquets TCP et l'utilisation des scripts
CGI 5, des programmes écrits en langage JAVA ou ActiveX ou d'outils tels que
SATAN ou CRACK.

Il ne faut pas sous-estimer le temps et l'ingéniosité que peuvent dépenser des


agresseurs pour vous espionner, frauder, se venger ou démontrer les prouesses
techniques dont ils sont capables. Il est donc primordial de détecter rapidement
les attaques sur votre site afin de mieux les contrer.

Quelques stratégies de sécurité

Pour protéger votre site, il est important de comprendre et d'utiliser certaines


des stratégies de base de sécurité, qui sont rappelées ci-dessous.
Moindre privilège

Ce principe essentiel pour limiter l'exposition aux attaques consiste à


n'octroyer aux utilisateurs, aux administrateurs et aux programmes que ce dont
ils ont besoin pour travailler et rien de plus. Ainsi, un utilisateur n'a
probablement pas besoin d'avoir accès à tous les services Internet, ni à tous les
fichiers du système en mode écriture ou même en mode lecture. Le principe du
moindre privilège doit être en particulier appliqué pour configurer
l'environnement des systèmes qui le permettent (Unix, Windows NT,...).

Cohésion et complémentarité des mesures de sécurité

L'application de ce principe permet d'éviter de dépendre d'un seul mécanisme


de sécurité, grâce à l'installation d'autres mécanismes, éventuellement
redondants, qui se soutiennent mutuellement. De cette façon, la défaillance
d'un seul mécanisme ne compromettra pas le système entier. Même si vous
avez installé un firewall, il ne faut donc pas négliger la protection des hôtes
individuels, ni la mise en oeuvre de mesures de sécurité non techniques :
n'oubliez pas que l'on peut surveiller à distance votre clavier et votre écran,
piéger vos téléphones et vos ordinateurs et exploiter les rayonnements
électromagnétiques de certains périphériques.

Goulet d'étranglement

C'est le principe utilisé par un firewall : forcer les utilisateurs, donc les
attaquants à passer par un goulet d'étranglement de façon à concentrer vos
défenses. N'oubliez pas cependant de vous assurer qu'il n'y a pas de possibilité
de contournement.

Sécurité en mode dégradé

Les matériels tombent parfois en panne et les logiciels peuvent se retrouver


dans un mode dégradé, un état instable où plus aucun contrôle de sécurité n'est
effectué. Cette dernière caractéristique est souvent exploitée par des agresseurs
lors d'attaques par saturation. Dans tous les cas, il est utile de tester en mode
dégradé que le système ne devient pas entièrement vulnérable (par exemple
que le firewall en mode dégradé n'autorise pas toutes les connexions sans
contrôle).

RECOMMANDATIONS POUR L'UTILISATION


D'INTERNET
Une organisation doit sécuriser tous les passages entre son réseau interne et le
monde extérieur et elle ne peut se fier à aucun mécanisme de sécurité qu'elle ne
contrôle pas. Les principes et les techniques de sécurité exposés dans le présent
document peuvent contribuer à réduire considérablement les risques et prévenir
la plupart des problèmes. Les recommandations ci-dessous sont destinées à
vous aider à y parvenir.
Recommandations générales

• En premier lieu, avant de choisir une solution toute faite, définissez vos
besoins, précisez les menaces que vous voulez contrer pour en déduire
les objectifs de sécurité. Le SCSSI recommande pour cela d'utiliser la
méthode d'analyse de risques EBIOS6. Ensuite seulement cherchez
comment mettre en oeuvre les fonctions de sécurité.
• Sécurisez votre réseau de façon centralisée au moyen d'un firewall. Ne
négligez pas pour autant la sécurité de chacun des hôtes. L'architecture
d'un firewall doit être soigneusement élaborée en fonction de vos
objectifs établis à la suite d'une analyse de risques : le firewall doit
mettre en oeuvre les contre-mesures nécessaires pour contrer les
menaces retenues, il doit être soigneusement configuré afin d'éviter
l'introduction de vulnérabilités. N'oubliez pas qu'une fois votre
architecture de sécurité installée, il faut la gérer activement : un firewall
doit être configuré, maintenu, amélioré en permanence et les traces qu'il
génère, exploitées.
• Mettez en oeuvre le principe du moindre privilège : supprimez sur votre
firewall et si possible sur vos serveurs, les comptes utilisateurs, enlevez
tous les compilateurs, éditeurs et autres outils, les protocoles
particulièrement vulnérables aux attaques tels que tftp7 ou finger8, et
plus généralement tout logiciel non indispensable.
• Mettez en oeuvre des techniques d'authentification forte, faute de quoi
vous ne pourrez avoir confiance ni dans l'efficacité du contrôle d'accès
aux ressources, ni dans les traces, ni dans le filtrage, puisque vous ne
pourrez pas garantir l'authenticité des adresses et des identités des sites
et utilisateurs. Il convient donc de ne pas utiliser des mots de passe
réutilisables.
• Mettez en oeuvre des techniques de chiffrement appropriées pour
garantir l'intégrité et la confidentialité de vos informations. Assurez-
vous qu'ils correspondent à vos besoins fonctionnels et satisfont aux
spécifications et normes concernant en particulier les algorithmes et les
paramètres utilisés. Il est important de bien adapter les moyens de
chiffrement aux besoins, la génération et la gestion sécurisée des clés
de chiffrement comprenant un moyen de récupérer les clés en cas de
perte. Assurez-vous par ailleurs que les moyens de chiffrement que
vous envisagez de mettre en place sont conformes à la loi française sur
la cryptologie.
• Utilisez des réseaux privés virtuels (VPN) chiffrés pour relier des
réseaux locaux sécurisés (connexion d'un firewall à un autre) par
l'intermédiaire de réseaux publics non sûrs. De préférence, le VPN
utilisera un tunnel chiffrant au moyen de boîtiers de chiffrement.
• Soyez en mesure de détecter les attaques éventuelles le plus rapidement
possible. Vous devez pour cela déceler rapidement des comportements
anormaux ou suspects, si possible automatiquement en exploitant les
traces (un firewall exploitant les traces et correctement configuré
pourra donner l'alarme). Le temps de réaction est en fait essentiel, ne
serait-ce que pour couper l'accès à votre site par discrétion et pour
contrer la menace. La préparation d'un scénario de réponse aux attaques
les plus probables permettra d'éviter la panique et de gagner du temps.
• Ne vous fiez pas aux logiciels récupérés sur des sites Internet, ceux-ci
n'offrant aucune garantie de conformité aux spécifications et pouvant
contenir virus ou chevaux de Troie.
• Sensibilisez et formez régulièrement les utilisateurs d'Internet ; il est
nécessaire que la sensibilisation leur permette de comprendre et
d'accepter des mesures de sécurité préconisées même au détriment de la
convivialité et que la formation leur permette de les mettre en oeuvre
facilement.
• Si vous devez acheter un firewall, ou d'autres produits de sécurité,
choisissez des produits évalués conformes à vos besoins (en premier
lieu les produits certifiés dans le cadre du schéma français d'évaluation
et de certification, puis parmi les produits certifiés reconnus en France,
et à défaut parmi les autres produits évalués). Étant donné la
complexité des firewall, l'évaluation constitue le meilleur moyen
d'avoir l'assurance qu'un produit fait ce qu'il prétend faire de manière
efficace. Pour cela, procurez vous le rapport de certification. Attention,
toutes les évaluations ne sont pas équivalentes : vérifiez dans le rapport
de certification si les fonctionnalités évaluées correspondent à vos
besoins et si le niveau d'évaluation et la résistance des mécanismes sont
adaptés ; n'hésitez pas à contacter le SCSSI.
• Si vous devez faire développer un firewall ou d'autres produits de
sécurité correspondant à des besoins spécifiques, la meilleure solution
est d'exprimer vos exigences sous la forme d'un profil de protection ou
PP (concept développé dans les Critères Communs pour l'évaluation de
la sécurité des TI). Un PP définit un ensemble d'objectifs et d'exigences
de sécurité, indépendant de l'implémentation, pour une catégorie de
produits qui couvrent des besoins de sécurité communs à plusieurs
utilisateurs. Le concept de PP permet le développement de standards
fonctionnels et constitue une aide à la formulation du cahier des
charges.
• Plusieurs PP ont déjà été élaborés et même évalués selon les CC, et en
particulier deux PP pour firewall dont les résumés sont joints en
annexe, un PP pour infrastructure de gestion de clés, un PP pour outils
de sécurisation de messages. Ces PP peuvent être utilisés et affinés
comme base de développement d'un produit de sécurité, qui, s'il
satisfait aux exigences exprimées, se prêtera plus facilement à une
évaluation.
• Consultez les avis diffusés régulièrement par le CERT9 dont la mission
est d'alerter rapidement les usagers sur les problèmes apparus sur
l'Internet.

Recommandations relatives aux firewall

• Le firewall doit être placé à l'endroit stratégique où le réseau local est connecté à
l'Internet, ce qui permet de concentrer les mesures de sécurité en un seul point.
• Il est difficile de trouver sur le marché une solution clés en main. Un firewall doit être
paramétré et souvent adapté par l'administrateur. De plus, un firewall ne permet pas de
contrer toutes les menaces, en particulier les menaces liées au détournement de
session. Enfin et surtout, il ne dispense pas de mettre en oeuvre une politique de
sécurité sur votre réseau.
• Il est recommandé, après avoir soigneusement établi les contre-mesures à mettre en
oeuvre en fonction des menaces, d'utiliser un ou plusieurs firewall de façon à filtrer les
paquets et à installer les proxy (cf annexe A, page 4) pour les services sélectionnés. Le
firewall devra être configuré de façon à masquer de l'extérieur toutes les adresses
internes du réseau local (traduction d'adresses).
• L'administrateur du firewall et son remplaçant devront être parfaitement qualifiés et
formés, leurs connaissances mises à jour périodiquement. L'accès au firewall sera
réservé aux seuls administrateurs et les opérations d'administration ne pourront pas
être conduites par accès distant.

Recommandations relatives à la cryptographie

• Alors que l'utilisation des techniques cryptographiques à des fins d'authentification


forte est systématiquement conseillée, la mise en oeuvre de techniques
cryptographiques pour la confidentialité peut s'avérer délicate et doit être étudiée avec
soin en fonction des besoins et des contraintes.
• Par exemple, dans le cas d'un réseau entre les sites d'organismes différents, un
chiffrement au niveau liaison de données ou réseau mis en oeuvre par un dispositif
matériel de préférence, est particulièrement bien adapté et permet de chiffrer tout le
trafic, à condition que celui-ci soit canalisé via un point d'accès unique.
• Par ailleurs, la méthode du chiffrement applicatif de bout en bout, quand elle est
applicable (messagerie, phonie, vidéoconférence, ...) assure la confidentialité jusqu'à
l'utilisateur final. Elle nécessite pour sa mise en oeuvre entre de nombreux utilisateurs,
de mettre en place une infrastructure de gestion des clés. Une telle infrastructure peut
également être utilisée pour d'autres fonctions, en particulier pour l'authentification et
la signature.
• Pour obtenir une bonne sécurité, il est souvent intéressant de combiner les deux
méthodes, dont les avantages sont complémentaires.
• N'oubliez pas de vérifier que les produits de chiffrement envisagés sont conformes à la
loi française sur la cryptographie.
• Dans tous les cas, un conseil direct est à rechercher auprès du responsable de la
sécurité du ministère ou de l'entreprise et éventuellement du SCSSI pour fonder votre
confiance et pour connaître l'avancement des initiatives en cours (développement de
chiffreurs IP, groupes de travail sur la protection de la messagerie par exemple).

Recommandations relatives aux sites Web

Les recommandations ci-dessous concernent les serveurs HTTP, destinés à la diffusion des
pages au format HTML10 des sites Web. Ce type de serveur héberge des codes qui viennent
s'exécuter sur la station de l'utilisateur qui se connecte au site (applets JAVA, contrôles
ActiveX, codes JavaScript) ainsi que des codes qui s'exécutent sur le serveur lui-même
(scripts CGI). Pour assurer l'intégrité du serveur, on veillera à ce que seuls les utilisateurs
autorisés y accèdent s'il s'agit d'un serveur privé, à ce que les pages ne soient pas modifiées et
à ce que les programmes ne fassent que ce qu'on leur demande. Pour cela :

• les navigateurs Internet seront utilisés soit sur des postes isolés ne contenant aucune
information sensible, soit n'accéderont à l'Internet que par l'intermédiaire du firewall
sur lequel sera installé le proxy HTTP (cf annexe A),
• contrôlez périodiquement l'intégrité de vos pages (vous pouvez utiliser à cet effet les
techniques cryptographiques qui permettent de créer des signatures caractéristiques
pour une page ou un ensemble de pages),
• si vous utilisez sur les serveurs de votre site, ce qui est probable, des programmes de
scripts CGI, sachez qu'ils constituent une cible de choix pour les attaquants. Pour
réduire leurs vulnérabilités, il convient de suivre certaines règles d'écriture, telles que
par exemple l'interdiction d'utiliser des méta-caractères (tel le caractère | bien connu
des utilisateurs Unix), et de procéder à des tests appropriés.
• Il en est de même pour les codes exécutables écrits en JAVA, VBScript, JavaScript ou
ActiveX, associés aux pages Web des serveurs. Ces codes exécutables mobiles font
courir des risques de sécurité importants à l'hôte qui les télécharge : l'hôte et même le
réseau local sur lequel il est connecté peuvent être compromis et servir de base pour
attaquer d'autres sites. Ces risques sont décrits de façon plus détaillée dans l'annexe D.
De plus, des recommandations sont fournies dans la section consacrée au contrôle des
logiciels importés. Dans tous les cas où l'hôte contient un serveur quelconque ou des
données sensibles, il est recommandé de désactiver ces codes sur le navigateur ou au
minimum, dans le cas des applets Java, de ne les autoriser que pour des connexions à
des sites de confiance et de les désactiver immédiatement après.
• La plupart des sites Web sont ouverts en permanence, y compris en fin de semaine.
Prévoyez d'assurer une télémaintenance, ou un mécanisme automatique de reprise et si
possible d'alarme... il arrive bien souvent que les sites soient attaqués le vendredi soir.
Attention, la télémaintenance doit être sécurisée pour ne pas induire de nouvelles
vulnérabilités.
• Protégez votre serveur avec un système d'exploitation qui met en oeuvre des droits
d'accès aux fichiers (Unix, Windows NT) : il assurera une meilleure protection que des
systèmes qui ne permettent pas de le faire tels que Windows 3.X ou Windows 95 ou
98. Si vous voulez mettre une oeuvre une politique de sécurité multi-niveaux
(coexistence d'informations classifiées secret, confidentiel, diffusion restreinte...
devant être gérées par des utilisateurs habilités à différents niveaux) utilisez un
système d'exploitation sécurisé (par exemple un Unix sécurisé) s'exécutant sur une
station de travail CMW (Compartmented Mode Workstation).

Recommandations relatives à la messagerie

Pour assurer la confidentialité et l'intégrité des informations, on utilisera les techniques


cryptographiques adaptées. Il existe cependant d'autres vulnérabilités qui sont liées à
l'utilisation du logiciel de messagerie lui-même (tel est le cas de Sendmail) et surtout aux
extensions MIME qui permettent de configurer, de récupérer et d'exécuter des fichiers de
données joints à un message et en conséquence, de véhiculer des codes malicieux. Il est donc
recommandé, outre l'utilisation de filtrage :

• de vérifier que la version de votre logiciel de messagerie est récente et inclut les
corrections aux failles de sécurité qui ont été identifiées,
• de désactiver l'exécution et l'interprétation automatique des pièces jointes,
• éventuellement d'interdire les extensions MIME au prix d'une perte de quelques
fonctionnalités (utilisation de caractères autres que US-ASCII, utilisation de signatures
numériques...), ou de les exploiter sur une station isolée,
• d'utiliser un autre service messagerie que celui de votre navigateur Internet (en effet ce
dernier permet d'utiliser toutes les fonctionnalités dangereuses liées à l'utilisation de
HTML pouvant être contenues dans les messages : on pourra donc sans le savoir
exécuter une applet Java importée depuis un message), et plus généralement de faire
de la navigation en utilisant un autre disque ou un autre poste que celui où s'effectue la
messagerie.

Recommandations relatives à la recherche d'information

• Pour rechercher des informations accessibles publiquement sur le réseau Internet à des
fins d'intelligence économique, il vous faudra consulter des serveurs Web, des
serveurs FTP, éventuellement participer à des forums thématiques. Cela implique
d'utiliser un navigateur Web, des moteurs de recherche qui localisent les informations
par mots-clé et un serveur NNTP. Dans un contexte stratégique ou économique, vous
devrez vous prémunir contre le risque que l'on découvre quel type d'information vous
recherchez et contre le risque de désinformation.
• Le SCSSI recommande de sensibiliser et de former les utilisateurs et, si nécessaire, de
rendre vos requêtes anonymes et de les masquer parmi de nombreuses autres requêtes
pour éviter que leur connaissance ne révèle le but de la recherche.

Recommandations relatives au contrôle des logiciels importés

• Il convient de se protéger des données que l'on importe sur son propre site, mais
également de vérifier que les fichiers et outils logiciels que l'on met à disposition des
utilisateurs sur son site Web ne sont pas contaminés. Dans ce cas, vérifiez leur origine,
leur intégrité et essayez de détecter s'ils contiennent des virus.
• Dans le cas des données importées (fichiers, logiciels d'application, jeux, code de
correction ou "patch", images...), il est recommandé de les récupérer sur une station de
travail isolée qui fera office de sas de décontamination. On pourra ainsi remettre les
données dans un format lisible (décompacter, décoder, déchiffrer), les soumettre à un
ou plusieurs anti-virus, les lire, et dans le cas de programmes exécutables, donc
particulièrement dangereux, les exécuter localement de façon à éviter de compromettre
les hôtes sur votre réseau. Les applications qui mettent en oeuvre des commandes
"macros", telles que Word, Excel ou même la fonction d'impression Postscript
constituent la cible favorite pour introduire des macro virus : il suffit alors que
l'application considérée ouvre le fichier Word, Excel ou Postscript pour activer le
macro virus.
• Prenons aussi l'exemple des "patches" que l'on trouve gratuitement sur l'Internet sur le
site de Microsoft, qu'un utilisateur désire télécharger. Si le site a été détourné ou si un
attaquant a introduit à la place du patch un code de sa composition, l'utilisateur aura
téléchargé et appliqué sans le savoir un cheval de Troie. Il est donc recommandé dans
ce cas de se procurer officiellement les mises à jour sur support cédérom (qu'il faudra
payer, mais la sécurité est à ce prix).
• La politique de sécurité à mettre en place pour se prémunir des virus doit comporter
les aspects prévention, détection et correction (suppression du virus et réinstallation de
l'environnement avant infection).
• La politique de prévention comprend l'intervention d'un responsable de sécurité (en
général l'administrateur du site) pour approuver au préalable l'installation de tout
nouveau logiciel, pour vérifier périodiquement les configurations de tous les
ordinateurs du site, pour interdire de télécharger des logiciels à partir d'Internet et pour
interdire l'utilisation de la commande "get" du protocole de transfert de fichiers FTP.
De plus ce responsable centralisera l'achat, l'installation et la mise à jour de
programmes anti-virus, formera les utilisateurs et fera appliquer la politique de
sécurité ; il mettra à disposition des utilisateurs une ou des stations de travail isolées,
pour leur permettre d'ouvrir les fichiers et autres pièces jointes reçues par la
messagerie en sécurité.
• Certains virus peuvent être détectés par un programme anti-virus qui recherche leurs
signatures à partir d'une base de données de signatures des virus connus. Il faudra bien
sûr mettre à jour régulièrement cette base. Cependant cette méthode ne s'applique pas
à tous les virus (par exemple aux virus polymorphes qui se modifient en se
propageant). D'autres méthodes de détection pourront être rajoutées.
• Tout ordinateur infecté par un virus sera immédiatement déconnecté du réseau et ne
sera reconnecté que lorsque le virus aura été enlevé de façon certaine, soit par un
programme anti-virus, soit en réinstallant entièrement la configuration à partir d'une
base sûre.
• Les codes exécutables mobiles tels que les codes Java ou ActiveX, même si les
développeurs respectifs (Sun Microsystems et Microsoft) ont mis en place un modèle
de sécurité sont une source de vulnérabilités importante. Ces codes sont téléchargés
sur l'ordinateur d'un utilisateur qui accède un serveur Web par exemple sous forme
d'applications exécutables (applet). L'interdiction pure et simple de télécharger des
applet par le firewall est possible, mais conduit dans la pratique à l'impossibilité de
naviguer sur la plupart des serveurs. En effet, de nombreux serveurs font effectuer les
traitements par les navigateurs des utilisateurs, au moyen des applet. Enfin, certains
moteurs de recherche utilisent aussi les applet.
• Les applet Java sont exécutées par un logiciel appelé machine Java virtuelle (JVM :
Java Virtual Machine), dans un environnement théoriquement sécurisé, une enceinte
sûre baptisée "sandbox". D'autre part, aussi bien ActiveX que Java offrent la
possibilité à l'utilisateur de vérifier que les applet téléchargées sont bien originaires
d'un développeur "de confiance" (vérification par signature numérique) ; l'utilisateur
peut alors autoriser ou non l'exécution. Le problème est que ces politiques de sécurité
sont encore insuffisantes : des vulnérabilités dans Java et ActiveX sont exploitées par
les pirates pour réaliser des attaques et la confiance dans les développeurs a certaines
limites. Enfin, la puissance de ces langages est telle (ouverture de fichiers, droits
d'écriture...) que les attaques peuvent se révéler très dangereuses.
• Il convient de considérer que les postes sur lesquels sont effectuées les recherches
d'information sont vulnérables. En conséquence, il est donc recommandé d'utiliser des
postes de travail dédiés et de les isoler pour éviter toute prolifération des attaques ; de
plus ils ne doivent pas contenir de données sensibles.

Recommandations relatives à l'utilisation d'ordinateurs portables

• L'utilisation des ordinateurs portables, qui sont aujourd'hui très performants et d'un
coût abordable, a considérablement augmenté, que ce soit sur le lieu de travail ou en
déplacement. Outre les vulnérabilités inhérentes aux accès distants (connexion du
portable sur la station de travail), à l'importation de données (transfert par
disquettes...), l'utilisation de portables est la source de vulnérabilités supplémentaires.
En effet, les ordinateurs portables sont souvent l'objet de vol et d'intrusion et leur
utilisation dans des lieux publics peut provoquer des compromissions de données et de
mots de passe : si l'ordinateur portable est volé ou bien si un attaquant dispose d'un
minimum de temps, seul le chiffrement des données du disque, à condition que la clé
ne se trouve pas en clair sur celui-ci, offre une certaine protection.
• Par ailleurs, l'utilisation d'un portable pour se connecter sur l'Internet, par une liaison
PPP sur le réseau téléphonique par exemple, l'expose à des vulnérabilités telles qu'il
est en général possible pour un attaquant d'accéder aux données contenues sur le
disque. Il est possible de retrouver l'adresse IP du portable et d'exploiter les
nombreuses vulnérabilités des systèmes d'exploitation utilisés, qu'il s'agisse de
Windows 95 (fonction de partage de fichiers par exemple qui, lorsqu'elle est activée,
offre un accès partagé aux fichiers), Windows NT ou Linux.
• Il est donc recommandé de ne pas emmener de portables contenant des données
sensibles (mots de passe de connexion, clés de chiffrement, données utilisateurs
sensibles) et a fortiori classifiées dans un environnement non sécurisé. Pour cela, la
meilleure solution consiste à utiliser des disques durs amovibles qui permettent de
travailler dans des contextes différents. Il est recommandé de plus de limiter au
maximum son utilisation dans des lieux publics, de ne pas laisser son portable sans
surveillance, de prendre toutes les précautions concernant les virus, de rapporter tout
vol ou tentative d'intrusion à sa hiérarchie afin de prendre les mesures qui s'imposent
en fonction des données compromises.

Conclusion
Dès lors que le besoin ne peut être satisfait par un poste isolé et dédié ne
contenant pas de données sensibles, sécuriser complètement un site Internet est
une tâche pratiquement impossible. Il ne saurait y avoir une liste exhaustive de
solutions, dans la mesure où les problèmes sont divers et où les attaques
changent constamment. Une meilleure connaissance de l'Internet et des
menaces associées facilite l'expression des objectifs de sécurité, et permet de
sélectionner, parmi les recommandations proposées dans ce document, celles
qui sont le plus adaptées à votre cas. Vous pourrez ainsi dialoguer avec les
experts et contrôler l'application des mesures de sécurité. Si vous avez un
problème à résoudre, utilisez la voie fonctionnelle de la SSI mise en place au
sein de chaque ministère. Votre FSSI de tutelle saisira le SCSSI s'il ne peut lui-
même vous apporter une solution.

Quelques définitions

Dans ce document et dans la bibliographie sur l'Internet, certains termes sont


systématiquement utilisés, souvent sans avoir été clairement définis. Citons en
particulier: architecture client-serveur, protocole, modèle en couches, paquet,
routage, hôte, routeur, coupe-feu (firewall). Il est donc utile d'en proposer une
définition sommaire.
L'architecture client-serveur permet à un programme serveur11 d'être à l'écoute
et de traiter les requêtes de programmes clients. Par exemple, le programme
client Telnet de votre ordinateur peut se connecter à un ordinateur du réseau
Internet sur lequel aura été installé un programme serveur Telnet.
Un protocole de communication est une séquence de règles applicables lors
d'un échange d'informations. Le protocole IP est le protocole de base utilisé sur
l'Internet permettant d'acheminer des données d'un ordinateur à l'autre; plus
précisément, il fragmente les données en paquets qu'il achemine d'une adresse
source à une adresse destination où les paquets sont réassemblés. Ce protocole
peut s'exécuter sur différents types de réseaux (Ethernet, réseau téléphonique,
X.25...). D'autres protocoles dont TCP12 ou UDP13 complètent les services
assurés par IP. TCP assure entre autres que le destinataire recevra tous les
paquets, sans doublon et dans l'ordre dans lequel ils ont été envoyés. UDP
assure un service de transport simplifié car il n'effectue pas, comme le fait
TCP, des tests de fiabilité de bout en bout (il ne vérifie pas que les paquets sont
arrivés correctement).

Couches de télécommunication et encapsulation de données

On parle de modèle de télécommunication en couches par référence au modèle


OSI (Open System Interconnexion) qui en comprend 7. Les couches assurent
chacunes un ensemble logique de fonctions au moyen de protocoles de
communication installés sur les ordinateurs susceptibles de dialoguer entre
eux. Les couches sont indépendantes dans le sens où, par exemple, deux
systèmes de messagerie électronique pourront dialoguer sans se préoccuper du
réseau de communication ; cependant, les interfaces entre les couches sont
normalisées. Au niveau supérieur se trouve la couche dite application, qui est
celle qui assure les services demandés par l'utilisateur (exemple de protocoles
applicatifs: transfert de fichier FTP14, messagerie SMTP15). Les couches de
niveaux inférieurs gèrent la mise en forme, l'adressage et l'acheminement des
données de façon transparente pour l'utilisateur. Lors d'un échange
d'informations entre deux ordinateurs distants, chaque couche ne dialogue
qu'avec la couche correspondante au moyen d'un protocole (IP par exemple
pour la couche réseau) mais elle ne le fait pas directement: elle demande des
services à la couche de niveau inférieur.
Sur l'Internet, les différents protocoles qui permettent aux paquets de données
d'être transmis et routés d'un ordinateur source à un ordinateur destination sont
appelés protocoles TCP/IP. C'est au-dessus de ces protocoles que résident les
applications qui génèrent les données.
Prenons l'exemple de la transmission de fichiers par le protocole FTP (couche
application) : le FTP client transmet des données au protocole TCP (couche
transport), qui les structure en paquets avec leur en-tête et transmet l'ensemble
au protocole IP (couche réseau) qui va également rajouter ses propres en-têtes
et transmet les paquets IP aux protocoles des couches liaison de données puis
physique : on parle alors d'encapsulation de données (fig. 1). Côté serveur, le
paquet avec tous ses en-têtes successifs sera traité par les protocoles
correspondants, chacun utilisant les informations contenues dans son propre
en-tête, qu'il supprime ensuite pour transmettre le reste au protocole de la
couche supérieure jusqu'à l'application FTP.
Un paquet IP est un bloc de données comprenant un champ utilisé par le
protocole IP, l'en-tête IP, et un champ considéré comme des données pouvant
contenir par exemple un en-tête TCP et des données pour FTP : pensez à une
l'enveloppe où se trouve l'adresse d'une société, qui contient une autre
enveloppe contenant une lettre adressée à une personne.
Les paquets cheminent à travers le réseau en passant par des routeurs :
imaginez des centres de tri postaux. Ces ordinateurs, qui contiennent des tables
de routages, acheminent les paquets à un autre routeur jusqu'à leur adresse de
destination.
Le réseau Internet est composé de deux types de dispositifs interconnectés : les
hôtes et les routeurs. Un hôte est un ordinateur connecté à l'Internet, le plus
souvent par une carte Ethernet qui possède une adresse IP. Un routeur
achemine des paquets IP selon l'adresse destination du paquet et en fonction de
ses tables de routage. Les ordinateurs ont besoin d'adresses exprimées en octets
mais les utilisateurs préfèrent utiliser des noms. C'est pour cela qu'une adresse
IP est associée à un nom d'hôte (par exemple: web.scssi.gouv.fr au lieu de
196.50.30.5.). La traduction de l'une à l'autre est effectuée par le service DNS16
ou serveur de noms.
Un firewall ou coupe-feu est un système, constitué d'un ou de plusieurs
ordinateurs, routeurs ou hôtes, réseaux et leurs logiciels, qui contrôle le trafic
entre votre réseau et l'Internet (ou d'autres réseaux). Les fonctions d'un firewall
sont détaillées à la fin de ce chapitre.
Un firewall sert à contrôler le trafic (dans le sens entrant et sortant) entre deux
réseaux, en général entre un réseau local et l'Internet. Pour cela il doit être
placé à l'endroit stratégique où le réseau local est connecté à l'Internet, ce qui
permet de concentrer les mesures de sécurité en un seul point. Les principales
techniques de sécurité qu'un firewall met en oeuvre sont : le filtrage (de
paquets IP), le recueil de traces, l'authentification des utilisateurs ; il peut
également offrir d'autres fonctions telles que le chiffrement ou encore la
détection de virus.
Un firewall peut par exemple interdire d'utiliser certaines adresses, services ou
requêtes particuliers, protéger les serveurs et les utilisateurs du réseau contre
des attaques en provenance de l'Internet. Actuellement, la plupart des firewall
contrôlent surtout les utilisateurs du réseau local.
Un firewall est composé le plus souvent de routeurs filtrants, qui filtrent les
paquets IP, et de serveurs relais (proxy servers), souvent combinés en systèmes
hybrides.
Un routeur filtrant a l'avantage d'être bon marché et de contrer les menaces
d'usurpation d'adresse et de routage par défaut (cf plus haut : usurpation
d'identité). En revanche, il est souvent difficile à paramétrer et à gérer.
Un serveur relais ou proxy, installé sur un firewall, met en oeuvre un service
basé sur TCP/IP, tel que Telnet ou FTP. Le protocole client communique avec
le proxy, au lieu de communiquer avec le vrai serveur. Le proxy évalue les
requêtes du client et décide d'y donner suite ou non ; il communique alors avec
le serveur réel en lieu et place du client (d'où le terme serveur relais ou serveur
mandataire). Pour le client, l'existence du proxy est généralement transparente :
il a l'illusion de dialoguer avec le serveur réel. Quant à ce dernier, il a
l'impression de communiquer avec un client situé sur le firewall. Un proxy
permet donc de filtrer les requêtes des clients, d'enregistrer les traces de façon
efficace (requêtes et réponses) mais également d'authentifier les utilisateurs.
Cependant, pour être pleinement efficace, et bien qu'il existe des proxy
génériques17, un proxy doit être spécifique à une application, ce qui pose des
problèmes de maintenance et d'évolutivité car il faut faire évoluer le proxy et
les applications des clients de façon coordonnée.
En résumé, le principal intérêt des firewall consiste à pouvoir concentrer la
sécurité en un endroit bien précis, simplifiant ainsi la gestion des hôtes sur le
réseau. Par contre, il est difficile de trouver sur le marché une solution "clés en
main". Un firewall doit être adapté par l'administrateur. De plus, un firewall ne
permet pas de contrer toutes les menaces ; en particulier les menaces liées au
détournement de session et à l'importation et à l'exécution de programmes
comportant des codes malveillants sont assez difficiles à contrer. Enfin et
surtout, il ne dispense pas de mettre en oeuvre une politique de sécurité sur
votre réseau.

Protégez votre réseau avec un firewal

Quelques techniques de sécurité utilisées

Ces techniques sont généralement mises en oeuvre dans les firewall.

L'authentification

S'authentifier, pour une personne, c'est prouver que l'on est ce que l'on prétend
être. Les mécanismes d'authentification sont basés sur l'un des critères suivants
: quelque chose que l'on sait (un mot de passe), quelque chose que l'on détient
(une carte à puce, une calculette contenant des secrets), quelque chose que l'on
est (une caractéristique biométrique : empreintes...). L'authentification
constitue la base du contrôle d'accès aux ressources (autorisation) et le contrôle
des actions individuelles (audit).

L'authentification a longtemps été associée à l'utilisation d'un mot de passe


traditionnel (utilisable pendant une période de validité donnée) qui, outre le fait
qu'il peut être facile à deviner, peut être récupéré lorsqu'il circule en clair sur
l'Internet (les fameux "sniffers") puis réutilisé. Il existe aujourd'hui des
mécanismes plus sûrs qui relèvent de l'authentification forte, bien qu'étant
encore peu utilisés.
Parmi les techniques d'authentification forte, on trouve celles qui produisent
des mots de passe à usage unique (tel S/Key qui utilise l'algorithme de
hachage18 MD4) pour une session donnée, FTP ou Telnet par exemple, les
techniques de défi-réponse19 et les services d'authentification par tierces parties
de confiance tel que Kerberos ou SESAME. Les techniques de défi-réponse
sont avantageusement mises en oeuvre par des calculettes, des cartes à puce ou
des cartes électroniques. Les techniques biométriques d'authentification et
d'identification personnelle par des caractéristiques physiques s'améliorent
constamment et peuvent fournir, mais pas toujours, un degré élevé de sécurité.

Le filtrage de paquets

Un filtre est composé d'un programme (moteur de filtrage) et d'un ensemble de


critères de filtrage. Mis en oeuvre dans un firewall ou un routeur, le filtre
analyse tous les paquets IP qui entrent ou qui sortent et décide de les laisser
passer ou de les bloquer. Il s'agit donc d'une technique qui vise à contrôler, et
en général à restreindre, le flux qui traverse un point précis entre votre réseau
et l'Internet. Les informations du protocole IP contenues dans l'en-tête IP du
paquet seront analysées (en particulier les adresses source et destination) ou
aussi, en fonction des filtres utilisés, les données du paquet IP (donc les en-
têtes d'autres protocoles). Ce dernier type de filtrage permet de bloquer
l'utilisation de certaines applications, voire de certaines requêtes.

Les informations utilisées pour filtrer des paquets IP sont : l'adresse IP source,
l'adresse IP destination, le type de protocole qui s'exécute sur IP (TCP, UDP...
et même IP). On peut également filtrer les informations contenues dans les en-
têtes d'autres protocoles tels que TCP.

Attention cependant, car certaines données sont facilement falsifiables (adresse


source notamment) et les adresses identifient des machines, non des
utilisateurs. Les questions que vous devrez vous poser sont entre autres : que
doit-on filtrer ? à quel endroit ? dans quel sens ?

Les traces

Enregistrer des traces vous permet trois choses importantes : détecter des
comportements inhabituels et donner des alarmes, étudier le type d'attaque afin
de mieux la contrer et enfin exhiber des preuves des actions des utilisateurs et
des agresseurs. Pour que les traces soient utiles, il faut qu'elles aient été bien
choisies, qu'elles soient exploitées et qu'elles ne puissent être modifiées.

Les techniques cryptographiques

Même si la cryptographie ne constitue pas la panacée à tous les problèmes de


sécurité, elle revêt une importance majeure dans la sécurisation des réseaux.
Ainsi les techniques cryptographiques offrent des solutions élégantes et
robustes aux problèmes de contrôle d'accès, d'intégrité des données (incluant
l'authentification et la non-répudiation) et de confidentialité. Il est nécessaire
cependant, pour bien les utiliser, de connaître leurs capacités et leurs limites.
Leurs principes reposent sur l'existence d'une convention secrète qui se
compose dans la pratique d'une fonction, l'algorithme de chiffrement, et d'un
paramètre, la clé.

Jusqu'en 1976, on ne connaissait qu'un seul type d'algorithme : les algorithmes


à clé secrète (See Chiffrement à clé secrète). Ils se caractérisent par le fait que
la clé de chiffrement est identique à la clé de déchiffrement. On dispose
aujourd'hui d'une collection d'algorithmes dont le plus connu est sans doute le
DES (Data Encryption Standard). Outre les questions de performance en terme
de débit des algorithmes, c'est la gestion des clés qui constitue le problème le
plus difficile. En effet, comme il n'est pas convenable de partager des clés
secrètes avec trop d'utilisateurs, une clé différente peut être requise à la limite
pour chaque paire d'utilisateurs. Pour n utilisateurs cela conduirait à générer,
distribuer et gérer n(n-1)/2 clés différentes (50 millions de clés pour 10 000
personnes !).

Chiffrement à clé secrète

En 1976, l'invention des techniques de cryptographie à clé publique a fait


l'effet d'une véritable révolution. Les algorithmes à clé publique sont basés sur
un couple de clés, une clé privée (secrète) et une clé publique (non secrète). La
connaissance de la clé publique ne permet pas de retrouver la clé privée. L'une
des clés sert indifféremment à chiffrer, l'autre à déchiffrer. Ainsi, un utilisateur
désireux de recevoir des informations confidentielles diffuse sa clé publique
qui sera alors utilisée par un expéditeur quelconque pour chiffrer un message (
Utilisation d'algorithme à clé publique pour le chiffrement) ; seul le possesseur
de la clé privée correspondante peut déchiffrer le message. Les clés publiques
sont en général publiées dans des répertoires. La gestion des clés est ainsi
grandement simplifiée. Cependant, il est nécessaire de pouvoir assurer
l'authenticité des clés publiques (associer une clé publique au propriétaire de la
clé privée correspondante), ce que font par exemple les autorités
d'authentification ou de certification (CA ou certification authority) des
architectures à clés publiques basées sur les normes de la série X.500 (X.509
en particulier), ou plus généralement des tiers de confiance. Ces organismes
produisent des certificats qui contiennent, outre l'identité de l'utilisateur et sa
clé publique, des éléments utiles liés à son identité : l'authenticité du certificat
peut être vérifiée en utilisant la clé publique de l'organisme qui a signé le
certificat avec sa clé privée.
Utilisation d'algorithme à clé publique pour le chiffrement

Utilisation d'algorithme à clé publique pour l'authentification

Les algorithmes à clé publique sont utilisés pour résoudre les problèmes
d'authentification. En effet, tout message chiffré avec la clé privée de A permet
de s'assurer que le message a bien été généré par A, donc d'authentifier A
(Utilisation d'algorithme à clé publique pour l'authentification) : il suffit pour
cela d'utiliser la clé publique associée à la clé privée de A et de déchiffrer avec
succès le message) .

Principe de la signature numérique


Les algorithmes à clé publique, caractérisés par l'emploi de fonctions
mathématiques utilisant de grands nombres, utilisent des clés de taille
importante (typiquement 512 à 1024 bits) et sont considérablement plus lents
que les algorithmes à clé secrète. Souvent, on utilise une combinaison des deux
techniques : chiffrement par algorithme à clé secrète et échange de clé par
algorithme à clé publique. Les algorithmes à clé publique les plus connus sont
les algorithmes RSA20 et DSA21, ainsi que l'algorithme Diffie-Hellman utilisé
pour l'échange de clés. L'apparition des algorithmes à clé publique a permis de
résoudre de nombreux problèmes de gestion de clés, facilité et accéléré le
développement des applications utilisant la signature digitale.

L'utilisation de signatures digitales (voir principe, Principe de la signature


digitale) permet d'authentifier la source d'un message et de s'assurer de son
intégrité. La signature consiste en général à chiffrer un condensat du message
obtenu en lui appliquant au préalable un algorithme de hachage (signature avec
appendice, Utilisation d'une fonction de hachage pour la signature digitale). La
signature est transmise avec le message ce qui permet au destinataire de
vérifier, en appliquant au message reçu le même calcul que l'expéditeur,
l'intégrité de ce message.

Utilisation d'une fonction de hachage pour la signature digitale

Examinons maintenant les problèmes que posent la mise en oeuvre du


chiffrement à des fins de confidentialité sur l'Internet. A cette fin, il faut
d'abord déterminer les données que l'on veut protéger et répondre entre autres
aux questions suivantes : à quel niveau des couches de protocoles doit-on
chiffrer ? que faut-il chiffrer dans les paquets ? à quel endroit faut-il chiffrer ?
comment gérer et en particulier distribuer les clés ?

Si vous chiffrez au niveau liaison de données, au niveau des modems par


exemple, vous ne protégez que les données qui traversent la liaison concernée.
Ces données, une fois déchiffrées à une extrémité de la liaison traversent en
clair routeurs ou hôtes où leur confidentialité n'est plus assurée.

Vous pouvez aussi chiffrer au niveau réseau, c'est-à-dire entre les sites source
et destination, mais il faudra alors déterminer quelle partie du paquet IP
chiffrer, à quel endroit chiffrer et déchiffrer (avant ou après le filtrage ?) et
surtout comment résoudre le problème de la distribution des clés. La principale
technique utilisée pour le chiffrement au niveau IP est l'encapsulation des
données : le paquet IP est chiffré en entier et un nouvel en-tête IP est rajouté en
clair pour le routage ; le paquet peut alors être déchiffré chez l'hôte de
destination : on parle dans ce cas de tunnel IP. Le chiffrement au niveau
réseau, entre hôtes, est transparent pour les applications utilisateurs ;
cependant, il traite de la même façon tous les paquets IP envoyés à la même
adresse, quelle que soit leur origine (TCP, UDP...).

Tunnel IP

Le chiffrement au niveau des couches basses (réseau et au dessous), est


habituellement réalisé au moyen d'équipements spécifiques qui peuvent être de
très haute sécurité.

Au niveau transport, qui s'exécute au-dessus de TCP/IP, on peut également


effectuer de l'authentification, de la non-répudiation, de l'échange de clés
secrètes et du chiffrement de données. Ainsi SSL de Netscape et PCT de
Microsoft offrent des fonctionnalités analogues pour sécuriser les échanges
HTTP : authentification des serveurs Web et des clients, non-répudiation,
chiffrement entre client et serveur. Ces protocoles peuvent aussi être utilisés
avec FTP et Telnet, car ils effectuent l'authentification, la négociation
d'algorithme et de clés de session avant tout échange par les protocoles
applicatifs.

Vous pouvez chiffrer au niveau des applications, qui doivent alors supporter le
même chiffrement côté client et côté serveur. Cette technique très pratique
permet d'offrir une protection de bout en bout, d'individu à individu. Ainsi S-
HTTP permet des communications sécurisées entre client et serveur http, en
supportant plusieurs mécanismes cryptographiques. Il convient également de
mentionner les protocoles SET et C-SET22 destinés à sécuriser les transactions
électroniques et en particulier assurer l'authentification des consommateurs,
des commerçants et des banques, la sécurité des moyens de paiement et
l'intégrité des transactions.

Ces techniques cryptographiques sont mises en oeuvre dans de nombreux


protocoles et implémentations logicielles. Citons entre autres :

OTP23, technique d'authentification par mot de passe à usage unique,

IPSEC, protocole en cours de développement fournissant des services


d'authentification et de confidentialité au niveau IP,

Kerberos, système d'authentification et de contrôle d'accès sur réseau local,

PKIX, standards de gestion de clés pour architecture à clé publique,

PEM24, protocole de protection de messagerie,

S/MIME (Secure MIME), protocole de protection de messagerie,

PGP25, protocole et produit de protection de messagerie,

S-HTTP26, protocole de protection de pages HTML,

SSH, protection par authentification et chiffrement d'une session shell,

SSL27 et PCT28 pour sécuriser les échanges TCP/IP (authentification et


chiffrement).

Profils de protection pour firewall

Les deux PP dont un bref résumé est donné ci-dessous ont été élaborés par le
Centre d'électronique de l'armement, pour les besoins de la DGA. Ils peuvent
être obtenus par simple demande à cet organisme ou bien au SCSSI où ils sont
enregistrés dans le cadre du schéma d'évaluation et de certification. Ces PP
expriment les besoins d'une certaine catégorie d'utilisateurs, en l'occurrence
ceux du ministère de la défense, mais peuvent parfaitement convenir à de
nombreux autres utilisateurs du secteur gouvernemental ou du secteur privé.
Les développeurs de firewall qui ont ou projettent de réaliser des produits
conformément aux exigences exprimées dans un PP pourront faire évaluer
leurs produits plus facilement et ainsi procurer l'assurance qu'ils répondent à
ces exigences.

Passerelle filtrante de sécurité configurable

Le but de ce PP est de préciser les exigences fonctionnelles et les exigences


d'assurance applicables à une passerelle filtrante de sécurité configurable,
appelé aussi en anglais "Configurable Secure Gard" ou CSG.
Le CSG est un filtre de confiance pour interconnecter physiquement et
logiquement deux réseaux qui traitent des informations avec des niveaux de
sensibilité différentes ou des politiques de sécurité différentes.

Le CSG fournit un ensemble de filtres, avec divers degrés de sévérité, qui


peuvent être activés selon les exigences de politique de sécurité applicables.
Ces filtres permettent de contrôler des flux d'information licites et illicites ainsi
que le trafic et le protocole utilisé à travers le CSG, d'exécuter l'analyse
syntaxique sur les informations échangées et de contrôler par un opérateur
humain la sémantique des informations en transit.

Le CSG est destiné à des environnements dans lesquels l'accès aux


programmes, les transactions et l'information à travers l'interconnexion doivent
être limités selon une palette de politiques de disponibilité, d'intégrité et de
confidentialité, spécifiques aux organisations.

Firewall à exigences réduites

Ce PP exprime les exigences de sécurité pour des firewall destinés à


l'interconnexion de deux réseaux (pour mettre en oeuvre une messagerie par
exemple, ou accéder à des serveurs communs) et vise à conserver le niveau de
sécurité atteint par chaque réseau considéré isolément.

Le firewall offre des fonctionnalités de filtrage des communications entre les


deux réseaux :

filtrage des paquets

filtrage des applications entre utilisateurs

Le firewall est également doté de fonctionnalités de sécurité propres à assurer


sa sécurité intrinsèque telles que l'audit ou l'identification et l'authentification.

Les risques liés aux codes exécutables mobiles

La notion de code exécutable mobile fait référence à des programmes


exécutables téléchargés sur une station de travail où s'exécute un navigateur
(cette station est en général hôte d'un réseau local). Leur téléchargement peut
être connu de l'utilisateur mais s'effectue parfois à son insu. Un code
exécutable mobile peut être un contrôle ActiveX de Microsoft ou une Applet
Java (langage développé par Sun) ou encore du code JavaScript (Netscape) ou
VBScript (Microsoft) ; tous ces codes ont été conçus afin de développer les
activités de navigation sur Internet en les rendant plus interactives. Bien que la
plupart de ces exécutables soient inoffensifs, ils peuvent être utilisés à des fins
malveillantes dans le but d'attaquer réseaux et systèmes. Un code exécutable
mobile peut être transmis en même temps qu'une page HTML dans laquelle il
est intégré ou référencé, en tant que pièce jointe à un message électronique ou
être inséré dans un fichier compressé (ZIP, JAR ou CAB).
Comme les firewall sont habituellement configurés pour laisser le protocole
HTTP disponible aux utilisateurs pour qu'ils puissent naviguer sur le Web, ils
ne procurent souvent aucune protection contre les codes potentiellement
dangereux tels que Java, ActiveX, JavaScript, VBScript, ou les pièces jointes
des courriers électroniques.

Exemple d'attaque

La figure ci-dessous illustre l'environnement de l'attaque suivante : un


utilisateur qui navigue sur Internet peut avoir besoin de récupérer des pages
d'un site Web. Les pages HTML sont téléchargées par le navigateur sur la
station de travail locale avec des applets Java, composants ActiveX et autres
codes JavaScript ou VBScript, apparemment destinés à améliorer la
présentation et l'interactivité des pages.

Ces codes exécutables ont pu être conçus dans une intention malveillante pour
accéder à la base de données locale de la station de travail et si l'utilisateur est
connecté à un réseau local sur son site, au serveur de fichiers du réseau. Les
données sensibles ainsi récupérées peuvent alors être envoyées à l'extérieur
vers un hôte distant. De tels codes peuvent aussi être utilisés pour mener des
attaques plus sophistiquées de déni de service ou de détournement de site (en
détournant le DNS).

Attaque d'un site Internet


Description et possibilités d'ActiveX

ActiveXTM n'est autre que le résultat de la technologie OLE (Object Linking


and Embedding) qui est à la base de l'environnement de travail de Microsoft.
Cette technologie concerne le traitement des documents composés ou qui
contiennent plusieurs types de données. Avec OLE, à la différence de la
technologie du couper-coller, l'objet qui est placé dans un environnement
différent de son environnement natif conserve son état et devient un objet
incorporé. Ainsi par exemple, pour modifier une feuille de calcul Excel placée
dans un document Word, Excel sera lancé sans que l'utilisateur le sache. Les
contrôles ActiveX sont des composants qui peuvent être insérés dans des pages
Web ou dans d'autres applications et qui permettent de telles extensions. Dans
ce cas, si un contrôle ActiveX peut faire croire qu'il a été généré par une
application particulière, il peut alors lancer cette application et la piloter, ce qui
créé un risque important pour la sécurité.

En fait, pour le moment, cette technologie ne bénéficie pleinement en terme de


fonctionnalités qu'aux utilisateurs de Microsoft utilisant le navigateur Internet
Explorer. Cependant, ActiveX deviendra probablement un standard ouvert et il
est probable qu'il gagnera encore en popularité en dépit des risques bien réels
qu'il fait courir. Ces risques sont particulièrement sensibles aux utilisateurs de
systèmes d'exploitation qui, tel Windows 95 ou 98 ne disposent pas de
fonctions de contrôle d'accès aux fichiers (à la différence d'Unix et de
Windows NT). Dans ce cas, un code malveillant pourrait avoir accès à
l'ensemble du disque dur, tandis que dans un environnement Unix, seul le
répertoire courant de l'utilisateur est menacé (sauf attaque réussie permettant
d'acquérir des droits d'accès).

Pour répondre aux problèmes de sécurité, Microsoft propose une solution


binaire, qui n'est toutefois pas satisfaisante, qui consiste à vérifier (par
signature numérique) que les contrôles ActiveX sont originaire d'organisations
de confiance ; dans le cas contraire, le contrôle ActiveX est bloqué. Tout cela
suppose que votre navigateur soit correctement configuré et comprenne la liste
des clés permettant de vérifier les signatures. Le problème est qu'une simple
attaque peut suffire à changer le paramétrage de votre navigateur et autoriser
tous les contrôles ActiveX à s'exécuter. De plus, même un code signé n'est pas
sûr, dans la mesure où rien n'empêche vraiment un programmeur de signer son
code, qu'il soit malveillant ou non.

Du point de vue de la sécurité, la meilleure solution est de désactiver les


contrôles ActiveX (les bloquer tous) dans votre navigateur.

Les applets Java

JavaTM est un langage de programmation interprétable développé par Sun


Microsystems, orienté objet, d'utilisation simple et indépendant de toute plate-
forme (par ex. Windows, Windows 95, Windows NT, versions d'UNIX,
MacIntosh). Le code Java peut être utilisé pour faire des programmes
complètement autonomes et nécessite pour être exécuté qu'un interpréteur Java
(Java Virtual Machine) soit présent sur la machine cible. Une applet Java est
un fichier exécutable destiné à être interprété (en fait une chaîne de code
binaire ou "bytecode", résultat d'une précompilation du code source Java), qui
peut être téléchargée sur Internet en même temps que la page Web avec
laquelle elle est associée. Une applet est souvent utilisée pour animer des
éléments multimedias graphiques ou sonores.

Une des caractéristiques annoncées de l'interpréteur Java, a priori attrayante du


point de vue de la sécurité, est d'exécuter les applets dans un environnement
contrôlé qu'elles ne pourront pas quitter (appelé aussi une "sandbox"). Ainsi,
un gestionnaire de sécurité inclus dans l'interpréteur prend les décisions de
contrôle d'accès pour lesquelles il a été programmé. Malheureusement, il a été
démontré que de nombreuses vulnérabilités dans les interpréteurs Java, dans
les navigateurs et dans le langage Java lui-même (débordement de buffer par
exemple) peuvent permettre de violer la politique de sécurité et d'élaborer des
applets pouvant exécuter du code sur la machine hôte. De plus, des applets
Java portant une signature numérique, et donc présumées sûres, ont le droit de
s'affranchir de l'environnement contrôlé.

De nombreuses applets Java malveillantes ont été écrites, certaines étant


disponibles sur Internet, qui permettent entre autres des vols d'informations, de
fichiers de mots de passe, de détourner la politique de sécurité des firewall, de
réaliser des dénis de service.

Même si certains problèmes ont été corrigés par les constructeurs, il est
prudent de désactiver les applets Java sur votre navigateur, ou du moins de ne
les activer que pour des connexions sur des sites de confiance.

JavaScript

JavaScript est un langage de commande interprété créé par Netscape. Bien que
ne pouvant pas servir à développer des applications autonomes (à la différence
de Java), il peut être facilement utilisé et intégré dans des documents HTML.
Le code JavaScript est surtout utilisé sous cette forme pour améliorer
l'affichage des pages Web (boutons, boîtes de dialogue, zones de texte...), et
peut réagir en fonction des actions de l'utilisateur (mouvement de la souris ou
frappe sur le clavier par exemple). Bien que, lorsqu'il est intégré dans un
document HTML, il n'ait pas directement accès aux ressources systèmes (ce
qui n'est pas le cas quand il est transmis en pièces-jointes d'un message par
exemple), JavaScript peut être utilisé pour mener des attaques pour voler des
fichiers et des informations telles que la liste des sites visités ou bien pour
court-circuiter la sécurité d'un firewall qui essaierait par exemple de bloquer
des applets Java.

Là encore, l'approche de sécurité la plus sûre est de désactiver JavaScript sur


votre navigateur (il est très difficile de filtrer le code au niveau du firewall).
1- Internet Protocol Version 4
2- HyperText Transfer Protocol
3- Multipurpose Internet Mail Extensions
4- Network News Transfer Protocol
5- Common Gateway Interface
6- Expression des besoins et identification des objectifs de sécurité (méthode développée par
le SCSSI)
7- Trivial File Transfer Protocol
8- Service qui permet d'obtenir des informations sur les utilisateurs connectés sur un hôte
9- Computer Emergency Response Team : en France, RENATER diffuse les avis CERT
10- HyperText Markup Language
11- En jargon Unix on parle aussi de démon pour un programme serveur tournant en tâche de
fond
12- Transmission Control Protocol
13- User Datagram Protocol
14- File Transfer Protocol
15- Simple Mail Transfer Protocol
16- Domain Name System
17- Le proxy générique le plus connu est SOCKS
18- Un tel algorithme condense le message de façon irréversible : à partir du résultat
condensé, il est en pratique impossible de reconstruire le message lui-même ou d'exhiber deux
messages ayant le même condensat ; exemple d'algorithmes : MD2, MD4, MD5, SHA...
19- Le système génère un nombre aléatoire (défi), qu'il modifie à l'aide d'un algorithme et
d'une clé. Muni des algorithmes et clés adéquats, l'utilisateur peut ensuite vérifier la cohérence
du résultat (réponse).
20- RSA : Rivest, Shamir, Adleman (1978)
21- DSA : Digital Signature Algorithm (NIST : 1991)
22- Secure Electronic Transactions et Chip Secure Electronic Transactions
23- One Time Password
24- Privacy Enhanced Mail
25- Pretty Good Privacy
26- Secure Hyper Text Transport Protocol
27- Secure Sockets Layer
28- Private Communications Technology

Das könnte Ihnen auch gefallen