Vous êtes sur la page 1sur 8

Chapitre I) Le développement des applications

Chapitre II) La sécurité des applications

II.1) Introduction
La sécurité, c’est l’ensemble des moyens (techniques, organisationnels, humains,
légaux) pour minimiser une application ou un système contre les menaces :
1. Passives : visant à écouter ou copier des informations illégalement ;
2. Actives : consistant à altérer des informations ou le bon fonctionnement d’un
service.

Dans ce chapitre, nous allons parler sur la sécurité web et la sécurité des applications
mobiles et établir la différence entre eux selon les différents aspects de la sécurité qui nous
allons consacrée une partie pour expliquer également.
II.2) Définition
La sécurité des applications décrit les mesures de sécurité au niveau des
applications qui consiste à empêcher le vol ou le détournement de données ou de code
contenus au sein des applications, afin d’éviter les vulnérabilités face à des menaces telles
que les accès et les modifications non autorisés. (VMware, 1998)

Elle inclut les considérations portant sur la sécurité qui interviennent lors de la
conception et du développement des applications, ainsi que les systèmes et approches de
protection des applications après leur déploiement.
II.3) L’importance de la sécurité des applications
La sécurité des applications est importante ; car les applications d’aujourd’hui sont
souvent disponibles sur divers réseaux et connectées au Cloud, ce qui augmente leur
vulnérabilité aux menaces et aux violations de sécurité. Il y a une pression et des incitations
croissantes non seulement pour assurer la sécurité au niveau du réseau, mais aussi de
l'application elle-même. L'une des raisons à cela est que les pirates attaquent les applications
plus que par le passé. Les tests de sécurité des applications peuvent révéler des failles au
niveau de l'application pour empêcher ces attaques. (VMware, 1998)
La sécurité des applications se concentre sur la protection des logiciels et du matériel
contre les menaces et sur le piratage de toute application susceptible d'entraîner l'accès aux
données que l'application est conçue pour protéger. Une sécurité réussie commence au stade
de la conception, bien avant que le logiciel ou le matériel ne soit déployé.
II.4) Les aspects de la sécurité des applications
Il existe des différents types de sécurité des applications ; nous citons :
II.4.1) L’authentification :
Les développeurs de logiciels peuvent intégrer des procédures d'authentification dans
une application pour s'assurer que seuls les utilisateurs autorisés peuvent y accéder.
Grâce à la procédure d'authentification, le système s'assure que l'utilisateur est la
bonne personne. Pour cela, les développeurs peuvent demander un nom d'utilisateur et un mot
de passe lors de la connexion à l'application.
Elle s'agit de savoir rattacher une identité à une entité donnée du système par des
caractéristiques distinctives. Elle s'applique aux utilisateurs, expéditeurs de messages ou
auteurs de documents.
L'authentification multi facteur nécessite plusieurs formes d'authentification. Les
facteurs utilisés peuvent être quelque chose que vous connaissez (mot de passe) ou quelque
chose que vous avez (appareil mobile) et quelque chose qui vous identifie (empreinte digitale
ou reconnaissance faciale). (VMware, 1998)

II.4.2) Le contrôle d’accès (l’autorisation)


Une fois authentifié, l’utilisateur souhaite accéder à des fonctionnalités offertes par
l’application. Au préalable, il faut contrôler s’il a le droit d’y accéder.
Le contrôle d'accès est un élément fondamental de la sécurité des données et détermine
qui a le droit de voir et d'utiliser les informations et les ressources de l'entreprise. Grâce à
l'authentification et à l'autorisation, les politiques de contrôle d'accès peuvent vérifier que les
utilisateurs sont bien ceux qu'ils prétendent être et qu'ils disposent d'un accès approprié aux
données de l'entreprise. Le contrôle d'accès peut également être utilisé pour restreindre l'accès
physique aux campus, aux bâtiments, aux salles et aux centres de données. (Citrix, 1999)
L’autorisation consiste à donner à l’utilisateur la permission d’accéder à une ressource
ou à une fonction spécifique.
Assurer cette fonction c’est avoir la capacité de lier une ressource (une base de
données par exemple) avec des droits d’accès à cette ressource et une entité.
(OpenClassrooms, 1999)
II.4.3) L’intégrité des données
C’est-à-dire garantir que les données sont bien celles que l’on croit être ;
Vérifier l’intégrité des données consiste à déterminer si les données n’ont pas été
altérées durant la communication (de manière fortuite ou intentionnelle). (intrapole, 1995)
II.4.4) La confidentialité des données
Rendre l'information inintelligible à quelqu'un d'autre que le seul acteur à la
transaction ne peut pas les comprendre. (Wooxo, 2011)
La confidentialité des données doit être assurée lors d’échange de données sensibles
(mot de passe, données bancaires ou médicales.) Il s’agit de garantir que des données acquises
illégalement soient inutilisables. (OpenClassrooms, 1999)
II.4.5) La non-répudiation
La fonction est de s'assurer que les messages sont envoyés et reçus de manière
indiscutable. En d'autres termes, l'expéditeur ou le destinataire des données ne doit pas nier sa
participation au litige. Les moyens techniques sont certificatifs.
La non-répudiation est l’une des propriétés de l’information considérées en cyber
sécurité (avec la confidentialité, l’intégrité et la disponibilité). Elle consiste en l’assurance
qu’une action sur la donnée réalisée au nom d’un utilisateur (après authentification) ne saurait
être répudiée par ce dernier. Tout comme la confidentialité et l’intégrité, la non-répudiation
s’appuie sur des mécanismes de chiffrement. (DG CONSULTANTS, 2019)

