45
Elies Jebri 2008 1 Introduction à la sécurité Table des matières Notions et principes de base.................................................................................................................3 Définitions.......................................................................................................................................3 Système d'information.................................................................................................................3 Sécurité du système d'information..............................................................................................3 Besoin de sécurité.......................................................................................................................3 Critères de sensibilité et de sécurité............................................................................................3 Menace........................................................................................................................................4 Risque..........................................................................................................................................5 Sécuriser un système...................................................................................................................5 La défense en profondeur............................................................................................................5 La sécurité au sein de l'entreprise....................................................................................................5 Une approche globale..................................................................................................................5 La politique de sécurité...............................................................................................................6 Plan de continuité d'activité........................................................................................................6 Moyens techniques...............................................................................................................................7 Contrôle d'accès...............................................................................................................................7 Définition....................................................................................................................................7 Ressources, droits et profil..........................................................................................................7 Authentification..........................................................................................................................8 Architecture.................................................................................................................................9 Protection des données...................................................................................................................10 Contrôle d'intégrité....................................................................................................................10 Protection de la confidentialité..................................................................................................11 Disponibilité..............................................................................................................................13 Surveillance du réseau...................................................................................................................14 Segmentation du réseau............................................................................................................14 Parefeux et DMZ.......................................................................................................................15 Translation d'adresse.................................................................................................................16 Serveur mandataire et interconnexion.......................................................................................16 Sonde, IDS et IPS......................................................................................................................16 Chiffrement des liens................................................................................................................17 Les services essentiels: DNS et NTP........................................................................................18 Protection applicative....................................................................................................................19 Séparation des privilèges..........................................................................................................19 Protection antivirus...................................................................................................................19 Renforcement du système d'exploitation, empreinte et pot de miel.........................................19 Architecture logicielle et principe du moindre privilège..........................................................20 Gestion de la mémoire et contrôle des formats de données......................................................21 Les attaques........................................................................................................................................23 Programmes malveillants...............................................................................................................23 Outils génériques.......................................................................................................................23 Attaques spécifiques aux messageries......................................................................................23 1/32

Introduction a La Securite 2008 Elies

  • Upload
    asupcom

  • View
    26

  • Download
    14

Embed Size (px)

DESCRIPTION

securite

