Qu’est-ce que la sécurité des applications ?

Grégory Hénique — 08/09/2022

La sécurité des applications est la pratique consistant à utiliser :

…pour protéger les applications informatiques contre les menaces de sécurité externes.

La sécurité était autrefois une réflexion après coup dans la conception des logiciels. Aujourd’hui, elle est une préoccupation de plus en plus critique pour tous les aspects du développement des applications, de la planification au déploiement et au-delà.

Le volume des applications développées, distribuées, utilisées et corrigées sur les réseaux augmente rapidement.

Par conséquent, les pratiques de sécurité des applications doivent répondre à une variété croissante de menaces.

Les mesures de sécurité comprennent l’amélioration des pratiques de sécurité dans le cycle de développement du logiciel et tout au long du cycle de vie de l’application.

Toutes les activités de sécurité des applications doivent minimiser la probabilité que des acteurs malveillants puissent obtenir un accès non autorisé aux systèmes, aux applications ou aux données.

L’objectif ultime de la sécurité des applications est d’empêcher les attaquants d’accéder à des données sensibles ou exclusives, de les modifier ou de les supprimer.

Toute action prise pour assurer la sécurité des applications est une contre-mesure ou un contrôle de sécurité. Le National Institute of Standards and Technology (NIST) définit un contrôle de sécurité comme suit :

« Une sauvegarde ou une contre-mesure prescrite pour un système d’information ou une organisation, conçue pour protéger la confidentialité, l’intégrité et la disponibilité de ses informations et pour répondre à un ensemble d’exigences de sécurité définies. »

Un pare-feu applicatif est une contre-mesure couramment utilisée pour les logiciels

Les pare-feu déterminent comment les fichiers sont exécutés et comment les données sont traitées en fonction du programme spécifique installé.

Les routeurs sont la contre-mesure la plus courante pour le matériel. Ils empêchent l’adresse IP (Internet Protocol) d’un ordinateur individuel d’être directement visible sur Internet.

Les autres contre-mesures sont les suivantes

Pourquoi la sécurité des applications est-elle importante ?

La sécurité des applications (y compris la surveillance et la gestion des vulnérabilités des applications) est importante pour plusieurs raisons, notamment les suivantes :

Les mesures de sécurité des applications peuvent contribuer à réduire l’impact de ces attaques.

Négliger la sécurité des applications peut exposer une organisation à des menaces potentiellement existentielles.

Tests de sécurité des applications pendant le développement des applications

Les tests de sécurité des applications doivent être effectués à toutes les phases du développement des applications.

La modélisation des menaces ou l’évaluation des menaces est le processus consistant à critiquer les menaces qui pèsent sur une entreprise ou un système d’information, puis à évaluer formellement le degré et la nature de ces menaces.

La modélisation des menaces est l’une des premières étapes de la sécurité des applications et comprend généralement les cinq étapes suivantes :

  1. définir rigoureusement les actifs de l’entreprise ;
  2. identifier ce que chaque application fait ou fera par rapport à ces actifs ;
  3. créer un profil de sécurité pour chaque application
  4. identifier et hiérarchiser les menaces potentielles ; et
  5. documenter les événements indésirables et les mesures prises dans chaque cas.

Dans ce contexte, une menace est tout événement indésirable potentiel ou réel qui peut compromettre les actifs d’une entreprise.

applications internet

Les faiblesses les plus courantes en matière de sécurité des applications sont bien connues.

Diverses organisations les localisent au fil du temps.

La Common Weakness Enumeration (CWE) compilée par la communauté de la sécurité de l’information se concentre sur des problèmes spécifiques qui peuvent survenir dans n’importe quel contexte logiciel. Son objectif est de fournir aux développeurs des conseils pratiques sur la façon de sécuriser leur code.

Les 10 premiers éléments de la liste CWE et leurs scores CWE sont les suivants :

CWE Description

CWE score