Figure 1 : Les aspects de la sécurité des applications

II.5) La sécurité des applications web


La sécurité des applications Web fait référence à divers processus, techniques ou
méthodes de protection des serveurs, des applications et des services Web (tels que les API)
contre les attaques Internet. La sécurité des applications Web est importante pour protéger les
données, clients et les organisations contre le vol de données, l'interruption de la continuité
des activités ou d'autres conséquences néfastes de la cybercriminalité.
La sécurité des applications Web est particulièrement importante pour les entreprises
qui hébergent des applications Web et fournissent des services Web. Ces entreprises décident
généralement de protéger le réseau de toute intrusion en appliquant un pare-feu applicatif
Web. Ce type de pare-feu inspecte et, si nécessaire, bloque les paquets considérés comme
dangereux.

II.5.1) Les failles de sécurité les plus courantes dont sont victimes les
applications web :
 Attaques par déni de service (DoS) et par déni de service distribué (DDoS).
 Attaque de l’homme au milieu (the man in the middle) (MitM).
 Hameçonnage (phishing) et harponnage (spear phishing)
 Téléchargement furtif (drive-by download)
 Cassage de mot de passe
 Injection SQL
 Cross-site scripting (XSS)
 Écoute clandestine
 Attaque des anniversaires
 Logiciel malveillant (malware)
Pour comprendre sur quels composants s’appliquent les fonctions du concept de
sécurité dans une application web, nous utilisons le schéma suivant :

Figure 2 : La sécurité dans une application web

II.6) La sécurité des applications mobiles


Les applications mobiles font partie des éléments à sécuriser dans la mesure où elles
manipulent des données personnelles, accèdent à des informations sensibles, et permettent
dans certains cas de piloter des appareils à distance. Très utilisées dans le domaine de l’IoT,
elles sont également au cœur du business model de nombreuses FinTech, HealthTech et
entreprises innovantes de divers secteurs.

II.6.1) Comment renforcer la sécurité des applications mobiles pour contrer les
attaques les plus courantes ?
La sécurité des applications mobiles comprend différents aspects :
1. La sécurité des applications mobiles elles-mêmes (version iOS ou Android),
2. La sécurité des APIs et la sécurité des serveurs.
3. La sécurité du back end (APIs et serveurs) est généralement plus critique que la
sécurité du front end (apps iOS / Android), mais ceci dépend du contexte
technique et fonctionnel de l’application elle-même.
II.6.2) Les vulnérabilités courantes des applications mobiles :
 Vulnérabilités serveur, failles d’injection et attaques IDOR
Pour se protéger contre ce type d’attaque, il est très fortement conseillé d’intégrer une
couche sécurité en amont de la publication de vos applications mobiles sur les stores. Suivre
les pratiques de développements sécurisés prend plus de temps mais permet de réduire
considérablement les risques. Une fois que l’application est prête à être mise en ligne, voire
après sa mise en ligne si cela n’a pas été anticipé au départ, réaliser un pentest en boite noire
et/ou en boite grise permet d’identifier puis de corriger toutes les vulnérabilités qui pourraient
être exploitées lors d’attaques informatiques.
Pour aller encore plus loin, un audit en boite blanche (analyse de code source et revue
de configuration serveur orientées sécurité) permettra de rechercher directement des faiblesses
en ayant accès au même niveau d’information que votre équipe interne.

 Stockage non sécurisé des données


