II. SECURITE D'UNE APPLICATION
La sécurité des applications est donc devenue un
enjeu stratégique. Ceci est sans nul doute dû au fait que les
attaques se multiplient ainsi que les cibles potentielles. Il est
P a g e 25 | 74
donc primordial de nos jours de développer son
application dans une logique de sécurité, dès le
départ et tout au long du processus afin de se prémunir des
failles de sécurité. L'étoile de fond de la
sécurité informatique est de garantir la confidentialité,
l'intégrité et la disponibilité des informations
échangées sur le réseau informatique ; mais cette garanti
est sujette à caution dès lors qu'un terminal est connecté
sur internet à cause de l'insécurité du cyberespace.
L'essor fulgurant du réseau internet et son opacité l'ont rendu
techniquement complexe que seuls les initiés en informatique peuvent le
maitriser ; ce qui suscite une interrogation sur la sécurité des
applications web et les moyens de cyber défense. La connaissance des
dangers cybernétiques constitue des leviers et les moyens de nous
prémunir des attaques.
Figure 8:Vue synoptique d'une application web 2.0
[2]
1. STRATÉGIES DE
SÉCURITÉ
La stratégie de sécurité est un moulage
entre le réseau productif de l'entreprise et la sécurité
de son réseau physique. Cet exercice nécessite la réunion
du conseil d'administration et du collège des ingénieurs de
l'entreprise pour la définir en fonction de l'orientation de
l'entreprise. A l'issue, un document est élaboré et si ce dernier
est mal peaufiné, il va de même pour la
vulnérabilité des données sensibles. Pour garantir la
conformité de la stratégie de sécurité, la roue de
sécurité (Figure 4.2) se révèle comme un processus
efficace et continu de sécurisation. Une fois l'application
développée, vient l'heure de la recette et il serait anodin de
céder toutefois à la paranoïa car il faut adapter ses
mesures de sécurité à la valeur de ce qui peut être
volé ou détruit.
P a g e 26 | 74
Figure 9: La roue de sécurité
[10]
2. FAILLES DE SÉCURITÉ DES APPLICATIONS
WEB
En sécurité, les termes
vulnérabilité, menaces et attaques se conjuguent. La
vulnérabilité encore appelée faille représente le
degré de faiblesse inhérent à tout système
d'information qu'une personne malveillante peut exploiter. Les menaces viennent
d'individus déterminants et compétents intéressés
inlassablement par l'exploitation des faiblesses de sécurité. Les
faiblesses dans la stratégie de sécurité résident
dans ces catégories :
? Faiblesses technologiques comme la
vulnérabilité des protocoles ;
? Faiblesses humaines et les Faiblesses de configuration ;
Tel qu'en soit le niveau de sécurité et la
robustesse technologique déployée, la faiblesse humaine reste la
faille la plus exploitée telle que la faiblesse des mots de passe,
l'usage des mots de passe par défaut, l'exposition des numéros de
version de nos
P a g e 27 | 74
applications. Les applications web sont exposées aux
failles de sécurité parmi
lesquelles :
> L'injection SQL
> Le Cross-Site Scripting (XSS)
> La violation de gestion d'authentification et de session
> La falsification de requêtes inter sites (CSRF)
> La mauvaise configuration de sécurité
> Le stockage de données cryptographiques non
sécurisé
> La défaillance dans la restriction des accès
à une url
> La protection insuffisante de la couche transport
> La redirection et renvois non validés
> Les failles include , upload et Buffer Overflow
De manière générale, le mode
opératoire des pirates est illustré par la figure 8.
Figure 10: Mécanismes d'attaques
[2J
P a g e 28 | 74
3. PRÉCAUTIONS ET SÉCURISATION DES
DONNÉES
Attaques
|
Mécanismes
|
Conséquences
|
Solutions
|
Injection SQL
|
Injection des requêtes SQL dans un formulaire
|
V' Altération de données
V' déni de service
V' Révélation d'informations
|
V' Utiliser des requêtes paramétrées et
interdire les caractères spéciaux
|
XSS
(Cross Site Scripting)
|
Exécution de code malveillant dans
le navigateur
|
V' vol de session,
V' redirection vers une page similaire (phishing)
|
V' interdire les caractères spéciaux et
limiter les
cookies à l'application.
|
CSRF - Cross Site Request Forgery
|
Force un client authentifié à envoyer une
requête à l'application web
|
Altération de données
|
V' Utilisation de la méthode POST uniquement
V' .Redemander le mot de passe lors d'un changement de niveau de
privilège
|
Détournement de session
|
V' Fixation V' Vol
V' Prédiction
|
vol d'identité, confidentialité,
intégrité
|
V' Utiliser un moyen
d'identification secondaire V' .Détruire les sessions V'
Ne pas soumettre les
données par GET
V' .Chiffrer les flux de transmission des identifiants
V' Redemander le mot de passe lors d'un changement de niveau de
privilège
|
Violation de gestion authentificatio n
|
Accès illicite à une application web par force
brute, compte par défaut
|
V' Usurpation d'identité, V' Confidentialité,
V' Intégrité
|
V' Mots de passe forts
V' Verrouillage de compte après 5 erreurs
V' Supprimer ou désactiver les comptes par
défaut.
|
P a g e 29 | 74
Stockage de données cryptographique s non
sécurisé
|
Obtention de données sensibles non chiffrées, ou
avec chiffrement
faible
|
confidentialité, vol d'identité
|
"' Chiffrer tous les supports
de stockage d'information "' Utiliser des algorithmes de
chiffrement forts
"' Utiliser des algorithmes de hachage forts
|
mauvaise configuration de sécurité
|
Interception du trafic réseau non chiffré
|
confidentialité usurpation d'identité
|
"' Désactiver les options inutiles
"' Mettre à jour les composants
"' Supprimer ou désactiver les comptes par
défaut
|
Défaillance dans la restriction des accès
URL
|
"' Accès à une ressource dont l'URL est
protégé
"' Accès à des fonctionnalités non
autorisées
"' Accès à des fichiers du serveur http
|
confidentialité, intégrité
|
"' Le serveur http ne doit pas afficher le contenu d'un
répertoire
"' Les fonctionnalités doivent vérifier les droits
d'accès de l'utilisateur avant affichage
|
Protection insuffisante de la couche de transport
|
Accessibilité des moyens de transmission
|
Vol d'informations confidentielles
|
Chiffrer toutes les pages de l'application contenant les
données confidentielles (informations de connexion et informations de
session)
|
Tableau 3 : Attaques Web et
solution
P a g e 30 | 74
4. AUDIT DE SECURITE D'UNE APPLICATION
Les données sensibles sont de plus en plus
gérées par les applications et il s'avère essentiel de
placer la sécurité au centre de notre préoccupation. La
sécurité d'une application est un métier à part
entier et passe par son audition. L'audit applicatif est un support factuel et
décisionnel issu d'une investigation des risques potentiels liés
à l'implémentation d'une application face aux d'attaques
cybernétiques plus ou moins sophistiquées afin d'anticiper sur
les actions des intrus. L'audit d'une application consiste à
détecter les vulnérabilités et d'adopter les
contre-mesures à travers le scenario suivant :
> inspection des codes sources,
> identification du code potentiellement exploitable,
> scan de l'architecture et de l'infrastructure serveur,
> analyse des configurations et des Framework utilisés
ainsi que leurs versions,
> tests de pénétration et analyse
prévisionnelle des exploits
> utilisation des outils automatiques tels que XELENIUM,
XSSER, ACUNETIX ,
> la recette, qui consiste à faire un test boite noire
de l'application par un panel de
personnes autre que le développeur.
|