Écriture hors limites Les logiciels qui écrivent de manière inappropriée au-delà d’une limite de mémoire peuvent entraîner une corruption des données, une panne du système ou permettre l’exécution de codes malveillants. 65.93
Scripting intersite La neutralisation incorrecte des entrées potentiellement dangereuses pendant l’automatisation des pages Web permet aux attaquants de détourner les connexions des utilisateurs de sites Web. 46.84
Lecture hors limites Un logiciel qui lit de manière inappropriée une limite de mémoire peut provoquer un plantage ou exposer des informations système sensibles que les attaquants peuvent utiliser dans d’autres exploits. 24.9
Attaque par validation d’entrée L’absence de validation ou la validation incorrecte des entrées ou des données permet aux attaquants d’exécuter un code malveillant sur le système. 20.47
Injection de commandes du système d’exploitation (OS) Neutralisation incorrecte des éléments potentiellement dangereux utilisés dans une commande OS. 19.55
Injection SQL Un logiciel qui ne neutralise pas correctement les éléments potentiellement dangereux d’une commande SQL. Ces failles permettent des attaques contre les bases de données. 19.54
Utilisation après libre Un logiciel qui fait référence à une mémoire qui a été libérée peut faire planter le programme ou permettre l’exécution de code. 16.83
Traversée de chemin (traversée de répertoire) Limitation incorrecte d’un nom de chemin vers un répertoire restreint. 14.69
Falsification de requête intersite Lorsqu’une application web ne parvient pas à valider qu’une requête d’utilisateur a été envoyée intentionnellement, elle peut exposer des données à des attaquants ou permettre l’exécution de code malveillant à distance. 14.46
Téléchargement sans restriction de logiciels malveillants ou d’autres fichiers potentiellement dangereux. Les logiciels qui autorisent le téléchargement de fichiers sans restriction ouvrent la porte aux attaquants qui peuvent livrer un code malveillant pour une exécution à distance. 8.45

Les menaces courantes pour la sécurité des applications sont les suivantes

L’objectif de la sécurité des applications est de faire échec aux attaques, tandis que les vecteurs d’attaque donnent aux attaquants les moyens de violer la sécurité des applications.

Les applications peuvent être classées de différentes manières ; par exemple, en fonction de fonctions spécifiques, comme l’authentification ou les tests de sécurité des applications.

Elles peuvent également être divisées en fonction des domaines :

Menaces sur les applications IoT

Les applications IoT sont pour la plupart soumises aux mêmes menaces que les applications ordinaires.

Les professionnels de la sécurité utilisent différentes tactiques et stratégies pour la sécurité des applications, en fonction de l’application développée et utilisée.

Les contrôles de sécurité des applications

Par ailleurs, une application peut s’appuyer sur des contrôles de chiffrement tels que ceux fournis par les protocoles de la couche réseau, comme IP Security ou IPsec, qui chiffrent les données transmises vers et depuis l’application.

NordVPN est un des fournisseurs de VPN majeurs.

Il offre un accès illimité à plus de 5 000 serveurs dans le monde entier, ainsi qu’un doublement du chiffrement pour les communications et le surfs les plus sensibles. NordVPN propose de nombreuses fonctionnalités avancées telles que :

  • une adresse IP dédiée
  • des serveurs spécialisés pour le peer-to-peer
  • des serveurs qui transitent via TOR ce qui vous évite d’installer le navigateur chez vous, etc.

Cela vous permettra de dépasser les restrictions des FAI ainsi que les problèmes d’adresses IP interdites. En outre, il dispose de fonctions intégrées de blocage des logiciels malveillants et des publicités.

Les contrôles de journalisation permettent de localiser les activités de l’application

Ils sont indispensables pour maintenir la responsabilité.

Sans journalisation, il peut être difficile, voire impossible, d’identifier les ressources qu’une attaque a exposées. Des journaux d’application complets constituent également un contrôle important pour tester les performances des applications.

Une autre façon de classer les contrôles de sécurité des applications est la manière dont ils protègent contre les attaques.

➤ Mise en garde

Il existe des applications-espionnes qu’un de vos proches peut installer de manière invisible dans votre téléphone.

Elles rappatrient ensuite vos mots de passe mais aussi vos discussions sur les réseaux sociaux et vos SMS/MMS.

serveurs applications

Les outils et techniques utilisés pour la sécurité des applications sont presque aussi nombreux et divers que ceux utilisés pour le développement des applications.

La plupart de ces outils et techniques entrent dans l’une des quatre catégories suivantes :

  1. Les plateformes de développement sécurisées aident les développeurs à éviter les problèmes de sécurité en imposant et en appliquant des normes et des bonnes pratiques de développement sécurisé.
  2. Les outils d’analyse du code permettent aux développeurs de critiquer le code nouveau et existant pour y déceler des vulnérabilités potentielles ou d’autres expositions.
  3. Les outils de test des applications automatisent le test du code fini. Les outils de test d’applications peuvent être utilisés pendant le processus de développement ou être appliqués au code existant pour identifier les problèmes potentiels. Les outils de test d’applications peuvent être utilisés pour des tests statiques, dynamiques, mobiles ou interactifs.
  4. Les outils de protection des applications sont utilisés pour protéger les applications en cours de diffusion. En voici quelques exemples :
  • Les outils d’autoprotection des applications en cours d’exécution, qui combinent des éléments des outils de test des applications et des outils de protection des applications pour permettre la surveillance continue d’une application.
  • des outils d’obscurcissement du code pour rendre le code source difficile ou impossible à déchiffrer et à désosser ;
  • des outils de chiffrement pour protéger les données contre l’interception ;
  • des outils de détection des menaces pour examiner le réseau et l’environnement dans lequel une application s’exécute, et signaler les vulnérabilités et les menaces potentielles