Pour un stockage sécurisé, il est essentiel que les données soient protégées et chiffrées
efficacement. Pour les applications mobiles, cela signifie chiffrer toutes les informations et
données sensibles stockées par l’application et appliquer les autorisations appropriées. iOS et
Android offrent tous deux des magasins de stockage sécurisé appelé Keychain (pour iOS) et
Keystore (sous Android) qui permettent de chiffrer des données.

 Sécurité des échanges de données et Attaques Man in the Middle


Pour rajouter une couche de sécurité supplémentaire, il est conseillé d’utiliser le «
certificate pinning », qui est une méthode complémentaire de validation du certificat du
serveur. En plus d’effectuer les contrôles classiques sur le certificat présenté par le serveur,
comme valider la chaîne de certification jusqu’à un certificat racine ou sa date de validité,
l’application contrôle également certaines caractéristiques du certificat, comme son numéro
de série et la clef publique qui lui est associée. Cette méthode présente l’avantage d’être plus
robuste que la méthode classique, et permet de ne plus dépendre que du système ou des
autorités de certification racine pour s’assurer que le certificat présenté est le bon.

 Sécurité des composants tiers


La plupart des applications mobiles utilise des composants tiers : librairies,
frameworks, API tierces, etc. L’utilisation de ces composants permet de réduire
considérablement le temps nécessaire entre la conception d’une application et sa mise sur le
marché. Ils peuvent cependant représenter un risque de sécurité important, avec des
possibilités de vulnérabilités diverses : injections, XSS, mauvaise configuration, etc.
La même logique que les vulnérabilités et attaques courantes des applications web s’applique
dans le contexte des applications mobiles.
Figure 3 : La sécurité dans une application mobile

II.7) La différence entre la sécurité d’applications web et mobiles


La sécurité des La sécurité des
applications web applications mobiles
L’authentification  Demande d’un nom  Demande d’un nom
d'utilisateur et un mot d'utilisateur et un mot
de passe lors de la de passe lors de la
connexion à connexion à
l'application. l'application.
Le contrôle d’accès  contrôler si l’utilisateur  contrôler si l’utilisateur
a le droit d’y accéder. a le droit d’y accéder.
La confidentialité Après que l’utilisateur Après que l’utilisateur
devient un client web les devient un client mobile les
données partagées se données partagées se
transmises via un serveur transmises via l’internet (le
web. cloud) puis via un serveur
 garantir que des web.
données acquises  garantir que des
illégalement soient données acquises
inutilisables. illégalement soient
inutilisables.
La non-répudiation  s'assurer que les  s'assurer que les
messages sont messages sont
envoyés et reçus de envoyés et reçus de
manière indiscutable. manière indiscutable.
L’intégrité  consiste à déterminer  consiste à déterminer
si les données n’ont si les données n’ont
pas été altérées pas été altérées
durant la durant la
communication. communication.
D’après le tableau, On conclut que les fonctions du concept de sécurité des
applications web et les applications mobiles ne défèrent pas, mais seulement la différence est
dans les étapes de la sécurité.
II.8) Conclusion
On conclusion. Nous avons parlée sur la sécurité des applications et son importance.
Nous avons vu que la sécurisation d’une application ou d’un système s’attache à 6
aspects primordiaux :
 L’authentification ;
 Le contrôle d’accès ;
 L’intégrité des données ;
 La confidentialité des données ;
 La non-répudiation.
Nous avons parlée aussi de la sécurité des applications web et les applications mobiles
et la différence entre eux.
Dans le chapitre suivant, nous parlerons davantage de la sécurité des applications
mobiles.
Références- Bibliographiques

Citrix. (1999). Citrix. Récupéré sur Citrix: https://www.citrix.com/fr-fr/solutions/secure-access/what-


is-access-control.html

DG CONSULTANTS. (2019). Les Assises. Récupéré sur Les Assises:


https://www.lesassisesdelacybersecurite.com/Le-blog/Glossaire/Non-Repudiation

intrapole. (1995). intrapole. Récupéré sur intrapole: https://www.intrapole.com/spip.php?article18

OpenClassrooms. (1999). OpenClassrooms. Consulté le 03 2022, sur


https://openclassrooms.com/fr/courses/1761931-securisez-vos-applications/5702500-
identifiez-les-6-aspects-de-la-securite-d-une-application

VMware. (1998). VMware. Consulté le 02 2022, sur


https://www.vmware.com/fr/topics/glossary/content/application-security.html

Wooxo. (2011). Wooxo. Récupéré sur Wooxo:


https://www.wooxo.fr/Conseils-Cybersecurite/Principes-securite-informatique

Vous aimerez peut-être aussi