Académique Documents
Professionnel Documents
Culture Documents
applications WEB
Professeur :
Dr Ahmed Youssef KHLIL
1
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
TABLE DES MATIERES
4
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Chapitre 1 : La sécurité du web
5
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
reformulé avec les encouragements de la direction du CN et du CEP. RC. Mais cette fois sa
demande sera acceptée.
Dans cette demande Tim Berners-Lee relate les avantages de l’hypertexte et présente
le projet en deux phases. La première phase consacrée au développement d’un navigateur
simple pour les postes de travail des utilisateurs et la seconde pour étendre le domaine
d’application en permettant aux utilisateurs d’ajouter des nouveaux documents. En Novembre
1990, nais le prototype initial de World Wide Web développé sur le NeXT. Le 26 février 1991,
se fera la présentation du projet au groupe ECP. Puis en mars 1991 la publication du navigateur
en mode ligne mais seulement à un public limité. Mais le 6 aout 1991 Tim-Berners Lee adresse
un message à Usenet c’est alors que le Word Wide Web est officiellement reconnu par ce
message public.
Tim-Berners Lee ne s’arrêtera pas là, car pour lui n’importe qui devrais utiliser de
n’importe où le web sont payer aucun frais ni avoir à demander la permission à qui que ce soit.
C’est alors qu’il plaide pour que CERN rende le code disponible sans redevance et cela pour
toujours. Cette décision sera alors annoncée en avril 1993, cela va changer le monde. En 2003
les sociétés développant de nouvelles normes web se sont engagées à appliquer une politique
en matière de droit d’auteur.
I.1.1.1.1 : W3C
L’objectif de Tim-Berners Lee dans le projet web, était d’offrir un espace
d’information universelle accessible à tout le monde sans aucune contrainte de distance. Pour
cela, chaque navigateur devrait pouvoir interagir entre eux à travers le web. C’est donc ainsi
que Tim lance en 1994 le Consortium Word Wide Web (W3C) afin de standardiser le web. On
retient son siège social à Cambridge l'État du Massachusetts, aux États-Unis. Le but de ce projet
est d’améliorer la technologie web à sa plus haute performance. Par ailleurs permettre à chaque
développeur de navigateur web de concevoir des navigateurs basés sur un standard afin que
chaque navigateur parvienne à interpréter les technologies web sans aucune difficulté.
Aujourd’hui le W3C se définit comme une communauté internationale au sein de laquelle les
organismes membres, un personnel à temps plein et le public travaille ensemble à l’élaboration
de normes.
I.1.1.1.1.1 : Mission
Dirigé par l'inventeur et directeur du Web, Tim Berners-Lee, et le PDG, Jeffrey Jaffe,
le W3C a pour mission de permettre au Web de réaliser tout son potentiel.
6
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Pour atteindre cet objectif, le W3C s’appuie sur ces valeurs :
Le web pour tous : La valeur sociale du web est de permettre la communication
humaine, le commerce, et le partage des connaissances. Un des premiers objectifs du
W3C est de délivrer ces bénéfices à toute personne, quel que soit son matériel, son
logiciel, son infrastructure réseau, sa langue maternelle, sa culture, sa situation
géographique, ses capacités physiques ou mentales [9].
Le web partout : étendre l’accessibilité du web dans diffèrent terminaux (téléphone
mobile, télévision connecté, assistance vocal, application domestique),
La vision : élargir la participation des utilisateurs, le partage des connaissances, dans
un objectif de construction d’un haut niveau de confiance à l’échelle mondiale [9].
7
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
intelligente un contenu utile adapté à un besoin particulier d’un utilisateur car elles sont la
possibilité de :
Comprendre le sens derrière l’information,
Apprendre ce qui nous intéresse,
Aider à trouver ce que nous voulons,
Reconnaître des personnes, des lieux, des événements, des sociétés, des produits, des
films, etc.
Comprendre les relations entre les choses.
Par ailleurs on parle déjà du WEB 4.0 plus connu sous le nom d’internet des objets
L’objectif est d’intégrer étroitement dispositif physique dans un réseau qui peut agir de manière
autonome, c’est-à-dire sans aucune intervention humaine. Les dispositifs concernés peuvent
être des maisons, véhicules, réfrigérateurs et tout autre dispositif jugé nécessaire à intégrer une
intelligence artificielle, tout cela pour faciliter la vie quotidienne.
8
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.1.1.2.1 : Fondement du web
Pour que le web aboutisse à sa phase finale, il fallait essentiellement combiner des
technologies qui permettent à la fois de récupérer le contenue, de l’afficher et de le référencer.
C’est donc ainsi qu’a été créer le langage HyperText (HTML), le protocole de transfert des
données Hypertext (HTTP) et l’identifiant de ressource uniforme (URI). Ce sont là les
fondements du web, les technologies qui composent le web.
I.1.1.2.1.1 : HTML
Le HTML (HyperText Markup Langage) aussi appelle langage de balisage, est un standard
et langage utilité pour créer des pages web. L’intérêt de cette technologie dans le web, est de
permettre la gestion des documents hypertextuels. Le HTML a permis de créer des documents
hypertextuels et associer des hyperliens sur ces documents afin de permettre la navigation entre
ces documents.
Sir Timothy Tim Berners-Lee a créé le langage de balisage HTML à partir du SGMLguid
(qui était le format de documentation standard utilisé en interne au CERN), après sa création,
le HTML a subi d’énorme correction partons du HTML 1.0 à HTML 5 (le standard actuelle).
Le HTML 1.0 publié en 1993 dans le but de partager des informations lisible et accessible
via le navigateur web. Mais très peu de développeur était impliqué dans la création, les pages
était complexe à concevoir et le résultat n’était pas satisfaisant. Ce qui a conduit à la création
du HTML 2.0.
La publication du HTML 2.0 en 1995 qui est venue complémenter le HTML 1.0. Comme
son précèdent, le HTML 2.0 n’a pas connu de succès lui non plus. Par ailleurs, un problème se
posait toujours au niveau des navigateurs car chaque navigateur voulait développer ses propres
balises adaptées à certaine page. Le développement individuel de balises à entrainer un
problème d’incompatibilité. Il fallait alors un standard. Car lorsqu’un client tentait de consulter
une page avec un navigateur ne prenant pas en charge les balises de cette page, cela causait
problème. HTML 3.0 a alors été lancé, il inclut de nouvelles fonctionnalités HTML améliorées,
donnant aux webmasters des caractéristiques plus puissantes dans la conception de pages Web.
Mais ces puissantes fonctionnalités du nouveau code HTML ont ralenti le navigateur.
Ensuite le HTML 4 qui après a été mis à jour HTML 4.1, est lancé et est largement utilisé.
Il était une version à succès de HTML avant HTML 5.0. HTML 4.1 a été le standard de HTML
depuis 1997 les navigateurs pouvait alors avoir des mêmes balises. Le W3C dans le but
d’apporter la meilleure performance et le plein potentiel de ses technologies a lancé le
9
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
XHTML1.0
XHTML 1.0 lancé en 2000 a lui aussi connu un grand succès, adopté à cause de l’inter
portabilité du XML a été meilleur au HTML 4.1 contrairement au HTML 4.1, XHTML affichait
le résultat à peu près pareil dans tous les navigateurs.
Enfin HTML 5 publié en 2014 par le W3C et retouché en 2016 qui a donné naissance au
HTML5.1 a connu un grand succès, c’est le HTML qui est utilisé à notre ère pour les
applications, jeux et sites web beaucoup plus performant.
I.1.1.2.1.2 : HTTP
La création des documents hypertextuels étant faite, il fallait alors ajouter au web un
mécanisme permettant d’échanger entre le client (navigateur) et le serveur (serveur web) des
données. C’est alors que le HTTP (Hypertext Transfert Protocol) a trouvé son importance.
Comme son nom l’indique, le HTTP est le protocole de transfert de fichier HTML. Dans son
mécanisme de fonctionnement, deux acteurs sont mis en évidence, le client web et le serveur.
Le client communique avec le serveur au moyen du navigateur qui a été développé pour
comprendre et communiquer sur le protocole HTTP. Le client web échange avec le serveur web
(aussi appelé serveur http) des données, la communication est dite requête-réponse. Le client
envoie au serveur une requête et le serveur envoie à son tour au client une réponse après avoir
traité la requête.
Ci-dessous une illustration pour mieux appréhender.
10
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
1. Première étape : Le client envoie au serveur web une requête. Cette requête à pour méthode
d’envoie GET et pointe la ressource index.jsp en utilisant le protocole HTTP 1.1,
2. Deuxième étape : Le serveur fait un traitement de la requête reçu par le client avant de
pouvoir lui envoyer une réponse,
3. Troisième étape : Le serveur envoie une réponse au client après analyse de sa requête.
L’image indique le protocole HTTP utilisé par le serveur qui est HTTP 1.1, le code du
message 200 (correspond à un message de succès de la requête du client et le statut du
message OK.
Les éléments qui composent les messages HTTP peuvent varier selon la nature de la
requête client-serveur, comme cela est indiqué dans l’image.
a. Requête HTTP
Une requête HTTP est un ensemble de ligne envoyé au serveur web ou serveur HTTP
par le navigateur. Généralement dans le but de solliciter une ressource (page web, image etc.),
les éléments qui composent une requête HTTP sont : la méthode, l’URI, la version HTTP, un
champ d’en-tête, une ligne vide, et le corps de la requête. Ci-dessous un exemple de requête
HTT
11
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
La méthode HEAD : La méthode HEAD demande une réponse identique à une
requête GET pour laquelle on aura omis le corps de la réponse (on a
uniquement l'en-tête) [10],
La méthode POST : La méthode POST est utilisée pour envoyer une entité vers
la ressource indiquée. Cela entraîne généralement un changement d'état ou des
effets de bord sur le serveur [10],
La méthode PUT : remplace toutes les représentations actuelles de la
ressource visée par le contenu de la requête3,
La méthode DELETE : supprime la ressource indiquée3,
La méthode CONNECT : établit un tunnel vers le serveur identifié par la
ressource cible,
La méthode OPTION : utilisée pour décrire les options de communications
avec la ressource visée,
La méthode TRACE : réalise un message de test aller/retour en suivant le
chemin de la ressource visée,
La méthode PATCH : utilisée pour appliquer des modifications partielles à
une ressource[10].
b. Réponse HTTP
Une réponse HTTP peut se définir comme un ensemble de ligne envoyé par un serveur
à un client ayant émis une requête. Dans une réponse http on y trouve : la version HHTP, le
status, le commentaire du status, le type de contenu (généralement MIME), le champ d’en-tête
et sa valeur, une ligne vide et le document (en générale un document HyperText). Mais cela
n’est que le format d’écriture d’une réponse, il n’est pas rare de voir des réponses HTTP, ne
comprenant pas toutes les informations précisées dans le format de base d’écriture mais en
générale la version du protocole, le status et le commentaire status figurent toujours dans une
réponse HTTP.
12
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 3 : Format d’une réponse HTTP
Le statut est un code renvoyé au client par le serveur pour présenter le résultat de sa
requête. Ce code est un nombre qui varie selon la nature de la réponse du serveur, il est utile
pour le client afin de spécifier si ça requête a été effectuer au non et la cause. Ci-dessous les
code status et leurs significations.
100 - 199 S’agit d’une information,
200 - 299 Succès de la requête lient,
300 - 399 Redirection de la requête client,
400 - 499 Requête client incomplète,
500 - 599 Erreur serveur.
I.1.1.2.1.3 : URI
L’URI (Uniform Resource Identifier) est une séquence de caractères identifiant une
ressource logique ou physique [11]. Il existe deux types d’URI, les identifiants de ressources
uniforme aussi connut sur le nom de URL (Uniform Resource Identifiers) et les noms de
ressource uniforme URN (Uniform Resource Names). L’importance d’URI dans la composition
du web est de pouvoir identifier les ressources afin de faciliter l’interaction.
c. URL
Uniform Resource Locator en français localisateur de ressource uniforme identifie une
ressource sur le web. Elle indique l’emplacement et le protocole utilisé pour accéder à cette
ressource. La syntaxe d’écriture d’une URL est faite de la façon suivante :
Nom du schéma,
Deux points et deux barres obliques,
13
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Emplacement du serveur,
Le port (facultatif) et l'emplacement de la ressource sur le serveur,
Identifiant de fragment (optionnel).
L’emplacement du serveur est communément le nom de domaine ou l’adresse IP de
mise en ligne du serveur.
Exemple d’une URL : http://www.groupeisi.com/index.jsp
Dans cette URL le protocole ou nom de schéma pour accéder à la ressource est HTTP
et l’emplacement du serveur www.groupeisi.com la ressource est index.jsp et l’emplacement
de la ressource est http://www.groupeisi.com/index.jsp.
d. URN
Uniform Resource Names en français nom de ressource uniforme est une ressource
internet avec un nom statique, reste accessible ou valide même si ses données sont déplacées
vers un autre emplacement. La différence qui existe entre une URL et un URN est que : l’URL
identifie une ressource en se basant sur son emplacement actuel et un URN identifie une
ressource par un nom, pas besoin de connaitre l’emplacement de la ressource et en cas de
déplacement de la ressource, l’URN reste valide.
La syntaxe d’écriture d’une URN est tel que : <URN> ::= "urn:" <NID> ":"
<NSS>
Tous les URN s’écrivant avec la même syntaxe.
Exemple de URN : urn:ietf:rfc:2648 qui correspond à The IETF's RFC 2648.
14
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.1.2 : Architecture Web
L’architecture web, regroupe les différents éléments qui composent le web, elle peut
être définie comme la structure conceptuelle du web. Il existe deux types d’architecture web,
le premier qui inclut le modèle client-serveur ou modèle à deux niveaux et le second connut sur
au nom de modèle à trois niveaux ou architecture à trois niveaux.
15
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
pouvoir interagir avec des services et la base de données. Cela permet au développeur de
concevoir des applications dynamiques. L’architecture se présente telle que :
16
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
empêchant les tiers de lire et de modifier les informations transférées, y compris les détails
personnels potentiels [12]. TLS est une amélioration de SSL il effectue la même tache.
Afin de chiffrer les communications, SSL/TLS utilise des algorithmes de chiffrement
symétrique (AES, RC4) et asymétrique (RSA, DSA) [13].
Pour une application web, elle permet de chiffrer les données échangées entre le navigateur
du client et le serveur web afin de garantir la confidentialité, l’intégrité et la disponibilité des
données. Le mécanisme et effectué de la manière suivante :
Le navigateur envoie au serveur une demande pour établir une connexion TLS,
Le serveur envoie au client son certificat qui contient sa clé publique, ses
informations et une signature numérique,
Le navigateur vérifie l’authenticité du certificat auprès de l’autorité de certificat qui
a signé le certificat,
Le navigateur génère une clé de sessions qu’il chiffre avec la clé publique contenue
dans le certificat avant de la transmettre au serveur,
Le serveur déchiffre à l’aide sa clé privée la clé de session du navigateur avant de
pouvoir s’échanger les données avec elle.
I.1.4.1 : Objectif
L’objectif de la cybersécurité est de protéger les données contre les menaces
extérieures, protéger l’information contre les utilisateurs non autorisé afin d’éviter une
altération ou une suppression de cette information.
Pour se faire, la cybersécurité doit assurer que l’information demeure toujours dans le
cyberespace disponible, afin que les ressources demandées soient accessibles. En plus de cela
l’information doit être authentique, c’est dire ne pas avoir subi une altération ou modification
par une entité non prévus à cet effet. Enfin l’information destiné à être confidentielle doit être
mis confidentielle.
La Triade CIA a cependant été créé à cet effet, dans l’objectif d’assurer les 3 aspects
fondamentaux e la sécurité.
17
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.1.4.1.1 : Triade CIA
1
James Graham, Ryan Olson, Rick Howard. 2010. Cyber Security Essentials. Etats Unis d'Amérique, 1p.
18
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
performance, hébergent une application web, au cours de l’utilisation le serveur surchargé de
requêtes ne parvient plus à traiter les demandes du client à défaut de ses performances et rend
l’application web indisponible.
I.1.4.2 : Le cyberespace
La définition apportée par Google est que le cyberespace est un espace de
communication créé par l'interconnexion mondiale des ordinateurs (Internet) ; espace, milieu
dans lequel naviguent les internautes. Nous pouvons considérer le cyberespace comme l’espace
dans lequel sont échangé des données.
19
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Cybercriminel : Les cybercriminels sont des individus ou des équipes de
personnes qui utilisent la technologie pour commettre des activités
malveillantes sur des systèmes ou des réseaux numériques dans le but de
dérober des informations confidentielles de l'entreprise ou des données
personnelles et de générer des bénéfices.
Cyber guerrier : aussi connut au nom de cyber warrior, est un expert en
informatique engagé dans l'infiltration ou le sabotage de systèmes
d'information ou dans la défense de systèmes d'information contre des attaques
extérieures, généralement à des fins stratégiques ou militaires.
I.1.4.4 : La Cyberattaques
Une cyberattaque peut être défini comme un exploit d’une vulnérabilité d’un service dans le
cyberespace. Une cyberattaque est un acte malveillant puni par la loi car elle porte atteinte à la
confidentialité, disponibilité et intégrité d’autrui. La personne qui effectue une cyberattaque est
appelé cybercriminel.
Les conséquences causées par les cyberattaques entrainant de grand dégât selon la nature de
l’attaque passif ou active. Pour distinguer une attaque passive d’une attaque active, nous avons
élaboré le tableau ci-dessous :
Attaque active Attaque passive
Une attaque active tente de modifier L’attaque passive tente de lire ou d’utiliser les
Définition les ressources du système ou informations du système mais n’influence pas les
d’affecter leur fonctionnement. ressources du système.
20
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Attaque de déni de service DDOS,
Attaque MitM ou homme du milieu,
Attaque spear phising ou hameçonnage,
I.1.4.4.1.1 : DDOS
Une attaque de type DDOS, est une attaque qui consiste à portée atteinte à la disponibilité
d’un service. Comme son nom indique déni de service distribué, elle effectue des attaques de
type DOS mais de façons distribuées. Pour se faire, l’attaquant utilise d’autre périphérique
appelé zombi qui effectuerons à sa place des attaque DOS, le but étant de submerge les
ressources d'un système afin qu'il ne puisse plus répondre aux demandes de service. Ci-dessous
une illustration d’attaque DOS et DDOS.
Cas d’une attaque DOS
21
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 8 : Illustration d’une attaque de type DOS
Dans le cas d’une attaque DDOS, l’attaquant passe par le bai des hôtes affectés par son
programme malveillant pour effectuer son attaque. Le réseau qui constitué les hôtes affectés
par l’attaquant est appelé botnet et les hôtes de ce réseau sont appelé zombi. Contrairement à
une simple attaque de type DOS, une attaque DDOS peux facilement entrainer un déni de
service surtout si le nombre de zombi est élevé.
I.1.4.4.1.2 : MitM
MitM est l’abréviation de Man in the middle en français l’homme du milieu. Ce type
d’attaque consiste à s’insérer entre la communication d’un client avec un serveur. Comme le
montre l’illustration ci-dessous :
22
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Dans ce type d’attaque, l’attaquant intercepte la communication entre le client et le serveur,
il peut lire les informations échangées ou les modifier à sa guise.
I.1.4.4.1.3 : Hameçonnage
Une attaque de type hameçonnage est une attaque phishing ciblé, à la différence d’une
attaque de phishing qui consiste à envoie un mail qui semble provenir d’une source viable dans
le but d’obtenir des informations de sa victime ou encore de la pousser à effectuer une action,
une attaque par hameçonnage est beaucoup plus précise que cela. Tout comme une attaque de
phishing, le spear phishing ou hameçonnage elle combine l'ingénierie sociale et la ruse
technique.
Elle est plus laborieuse, elle est dite attaque ciblée. Dans cette attaque, l’attaquant prend la
peine de connaitre sa cible afin de produire des messages clair et pertinent. Cela peut être une
usurpation de courrier électronique ou d’identité le but étant de faire croire à la victime qu’elle
connait l’émetteur du courrier électronique. Le courrier électronique ne demeure pas le seul
moyen par lequel passe les attaquant afin d’effectuer les attaques de type hameçonnage.
L’attaquant peut aussi effectuer un clonage de site web pour attirer ses victimes afin d’obtenir
ses PII (information personnel identifiable).
Ci-dessous un tableau présentant les attaques énumérées précédemment et leurs impacts dans
les éléments de la triade CIA.
TRIDADE CIA
Attaques Disponibilité Confidentialité Intégrité Dommages
Rend un service
DDOS Affecté
indisponible
Vol d’information,
usurpation d’identité,
MitM Affecté Affecté Affecté
modification ou
suppression d’information
Spear
Affecté Vol d’information
Phising
23
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Chapitre 2 : Etat de l’art sur les vulnérabilités web et mobile
24
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.2.1.1.1.1 : Injection
Une injection de code se produit lorsqu'un attaquant envoie des données non valides à
l'application Web avec l'intention de lui faire faire quelque chose de différent de celui pour
lequel l'application a été conçue [15].
Les exploits de vulnérabilité d’injection sont appelés attaques par injection, elles sont
classées parmi les attaques les plus dangereuses. Elles peuvent entrainer un vol d’informations,
une perte de données, un déni de service ou une prise de contrôle complète du système. Elle
consiste à exploiter une entrée dans un programme afin d’injecter ou insérer un code malveillant
qui sera interprété comme une commande ou une requête et modifiera le déroulement normal
de l’exécution du programme.
Catégorie ou type de code peuvent effectuer une attaque de type injection :
Injection SQL : Consiste à modifier le code SQL attendu par le programme en
insérant un code SQL malicieux afin de changer le déroulement normal du
programme. Exemple : La commande ci-dessous est une commande prévue par le
programme, il s’agit d’une commande avec des instructions statique et une valeur
dynamique. select title, text from news where id=$id. La commande
suivante est une commande modifiée par l’attaquant, dans cette commande
l’attaquant n’a connaissance que de la table new et des champs tilte, text. Il insère
une valeur statique avec une expression qui retournera une valeur vraie. Cela
provoquera ainsi le même résultat que la première commande. select title, text
from news where id=10 or 1=1.
Inclusion de fichier : attaques par inclusion sont des attaques qui exploitent des
vulnérabilités PHP en injectant une expression dans l’url afin de permettre son
exécution à distance. L’injection de ce code peut s’agir soit d’un lien vers un code
malveillant ou d’un accès vers le répertoire local du serveur web ou en dehors de son
répertoire. Dans le cas de l’exécution d’un code malveillant vers une autre source
cela est appelée RFI (Remote file inclusion) en français, inclusion de fichier à
distance un exemple de cette attaque. Insertion du code
https://monsite/file=code_malveillant. Dans le cas d’une inclusion de
fichier local ou LFI (Local File Include)
https://monsite/file=../../../../etc/passwd.
25
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Injection de code : Consiste à insérer un code (Hypertext, Script) dans une entré
(champ de texte).
Injection d’en-tête : Ce type d’attaque permet de modifier l’en-tête d’une requête
HTTP.
26
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
L’information personnelle identifiable ou PII est une information qui peut directement
identifier une personne. Il s’agir de :
Mots de passe,
Numéro de carte de crédit,
Informations d'identification (nom, prénom, âges etc.),
Numéros de sécurité sociale,
Informations relatives à la santé,
Autres informations personnelles.
27
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Ces vulnérabilités sont :
Vulnérabilité de charge utile ou Payload,
Vulnérabilité dû au stockage de données non sécurisé,
Vulnérabilité dû à la communication non sécurisée.
28
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.2.1.2.1.3 : Communication non sécurisée
La vulnérabilité liée à la communication non sécurisée est dû à l’insuffisance de
sécurité dans la communication entre le téléphone mobile et un autre périphérique (ordinateur,
téléphone). Qu’il s’agisse d’une communication TCP / IP, Wi-Fi, Bluetooth / Bluetooth-LE,
NFC, audio, infrarouge, GSM, 3G, SMS et autre, les données échangées doivent être sécurisé
et leurs confidentialité et authenticité ne doivent pas subir de modification.
Les risques liés à ce genre de vulnérabilité sont :
Vol d’information,
Alternation des données.
I.2.2.1 : CDP
Le CDP (Commission de Protection de Données personnel se définit comme une AAI
(Autorité Administrative Indépendante) qui a pour but d’assurer la protection des données à
caractère personnel des citoyens. On pourrait le considérer comme le gardien des données à
caractère personnel des citoyens.
La mission du CPD est de s’assurer de la protection des données à caractère personnel
qui peuvent faire l’objet d’un traitement numérique. Pour se faire, toutes personne qui effectue
des traitements des données à caractère personnel doivent impérativement se déclarer au sein
de ce comité afin d’exercer leurs activités conformément à la loi. Le but étant de permettre à
29
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
tout citoyen ou consommateur d’exercer leur droit à l’information, l’accès, l’opposition,
rectification et la suppression.
30
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
2. La confirmation que des données à caractère personnel la concernant font ou ne font
pas l'objet de ce traitement ;
3. La communication, sous une forme accessible, des données à caractère personnel qui
la concernent ainsi que de toute information disponible quant à l'origine de celles-ci
;
4. Des informations relatives aux finalités du traitement, aux catégories de données à
caractère personnel traitées et aux destinataires ou aux catégories de destinataires
auxquels les données sont communiquées ;
5. Le cas échéant, des informations relatives aux transferts de données à caractère
personnel envisagés à destination d’un pays tiers.
Le droit d'accès d’un patient est exercé par le patient lui-même ou par l'intermédiaire d'un
médecin qu'il désigne. En cas de décès du patient, son conjoint non séparé de corps et ses
enfants, s'il s'agit d'un mineur, ses père et mère, peuvent l’exercer, par l'intermédiaire d'un
médecin qu'ils désignent.
Avertissement :
Toute demande abusive sera jugée comme irrecevable, soit par le responsable du
traitement, soit par la Commission des données personnelles.
Le responsable du traitement peut subordonner la délivrance d’une des données
personnelles au paiement d'une somme qui ne peut excéder le coût de la reproduction.
31
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
données à caractère personnel la concernant, qui sont inexactes, incomplètes, équivoques,
périmées, ou dont la collecte, l'utilisation, la communication ou la conservation est interdite.
Si les données ont été transmises à un tiers, le responsable du traitement doit accomplir les
diligences utiles afin de lui notifier les opérations à effet.
I.2.2.2 : OWASP
Le projet de sécurité des applications Web ouvertes est une organisation caritative mondiale
à but non lucratif dons le but est d’améliorer la sécurité des logiciels. Le directeur exclusif
actuel de l’OWASP est Mike McCamon. L’OWASP rend la sécurité des logiciels accessible à
tous afin de permettre aux entreprise et particulier d’améliorer la qualité de sécurité de leur
logiciel, il publie ainsi des logiciels et des documentations pour renforcer la sécurité des
applications.
Les documents publiés par l’OWASP en matière de sécurité sont disponibles sur une licence
logicielle gratuite et ouverte.
Il compte beaucoup de projet varié dans plusieurs technologies, dans ce travail nous on
présentant l’un de ces projet qui est OWASP Security Shepherd.
32
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Le projet OWASP Security Shepherd est une plate-forme de formation à la sécurité des
applications Web et mobiles. Security Shepherd a été conçu pour favoriser et améliorer la
sensibilisation à la sécurité d'un ensemble démographique de compétences variées. L'objectif
de ce projet est d'amener les novices ou les ingénieurs expérimentés AppSec à affiner leurs
compétences en tests de pénétration au statut d'expert en sécurité. [18]
Le projet OWASP Security Shepherd offre aussi bien que pour les novices et les
professionnels de la sécurité un cadre dans lequel ils pourront exercer des pentest dans un
environnement qui présente les mêmes conditions que la réalité. Aucune simulation n’est faite
et les vulnérabilisées sont basée sur le classement TOP 10 OWASP. Le but du projet OWASP
Security Shepherd n’est pas de formé des cybercriminels mais plutôt de les offrir les moyens
nécessaires pour participer à la sécurité des applications web et mobile.il fournit :
Les outils pédagogiques pour la sécurité de toutes les applications [18],
Une formation sur le pentest d'applications Web,
Une formation sur le pentest d'application mobile,
Un terrain de jeu sécurisé pour pratiquer les techniques AppSec,
Des exemples de risques de sécurité réels.
33
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Chapitre 3 : Cas d’utilisation
Pour réaliser ce travail, nous avons utilisé une architecture basée sur une pratique BYOD (Bring
Your Own Device). En environnement de production, ce type de pratique consiste à permettre aux
employés d’une entreprise d’emmener leurs appareils mobiles privés ou personnel (laptop, tablette,
smartphone) en entreprise. Dans notre travail, les appareilles physique utiliser dans notre
environnement de travail sont tous des appareils personnels.
Comme illustre l’image, notre architecture de travail est composée de quatre éléments. Un
ordinateur et un téléphone mobile pour interagir avec l’application web et l’application mobile, un
serveur web pour héberger l’application et un routeur pour l’interconnexion des périphériques.
34
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Le serveur d’hébergement : Héberge l’application web, il se compose d’un serveur
web et d’un SGBD (Système de gestion de base de données).
Un router : utilisé pour l’interconnexion des équipements.
Un hôte (ordinateur) : l’ordinateur dans l’architecture a été utilisé afin d’interagir avec
l’application et effectuer des exploits des vulnérabilités qui celle-ci présente.
Téléphone mobile : Le téléphone mobile dans notre architecture à permit l’utilisation
de l’application web mobile pour la réalisation des cas pratique.
36
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Nous avons choisi UwAmp à cause de sa portabilité et simplicité d’utilisation. Grace à sa
portabilité il nous a cependant été possible d’exécuter UwAmp dans diffèrent système sans avoir à
l’installer.
Nous avons porté notre choix au système d’exploitation Windows 7 pour installer UwAmp à
cause de sa stabilité avec le logiciel UwAmp.
37
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Cette application a été réalisée avec la technologie react-native. Nous avons choisi cette solution
car elle répond à nos critères de choix, aussi à cause de sa flexibilité et inter portabilité.
En effet elle permet à la fois de concevoir des applications avec les mêmes technologies utilisées
pour le développement des applications web (JavaScript, JSON). Cela nous a été d’une grande aide
en gain de temps.
Inter portable car elle permet de concevoir à la fois des applications pour le système
d’exploitation mobile IOS et Android.
I.4.1.1.1 : Injection
I.4.1.1.1.1 : SQLI
SQLI ou SQL injection est un exploit qui vise à faire une injection sur un code SQL. C’est-à-
dire insérer une expression qui modifiera l’exécution normale d’un code SQL.
Un exploit de type injection SQL s’effectue sur tout type d’entrée qui interagit avec la base de
données, cela peut-être un formulaire de connexion, un paramètre de requête ou autre.
39
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Dans ce cas pratique, l’attaquant effectue une injection SQL dans le formulaire de connexion de
l’application afin de s’authentifier. L’expression renseigné a été fournit par l’outil OWASP ZAP.
40
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 12 : Connexion après attaque de type SQLi
L’attaquant parvient à ce connecter grâce à son expression permettant d’effectuer une SQL
injection.
41
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
http://www.site.com/page.php
1 2
Attaquant Utilisateur
43
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 16 : Attaque de type phishing avec Xenotix
Cette image montre l’utilisation de l’exploit phishing avec l’outil Xenotix.
44
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 18 : Vue utilisateur après injection de code
Dans cette vue, l’utilisateur est redirigé vers une fausse page ‘authentification facebook, cela est
causé par l’exploit de l’attaquant. Les informations renseignées par l’utilisateur seront envoyées à
l’attaquant.
45
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 19 : Rendu de l’exploit par injection de code
Les informations d’authentification renseigné par l’utilisateur son envoyé à l’attaquant, comme le
montre l’image ci-dessus.
46
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 21 : Illustration d’une exposition de données sensibles
L’image montre les informations contenues dans la base de données, il s’agit des données
personnelles des utilisateurs en clair. On peut remarquer dans cette image, le courriel, le login, le
rôles (privilège) de chaque utilisateur mais également le mot de passe de chaque utilisateur haché
avec la fonction de hachage MD5.
47
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
L’attaquant effectue une attaque par force brute du mot de passe haché de l’administrateur et
obtient ainsi le mot de passe en clair.
49
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 25 : Interception d’une communication non sécurisée
Dans cette image montre un attaquant interceptant une communication non sécurisée entre un
téléphone mobile est le serveur. L’homme du milieu (l’attaquant dans l’image) peut voir
l’intégralité du trafic échangé, si les données échangées ne sont pas chiffrées, il les verra en clair,
ce qui est le cas dans l’image ci-dessous
50
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Figure 26 : Données envoyées au serveur web par l’application mobile
L’image ci-dessus est une capture du Stream HTTP de l’outil wireshark. Elle présente les
données envoyées par l’application mobile au serveur web. On peut constater dans cette image les
informations échangées sont lisible en clair, la communication entre le téléphone mobile au moyen
de l’application et le serveur web n’est pas chiffrée.
51
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.4.2 : Recommandations
Cette section est consacrée aux recommandations à prendre en compte pour renforcer la
sécurité contre les types d’exploits illustré ci-dessus dans l’exploit des vulnérabilités sur les
applications web et mobile.
Les recommandations préconisées dans ce document ont été tirées de : les
recommandations faites par l’OWASP pour la sécurité des applications web et mobile, des bonnes
pratiques adoptées par des développeurs professionnels et les bonnes pratiques adoptées par des
experts du domaines.
I.4.2.1.1 : Injection
I.4.2.1.1.1 : SQLi
Afin d’éviter les attaques de type SQL injection présenté dans notre cas pratique, il est essentiel
de préserver l’authenticité des requêtes SQL envoyé au SGBD (Système de gestion de base de
données). Pour cela nous recommandons :
L’utilisation des Déclaration préparées,
Restreindre les droits de l’utilisateur de la base de données de l’application.
52
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Ci-dessous un tableau présentant les fonctions utilisées afin d’effectuer des requêtes préparées
selon les langages et technologies JEE, NET, PHP, SQLite
UTILISATION DE PREPARE STATEMENT
LANGAGE TECHNOLOGIE FUNCTION
JEE Variable de liaison PreparedStatement ()
SqlCommand(),
NET Variable de liaison
OleDbCommand ()
Prepare(),
PHP PDO
BindParam ()
SQLite Variable de liaison sqlite3_prepare ()
53
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Après avoir adopté l’utilisation des requêtes préparée avec la fonction PHP prepare () nous
avons constaté que le même scan effectué par OWASP ZAP ne présente plus de vulnérabilité.
54
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
une page web un code qui à chaque consultation de cette page, sera lue comme code faisant partir
de la page et va en conséquence être exécuté. Pour se prémunir de ce genre d’attaque, nous
recommandons donc :
Ne jamais insérer de données non fiables sauf dans les emplacements autorisés [19],
Convertir les caractères spéciaux par leurs codages d’entité HTML.
55
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Les recommandations faites pour éviter toute exposition des données sensibles faites par
l’OWASP sont :
Classer les données traitées, stockées ou transmises par une application.
Identifiez les données sensibles selon les lois sur la confidentialité, les exigences
réglementaires ou les besoins de l'entreprise. [20]
Appliquer les contrôles selon la classification. [20]
Ne stockez pas inutilement des données sensibles. Jetez-le dès que possible ou utilisez la
tokenisation conforme à la norme PCI DSS ou même la troncature. Les données non
conservées ne peuvent pas être volées.
Assurez-vous de chiffrer toutes les données sensibles au repos.
S'assurer que des algorithmes, des protocoles et des clés standards à jour et solides sont en
place ; utiliser une bonne gestion des clés.
Chiffrer toutes les données en transit avec des protocoles sécurisés tels que TLS avec des
chiffrements Perfect Forward Secrecy (PFS), une hiérarchisation de chiffrement par le
serveur et des paramètres sécurisés. Appliquez le chiffrement à l'aide de directives telles
que HTTP Strict Transport Security ( HSTS ).
Désactivez la mise en cache pour les réponses contenant des données sensibles.
Stockez les mots de passe en utilisant de fortes fonctions de hachage adaptatives avec un
facteur de travail (facteur de retard), comme Argon2 , scrypt , bcrypt ou PBKDF2.
Vérifiez indépendamment l'efficacité de la configuration et des paramètres.
56
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Effectuer une authentification forte.
57
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.4.2.2 : Application Mobile
58
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Chapitre 5 : WAF (Web Application Firewall)
I.5.1. Définition
Un WAF ou pare-feu applicatif web aide à protéger les applications web en filtrant et en surveillant
le trafic HTTP entre une application web et Internet. Il est installé en série, en amont du serveur
web et analyse le traffic avec avant qu’il atteigne l’application web et protège généralement les
applications web des attaques notamment de type cross-site forgery, cross-site scripting (XSS),
d’inclusion de fichier et d’injection SQL. Un WAF est une protection du protocole de la couche 7
(dans le modèle OSI) et n’est pas conçu pour défendre contre tous les types d’attaques. Cette
méthode d’atténuation des attaques fait généralement partie d’une suite d’outils qui forment une
défense holistique contre une variété de vecteurs d’attaque.
Un WAF suit un ensemble de règles souvent appelé politiques. Ces politiques visent à se protéger
des vulnérabilités dans l’application en filtrant le trafic malveillant. La valeur d’un WAF provient
en partie de la rapidité et de la facilité avec laquelle la modification de politique peut être appliquée,
permettant une réponse plus rapide aux différents vecteurs d’attaque. Lors d’une attaque DDoS, le
mécanisme de rate limiting peut être rapidement activé en modifiant les politiques du WAF.
Suivant sa technologie, un WAF pourra utiliser différents moyens de détection : regex, blacklisting,
whitelisting, signatures, etc.
Un WAF peut être mis en place de trois façons différentes, chacune ayant ses propres avantages et
inconvénients :
59
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Un WAF basé sur le réseau est généralement matériel. Installés au niveau local, les WAF
basés sur le réseau réduisent la latence mais représentent l’option la plus coûteuse. Ils
nécessitent de l’espace et la maintenance des équipements physiques.
Un WAF basé sur l’hôte peut être entièrement intégré dans le logiciel d’une application.
Cette solution est moins coûteuse qu’un WAF basé sur le réseau et offre plus de possibilités
de personnalisation. L’inconvénient d’un WAF basé sur l’hôte est la consommation des
ressources du serveur local, la complexité de la mise en œuvre et les coûts de maintenance.
Ces composants nécessitent généralement du temps d’ingénierie et peuvent s’avérer
coûteux.
Les WAF basés sur le cloud offrent une alternative abordable et très facile à mettre en
œuvre ; généralement, ils proposent une installation clé en main aussi simple qu’un
changement de DNS pour rediriger le trafic. Les WAF basés sur le cloud ont également un
coût initial minimal, car les utilisateurs paient tous les mois ou tous les ans pour la sécurité
en tant que service. Les WAF basés sur le cloud peuvent également offrir une solution
continuellement mise à jour pour se protéger contre les menaces les plus récentes sans
aucun travail ni coût supplémentaire pour l’utilisateur. L’inconvénient d’un WAF basé sur
le cloud tient au fait que les utilisateurs transfèrent la responsabilité à un tiers, par
conséquent, certaines de ses fonctionnalités peuvent constituer une zone noire pour eux.
Un Web Application Firewall WAF, soit un firewall applicatif, est une solution qui apporte de
nombreux outils complémentaire à un firewall réseau pour sécuriser un site web:
Un filtrage applicatif pour sécuriser votre site contre les attaques applicatives comme
les injections SQL, le cross site scripting et de nombreuses autres attaques répertoriées
Un load balancing et de l’offloading SSL pour améliorer la performance et les temps de
réponse de votre site.
On parle également d’UTM, « Unified threat management », quand on combine le WAF avec
les fonctions suivantes :
Un firewall réseau très complet pour sécuriser le serveur qui héberge le site
Une prévention DDOS et IPS pour bloquer le trafic illégitime
60
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
I.5.3.2. Filtrage WAF
Par rapport à un firewall réseau, le pare-feu applicatif ajoute un niveau supplémentaire de sécurité
en bloquant en amont les requêtes illégitimes non traitées par les fonctions de filtrage réseau.
Déployez en quelques clics sur vos sites web les règles de protection contre les comportements
illégitimes sans avoir vous-même à en être un expert :
Ce trafic et ces requêtes sont bloqués en amont de vos serveurs web qui sont ainsi véritablement
protégés.
Le WAF permet ainsi de compléter les sécurités de l’applicatif sans avoir à intervenir sur le code.
De même, il est souvent plus simple et rapide de mettre à jour les règles du WAF que de maintenir
et de tenir parfaitement à jour ses composants applicatifs.
I.5.5.2. Perspectives
Les web application firewalls et les filtres ajoutent une forte couche de sécurité aux applications
web. Mais malgré cela, des entreprises continuent à se faire pirater. Ces défenses sont donc une
couche supplémentaire que l’on vient ajouter à la sécurité mais sur laquelle on ne peut pas
entièrement se reposer. Les WAF et les filtres s’apparentent à des filets de sécurité.
Filtres et WAF ont chacun des failles qui permettent de les contourner, afin d’attaquer des
applications vulnérables. La meilleure protection consiste donc à assurer la qualité du code de ses
applications, en considérant l’utilisation de filtres et de pare-feu applicatifs comme un complément.
62
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Conclusion
En Résumé, notre travail intitulé attaques et contre-mesures sur les applications web et mobile
a consisté à présenter les vulnérabilisées des applications web et mobile et leurs mesures de
préventions. Dans l’intérêt de répondre à notre problématique, celle de combler le besoin de
sécurité des applications web et mobile, nous nous sommes fixés pour objectif, d’abord de faire
une étude des vulnérabilités rencontré sur les applications web et mobile, ensuite faire une étude
sur les mesures de préventions contre ces vulnérabilités. Enfin faire des recommandations des
bonnes pratiques à adopter pour ne pas être exposé à ses ces derniers-ci.
L’efficacité des recommandations faite dans ce document a pu être vérifiée avec des outils
attestés par des experts de la sécurité des applications web et mobile tel qu’OWASP. Nous avons
effectué des tests d’analyse de vulnérabilités avant la mise en vigueur des recommandations et
après la mise en vigueur des recommandations. Nous avons ainsi pu apprécieriez la pertinence et
l’efficacité des recommandations faites.
Au cours de ce travail nous avons faits face à des difficultés, mais ces difficultés nous ont permis
de nous surpassés et atteindre nos objectifs.
Toutefois le risque zéro n’existe pas, les technologies évoluent avec le temps, les solutions de
sécurité qui auparavant jugé efficace perdent leurs efficacités dans le temps. La sécurité demeure
un perpétuel challenge, « Dans un environnement qui change, il n'y a pas de plus grand risque que
de rester immobile ».
63
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Bibliographie
1. Joseph Gabay, David Gabay, UML2 analyse et conception, DUNOD Edition, 16 avril
2008.
2. Christophe Aubry, HTML5 et CSS3, Eni Edition, 2012.
3. Luke Welling, PHP et MySQL, PERSON Edition, 2009.
4. Nicolas Froidure, JavaScripts Le Guide Complet, micro application édition, 2013.
5. Craig Hunt TCP/IP Network Administration, O’REILLY edition, 2002.
6. James Graham Cyber Security Essentials, CRC PRESS Edition, 2010.
7. Justin Clarke SQLInjection attacks and defense, Elsevier Edition, 2008
64
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Webographie
8. CERN, l'historique du projet WWW, [En ligne],
http://info.cern.ch/hypertext/WWW/History.html (page consultée le 4 aout 2019)
9. W3C, la mission du W3C, [En ligne], https://www.w3c.fr/a-propos-du-w3c-france/la-
mission-du-w3c/ (page consultée le 23 septembre 2019)
10. MOZILLA, méthode de requête, [En ligne],
https://developer.mozilla.org/fr/docs/Web/HTTP/M%C3%A9thode (page consultée le
23 septembre 2019 11h 03)
11. Watis, URI, [En ligne], https://whatis.techtarget.com/definition/URI-Uniform-
Resource-Identifier (page consulté le 21 septembre 2019 à 10h)
12. WEBSECURITY, Qu4est ce qu’u certificat SSL, [En ligne],
https://www.websecurity.digicert.com/security-topics/what-is-ssl-tls-https (page
consulté le 30 septembre 2019 à 20h)
13. IETF, SLL Protocole, [En ligne], https://tools.ietf.org/html/rfc5246 (page consulté le
30 septembre 2019 à 20h)
14. FORTINET, The Theat Landscape, [En ligne],
https://training.fortinet.com/local/staticpage/view.php?page=library_the-threat-
landscape (page consulté le 5 septembre 2019 à 09h)
15. OWASP, Injection, [En ligne], https://www.owasp.org/index.php/Injection_Theory
(page consulté le 4 octobre 2019 à 10h)
16. OWASP, Top 10 vulnerability web, [En ligne],
https://info.sucuri.net/hubfs/images/owasp-ebook-2019/sucuri-ebook-OWASP-top-
10.pdf (page consulté le 6 octobre 2019 à 21h)
17. CDP, Comprendre vos droits, [En ligne], https://www.cdp.sn/content/comprendre-vos-
droits (page consulté le 29 septembre 2019 à 07h)
18. OWASP, Les principes, [En ligne],
https://www.owasp.org/index.php/OWASP_Security_Shepherd (page consulté le 29
septembre 2019 à 11h)
19. OWASP, Aide-mémoire sur la prévention des scripts intersites [En ligne]
https://www2.owasp.org/www-project-cheat
65
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
sheets/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html (page
consultée le 12 janvier 2020 à 08h 15)
20. Exposition des données sensibles [En ligne] https://owasp.org/www-project-top-
ten/OWASP_Top_Ten_2017/Top_10-2017_A3-Sensitive_Data_Exposure (page
consultée le 13 janvier 2020 à 10h 30)
21. http://info.cern.ch/hypertext/WWW/History.html le 4 aout 2019 à 19h,
22. https://webfoundation.org/about/vision/history-of-the-web le 4 aout 2019 à 19h,
23. https://bencherifcheikh.wordpress.com/2012/08/04/le-protocole-http/ 15 septembre
2019 à 20h,
24. https://whatis.techtarget.com/definition/URI-Uniform-Resource-Identifier 21
septembre 2019 à 10h,
25. https://www.w3c.fr/a-propos-du-w3c-france/la-mission-du-w3c/ 4 aout 2019 à 19h,
26. https://www.w3c.fr/a-propos-du-w3c-france/la-mission-du-w3c/ 23 septembre 2019 à
10h, https://developer.mozilla.org/fr/docs/Web/HTTP/M%C3%A9thode 23 septembre
2019 à 11h,
27. http://blog.sienerinformatique.com/quest-ce-quune-attaque-par-injection/ 5 septembre
2019 à 20h,
28. https://www.lemondeinformatique.fr/actualites/lire-30-milliards-d-appareils-connectes-
en-2020-53540.html 15 septembre 2019 à 10h,
29. https://training.fortinet.com/local/staticpage/view.php?page=library_the-threat-
landscape 5 septembre 2019 à 9h,
30. https://www.owasp.org/index.php/Injection_Theory 4 octobre 2019 à 10h 20
31. https://info.sucuri.net/hubfs/images/owasp-ebook-2019/sucuri-ebook-OWASP-top-
10.pdf 6 octobre 2019 à 21h,
32. https://www.juniperresearch.com/press/press-releases/digital-banking-users-to-reach-
2-billion 30 octobre 2019 à 15h,
66
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Annexes
Réalisation et cas pratique et recommandation pour les applications web et
mobile
Dans ce cadre d’annexe que nous avons consacré consacrés à la présentation des cas pratiques
de manières détaillés, nous présentons quelques cas pratiques présenté dans le document.
1- L’outil OWASP ZAP
Navigateur Application
OWASP ZAP fait également office de proxy, car il se place entre le navigateur et l’application
avec laquelle il interagi. Il peut ainsi de se fait envoyer des requêtes ou les récrire.
Grace à cet outil, nous avons effectués des scans de vulnérabilité sur l’applications web. L’outil
propose 2 types scan, le scan manuel et automatique. Dans notre cas, étant donné que nous scannons
une vulnérabilité bien spécifique, nous avons opté pour un scan manuel.
67
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Dans l’image ci-dessus, nous renseignons l’adresse du site à scanné. 192.168.1.18 qui est
l’adresse du serveur qui héberge l’application web puis /site/index.php qui est le répertoire ainsi
que le fichier index du site web.
L’image suivante montre le résultat après lancement dans le navigateur.
68
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
A cette étape nous avons lancé une indexation sur le site afin de ressortir son contenue, comme
montre l’image suivante.
Après avoir fait une indexation du répertoire du site web, nous avons effectué une analyse
passive avec Spider Ajax.
69
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Spider Ajax effectue ainsi une attaque passive sur l’application, les informations collectées après
l’attaque passif aideront à l’analyse actif.
Au cours de l’analyse nous avons effectué une analyse typiquement SQL injection.
70
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
L’image ci-dessus montre la fonction PHP d’authentification utilisé dans l’applications, nous
pouvons constater que la connexion est faite avec l’objet PDO mais n’utilise aucune requête
préparée. Nous avons donc ajouté la fonction PHP permettant d’effectuer les requêtes préparées
comme illustré dans l’image ci-dessous.
71
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Après avoir utilisé la fonction prépare nous avons de nouveau effectué le scan et constaté que
l’outil de scan OWASP ne présentait plus la vulnérabilité SQLi rencontré.
Nous pouvons constater dans l’image ci-dessus qu’après utilisation des requêtes préparées, le
scan de présente aucune vulnérabilité d’injection SQL.
2- L’outil Sqlmap
Afin d’effectué une injection SQL de manière automatisé, nous avons opté pour l’outil Sqlmap.
La librairie python est un outil efficace pour les attaques d’injection SQL, elle dispose de plusieurs
expressions selon la base de données à injecté, le but étant de remonter au listage complet des bases
de données. S’agissant d’une librairie python, il nous a donc fallu installer python dans la machine
attaquante. Nous avons ainsi installé une version Compatible (version 2.6, 2.7 et 3.x) a Sqlmap, la
version installée est Python 3.7.8.
Ci-dessous l’instruction utilisé par ans Sqlmap pour ressortir la base de données
Après l’exécution de l’instruction, Sqlmap nous pouvons constater que l’instruction sqlmap a
bien listé les bases de données. A présent que la base de données est connue faut alors lister les
tables qu’il contient. Pour cela la même instruction est exécutée en ajoutant le nom de la base de
données et les valeurs à lister (les tables).
Ci-dessus une instruction permettant de lister les tables de la base de données base.
73
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn
Après l’exécution de l’instruction nous pouvons constater que 2 tables (user et commentaire) ont
bien été listées. Il reste alors une dernière étape, lister les utilisateurs
74
Terrain foyer Rocade Fann Bel Air, BP 10 000 Dakar Liberté – SENEGAL - Tel: +221 33 869 03 00 - FAX : + 221 33 824 68 90
esmt@esmt.sn - www.esmt.sn