Citation preview

  • EliesJebri 2008 1

    Introduction la scurit

    Table des matires

    Notions et principes de base.................................................................................................................3 Dfinitions.......................................................................................................................................3

    Systme d'information.................................................................................................................3 Scurit du systme d'information..............................................................................................3 Besoin de scurit.......................................................................................................................3 Critres de sensibilit et de scurit............................................................................................3 Menace........................................................................................................................................4 Risque..........................................................................................................................................5 Scuriser un systme...................................................................................................................5 La dfense en profondeur............................................................................................................5

    La scurit au sein de l'entreprise....................................................................................................5 Une approche globale..................................................................................................................5 La politique de scurit...............................................................................................................6 Plan de continuit d'activit........................................................................................................6

    Moyens techniques...............................................................................................................................7 Contrle d'accs...............................................................................................................................7

    Dfinition....................................................................................................................................7 Ressources, droits et profil..........................................................................................................7 Authentification..........................................................................................................................8 Architecture.................................................................................................................................9

    Protection des donnes...................................................................................................................10 Contrle d'intgrit....................................................................................................................10 Protection de la confidentialit..................................................................................................11 Disponibilit..............................................................................................................................13

    Surveillance du rseau...................................................................................................................14 Segmentation du rseau............................................................................................................14 Parefeux et DMZ.......................................................................................................................15 Translation d'adresse.................................................................................................................16 Serveur mandataire et interconnexion.......................................................................................16 Sonde, IDS et IPS......................................................................................................................16 Chiffrement des liens................................................................................................................17 Les services essentiels: DNS et NTP........................................................................................18

    Protection applicative....................................................................................................................19 Sparation des privilges..........................................................................................................19 Protection antivirus...................................................................................................................19 Renforcement du systme d'exploitation, empreinte et pot de miel.........................................19 Architecture logicielle et principe du moindre privilge..........................................................20 Gestion de la mmoire et contrle des formats de donnes......................................................21

    Les attaques........................................................................................................................................23 Programmes malveillants...............................................................................................................23

    Outils gnriques.......................................................................................................................23 Attaques spcifiques aux messageries......................................................................................23

    1/32

  • EliesJebri 2008 2

    Attaques par le rseau....................................................................................................................23 Principales techniques...............................................................................................................23 Cartographie du rseau..............................................................................................................25 Attaques cryptanalytiques par canaux auxiliaires ....................................................................26 Recherche de vulnrabilits sur des binaires............................................................................27

    En pratique..........................................................................................................................................29 Les applications web......................................................................................................................29 Le wifi............................................................................................................................................32

    2/32

  • EliesJebri 2008 3

    Notions et principes de base Dfinitions

    Systme d'information

    Le systme d'information reprsente l'ensemble des lments participant la gestion, au stockage, au traitement, au transport et la diffusion de l'information dans l'entreprise.

    Il est compos de plusieurs lments :

    d'une infrastructure constitue de rseaux et d'quipements actifs visant assurer le stockage (ex : serveur de fichier), la transmission (ex : rseau de donnes), l'affichage ((ex : cran)), l'change (ex : passerelle d'interconnexion) et l'acquisition de donnes (ex : camra, poste de travail, robot logiciel).

    d'un ensemble organiss d'outils logiciels, d'humains et de procdures assurant le traitement des donnes afin de rpondre aux besoins de l'organisation tant dans les fonctions oprationnelles (production, ralisation de processus industriels) que les fonctions support (aide la dcision, gestion RH, ...).

    D'une manire gnrale, le systme d'information permet de :

    collecter des informations ; stocker les informations ; traiter les informations ; diffuser les informations.

    Scurit du systme d'information

    La scurit du systme d'information ne se limite pas la protection des systmes informatiques ou de l'information numrique. Elle s'applique la protection de l'information sous toute ses formes. L'objectif est de protger l'information contre l'accs, la diffusion, la destruction et la modification illgitimes tout en garantissant sa disponibilit et son intgrit pour le systme d'information.

    Pour assurer la scurit, il est ncessaire d'apprcier les risques qui psent sur le systme d'information et de prendre les mesures ncessaires afin de garantir un niveau de scurit conforme au besoin de scurit.

    Besoin de scurit

    Le besoin de scurit correspond l'expression des exigences oprationnelles du systme indpendamment de toute considration technique. Il s'appuie sur la dfinition des niveaux atteindre en matire de critres de sensibilit et de scurit.

    Critres de sensibilit et de scurit Les critres habituellement utiliss sont :

    La disponibilit ; L'intgrit ;

    3/32

  • EliesJebri 2008 4

    La confidentialit ; La traabilit, l'imputabilit, la preuve, ou la non-rpudiation.

    La disponibilit correspond la mesure du rapport entre la priode durant laquelle un systme est oprationnel est celle durant laquelle on aurait souhait qu'il le soit. Par exemple, un systme oprationnel 99% est utilisable 99% du temps pendant lequel on dsire l'utiliser (et non pas disponible 99% du temps).

    L'intgrit correspond au niveau de protection du systme contre une altration ou une destruction volontaire ou accidentelle qui entrane l'impossibilit de l'utiliser de la manire prvue initialement. L'intgrit correspond la prise en compte de quatre informations : l'intgralit (il ne manque pas d'lment), la prcision (ex : l'heure donne est suffisamment prcise), l'exactitude (fiabilit de l'information) et la validit (pertinence et lgitimit de l'information par rapport son usage).

    La confidentialit correspond au niveau de protection contre un accs une information par des entits non autorises.

    La traabilit et l'imputabilit correspondent la capacit identifier et suivre un lment du systme d'information. Elle vise a assurer la non-rpudiation.

    La non-rpudiation correspond la possibilit de vrifier que l'envoyeur et le destinataire sont bien les parties qui disent avoir respectivement envoy ou reu le message. Autrement dit, la non- rpudiation de l'origine prouve que les donnes ont t envoyes, et la non-rpudiation de l'arrive prouve qu'elles ont t reues.

    Menace

    Une menace correspond une mthode d'attaque rsultant d'un lment menaant.

    L'lment menaant peut tre :

    un humain ; la nature ; l'environnement (social, juridique, logiciel, matriel, ...).

    La mthode d'attaque peut tre d'origine :

    volontaire (malveillance) ; accidentelle; involontaire, c'est--dire lie une erreur, ce qui suppose une action ou une absence d'action (maladresse, ngligence, inconscience).

    Elle peut tre de nature :

    technique : logiciel : virus, cheval de troie, rootkit, logiciel espion. matriel : dfaillance matrielle. environnement : incendie, inondation, climatisation.

    humaine : ingnierie sociale ; espionnage.

    juridique, financire, ... lgislation relative la cryptographie ; lgislation relative la vie prive ;

    4/32

  • EliesJebri 2008 5

    lgislation relative aux licences ; lgislation relative la gestion des documents d'archive.

    L'lment impact par une menace est de nature varie :

    un matriel ; un logiciel ; une personne ; un processus.

    L'ingnierie sociale est une mthode visant obtenir d'une personne des informations confidentielles, que l'on n'est pas normalement autoris obtenir, en vue de les exploiter d'autres fins. Elle consiste se faire passer pour quelquun que lon est pas (en gnral un administrateur) et de demander des informations personnelles (nom de connexion, mot de passe, donnes confidentielles, etc.) en inventant un quelconque prtexte (problme dans le rseau, modification de celui-ci, heure tardive, etc.). Elle peut se faire soit au moyen dune simple communication tlphonique, soit par mail, soit en se dplaant directement sur place (trs rare).

    Risque

    Le risque est l'apprciation d'une menace en fonction de la probabilit et l'impact de sa ralisation. L'impact peut tre apprci de manire qualitative ou quantitative (y compris montaire).

    La vulnrabilit d'un systme traduit son exposition au risque. Un systme est d'autant plus vulnrable que la probabilit de ralisation et l'impact des menaces sont importants. De manire caricatural, on peut crire : Vulnrabilit = probabilit X impact.

    La vulnrabilit global du systme rsulte de la somme des vulnrabilit marginales du systmes aux diffrentes menaces.

    Scuriser un systme

    La confrontation des menaces aux besoins de scurit permet de ne retenir que les risques qu'il est ncessaire de prendre en compte du fait de leur importance. Ceci permet de mettre en uvre des mesures de scurit qui diminuent le niveau de risque afin d'atteindre un niveau de scurit qui soit conforme au besoin de scurit.

    La dfense en profondeur

    Le principe de dfense en profondeur consiste scuriser indpendamment chaque sous- ensemble du systme. Il s'oppose la vision d'une protection priphrique. Le corollaire de la dfense en profondeur est le principe de subsidiarit qui confie la ralisation d'une action la plus petite entit capable de la raliser elle-mme. Ce qui se rsume en disant que la scurit ne se dlgue pas quelque niveau que ce soit.

    La scurit au sein de l'entreprise

    Une approche globale

    La scurit du systme d'information doit traiter de l'ensemble des lments qui compose le systme d'information, ce qui comprend de manire non exhaustive :

    5/32

  • EliesJebri 2008 6

    la scurit physique ; la scurit des zones d'hbergement ; la scurit des rseaux et de leur interconnexions ; la scurit des systmes d'exploitations ; la scurit des applications ; la scurit des donnes ; la scurit des utilisateurs.

    La politique de scurit

    La politique de scurit est un ensemble d'orientation fixe en matire de scurit. Elle est dcline par les entits responsable de la scurit dans leur domaine de responsabilit. Ceci se

    traduit gnralement sous la forme de :

    de rgles et de procdures respecter ; de la mise en place d'outils techniques contribuant au respect de ces rgles ; de formations des utilisateurs sur les comportements avoir ; d'actions entreprendre et de personnes entreprendre lorsque des vnements contrevenant aux rgles sont dtectes.

    Concernant tous les acteurs au sein de l'entreprise, elle se doit d'tre labore au niveau de la direction de l'organisation concerne, car elle concerne tous les utilisateurs du systme. Un bon niveau de formation des utilisateurs et la prcision dans la dfinition des rgles permet de limiter les inadquations entre les usages des utilisateurs et les possibilit offertes par le systme d'information.

    Plan de continuit d'activit

    Le plan de continuit est le complment de la politique de scurit. Il a pour but de limiter les ventuelles consquences d'une catastrophe et de dfinir les oprations mener en cas de ralisation d'une menace dont l'impact rend impossible le maintien du fonctionnement nominal du systme d'information. Il est aussi appel "plan de reprise d'activit".

    6/32

  • EliesJebri 2008 7

    Moyens techniques Contrle d'accs

    Dfinition

    Le contrle d'accs est la premire mesure essentielle et indispensable mettre en oeuvre dans le cadre de la protection d'un systme. Concrtement, c'est permettre un sujet d'accder une ressource sous certaines conditions afin d'effectuer un certain nombre d'oprations. Autrement dit, il vise garantir les droits d'accs aux donnes et ressources d'un systme, en mettant en place des mcanismes d'authentification et de contrle. Ces mcanismes permettent d'assurer que les utilisateurs des dites ressources possdent uniquement les droits qui leurs ont t octroys.

    Le contrle est gnralement discrtionnaire. C'est le propritaire qui dfinit les rgles d'accs sur les informations ou systmes dont il a la responsabilit. La dfinition des responsabilits est donc un pralable afin de savoir qui doit dfinir ces rgles.

    Ressources, droits et profil

    Les ressources peuvent tre trs diverses dans leur nature :

    pice dans un btiment ; partage de fichiers ; librairie ou excutables; flux multimdias (image, son, ...) fichier sur un disque local ; bote de messagerie ; ...

    Les rgles applicables peuvent gnralement tre ranges dans trois catgories :

    droit de lecture ; droit d'criture ; droit d'excution.

    Elles sont gnralement associes des conditions d'environnement. Par exemple, un utilisateur distant aura des droits rduits par rapport la situation o il travaille au sein mme de l'entreprise. Le droit d'criture peut tre conditionn la concurrence des accs. Par exemple, la modification simultane des donnes sur une tout ou partie d'une base de donnes par plusieurs utilisateurs peut tre interdite, ce gnralement en fonction des dpendances entre les donnes.

    L'attribution de rgles ne se limite pas des utilisateurs mais tout systme manipulant des informations. Il est en gnral courant qu'une mme ressource soit utilise la fois par des tres humains et des automates. Par exemple : les donnes d'un serveur de fichiers sont utilises par les utilisateurs et les outils de sauvegardes (on ne veut gnralement pas que les donnes soient modifies pendant la sauvegarde).

    Le nombre de catgories de rgles d'accs ne se limite pas trois. Par exemple, pour le droit d'criture, on distingue souvent l'ajout d'information, la suppression d'information et la modification des informations existantes.

    7/32

  • EliesJebri 2008 8

    Les droits d'accs ne sont pas directement attribues aux utilisateurs. En effet, ds que le nombre d'utilisateur devient consquent il devient impossible de s'assurer la cohrence des rgles de chaque utilisateur au cours du temps. C'est pourquoi, on cre des profils d'utilisateurs correspondant des configurations type de droits et ceux sont ces profils qui sont attribues aux utilisateurs. Ainsi pour modifier les droits de tous les utilisateurs d'une mme catgorie, il suffit de modifier un profil et non les droits de tous les utilisateurs.

    Authentification

    Pour pouvoir appliquer les rgles d'accs, une condition ncessaire est d'authentifier l'utilisateur. Il est ainsi possible d'associer l'identit de l'utilisateur l'ensemble des rgles d'accs associes son profil.

    L'utilisation de profils facilite la dlgation de l'authentification un systme tiers. Ce dernier met en oeuvre les mcanismes associs, il transmet ensuite un identifiant associe une session contenant en particulier l'information du profil utiliser. Ceci vite de multiplier les bases de comptes et facilite d'autant l'exactitude et la validit des donnes dans le temps. Ce mcanisme impose de rendre le canal de communication entre le systme oprationnel et le systme d'authentification sr et le passage par la solution d'authentification incontournable.

    Authentification forte

    L'authentification forte repose sur la vrification de deux lments dans les trois catgories suivantes :

    ce que l'on possde : carte puce ; ce que l'on est : biomtrie ; ce que l'on sait : mot de passe, code confidentiel.

    Dans les solutions bases sur ce que l'on possde, on distingue les solutions passives (pistes magntiques, clef) des solutions actives (appareil lectronique). Les solutions

    lectroniques se divisent en dispositifs dconnects qui fournissent l'utilisateur un code (token) et ceux connects qui utilisent un dialogue entre l'lment physique et le systme d'authentification (carte puce). Les dernires sont les plus coteuses mais permettent de rendre des services complmentaires

    comme le stockage du dossier d'un utilisateur.

    Dans les solutions bases sur ce que l'on sait, il existe notamment les techniques suivantes :

    l'empreinte digitale ; la reconnaissance de la main ; la reconnaissance faciale ; l'analyse vocale ; l'analyse de l'iris ; la reconnaissance dynamique de la signature.

    Le principe de ces solutions repose sur le stockage une empreinte numrique des informations de l'utilisateur analyses qui peut tre forme partir de points caractristiques. Lors de l'authentification de l'utilisateur, cette empreinte est recalcule dynamiquement et compare la base d'empreinte stocke.

    Ce systme ne permet pas de rvoquer des accs en cas de compromission. L'information utilise peut potentiellement tre facile obtenir soit dans la vie quotidienne pour l'empreinte digitale soit via un systme biomtrique bas sur le mme principe.

    8/32

  • EliesJebri 2008 9

    Dans les solutions bases sur ce que l'on sait, l'utilisateur transmet une information qu'il est seul connatre, le systme d'authentification vrifie que l'information fournie par l'utilisateur est bien celle attendue. Un exemple simple est le mot de passe. L'information doit tre vhicule par un canal sr afin d'viter l'interception de l'information.

    Une solution alternative est de demander l'utilisateur de fournir une information diffrente chaque fois qu'il peut calculer partir d'une information que lui et le systme d'authentification possdent. C'est le challenge/rponse. Par un exemple, l'utilisateur reoit une chane de donne. Il utilise son secret et cette chane de donne pour calculer une nouvelle chane de donne avec une fonction sens unique ou fonction de hachage. Il transmet le rsultat de ce calcul au systme d'authentification qui vrifie que le rsultat est le bon. Ceci permet d'viter le rejeu.

    Les solutions bases sur ce que l'on sait dpendent beaucoup des rgles de gestion du secret : complexit du mot de passe, dure de vie, stockage de cette information sur le serveur, rutilisation du mot de passe, ...

    La rgle de base est de ne jamais donner aucun mot de passe personne et en particulier un administrateur.

    Infrastructure de gestion de clefs

    Une infrastructure de gestion de clefs (ou infrastructure clefs publiques) permet de grer les certificats lectroniques durant toute leur vie. Elle fournit les services suivants :

    Enregistrement des utilisateurs ; Gnration de certificats ; Renouvellement de certificats ; Rvocation de certificats ; Publication des certificats ; Publication des listes de rvocation (comprenant la liste des certificats rvoqus) ; Identification et authentification des utilisateurs ; Archivage, squestre et recouvrement des certificats (option).

    Elles contients les entits suivantes :

    L'Autorit de Certification (AC ou CA) qui a pour mission de signer les demandes de certificat (CSR : Certificate Signing Request) et de signer les listes de rvocation (CRL : Certificate Revocation List). L'Autorit d'Enregistrement (AE ou RA) qui a pour mission de gnrer les certificats, et d'effectuer les vrifications d'usage sur l'identit de l'utilisateur final (les certificats numriques sont nominatifs et uniques pour l'ensemble de l'IGC). L'Autorit de Dpt (Repository) qui a pour mission de stocker les certificats numriques ainsi que les listes de rvocation (CRL).

    Les certificats sont normalement dlivrs pour un usage donn. On distingue en gnral les certificats de signature et ceux de chiffrement. Un dcoupage plus fin peut videmment tre choisi.

    Architecture

    On distingue principalement deux architectures de dlgation de l'authentification :

    le portail unifi gnralement bas sur l'utilisation d'un serveur mandataire. L'utilisateur s'authentifie une fois auprs d'un portail qui relaie les requtes de l'utilisateur avec le profil associ auprs des autres applications;

  • EliesJebri 2008 10

    9/32

  • EliesJebri 2008 11

    le serveur d'authentification : l'utilisateur accde directement l'application qui demande au serveur d'authentification de vrifier les informations d'authentification transmises par l'utilisateur.

    Dans le cas o l'authentification n'est pas dlgue, l'une des deux solutions est adopte au sein d'un unique systme.

    Protection des donnes

    Contrle d'intgrit

    Les codes correcteurs d'erreurs

    Lors du stockage ou du transfert d'une information, le signal ou le support peut subir des modification affectant l'intgrit de celle-ci du fait :

    de la perte d'un paquet ; de l'impossibilit de savoir si un bit est 0 ou 1 (vieillissement du support) ; ...

    Le codage correcteur d'erreur, ou codage de canal, assurent une redondance de l'information. Ils sont caractriss par leur capacit dtecter et corriger des erreurs en fonction de leur type. Les erreurs peuvent tre isoles, en bloc, uniformment alatoires. Le choix du code correcteur repose donc d'une part sur la connaissance des erreurs possibles et d'autre part sur la frquence avec laquelle elles se produisent.

    Le principe est de rajouter linformation numrique, des symboles binaires, appels symboles de redondance, suivant une loi mathmatique particulire. Le dcodeur vrifie que la loi de codage na pas t modifi lors des divers traitements raliss sur linformation numrique code. Si cest le cas, le dcodeur conclut labsence derreurs ; dans le cas contraire, par un traitement appropri, il repre les symboles errons puis les corrige par simple inversion binaire.

    Un exemple simple est le contrle de parit. Sur un octet (8 bits d'information 0 ou 1), un bit est utilis pour indiquer la parit des sept autres. Si un nombre impair d'erreurs se produit, on peut dtecter qu'il y a eu une erreur mais pas la corriger.

    Un exemple plus complexe mais beaucoup plus performant sont les turbocodes qui sont par exemples utiliss dans l'UMTS. Ils permettent d'obtenir de trs bons rsultats proches de la limite thorique de pouvoir de correction de Shannon.

    Le principe est d'associer deux codes correcteurs simples pour obtenir un code composite deux dimensions. Concrtement, le turbo codeur produira trois sorties envoyer sur le canal de transmission (aprs modulation ventuelle) :

    l'entre du turbo-codeur ; la sortie du premier codeur ; la sortie du deuxime codeur.

    Ce codage permet donc de rpartir l'information apport par un bit de la trame sur ses voisins (avec le codage du premier codeur) et mme sur toute la longueur de la trame transmise (avec le codage du deuxime codeur). Ainsi, si une partie du message est fortement abme pendant la transmission, l'information peut encore se retrouver ailleurs.

    Pour dcoder, chaque code lmentaire est d'abord dcod avec le premier codeur puis on

    10/32

  • EliesJebri 2008 12

    renouvelle le processus de dcodage dans le second et ainsi de suite. Ceci permet chaque tape de corriger de nouvelles erreurs.

    Le pouvoir de correction de tout code correcteur ne permet pas de dpasser la capacit du canal qui est dfinit par la limite de Shannon ou seuil plancher pour le rapport signal/bruit.

    Les codes correcteurs d'erreurs ne permettent pas de se prmunir des modifications intentionnelles. L'attaquant est en effet en mesure de recalculer les valeurs de redondances et ainsi cacher les modifications qu'il a effectues.

    Condensat numrique ou fonction de hashage

    Une fonction de hachage est une fonction qui fait subir une succession de traitements une donne quelconque fournie en entre pour en produire une empreinte servant identifier la donne initiale.

    Ceci permet de stocker des mots de passe. En ne stockant que l'empreinte, on ne dispose pas du mot de passe. Lorsque l'utilisateur s'authentifie, on compare l'empreinte calcule avec celle stocke. L'utilisation d'un sel par utilisateur permet d'viter que deux utilisateurs avec le mme mot de passe aient la mme empreinte.

    Des exemples de fonction de hashage sont md5, sha-1 ou sha-2.

    Les condensats numriques permettent galement de calculer des sommes de contrles. Ceci donne un moyen simple de vrifier l'intgrit lors d'une transmission de donnes.

    Scellement numrique et signature numrique

    Deux techniques peuvent tre utilises : le scellement numrique et la signature lectronique.

    Le scellement numrique repose sur un algorithme non linaire irrversible qui permet de calculer un sceau partir des donnes transmises. Ce sceau est ensuite ajout aux donnes utiles et transmis avec l'information. L'algorithme de scellement peut tre un algorithme de chiffrement par bloc en mode CBC dans lequel on utilise le bloc prcdent chiffr et le bloc chiffrer pour calculer le nouveau chiffr.

    Ce peut galement tre une fonction de condensation ou fonction de hachage dont le rsultat est chiffr avec un algorithme de chiffrement symtrique.

    La signature numrique est un scellement particulier dans lequel on chiffre le condensat numrique avec un algorithme asymtrique ce qui garantit l'identit de la personne qui a cr le message.

    Protection de la confidentialit

    Chiffrement

    Le chiffrement des informations vise rendre incomprhensibles les donnes par un attaquant. Elle est utilise pour les connexions scurises dans le cadre du commerce lectronique. La scurit repose sur la connaissance d'un secret. Une attaque courante contre cette technique est l'attaque par le milieu ou man in the middle. Elle consiste se faire passer auprs de chacun des intervenants pour l'autre intervenant.

    Les principaux systmes de chiffrement sont :

    le chiffrement symtrique. Il utilise la mme clef pour chiffrer et dchiffrer. Le chiffrement asymtrique. Il utilise des clefs diffrentes : une paire compose d'une clef publique, servant au chiffrement, et d'une cl prive, servant dchiffrer. Le point fondamental

    11/32

  • EliesJebri 2008 13

    soutenant cette dcomposition publique/prive est l'impossibilit calculatoire de dduire la cl prive de la cl publique.

    La scurit du chiffrement repose non pas sur l'algorithme utilis mais sur le secret utilis. Il est donc recommand d'utiliser des longueurs minimales :

    pour un chiffrement symtrique, une clef d'au moins 128 bits. pour un chiffrement asymtrique, une clef d'au moins 2048 bits.

    La taille de la clef doit tre d'autant plus longue que l'information sera confidentielle longtemps. Il est par ailleurs recommand d'utilis des chiffrements par blocs et non par flot avec des tailles de blocs d'au moins 128 bits. Il est recommand d'utiliser un chiffrement symtrique AES-CBC et la fonction de hashage SHA-256. Sauf exception, il faut galement limiter la crytopriode (la dure limite d'emploi d'une cl de chiffrement) une dure infrieure deux ans.

    Stganographie

    La stganographie est l'art de la dissimulation. L'objet n'est pas de rendre un message inintelligible mais de le faire passer inaperu. Pour tre efficace, il faut que le procd utilis empche une personne interceptant le message :

    de dcouvrir le contenu cach ; de savoir qu'un contenu est cach ; empcher la transmission d'un contenu cach ventuel ; d'envoyer une fausse information en se faisant passer pour l'metteur.

    Les techniques pouvant tre utilises sont l'utilisation :

    d'un message adhoc ou codage sous forme d'une apparence de spam. Le message utilise une convention connue pour transmettre via des banalits de l'information. Le principe est d'utiliser un codage binaire simple bas sur l'utilisation de synonyme par exemple (succs = 1, russite = 0). Ce procd est difficilement utilisable de manire rpte. de modification mineures du contenu, par exemple l'usage des bits de poids faible d'une image (LSB) ou la modulation fine d'un texte crit. Dcaler une lettre de quelque pixels est pratiquement invisible l'il nu. En jouant sur les interlettrages d'un texte trs long et raison de deux valeurs d'espacement correspondant 1 et 0, il est possibe de transmettre un message sous forme papier. De la mme faon, on peut marquer les caractres (avec un point par exemple). La dissimulation dans un lment annexe du contenu. Cela consiste par exemple maintenir une image intacte mais y incorporer une table des couleurs ou palette construite dans un ordre qui parat arbitraire.

    Les canaux cachs

    Un canal cach est un canal de communication qui utilise la bande passante d'un autre canal dans l'objectif de transmettre des informations sans l'autorisation ou la connaissance du propritaire de l'information. Il existe deux types de canaux cachs :

    Les storage channels : le processus metteur modifie une donne particulire, et le processus rcepteur dtecte et interprte la donne modifie pour recevoir indirectement des

    informations. Les timing channels : le processus metteur module la dure d'une tche effectue par le processus rcepteur, et le processus rcepteur interprte cette variation

    comme une information.

    La protection contre de tels systme est trs difficile et n'est gnralement possible que dans le cas

  • EliesJebri 2008 14

    12/32

  • EliesJebri 2008 15

    de comportements facile dtecter et peu ambigu. Tout canal qui permet d'envoyer deux informations peut tre utilis comme canal cach.

    Les donnes oublies

    La protection de la confidentialit ncessite de se premunir contre le vol de donnes dont on a oubli l'existence.

    Par exemple, une femme de mnage dans une entreprise volant chaque jour quelques pages en bas d'une des piles de papier sur un bureau a toute les chances que l'on ne s'aperoive pas de la disparition de ces documents.

    Les disques durs contiennent de nombreuses donnes rsiduelles. Pour accder un fichier le systme utilise une table des fichiers qui donne la correspondance entre le nom du fichier et son emplacement sur le support physique. Pour des raisons de performance, lors de l'effacement d'un fichier, on ne supprime que la rfrence dans la table. Le fichier est donc toujours accessible si l'on lit le support au bon endroit.

    Des outils permettent de rcuprer l'information sur un support sans la table des fichiers. Les outils d'effacement rsiduel suppriment le fichier du support en crivant des donnes alatoires sur les espaces non affects des fichiers prsent dans la table. Il effectuent cette tche plusieurs fois car chaque criture les donnes prcdentes ne sont pas totalement effaces. En effet la tte du disque dur n'inscrit jamais la donne exactement au mme endroit sur le disque.

    Des donnes peuvent galement tre conserves dans les imprimantes rseaux, sur les disques rseaux de partage de fichiers, fichiers de quarantaine des antivirus, fichiers temporaires, ... Toutes ces zones peuvent tre la source de fuite d'informations.

    Disponibilit

    Haute-disponibilit

    La haute disponibilit correspond des sytmes pour lesquels on a mis en place des mcanismes assurant une disponibilit suffisante. On distingue quatre techniques :

    l'asynchronisme. Un lment synchrone peut tre bloqu car il attend une ressource pour tre actif. Un fonctionnement asynchrone lui permet d'tre disponible mme si des ressources lui manque pour traiter la requte. la rpartition de charge. La puissance des lments doit tre suffisante pour assurer le service si l'un d'entre eux est dfaillant. Par exemple avec trois machines, chaque serveur doit pouvoir assurer 50% de la charge. Ceci permet d'avoir une trs bonne fiabilit puisqu'un lment fiable 99% redond une fois donne une fiabilit de 99,99% (probabilit que les deux lments soit dfaillants au mme moment = 1/100x1/100 = 1/10.000 ). Dans un fonctionnement actif/actif, tous les composants sont actifs en permanence. En mode actif/passif, le secours surveille les autres quipements et remplace l'lment dfaillant lorsqu'il le dtecte. la redondance diffrentielle. On utilise des outils diffrents pour assurer la mme fonction. Par exemple : utilisation de deux antivirus de marque diffrente. la redondance avec systme de vote. Diffrents composants traitent les mmes entres et produisent donc (en principe) les mmes sorties. Les rsultats produits par tous les composants sont collects, puis un algorithme est mis en uvre pour produire le rsultat final. Lalgorithme peut tre simple (vote la majorit) ou complexe (moyenne, moyenne pondre, mdiane), lobjectif tant dliminer les rsultats errons imputables un dysfonctionnement sur lun des

  • EliesJebri 2008 16

    13/32

  • EliesJebri 2008 17

    composants et/ou de fiabiliser un rsultat en combinant plusieurs rsultats lgrement diffrents. Ce

    procd est utilis gnralement dans les cas suivants :

    Des systmes reposant sur des capteurs (exemple : capteurs de temprature) pour lesquels les capteurs sont redonds Des systmes ou plusieurs composants diffrents assurant la mme fonction sont utiliss et pour lesquels un meilleur rsultat final peut tre obtenu en combinant les rsultats produits par les composants (exemple : systme de reconnaissance de formes utilisant plusieurs algorithmes pour obtenir un meilleur taux de reconnaissance.

    Raid

    Le disque dur est l'une des pices les plus fragiles car il comporte de nombreuses pices mcaniques. La mise en raid permet de combiner de nombreux priphriques de stockage de sorte que ce groupement offre une capacit, une fiabilit et/ou des performances accrues, et ce pour un cot largement infrieur un priphrique de stockage unique quivalent. Il peut tre logiciel ou matriel.

    Le raid 0 consiste faire travailler n disques en parallle. La perte d'un disque entrane la perte de donnes. Les performances sont amliores.

    Le raid 1 consiste faire travailler les disques en miroir. La capacit est celle du plus petit disque. La fiabilit est leve puisqu'il faut perdre tout les disques pour perdre les donnes. Le cot est lev.

    Le raid 5 ajoute au raid 0 de la redondance afin de permettre de stocker sur n disques de taille X, (n-1) * X donnes. Il supporte la perte d'un disque et est pnalis en criture du fait de l'ajout de la redondance.

    Le raid ne permet pas de protger contre les destructions importantes du fait par exemple d'un incident lectrique.

    Les sauvegardes

    La sauvegarde consiste dupliquer et mettre en scurit les donnes contenues dans un systme informatique. La principale difficult est la restauration des donnes sauvegardes dans le systme en production.

    L'archivage

    L'archivage correspond un enregistrement des donnes sur un support, gnralement non rinscriptible, pour une conservation de longues dure. Les donnes archives ne sont normalement plus utiles en production. La principale difficult est le choix d'un support matriel et d'un format de fichiers prennes en particulier dans les stockage de trs longues dures (>30 ans).

    Surveillance du rseau

    Segmentation du rseau

    ACL

    La mise en place d'un plan d'adressage dfinissant la manire dont seront distribues les adresses IP et du routage qui va permettre le transfert des informations sur le WAN constituent deux pralables la matrise des flux. Ceci peut s'accompagner de la mise en place d'ACL (liste de contrle

  • EliesJebri 2008 18

    14/32

  • EliesJebri 2008 19

    d'accs ) dfinissant les adresses Ips ayant le droit de communiquer. Les ACL peuvent tre utiliser pour filter des protocoles utilisant des ports statiques mais pas les protocoles complexes port dynamiques.

    VLAN

    L'IEEE a dfini les VLAN (Virtual Area Network) sous la rfrence 802.1Q. Il s'agit d'un rseau local logique indpendant. Plusieurs VLAN peuvent tre crer sur un mme rseau physique. Ceci permet de segmenter le rseau en diminuant la zone de broadcast et contribue galement la scurit du rseau en rendant plus difficile le dialogue entre des machines appartenant des VLAN diffrents.

    Il existe des VLAN

    par port physique ; par adresse MAC ; par adresse IP ou sous-rseau.

    Parefeux et DMZ

    Parefeux

    Un pare-feu est parfois appel coupe-feu ou encore firewall en anglais est un quipement offrant des fonctions de filtrage de paquets. Le filtrage se fait selon divers critres, les plus courants tant :

    l'origine ou la destination des paquets (adresse IP, ports TCP ou UDP, interface rseau, etc.) les options contenues dans les donnes (fragmentation, validit, etc.) les donnes elles-mmes (taille, correspondance un motif, etc.)

    On distingue au moins deux familles de parefeux :

    pare-feu tats (stateful firewall) : ils permettent de filtrer les protocoles avec un suivi de la connexion. Ce suivi de connexion est soit li au protocole dans le cas de TCP soit simul pour UDP. Pare-feu applicatif : il vrifie la conformit du paquet un protocole attendu. Il permet en outre de suivre les protocoles utilisant des ports dynamiques tels que FTP qui changent au niveau applicatif des informations du niveau IP (change d'adresses) ou du niveau TCP (change de ports).

    Le filtrage applicatif n'est pas toujours possible. Avec IRC, par exemple, une requte DCC (direct client to client) fait passer dans la requte au serveur le pseudo de l'utilisateur et non son adresse IP, le pare-feu ne peut donc pas connatre l'adresse IP du client distant qui va essayer d'tablir la connexion.

    DMZ

    Les parefeux permettent d'isoler le rseau en plusieurs zones de scurit appeles zones dmilitarises ou DMZ. Ces zones sont spares suivant le niveau de confiance qu'on leur porte.

    La DMZ (zone dmilitarises) se dfinit comme une zone, un sous-rseau voire mme une plage d'adresses IP (ou une seule adresse IP) sur un rseau n'tant pas soumise aux rgles d'un pare-feu mais dont les changes avec d'autres zones sont filtrs. Gnralement une DMZ n'accepte que les connexions entrantes si elle n'hberge que des serveurs, l'exception de certains protocoles de base comme DNS ou NTP que les serveurs peuvent avoir besoin d'utiliser.

    15/32

  • EliesJebri 2008 20

    Translation d'adresse

    La translation d'adresse consiste faire correspondre des adresses IP internes non-uniques et souvent non routables un ensemble d'adresses externes uniques et routables.

    On distingue les types suivants :

    NAT : changement de l'adresse IP par une autre ; PAT : changement de l'adresse IP et du port.

    Les rgles de correspondances peuvent tre statiques ou dynamiques, unidirectionnelles ou bidirectionnelles. Le NAT amliore la scurit en cachant le rseau interne vis--vis de l'extrieur, une fois la connexion tablie, la scurit de la connexion n'est pas amliore.

    Serveur mandataire et interconnexion

    Le serveur mandataire ou proxy (de l'anglais) est un serveur informatique qui a pour fonction de relayer des requtes entre un poste client et un serveur. Les serveurs mandataires sont notamment utiliss pour assurer les fonctions suivantes :

    mmoire cache ; la journalisation des requtes ; le filtrage et l'anonymat.

    Le reverse proxy est implment du cot des serveurs. L'utilisateur passe par son intermdiaire pour accder aux applications. Cette technique permet entre autre de protger un serveur des attaques provenant de l'extrieur. Il permet en outre de fournir les services suivants :

    acclration SSL ; quilibrage de charges entre les serveurs ; cache des lments statiques et compresssion des donnes.

    Les serveurs mandataires permettent la mise en place d'interconnexions, c'est --dire de relier des systmes ayant des caractristiques diffrentes et en particulier des niveaux de scurit diffrents. Une interconnexion entre deux acteurs implique normalement :

    un engagement d'innocuit vis- vis de l'autre ; un engagement de coopration pour contribuer la scurit ; la possibilit unilatrale de rompre ou de restaurer l'interconnexion ; la possibilit de contrler les mesures de scurit.

    Sonde, IDS et IPS

    Les sondes permettent d'couter le trafic sans perturber le rseau. Elles comprennent un prisme (pour les fibres optiques) ou bien une connectique adapte qui permet de capter une partie du signal afin de ne pas couper la liaison en cas de dysfonctionnement de la sonde. Le signal est ensuite stock et peut tre analyse par la sonde.

    Un systme de dtection d'intrusion (ou IDS : Intrusion Detection System) est un mcanisme destin reprer des activits anormales ou suspectes sur la cible analyse (un rseau ou un hte). Il permet ainsi d'avoir une connaissance sur les tentatives russies comme choues des intrusions.

    Comme un antivirus, il s'appuie sur la recherche de signature ou de motifs (pattern). Il peut galement essayer de faire de la corrlation entre plusieurs vnments issus de sondes diffrentes.

  • EliesJebri 2008 21

    16/32

  • EliesJebri 2008 22

    Un systme de prvention d'intrusion (ou IPS, Intrusion Prevention System) est un outil similaire aux IDS, sauf que ce systme peut prendre des mesures afin de diminuer les risques d'impact d'une attaque. C'est un IDS actif, il dtecte un balayage automatis, l'IPS peut bloquer les ports automatiquement.

    Des comportements typiquement suspects sont par exemples :

    les scans : gnralement beaucoup de petits flux depuis une adresse IP avec peu de sessions tablies et beaucoup de messages icmp pour indiquer des ports ferms ; les virus et les vers : beaucoup de petits flux courts vers un grand nombre de machine et/ou de ports. Les destinations peuvent tre alatoires et ne pas correspondre des segments rseaux routs. L'adresse source peut galement ne pas faire partie du rseau si les paquets sont forgs. les rseaux cachs : encapsulation dans des flux DNS, icmp ou http. Des flux DNS ou icmp de plus de quelques secondes et ko sont suspects. Des flux http symtriques sont galement surveiller en particulier s'ils durent dans le temps. La dtection d'adresses publiques ou de ports non standards est surveiller. les flux rptifs : ceux-ci peuvent correspondre de la messagerie ou de la navigation web. les changements de protocoles entre deux points qui peuvent correspondre diffrentes tentatives d'encapsulation.

    Chiffrement des liens

    IPSEC

    Ralis pour le protocole IPv6, IPSec fut adapt pour Ipv4. Il permet d'assurer un chiffrement et une authentification des flux au niveau de la couche transport. Il est l'un des lments essentiel pour la mise en place des rseaux privs virtuels (VPN).

    Son fonctionnement repose sur deux tapes :

    l'change des clefs : une connexion UDP depuis et vers le port 500 (canal ISAKMP pour Internet Security Association and Key Management Protocol). Le protocole IKE est en charge de ngocier la connexion. Ce protocole permet deux types d'authentifications, PSK (Pre-Shared Key ou secret partag) pour la gnration de clefs de sessions ou l'aide de certificats/signatures RSA. un ou plusieurs canaux de donnes par lesquels le trafic du rseau priv est vhicul, deux protocoles sont possibles :

    le protocole n50, ESP (Encapsulating Security Payload) qui fournit l'intgrit et la confidentialit ; le protocole n51, AH, (Authentication Header) qui ne fournit que l'intgrit.

    Deux modes sont possibles :

    le mode transport : les donnes utiles sont chiffres et le paquet est modifi en consquence (en particulier la valeur du ckecksum). le mode tunnel. chaque paquet est chiffr dans son ensemble et le rsultat devient l'information utile d'un nouveau paquet. Le tunnel prserve la confidentialit de toutes les informations sur les metteurs et rcepteurs dans le cas o on utilise le mode ESP.

    Ceci permet de crer des chanes de tunnels avec des redirections, des sparations et des multiplexation de flux. La compatibilit et l'interroprabilit des produits est le problme essentiel.

    SSL/TLS

  • EliesJebri 2008 23

    17/32

  • EliesJebri 2008 24

    SSL/TLS est un protocole de scurisation des changes au niveau de la couche de session. Le chiffrement est ralis par un chiffrement asymtrique (qui va permettre une authentification) et un chiffrement symtrique (qui est plus lger qu'un chiffrement asymtrique) qui va assurer la transmission des informations. On y adjoint une fonction de hachage pour s'assurer que les donnes sont transmises sans tre corrompues.

    Dans la majorit des cas, l'utilisateur authentifie le serveur SSL sur lequel il se connecte. Cette authentification est ralise par l'utilisation d'un certificat numrique X509 dlivr par une autorit de confiance (AC). Mais de plus en plus d'applications web utilisent maintenant l'authentification du poste client en exploitant SSL. Il est alors possible d'offrir une authentification mutuelle entre le client et le serveur.

    Le protocole utilisant le plus SSL/TLS pour fournir la couche de scurit est HTTPS.

    S/MIME

    Multipurpose Internet Mail Extensions (MIME) est un standard internet qui tend le format de donnes des courriels pour supporter des textes en diffrents codage de caractres autres que l'ASCII, des contenus non textuels, des contenus multiples, et des informations d'en-tte en d'autres codages que l'ASCII. Les courriels tant gnralement envoys via le protocole SMTP au format MIME, ces courriels sont souvent appels courriels SMTP/MIME.

    L'utilisation des types multipart/signed et multipart/encrypted permet de scuriser le contenu des courriels.

    multipart/signed est utilis pour attacher une signature numrique un message. Il est compos de deux parties : le corps du message et la partie signature. L'ensemble de la partie corps du message, y compris les en-ttes MIME, est utilis pour gnrer la signature.

    multipart/encrypted est utilis pour envoyer un contenu encrypt. Sa premire partie dfinit les informations ncessaires pour dcrypter la seconde partie (application/octet-stream).

    Les services essentiels: DNS et NTP

    Le service de nommage (DNS : domain name service) est l'un des services les plus utiliss et n'est pas le plus souvent correctement protg. Les principales vulnrabilits sont :

    la fuite d'informations ; la corruption de la rsolution ; le dni de service.

    Dans le cas o une station interne peut effectuer des requtes DNS vers l'extrieur, il est possible d'envoyer de l'information soit par un tunnel ssh sur le port 53 ou bien en faisant un tunnel IP directement dans le trafic DNS. La solution est de n'autoriser que les serveurs mandataires effectuer des requtes vers l'extrieur du rseau.

    La corruption de la rsolution vise corrompre les donnes DNS pour assurer un trafic avec un autre site que celui dsir en :

    compromettant le processus de rsolution ; en modifiant le trafic DNS ; en modifiant le cache dans le serveur de nom.

    Le dni de service consiste envoyer un grand nombre de question sur les serveurs DNS expos l'extrieur.

    18/32

  • EliesJebri 2008 25

    Il est ncessaire de segmenter le service DNS en fonction des besoins. Le serveur DNS cache interne permet la rsolution des adresses internes auprs des machines internes. Pour les proxys cherchant rsoudre des adresses externes, les serveurs caches relaient la question auprs de serveurs placs en DMZ et qui ne peuvent que faire la rsolution des sites externes. Pour les interrogations externes, un serveur ddi et isol effectue la rsolution des noms des domaines dont on a la responsabilit.

    Pour la scurisation du DNS vis--vis du contrleur de domaine ou du serveur DHCP qui peuvent effectuer des mise jours dynamiques du DNS, il est possible de crer des sous-domaines sur lesquels ces serveurs ont des droits limits.

    L'exploitation des journaux n'est possible que si les quipements sont l'heure. Il donc important de les faire se synchroniser sur un serveur de temps en utilisant le protocole NTP.

    Protection applicative

    Sparation des privilges

    Protection antivirus

    Cens protg le micro-ordinateur contre les malwares, l'antivirus repose sur quatre techniques principales :

    la recherche de squences de programmes caractristiques (dtection sur signature), la mthode la plus usite; l'analyse heuristique ou analyse du comportement la modification de zones rserves.

    Les antivirus sont globalement satisfaisante pour se prmunir des attaques communes mais sont inefficaces face aux attaques cibles ou aux codes malicieux complexes.

    Lors de la dtection d'un virus, l'antivirus dispose de trois options, il peut :

    tenter de rparer les fichiers endommags en liminant le virus ; mettre le fichier en quarantaine afin quils ne puissent tre accessibles aux autres fichiers ni se rpandre et qu'il puisse ventuellement tre rpar ultrieurement ; supprimer les fichiers contamins.

    En pratique, seule la suppression a un intrt rel. Renforcement du systme d'exploitation, empreinte et pot de miel

    Le renforcement des systmes d'exploitation s'appuie avant tout sur l'utilisation de rgles simples :

    verrouiller les comptes utilisateurs avec un mot de passe ayant un niveau de complexit suffisante (mlanger chiffre et lettres, minuscules et majuscules, attention l'attaque par dictionnaire et aux substitutions basique o > 0 ou aux squences de clavier " azerty ") ; grer les accs au systme de fichiers ; minimiser le nombre de services ; faire les mises jour.

    Une mesure complmentaire est de diminuer l'information diffuse par le serveur afin de rendre plus difficile l'identification du systme d'exploitation utilis et des logiciels associs.

    19/32

  • EliesJebri 2008 26

    On peut configurer les services afin de limiter l'information fournie par les banires. On peut aussi modifier le comportement rseau par une personnalisation de la pile TCP/IP. Ceci peut se faire soit avec un dispositif en coupure qui va appliquer des filtres (par exemple netfilter) modifiant ainsi les rponses soit en modifiant directement le comportement de la pile au niveau du noyau. La seconde solution est plus intrusive et n'est pas toujours possible en particulier pour les systmes d'exploitation propritaires.

    De nombreux paramtres dpendent du systme d'exploitation, gnralement pour des questions de performances : taille de la fentre, rponse sur des ports ferms en UDP et en TCP, ... Des outils sont galement bass sur la rponse des paquets mal forms. Une solution est d'utiliser un filtre suprimant les paquets mal formats (taille de l'en-tte, combinaison de drapeaux invalide, ...) et rcrivant certains paramtres (recalcul du checksum, modification des drapeaux, ...) complt par une reconstruction des paquets fragments.

    Ces techniques sont en gnral difficiles mettre en oeuvre car elles rendent plus difficiles l'application des correctifs et des nouvelles versions.

    Pour comprendre les attaques qui sont mens contre des serveurs, une technique est la mise en place de serveurs ddis, les honypots, qui servent de cibles pour les attaques. L'analyse des comportements permet de mieux dtecter les attaques sur les vrais serveurs.

    Architecture logicielle et principe du moindre privilge

    Les risques

    Un logiciel ne peut tre scuris que si la problmatique est traite ds la conception initiale. Certains facteurs sont propices des failles de scurit et ncessitent des prcautions particulires :

    utilisation d'un langage de bas niveau comme C qui permet nu grand nombre d'erreurs ; dveloppement spcifique une plate-forme avec utilisation de mcanismes spcifiques la plate-forme ; utilisation de dmons fournissant des services rseaux qui exposent le logiciel une exploitation distance; utilisation de protocole Internet complexes et qui contiennent parfois des problmes de scurit inhrents : messagerie lectronique, tlphonie sur IP.

    Une bonne organisation des sources facilite la relecture du code. Un exemple d'organisation est la sparation des diffrentes parties du source en fonction des sous-systmes associs. Une verbosit importante du code et des commentaires facilitent la comprhension de celui-ci.

    La relecture des sources, l'audit du code et la vrification de l'utilisation mmoire sont indispensable au maintien de la scurit d'un programme mais ces tches sont complexes et coteuses en temps.

    Moindre privilge

    Les logiciels sont souvent amens faire des tches complexes. L'utilisation d'une architecture monolithique rend difficile le maintien d'un bon niveau de scurit. Certains services ncessitent des droits levs comme par exemple l'coute sur des ports privilgis tandis que le programme peut tre amen traiter des donnes non sres, grer des files d'attentes, se connecter sur d'autres programmes, assurer de la disponibilit. La sparation en module permet de rpartir les contraintes et d'appliquer des exigences adaptes chaque sous-partie. Ceci vite que des erreurs de programmation sur une sous-partie affecte le bon fonctionnement de l'ensemble.

  • EliesJebri 2008 27

    20/32

  • EliesJebri 2008 28

    Le programme doit utiliser le moindre privilge. C'est--dire que s'il n'a besoin d'aucun privilge, il n'a aucune raison d'tre lanc avec les droits root. Si le programme a besoin d'effectuer des actions privilgies, il doit les effectuer le plus tt possible dans son fonctionnement.

    Si le logiciel doit effectuer rgulirement des actions ncessitant des droits levs, par exemple lancer des nouveaux processus, il faut isoler ces fonctions dans un sous-systme spcifique

    dont le nombre de tche sera rduit au minimum. En particulier l'utilisateur ne devra pas pouvoir effectuer des tches dans ce contexte et les donnes en entre et en sortie devront tre

    soigneusement vrifies.

    Chroot et jail

    Chroot ou jail permettent de changer pour un programme le rpertoire racine de la machine hte. Ceci permet d'isoler l'excution d'un programme et d'viter ainsi certaines malveillances, comme l'exploitation d'un dpassement de tampon, pour ensuite accder au rpertoire racine de la machine hte. Il permet galement de faire tourner plusieurs instances d'un mme ensemble de services ou dmons sur la mme machine hte.

    Gestion de la mmoire et contrle des formats de donnes

    Format des donnes

    Le programme doit considrer comme non sres toutes les informations qu'il reoit d'autres programmes ou d'un utilisateur. Ceci implique en particulier de vrifier que les chanes de caractres reues sont bien des chanes de caractres, c'est--dire qu'elles se terminent par le caractre '\0'. Il faut galement vrifier la longueur des donnes pour viter d'avoir des dbordements de tampons dans le cas o les donnes seraient de taille trop importante. Enfin, il est important de vrifier que de la mmoire est effectivement disponible. On peut se retrouver avec un pointeur NULL ou encore provoquer une erreur de programme pour manque de mmoire.

    Gestion de la mmoire

    Plusieurs solutions permettent de grer plus ou moins efficacement la mmoire dans un programme. Une solution est d'utiliser une librairie qui gre les tampons et les chanes de caractres afin de grer la taille de ceux-ci. On peut galement utiliser des buffers de taille fixe mais ce n'est pas trs souple. Certains langages de haut niveau utilisent un ramasse-miette ce qui permet de ne pas avoir grer la mmoire. Ceci n'empche pas de prendre en compte la charge induite par le traitement de la mmoire afin de ne pas dgrader les performances de l'ensemble.

    Enfin une solution est de combiner l'utilisation d'une pile pour stocker les donnes temporaires et d'un espace mmoire partag que le programme rpartie entre les diffrentes parties du programme. La pile permet de stocker les donnes temporaires et pour dsallouer, on supprime la pile entire.

    Sensibilit de la mmoire

    Un examen de la mmoire lors ou en dehors de l'excution d'un programme permet de rcuprer des informations sensibles. Ceci est particulirement vrai pour les mots de passe. La premire chose vidente ne pas faire est de stocker dans le code un mot de passe. Celui-ci sera conserv lors de la compilation et l'attaquant pourra le retrouver en parcourant le fichier binaire.

    Suivant les droits possds par l'attaquant, celui-ci peut examiner le contenu de la mmoire. Ceci est possible sous windows avec winhex qui permet de parcourir la mmoire vive. Si des mots de passe ont

    t stocks en mmoire vive en clair, ils pourront tre lu. Dans le cas de donnes sensibles, une

    21/32

  • EliesJebri 2008 29

    technique consiste rcrire sur l'espace mmoire. Dans le cas d'une base de donnes, il est judicieux de ne pas conserver les mots de passe en clair mais leur image via une fonction de hashage.

    22/32

  • EliesJebri 2008 30

    Les attaques Programmes malveillants

    Outils gnriques

    On distingue les types suivants :

    Le virus : programme se dupliquant sur d'autres ordinateurs ; Le ver (worm en anglais) : exploite les ressources d'un ordinateur pour se dupliquer ; Le wabbit : programme qui se rplique par lui-mme (mais qui n'est ni un virus, ni un ver) ; Le cheval de Troie (trojan en anglais) : programme apparence lgitime (voulue) qui excute des routines nuisibles sans l'autorisation de l'utilisateur ; La porte drobe (backdoor en anglais) : ouvreur d'un accs frauduleux sur un systme informatique, distance ; Le logiciel espion (spyware en anglais) : collecteur d'informations personnelles sur l'ordinateur d'un utilisateur sans son autorisation, et en envoyant celles-ci un organisme tiers ; L'enregistreur de frappe (keylogger en anglais) : programme gnralement invisible install sur le poste d'un utilisateur et charg d'enregistrer son insu ses frappes clavier ; L'exploit : programme permettant d'exploiter une faille de scurit d'un logiciel ; Le rootkit : ensemble de logiciels permettant gnralement d'obtenir les droits d'administrateur sur une machine, d'installer une porte drobe, de truquer les informations susceptibles de rvler la compromission, et d'effacer les traces laisses par l'opration dans les journaux systme.

    Attaques spcifiques aux messageries

    En dehors des nombreux programmes malveillants qui se propagent par la messagerie lectronique, il existe des attaques spcifiques celle-ci :

    Le pourriel (spam en anglais) : un courrier lectronique non sollicit, la plupart du temps de la publicit. Ils encombrent le rseau, et font perdre du temps leurs destinataires ; L'hameonnage (phishing en anglais) : envoi massif d'un courriel dont l'expditeur se fait gnralement passer pour un organisme financier et demandant au destinataire de fournir des informations confidentielles ; Le canular informatique (hoax en anglais) : un courrier lectronique incitant gnralement le destinataire retransmettre le message ses contacts sous divers prtextes. Ils encombrent le rseau, et font perdre du temps leurs destinataires. Dans certains cas, ils incitent l'utilisateur effectuer des manipulations dangereuses sur son poste (suppression d'un fichier prtendument li un virus par exemple).

    Attaques par le rseau

    Principales techniques

    Voici les principales techniques d'attaques sur le rseau :

    Le sniffing : technique permettant de rcuprer toutes les informations transitant sur un rseau

  • EliesJebri 2008 31

    23/32

  • EliesJebri 2008 32

    (on utilise pour cela un logiciel sniffer).Elle est gnralement utilise pour rcuprer les mots de passe des applications qui ne chiffrent pas leurs communications, et pour identifier les machines qui communiquent sur le rseau. La mystification (en anglais spoofing) : technique consistant prendre l'identit d'une autre personne ou d'une autre machine. Elle est gnralement utilise pour rcuprer des informations sensibles, que l'on ne pourrait pas avoir autrement ;

    L'ARP Spoofing : c'est probablement le cas le plus frquent. Si l'un des interlocuteurs et l'attaquant se trouvent sur le mme rseau local, il est possible, voire relativement ais, pour l'attaquant de forcer les communications transiter par son ordinateur en se faisant passer pour un relais (routeur, passerelle) indispensable. Il est alors assez simple de modifier ces communications. Le Spoofing de DNS : L'attaquant altre le ou les serveur(s) DNS des parties de faon rediriger vers lui leurs communications sans qu'elles s'en aperoivent.

    Le dni de service (en anglais denial of service) : technique visant gnrer des arrts de service, et ainsi dempcher le bon fonctionnement dun systme. Elle peut se faire via l'utilisation d'une faille ou plus couramment par l'utilisation massive de requtes. Attaque de l'homme du milieu (man in the middle) : une attaque dans laquelle l'attaquant est capable de lire, insrer et modifier comme il le souhaite les messages chiffrs entre deux parties, sans que ni l'un ni l'autre ne puisse se douter que la ligne entre eux a t compromise. L'attaquant doit d'abord tre capable d'observer et d'intercepter les messages d'une victime l'autre. L'attaque HDM est particulirement applicable dans le protocole original d'change de cls Diffie-Hellman, quand il est utilis sans authentification.

    Et d'autres techniques (gnralement obsoltes) utilisant les diffrences de comportement entre les quipements et les mauvais implmentations de TCP/IP :

    vol de session TCP (hijacking) : il s'agit d'une attaque l'aveugle dans laquelle on tablit une session avec un hte en se faisant passer pour un autre. Quand l'attaquant effectue la premire tape de ce procd, il va mettre l'adresse IP de l'hte de confiance de la cible comme adresse source dans l'en-tte IP du paquet SYN. Mais quand la cible rpond par un paquet SYN|ACK, ce dernier va tre envoy au vritable propritaire de l'adresse savoir l'hte de confiance. L'attaquant ignore donc le numro de squence envoy par la cible, or il en a besoin pour tablir la connexion. S'il se trompe de numro d'acquittement, la cible va envoyer un paquet RESET qui met fin la procdure. L'attaquant a donc besoin de prdire le numro de squence envoy par la cible en fonction du numro de squence initiale du paquet qu'il a envoy. Mais s'il arrive deviner une plage de valeurs possibles, il peut ventuellement inonder la cible avec des paquets ACK et esprer que l'un des paquets aura le bon numro d'acquittement. ; Syn flood : cette attaque permet un dni de service par un envoi massif de requtes SYN vers la cible. En ne terminant pas le dialogue d'initialisation, on cre un grand nombre de connexion semi-ouvertes, ce qui empche l'ouverture de nouvelles sessions. Plusieurs solutions existent :

    limitation du nombre de connexions depuis la mme source ou la mme plage d'IP, avec un dlai imparti plus ou moins grand ; libration des connexions semi-ouvertes selon un choix de client et un dlai alatoires ; rorganisation de la gestion des clients en vitant de consommer des ressources avec des champs inutiles tant que la connexion n'est pas compltement tablie.

    attaque par fragmentation (fragments attacks) : une attaque rseau par saturation (dni de service) exploitant le principe de fragmentation du protocole IP. En effet, le protocole IP est prvu pour fragmenter les paquets de taille importante en plusieurs paquets IP possdant chacun

  • EliesJebri 2008 33

    un numro de squence et un numro d'identification commun. A rception des donnes, le

    24/32

  • EliesJebri 2008 34

    destinataire rassemble les paquets grce aux valeurs de dcalage (en anglais offset) qu'ils contiennent. L'attaque par fragmentation la plus clbre est l'attaque Teardrop. Le principe de l'attaque Teardrop consiste insrer dans des paquets fragments des informations de dcalage errones. Ainsi, lors du rassemblage il existe des vides ou des recoupements (overlapping), pouvant provoquer une instabilit du systme. Tiny Fragments : Lattaque consiste fragmenter sur deux paquets IP une demande de connexion TCP. Le premier paquet IP de 68 octets ne contient comme donnes que les 8 premiers octets de len-tte TCP (ports source et destination ainsi que le numro de squence). Les donnes du second paquet IP renferment alors la demande de connexion TCP (flag SYN 1 et flag ACK 0). Or, les filtres IP appliquent la mme rgle de filtrage tous les fragments dun paquet. Le filtrage du premier fragment (Fragment Offset gal 0) dterminant cette rgle elle sapplique donc aux autres (Fragment Offset gal 1) sans aucune autre forme de vrification. Ainsi, lors de la dfragmentation au niveau IP de la machine cible, le paquet de demande de connexion est reconstitu et pass la couche TCP. La connexion stablit alors malgr le filtre IP. Fragment Overlapping : si deux fragments IP se superposent, le deuxime crase le premier. Lattaque consiste forger deux fragments dun paquet IP. Le filtre IP accepte le premier car il ne contient aucune demande de connexion TCP (flag SYN = 0 et flag ACK = 0). Cette rgle dacceptation sapplique, l encore, aux autres fragments du paquet. Le deuxime contenant les vritables donnes de connexion est alors accept par le filtre IP.

    Attaques sur les mots de passe

    Les deux mthodes suivantes sont les plus utilises :

    L'attaque par dictionnaire : le mot test est pris dans une liste prdfinie contenant les mots de passe les plus courants et aussi des variantes de ceux-ci ( lenvers, avec un chiffre la fin, etc.). Ces listes sont gnralement dans toutes les langues les plus utilises, contiennent des mots existants, ou des diminutifs (comme par exemple powa pour power, ou G0d pour god). L'attaque par force brute : toutes les possibilits sont faites dans lordre jusqu trouver la bonne solution (par exemple de aaaaaa jusqu' ZZZZZZ pour un mot de passe compos strictement de six caractres alphabtiques).

    Cartographie du rseau

    Reconnaissance passive

    La premire dmarche pour cartographier un rseau est d'utiliser un ensemble de techniques non intrusives (qui ne pourront pas tre dtecte) :

    utilisation du Web ; les Outils rseau : Whois (donne les informations sur les enregistrements dns), nslookup.

    Cette dmarche permet d'obtenir des informations sur la cible, diffuses publiquement, mais pouvant tre confidentielles (diffuses gnralement par erreur ou insouciance).

    Ceci permet d'avoir des noms de responsable, des numros tlphonique et des adresses lectroniques.

    Reconnaissance semi-active

    Bien que non intrusives, les techniques suivantes deviennent dtectables par la cible, notamment

  • EliesJebri 2008 35

    l'aide d'un systme de dtection d'intrusion :

    25/32

  • EliesJebri 2008 36

    ping, traceroute et utilisation des proprits du protocole ICMP ; Balayage de port (port scan en anglais) via Nmap ; Prise d'empreinte TCP/IP (TCP/IP fingerprinting en anglais).

    Ces techniques permettent gnralement de recenser et d'identifier une grande partie des lments du rseau cible.

    Reconnaissance active

    On passe dans les techniques rellement intrusives, donc clairement dtectables, mais ne reprsentant pas un risque immdiat pour la cible :

    Utilisation des proprits des protocoles SNMP, SMB, RPC ; Dtection automatise de vulnrabilits : Nessus.

    Techniques d'intrusion systme

    Connexion une ressource partage ; Attaque par force brute ; Attaque par dbordement de tampon ; Accs un interprteur de commandes interactif ; lvation des privilges ; Installation d'un rootkit ; Effacement des traces

    Attaques avances

    Le cassage de logiciel (Cracking en version anglaise) : cette technique a pour but la modification d'un programme pour djouer sa protection (en gnral pour permettre une utilisation complte, ou dure illimite) ; La rtro-ingnierie (comprhension des mcanismes internes des logiciels) ; Exploitation des bogues de formats : exploite le fait de ne pas vrifier le format des entres fournies un programme ; Dtournement et utilisation de donnes WEB : Cookie, CSS, CGI, vulnrabilits concernant les langages PHP, ASP, SQL, etc.

    Attaques cryptanalytiques par canaux auxiliaires

    Une scurit mathmatique ne garantit pas forcment une scurit lors de l'utilisation en pratique. On distingue deux grandes catgories d'attaques :

    les attaques invasives qui endommagent le matriel (voire le dtruisent totalement) : attaque par sondage : elle consiste placer une sonde directement dans le circuit tudier, afin d'observer son comportement (gnralement utilise dans le cas des bus chiffrs) ;

    les attaques non-invasives qui se contentent de procder une observation extrieure du systme :

    attaque temporelle : tude du temps mis pour effectuer certaines oprations ; cryptanalyse acoustique : tude du bruit gnr par un ordinateur ou une machine qui chiffre. En effet, le processeur met du bruit qui varie en intensit et en nature selon sa consommation et les oprations effectues ; analyse d'manations lectromagntiques : similaire la cryptanalyse acoustique mais en utilisant le rayonnement lectromagntique (mission d'ondes, analyse d'une image thermique, lumire mise par un cran, etc.) ;

    26/32

  • EliesJebri 2008 37

    analyse de consommation : une consommation accrue indique un calcul important et peut donner des renseignements sur la cl ; attaque par faute : introduction volontaire d'erreurs dans le systme pour provoquer certains comportements rvlateurs. Notons que ce type d'attaque peut tre considre comme invasive dans certains cas.

    Les constructeurs de puces de chiffrement visent aplanir la courbe de consommation lectrique pour dissimuler les oprations sous-jacentes. Des protections et des blindages permettent de limiter le rayonnement en dehors du circuit. Il faut galement tenir compte des tats impossibles qui ne doivent pas se produire et doivent tre traits correctement s'ils venaient tre dtects. Limiter les messages d'erreur et la communication d'informations diverses avec l'extrieur est aussi une solution mais elle pnalise les dveloppeurs et les utilisateurs du systme.

    Recherche de vulnrabilits sur des binaires

    Analyse par graphes

    Les logiciels sont gnralement disponibles sous forme compile. Les seules informations accessibles sont les commandes au niveau assembleur. Des changements mineurs dans le code peuvent changer considrablement la suite d'instructions du fait :

    d'allocation de registres diffrents ; de la rorganisation des instructions par le compilateur ; d'inversion de branchements entre les blocs d'instructions pour des raisons d'optimisation.

    Une approche est de considrer l'excutable comme un graphe de fonctions qui s'appellent entre elles, c'est le graphe des appels. Une premire comparaison permet de dtecter l'ajout de contrle ou le remplacement d'un appel par un autre. Pour comparer diffrentes versions d'un logiciel, on calcule la signature structurelle des diffrentes fonctions en s'appuyant sur le nombre de blocs basiques dans la fonction, le nombre d'arcs vers cette fonction et le nombre d'appels. Ceci permet de trouver des points fixes d'une version une autre et par propagation de trouver les isomorphismes entre les versions.

    L'utilisation d'une distance euclidienne permet de rsoudre les ambiguits en calculant la racine carr de la somme des carrs des diffrences entre les points. Au sein des fonctions on peut appliquer le mme schma aux blocs basiques en utilisant une signature structurelle telle que nombres d'arcs pour arriver l'entre du bloc, nombre d'arc pour arriver la fin du bloc et nombre de sous-blocs appels. On n'utilise plus le nombre d'appels de la fonction car en gnral le point d'entre est unique.

    Pour la recherche de vulnrabilits, on se concentre sur les changements apports, ce qui permet de trouver plus facilement des zones susceptibles de contenir des vulnrabilits.

    Fuzzing

    Une autre technique, le fuzzing, consiste envoyer des donnes alatoires presques conformes un systme afin de dtecter des comportements anormaux. Les comportements anormaux sont par exemple une utilisation anormale de ressources mmoires ou processeurs. Les changements les plus usits sont :

    des chanes alatoires dans leur contenu et leur longueur ; des chanes typiques ; un grand nombre alatoire d'arguments ;

  • EliesJebri 2008 38

    27/32

  • EliesJebri 2008 39

    des longues chanes alphanumriques ; des chanes de caractres quelconques ; cration de contenu adapts avec des erreurs de compression.

    28/32

  • EliesJebri 2008 40

    En pratique Les applications web

    Les banires suffisent en gnral identifier le serveur : telnet www.microsoft.com 80 HEAD / HTTP/1.0

    HTTP/1.1 200 OK Server: MicrosoftIIS/5.0 P3P: CP='ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI' ContentLocation: http://tkmsftwbw11/default.htm Date: Fri, 05 Oct 2001 09:18:47 GMT ContentType: text/html AcceptRanges: bytes LastModified: Thu, 04 Oct 2001 18:34:38 GMT ETag: "188b883934dc11:854" ContentLength: 23062

    Server: Apache/1.3.14 (Unix) (RedHat/Linux) PHP/4.0.3pl1 mod_perl/1.24

    Certains langages sont typiques d'un serveur :

    Apache, Netscape : script PHP ; IIS : pages dynamiques ASP ; Lotus : bases NSF ; Tomcat, WebLogic : script JSP.

    Les messages d'erreurs peuvent galement tre exploits. Il permettent en outre de connatre l'existence ou non d'un utilisateur dans le cas d'une authentification basic http.

    GET /pipo HTTP/1.0

    HTTP/1.1 404 Not Found Date: Sat, 03 Nov 2001 14:33:08 GMT Server: Apache Connection: close ContentType: text/html; charset=iso88591

    404 Not Found Not Found The requested URL /pipo was not found on this server. Apache/1.3.12 Server at p500.labo.net Port 80

    Les attaques les plus courantes sont :

    l'accs un shell via une requte par exemple GET ../../../winnt/system32/cmd.exe l'injection de requte SQL : elle s'appuie sur l'injection d'une requte SQL non prvue ; le cross site scripting par envoi de contenus html ou javascript affich par le serveur sans filtrage. Ces attaques ne compromettent pas le serveur mais permettent de voler des donnes.

    29/32

  • EliesJebri 2008 41

    Le cross site scripting consiste injecter du javascript dans les donnes envoyes au serveur. Ce code est ensuite excuter sur le poste client. Il existe trois types de failles XSS :

    faille locale : le problme est dans le script d'une page ct client. Par exemple, si un fragment de javascript accde un paramtre d'une requte d'URL, et utilise cette information pour crire du HTML dans sa propre page, et que cette information n'est pas encode sous forme d'entits HTML, alors il y a probablement un trou XSS, puis les donnes crites seront rinterprtes par le navigateur comme du HTML contenant ventuellement un script ajout. faille non permanente : elle apparat lorsque des donnes fournies par un client web sont utilises telles quelles par les scripts du serveur pour produire une page de rsultats. Si les donnes non vrifies sont incluses dans la page de rsultat sans encodage des entits HTML, elles pourront tre utilises pour injecter du code dans la page dynamique reue par le navigateur client. faille permanente : elle se produit quand les donnes fournies par un utilisateur sont stockes sur un serveur (dans une base de donnes, des fichiers, ou autre), et ensuite raffiches sans que les caractres spciaux HTML aient t encods. Elle est souvent prsente sur des forums.

    La mthode HTTP TRACE permet de faire du XSS. Cette mthode est traditionnellement utilise pour dterminer la vision qua le serveur dune requte. Le serveur renvoyant exactement largument fourni par lutilisateur, cette mthode est couramment utilise pour raliser des attaques de type XSS.

    var xmlHttp = new ActiveObject("Microsoft.XMLHTTP") xmlHttp.open("TRACE", "./", false)

    TRACE

    /mail/victime.nsf/c1dee9080256c3f003dccf5/33cc18a13483c9f2c125704400447cf 6/$FILE/ HTTP/1.1 Accept: */* AcceptLanguage: fr Referer: http://Srv_Domino/mail/victime.nsf/c1cdee9080256c3f003dccf5/33cc18a13483c 9f2c125704400447cf6/$FILE/Humour.htm AcceptEncoding: gzip, deflate UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322) Host: Srv_Domino ContentLength: 0 Connection: KeepAlive CacheControl: nocache Authorization:,dmljdGltZTptZHBfc2VjcmV0IA

    La seconde attaque la plus courante est l'injection de code SQL qui permet de corrompre la base ou de faire des requte arbitraires. Par exemple :

    Private Sub btnLogin_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnLogin.Click

    SqlConnection1.Open()

    Dim str As String = "SELECT * FROM Users WHERE UserID='" _ & txtName.Text & "' AND Password='" & _ txtPassword.Text & "'"

    Dim comm As New SqlCommand(str, SqlConnection1) Dim reader As SqlDataReader = comm.ExecuteReader() If Not reader.HasRows Then _

    Response.Write("Login failed. Please try again")

  • EliesJebri 2008 42

    30/32

  • EliesJebri 2008 43

    While reader.Read() Response.Write("Hello " &

    reader("UserName")) End While

    End Sub

    On peut faire de l'injection avec xyz' union select @@servername, @@servicename, @@version

    Une solution est d'utiliser les mcanismes de scurit du langage ou bien de valider les donnes en entre.

    Les informations sensibles ne doivent pas non plus tre stock dans de cookies sur le poste client car ceux-ci peuvent tre modifis. Il vaut mieux stocker ces informations dans des variables de sessions sur le serveur.

    L'authentification basique http transmet le nom de l'utilisateur et le mot de passe en clair dans les en-ttes. Il est donc ncessaire de chiffrer le lien et de protger l'accs au fichier contenant les mots de passe et la liste des utilisateurs.

    Il faut viter de passer des informations caches dans les formulaires si ce n'est pas ncessaire et les garder dans des variables de sessions car l'utilisateur peut les modifier.

    Les validations des donnes des formulaires par des codes javascript sont inutiles du point de vue de la scurit car l'utilisateur peut les contourner. De la mme faon la dlgation de traitement de donnes dans des applets peut tre manipuler par l'utilisateur qui peut lire et modifier le code si celui-ci n'est pas protger (exemple java, mon lgionnaire.com).

    La gestion des alas pour les sessions est importante sinon une simple attaque par brute force permet de rcuprer des sessions, en particulier si on utilise le temps pour l'ala.

    http://www.cible.fr/shop.htm?id=0112037524678 http://www.cible.fr/shop.htm?id=0112037520987 http://www.cible.fr/shop.htm?id=0112037521345 http://www.cible.fr/shop.htm?id=0112037526794 http://www.cible.fr/shop.htm?id=0112037523098

    Indpendemment de l'application web, il est judicieux de mettre des filtres (mod_security) afin de bloquer les requtes malveillantes connues. Ceci permet galement de cacher les erreurs qui peuvent tre gnres par le serveur. Enfin on peut faire une analyse avec un antivirus des fichiers reus ou encore chrooter le serveur. Dans le cas d'application web bien construite, on peut dfinir un profil contenant l'ensemble des requtes valides afin de ne permettre que l'envoi de celles-ci.

    Exemples d'attaques sur les en-ttes : rptition d'en-ttes. Certains serveurs prennent en compte le premier, d'autres le second.

    Des modules (mod_dosevasive) permettent de dtecter des bloquer les deni de service en limitant les requtes rpts sur des ressources et la frquences de celles-ci selon trois facteurs :

    requtes rptes sur une mme ressource. Un utilisateur ne rcupre pas plusieurs fois la mme ressource. multiplication du nombre de requtes. Un utilisateur ne rcupre pas massivement des ressources. sortie de la liste noire aprs un certain dlai.

  • EliesJebri 2008 44

    31/32

  • EliesJebri 2008 45

    Le wifi

    Le wifi est une technologie de rseau informatique sans fil mise en place pour fonctionner en rseau interne. Les rseaux filaires traditionnels posent des problmes lis aux travaux de mise en place, cot d'acquisition, au ncessaire surdimensionnement des infrastructures, et la faible mobilit du rseau.

    Les rseaux wifi posent des problmes lis :

    au confinement du rseau : contrle d'accs au mdium est difficile du fait de la multiplicit des points d'accs et la difficult pour confiner le rseau. la confidentialit des changes : faible segmentation du rseau. Les points d'accs se comportent comme des hubs. N'importe quel utilisateur peut couter une grande partie du trafic. la rsistance l'coute : faible robustesse des mcanismes standards de scurit et des technologies de chiffrement et possibilit d'coute passive. la disponibilit du rseau : saturation des ressources ip disponibles avec un grand nombre de demandes. Brouillage par bruit lectromagntique.

    La mise en uvre de tels rseaux ncessite :

    la vrification du respect de la lgislation sur l'usage des bandes de frquences; d'valuer les perturbations lectromagntique de l'environnement ainsi que les risques naturels. une tude sur le positionnement des point de raccordement qui soit adapt la zone de couverture. Dfinition des espaces couverts non dsirs. la protection physique des locaux et des abords des locaux afin de se prmunir contre les atteintes aux matriels et l'coute passive. la dfinition des flux rseaux transports sur le rseau et de leur sensibilit. la protection logique du rseau adapte la sensibilit des services par les mesures graduelles suivantes :

    l'activation du chiffrement des flux avec une clef WPA qui est plus sre que WEP du fait d'une meilleure utilisation des moyens cryptographiques et des changements rguliers de clefs; le cloisonnement entre le rseau non filaire et le rseau filaire; une restriction des postes autoriss (adresse IP et MAC) mais difficile grer sur un rseau d