Bien entendu, la sécurité des applications s’inscrit dans le contexte des systèmes d’exploitation, des réseaux et d’autres composants d’infrastructure connexes qui doivent également être sécurisés.

Pour être totalement sécurisée, une application doit être protégée contre tous les types d’attaques.

Meilleures pratiques en matière de sécurité des applications

Les meilleures pratiques en matière de sécurité des applications se répartissent en plusieurs catégories générales.

Les conseils spécifiques aux meilleures pratiques en matière de sécurité des applications se concentrent sur l’identification des faiblesses et des vulnérabilités générales et sur leur traitement.

D’autres meilleures pratiques dépendent de l’application de pratiques spécifiques telles que l’adoption d’un cadre de sécurité ou la mise en œuvre de pratiques de développement logiciel sécurisé adaptées au type d’application.

Tendances et avenir de la sécurité des applications

Si les concepts de la sécurité des applications sont bien compris, ils ne sont pas toujours bien mis en œuvre.

Les experts en sécurité ont dû s’adapter à l’évolution de l’informatique. Par exemple, lorsque l’industrie est passée des mainframes à temps partagé aux ordinateurs personnels en réseau, les professionnels de la sécurité des applications ont dû changer leur façon d’identifier et de traiter les vulnérabilités les plus urgentes.

À mesure que les risques de déploiement d’applications non sécurisées augmentent, les développeurs d’applications se retrouveront également de plus en plus à travailler avec des outils et des techniques de développement qui peuvent aider à guider le développement sécurisé.

Test dynamique de sécurité des applications (DAST).

Méthode de test qui analyse les applications en cours d’exécution. DAST se concentre sur les entrées et les sorties et sur la façon dont l’application réagit aux données malveillantes ou erronées.

Exploitation.

Méthode par laquelle les attaquants tirent parti d’une vulnérabilité pour accéder à des ressources protégées ou sensibles. Un exploit peut utiliser des logiciels malveillants, des rootkits ou l’ingénierie sociale pour tirer parti des vulnérabilités.

Test de sécurité des applications instrumenté ou interactif (IAST).

Une méthodologie de test qui combine les meilleures caractéristiques des tests statiques de sécurité des applications (SAST) et des tests DAST, en analysant le code source, les applications en cours d’exécution, les configurations, le trafic HTTP, etc.

Test de pénétration.

Méthodologie de test reposant sur des hackers éthiques qui utilisent des méthodes de piratage pour évaluer la posture de sécurité et identifier les points d’entrée possibles dans l’infrastructure d’une organisation, à la demande de cette dernière.

Risque.

Le coût potentiel d’une attaque réussie. Le risque évalue ce qui est en jeu si une application est compromise, ou si un centre de données est endommagé par un ouragan ou tout autre événement ou attaque.

Autoprotection des applications d’exécution.

Outils qui combinent des éléments des outils de test des applications et des outils de protection des applications pour permettre la surveillance continue d’une application.

Test statique de sécurité des applications.

Méthodologie de test qui analyse le code source de l’application pour détecter les défauts de codage et de conception et les vulnérabilités de sécurité.

Sécurité On Off

Menace.

Tout ce qui peut causer des dommages à un système ou à une application. Les menaces peuvent être des événements naturels comme les tremblements de terre ou les inondations, ou elles peuvent être associées aux actions d’une personne.

Vulnérabilité.

Une faille ou un bogue dans une application ou un système connexe qui peut être utilisé pour mettre en œuvre une menace pour le système. S’il était possible d’identifier et de corriger toutes les vulnérabilités d’un système, celui-ci serait totalement résistant aux attaques. Cependant, tous les systèmes présentent des vulnérabilités et sont donc attaquables.

Pare-feu d’application Web (WAF).

Une contre-mesure commune qui surveille et filtre le trafic HTTP.

Les WAF examinent le trafic web pour détecter des types d’attaques spécifiques qui dépendent de l’échange de messages réseau au niveau de la couche application.